1 Big Mistake I Made When I Was First Getting Started In Software Engineering

Like most beginners, I made a lot of mistakes when I first started working in the field of Software Engineering.

For a fresh graduate starting a career in a still evolving field of a popular industry, there are multiple opinions and vast levels of information to consume.

Thanks for reading Vaibhav’s Newsletter! Subscribe for free to receive new posts and support my work.

As it is with anyone starting their career and not clear with their niche, it is easy to venture into something that is popular and looks appealing but not fulfilling.

That's a mistake and mistakes are part and parcel of starting any career.

But this was the biggest one, by far:

Desperate To Be a Programmer

Here's what happened:

I was myopic and thought software engineering only means being a programmer.

This may not even seem like a mistake. It is pretty common to look at software engineering as equal to programming.

As a fresh graduate, I was constantly bombarded with information about popular frameworks, tools, and programming languages.

Rarely did I consider non-technical subjects as career makers. The fact that Product Management, Quality Assurance, UX/UI, Analytics, Support, etc. could be important pillars of software engineering never crossed my mind.

It was a shock for me when I was assigned to a team of QAs as an intern. The prejudice that this is a step back for me constantly hounded my subconscious.

I failed to notice the wealth of industry-specific knowledge I was gaining by working on end-to-end aspects of a project/product.

Looking back at it, I still remember the days I spent trying to undermine the things I was learning on the job and looking to take up "technical" projects and learn actual software engineering.

But, it's also worth acknowledging that making this mistake taught me a ton.

The what of a solution matters as much as the how of the solution.

The key takeaway from my mistake which I still follow to date is to learn about the problem statement from a user and/or business perspective before understanding the technical know-how.

Before even a piece of code is written, there is a monumental effort that goes into reaching that stage of programming.

The tools, frameworks, and programming languages are tools to achieve the end result and software engineering is equal parts to designing a solution as it is building it.

Today, my experience as a QA allows me to look at the solution from business, user and technical perspectives, making me a complete software engineer.

This is why I encourage everyone to see their mistakes (and "failures") as necessary steps along the path.

There is always a lesson to be learned.

Thanks for reading Vaibhav’s Newsletter! Subscribe for free to receive new posts and support my work.