How I grew as a Software Engineer in last 5 years.
This year I completed 5 years in the industry working as a Software Engineer. I started my professional journey on July 2017 as a fresher. Although I had some bit of experience working with early stage startups and working as freelancer during college days. But working in big corporate MNC’s was a completely different experience and there were lot of things that I learned in the last 5 years. Sharing those things with you in this article.
Technical Skills
These are the most crucial skills among all listed here and strong technical skills are like strong foundation. Solving Data Structure, Algorithms problem on leetcode is 1 skill, but when you work on a production application/microservice there are lot of things that you need to think of while writing code. These include writing code, unit tests, integration test, production deployment, using appropriate Design Patterns, getting your code reviewed, reviewing your peer’s code, creating high & low level design and etc. Some books that helped me in developing my technical skills are Data Structures & Algorithms, Cracking the coding interview, Design Patterns & Clean Code.
Stakeholder Management
When you work in a team you have to deal with people from different roles and perspective. When you are interacting with a product manager you have to think from customer’s perspective and what will be better experience for customer and how you can provide that with your technical skills. When you are interacting with Project Manager then you have to think how you can improve the delivery efficiency of the project so that there are minimal blockers and project is launched within expected timeline.
Ownership
Thinking that you are a software engineer and your work only limits to writing code and deploying them on production is incorrect. If you want to grow in your career you have to take end to end ownership of the work/project you are working on. You have to be proactively involved in the project, think how you can improve on the delivery, design, operational load, cost, etc. We all work in a team and proactively contributing to reduce the disruptions in the team is highly recommended. This will show your leadership skills and it will be really helpful in future if you wish to start your own company.
Work life balance
I also refer it as time management. We all have 24 hrs in a day and we own every second of that. So, if we want to have a balance between work & life, we have to manage our time, we have to take out time for work as well as personal life. This also means that if you are feeling that you are overburdened with your task, then I would say just talk to your manager, explain him/her that these things are on my plate as of now and I may not be able to focus on all, this has helped me and will surely help you as well. I use a daily todo list for my work related task and personal task as well. Apart from todo list I also keep some time free in my day where nothing is planned as we are humans and we need flexibility with our time & choice. I started this technique in July 2017 and it’s been five years I am successfully able to follow it and have satisfying professional & personal life.
Bottom up innovation
When we work as a software engineer, we have to wear all the hats. We know about business logic, customer needs, cost of the resources we use to develop & maintain software applications. While working on a particular project, there are areas where we can and should identify pain points or gaps which can be improved that will help in delivering the project faster, improving business or customer experience. Trust me!! proactive involvement is highly appreciated irrespective of the size of organisation you are working with. Everyone works on a project assigned by their manager, but working on something that you wish has a different level of satisfaction.
Interviewing
I started taking interviews after gaining around 2 yrs of experience. As of today I have taken 150+ interviews of various different roles. Interviewing someone is also a special skill and it only comes with practice. I don’t have any specific techniques on how to take interviews, the starting interviews will be very difficult, you will be in dilemma wether to accept the candidate or not, but once you gain experience and have taken multiple interviews you will become more aware how to score the candidate and wether it is the right fit for your organisation or not. You just have to be persistence, take feedbacks on your interviewing skills and improve upon it.
Mentoring
Once you gain a little experience in the industry of around 2 years. You should be able to guide and mentor juniors in their career journey. One critical think I do while mentoring is to remember what were the pain points I found with my mentor and try to overcome those things when I mentor someone. Also, we learn from our mentors how to mentor someone, we should learn and remember the good points from our mentor and incorporate them as well.
Networking
As we all work in a team and there are multiple teams in an organisation. We have to learn how to collaborate and work with others. Building good relation with peers and other team members will definitely help. You may need help in getting your design reviewed, code review, resolving a production issue, or discuss any other problem. Not only within the organisation we can build networks outside of our existing organisation like via Linkedin, your College/Schools Alumni Meets, etc. This will give you a visibility on what is going around the world, what other people are doing and it may be possible that you will get some new opportunities while working with them.
Continuous learning
Even though I completed 5 years in the industry and have learnt a lot of things, I still feel that there is lot more to learn and it is a continuous process. There will always be something that we all want to learn. I would say just be patience, do not overburden yourself and take 1 step at a time. The small things do make an impactful change when compounded over years. The important thing to focus on is how you develop your routine for continuous growth.
Hope you find this article helpful, keep watching the space and follow for more such future articles.
Also Checkout the finance management app, it’s simple and easy to use — Wallet