You need to prepare for a Corporate World as a Engineer
Most often, Programmers and CS students are so focused on Problem Solving, Online Judge based merit list, Competitive programming contest that they often forget a very important skill when it comes to landing a job.
I have taken hundreds of Interview in my career to hire programmers for companies I worked for and sometimes for other business as a freelance hiring manager. And I often noticed it among programmers that have good scores in aforementioned things, but lacks basic understanding of how a job works in a corporate world. They all have the concept of a job from a startup perspective or whatever they have seen in a movie or a TV show.
The vast majority of programmers won’t join a startup. Even though it doesn’t appear that way, the largest number of programmers are employed in a corporate world. A world where managers exists, reporting exists, a corporate structure based on top down hierarchy exists. And in that world, knowing how to do a lot of things that doesn’t look like programming is an essential skill.
I am not talking about people pleasing or sucking up to your immediate boss to get a promotion or to learn office politics. I am talking about understanding business norms.
In a corporate environment, maintaining the hierarchy matters, keeping a accurate chain of command matters, documentation matters, proper reporting matters, understanding responsibilities and following through matters. In that world, a average programmer with a good discipline is far more valuable then a genius programmer who doesn’t follow rules. When you are inside of a large industrial machine of a company, every cog turning in a exact rhythm matters. Any deviation will cause a lot of things to fall out of orders and guess who doesn’t like that, corporate companies.
None of these skills makes you a bad person, it makes you a employable programmer. This doesn’t mean you have to work your ass off to impress your boss, it means do what was assigned to you properly and make sure to follow through with it.
This skillset makes you far more employable then knowing a very fringe use case of a specific language or package or library. Cause the guy in the bus, train sitting next to you with a sling bag over his shoulder, is also a programmer who wears suits and formal attires, and he makes good money.
Don’t chase only the FAANG dream or Startup Dream, it’s absolutely fine if you have those dream. But prepare for the corporate world as well, you may not know it, but you have a higher change of getting hired there than on a startup.