
- How to become a principal software engineer update#
- How to become a principal software engineer code#
This pattern became visible during the review, so I’m keen to pay attention and collect more strategies next year.

It’s a permanent skill that’s worth exploring - a force multiplier for whatever I end up doing, and pays dividends throughout my life. The feedback loops are shorter, and gauging correctness doesn’t take too long.

Software engineering is an excellent field to practice thinking well in. I suspected if I learn the general skill, I should be able to apply it better to software engineering. In short, habits of mind facilitate better thinking. This could be thinking of X whenever you see Y happen, or applying thinking tool X to problem Y. Programming is implementing those decisions.Ī habit of mind is something your brain does regularly. Software engineering entails thinking well and making the right decisions.
How to become a principal software engineer code#
The code I write would literally ease Sarah’s pain. Some companies have lots of employees, and updating them one by one is a pain.
How to become a principal software engineer update#
Framing things in the right way is powerful.įor example, one conversation helped me appreciate why Sarah in Sales wants a bulk update tool. A second benefit this gave me was the context of other’s jobs. Over the year, I setup quite a few meetings with everyone on my path. They know how the business makes money, who are the clients, and what do clients need. Product managers are the best source for this. And some other times, it’s about improving a feature that keeps breaking. Other times, it’s about building a new feature for clients. Sometimes, it’s about making the sales jobs easier, so they can make more sales. It helped me see how I matter, and what levers I can pull to become more effective. 4 Tracking these paths, and the path I’m on was pretty valuable. Everyone is on at least one path - if they weren’t, they wouldn’t be here. Most big companies aren’t doing just one thing, which means there are different paths to making money in the same company. The goal isn’t to write code, it’s to be a profitable business. In the end it’s a business making money through products. Since we’re not in a closed system, it makes sense to better understand the job of the product managers, the sales people, and the analysts. I zoomed out in 3 broad directions: learning what people around me are doing, learning good habits of mind, and acquiring new tools for thought. Surprisingly, the breadth provided more depth to what I knew. I decided to go broader instead of deeper. I’m working inside the software development lifecycle, but this lifecycle is part of a bigger lifecycle: the product and infrastructure development lifecycle. However, I did figure out something insightful. Almost none of them would make me instantly impactful. Most blogs epousing techniques to write cleaner code, repeating yourself, not repeating yourself, etc. There was only so much I could do to improve my coding skills. The big question in my mind was “How do I grow further?” I had picked all the low hanging fruit, and my rate of growth slowed down.

Growing using different ladders of abstractionĮntering my second year, I had all the basics in place.

It helped me observe how others differ from me, absorb their best practices, and figure out things I’ve unconsciously been doing pretty well. I’m not the most junior member in the company anymore and I’ve mentored quite a few new engineers, which has been amazing.
