From Good to Great: How to Level Up Your Career as a Software Engineer

Chirag Batra
5 min readJun 5, 2023

As a Software Engineer working in this profession from last 6.5 years I got a lot of chances to interact, to work and to collaborate with many other Associate to Principal level of Software Engineers, Product and Delivery Managers from the organisations like Mckinsey, PWC India, Deloitte.

I learnt a lot from all of them and I still do that on daily basis.
When I started my journey working as a Software Engineer there were so many new things that I faced and embraced, and so many things where I failed badly. And I’ve always wondered that life would have been totally different if someone would have been there to hold my hands in every stage of my professional journey to guide me, mentor me personally. But the truth is, you’ll never have any.

We always have to learn from other people’s experiences, their and our own mistakes.

In this article, I’ll try to give few pointers based on my learnings and experiences on how you can level up your career as a Software Engineer so that I can make this journey easier and simpler for you unlike mine.
This article is not for freshers or for those who just stepped into Software Engineering. This is specifically for those who have been in this space for quite a while now and are confused on what should they do better to level up their career as a Software Engineer.

Be an Expert in atleast one Framework/Tech Stack/Library

Working as a Software Engineer, you need to have that expertise of working in atleast one Framework or the Tech Stack or the Library of your choice. This will help you stand out from the crowd who are not specialized in this particular areas.
Create some projects showcasing the skills that you have, contribute to the open source projects related to that particular Framework/Tech Stack/Library.
Start collaborating with the people having similar interests.
Start attending conferences related to these particular areas.
Companies these days prefer people who are expert in atleast one tech stack and is open to learn others only in case your core fundamentals are strong which brings us to our next point….

Understand Basic Fundamentals of atleast one programming language

When we start our Software Engineering journey, we tend to fall into the trap of learning everything at once, learning new frameworks, new libraries. Obviously, they make our lives easier and Dev to Prod lifecycle much faster but as you get more experience in working as a Software Engineer you need to have solid understanding of Basic Fundamentals of atleast one Programming Language of your choice.
This will help you to think beyond the frameworks and libraries and focus on the core capabilities and the real power of the language which otherwise remain abstracted till you deep dive. Frameworks and Libraries keep on changing but core concept stays same. If you are good in understanding basic fundamentals then learning any new framework will be a cake walk for you. Who knows that you’ll be the one who’ll create a next new “In-Demand” framework.
Organisations these days are not Framework dependent, they want their Senior Engineers to be framework and tech stack agnostic where you can step in and step out at any point of time based on the needs of the customers and the needs of the product.
Talking about product, here comes our third point of discussion.

Be a Subject Matter Expert

When you are advancing in your career, you need to have a product mindset and not tech mindset. Maybe your aspiration would be to work in another tech stack or the other technology and that is completely okay and very well understandable. But, having a product mindset is what organizations ask for. You should be open to understand complete E2E cycle of your current project or your area of interest.
Understand how your technology is making impact to the customers and what problem it is resolving. Try to identify the gaps in the current process and try to fill them up with your software engineering skills. Obviously, you cannot understand 100% of everything but atleast you can start asking questions, clarifying doubts if you have any. Soon, you’ll notice that your expertise in understanding the product is increasing and people are relying on you for your inputs.
Work with an Engineering Mindset rather than a Developer Mindset. It’ll definitely help you in longer run.
Talking about Engineering Mindset, here comes our next point…

Continue upgrading yourself

This is a very common advice that everyone gives to everyone and that is to upgrade yourself continuously. But, sometimes there is a lack of clear direction that we seek, lack of proper mentorship which can help us achieving our learning goals much faster.
First and foremost identify the areas of your interest, whether you want to work as a Frontend Engineer or a Backend Engineer or a Fullstack Engineer or a Network Engineer or a Cloud Engineer or a DevOps Engineer and list goes on and on and on…..
Once you identify your interest, list down all the skills that you need to have and tick mark those which you are already aware of.
Now prioritize the remaining skills based on their importance, complexity and time it will take to learn them.
Once you have this plan ready, I would highly recommend to talk to someone senior or to your manager in your team about this and present this to them, they’ll help you to curate the learning path for you and will lay down the learning path and goals for you.
Once you have the path with you, you would need some mentor or advisor to be with you in this journey. Ask your manager first if he or she can ask someone to help you. If not, then seek online consultation, get some good courses, refer standardized books and don’t shy from spending some time, efforts and money, it’ll act as a investment in the longer run for sure.
Talking about efforts, here comes our next point….

Give 100% and then some more

When you’re in the progressive stage of your career, make sure to understand the goals and objectives of your job clearly.
Always thrive to give 100% of yourself to them. Calibrate timely with your peers, working groups and your managers about your performance and the peer comparison.
The mantra for growing faster than your peers is to give 100% of yourself and then some more.
Often times we fall into the trap of “This is not my job why should I do this”, instead asks, “this is not my job but can I take it, will it help the team and myself if I take this up”. This level of mindset is very important especially among those who are just continuously working in their comfort zones and wondering why they are not progressing ahead with the same pace as their peers are.

Always remember that you are the master of your career and you will only have to level it up.

Advancing from a good software engineer to a great one takes time, effort, and dedication. Stay focused, keep learning, and don’t be afraid to take on new challenges. With the right mindset and strategies, you can reach the top of your game and achieve your career goals.

Thanks for Reading

--

--