Recently I have completed 9 years in software. It has been a joy ride so far with its own ups and downs. I learned a lot of things the hard way, and I am happy where I have reached now. But I wanted to give back some thoughts to anyone starting or in the middle of a similar tech career, and I hope that these insights will help them get better at work and beyond. I have tried to keep them short and to the point.
Don't shy away from a challenge. It is okay to make a few mistakes. This is the time to make many mistakes and always learn something from them. As you grow older, you start losing energy to take on these challenges. When you are young, it’s a good idea to join somewhere small where you can progress faster and get a shot at more challenging work. Not to say that you can’t get similar challenges in a bigger organization. However, the truth is it is very difficult to get such work early on in a big company.
They help us to grow and get better at things we are not good at. Our immediate reaction to feedback is often not very good, so try not to react to feedback at all and give yourself time to respond. Note the feedback down, mentally or otherwise, and think about it later. It often makes sense when we revisit them. Even if the feedback seems misplaced or incorrect, we can respond in a more responsible way.
Move on if you are not learning anything new. Evaluate what you have learned every 6 months. Compare with yourself, but don't compare with someone else since each of us has our career paths. If you are not seeing progress, move on. I have seen a lot of good folks who have stayed too long in a place without learning anything new and got too comfortable, and then they found it really difficult to move on.
Our minds are lazy and jump to conclusions easily. Give people the benefit of the doubt before judging. Be that a colleague, while taking an interview, or anything else.
They help us ensure quality, increase predictability, traceability, and accountability. Learn them and apply them. You will appreciate them later. These can be stand-ups, scrum, code reviews, design reviews, retros, etc. When I was young, I used to hate them. Trust me. If done correctly, it helps us a lot in the long run.
It goes a long way and ensures that you can count on people later on if needed. If you don't recognise someone for their effort, you risk breaking the bridge forever, while a small recognition ensures you have someone you can ask a favour again.
It’s okay to be selfish and put yourself first. Don't listen to anyone who says otherwise. I have left a company within 24 days. It was a difficult decision but the right one for me at that time.
In tech, things are changing very rapidly. So we have to also adapt and unlearn and relearn things rapidly. In the last decade I have witnessed buzz around cloud computing, big data, AI, IOT, and now the hype around blockchain. I am sure many more will come in this decade. All of these were huge when they came into the scene, and in their own right, they have changed the world around us in ways we couldn't have imagined. The successful people have adapted and rode the wave.
Would love to know if you guys agree with me or have a different point of view. Also, let me know if this helps you in any way.