hostracing.blogg.se

How to become a principal software engineer
How to become a principal software engineer













how to become a principal software engineer
  1. #HOW TO BECOME A PRINCIPAL SOFTWARE ENGINEER CODE#
  2. #HOW TO BECOME A PRINCIPAL SOFTWARE ENGINEER PROFESSIONAL#

Further down the line, you'll be grateful that you've written code that's malleable and not set in stone. Write code that allows you to change things quite easily. Whether a debilitating error, customer requests, or company pivots, the code you've written will change.Īs such, never tie yourself into a corner too much. Expect ChangeĪnother reason why you shouldn't try for perfect is because things will always change. If you'd look back at the alpha versions of popular software today, you'd be surprised at how awful much of it was when first released. So don't be afraid to get your hands dirty and submit what you have, warts and all. Perfect is too expensive and it slows you down. Nothing is ever perfect, so it's almost always better to push it live than to wait until you've reached some illusion of perfection. It will build your personal brand in the company and you'll be better trusted as a result. Come to meetings (remote or not) on time and prepared. Carry yourself with dignity and treat others with respect.

#HOW TO BECOME A PRINCIPAL SOFTWARE ENGINEER PROFESSIONAL#

Think of yourself as the professional that you are. You'll be able to make decisions that are good (or better) for all stakeholders involved, not just for you and your immediate team. This perspective will show you the bigger picture. You're someone who makes decisions that will impact the bottom line. You're Running a BusinessĪlong with owning your projects, think of your work as if you're the CEO of the business. It will let other people in the team know that you're ready and willing to take on bigger projects in the future (possibly with a more senior role). Have a sense of ownership for the projects you're on. Own Your ProjectsĮven if you're not a lead engineer, practice running your own meetings, understand who's who in the project, write good summaries and plans, and keep the relevant stakeholders informed. Whether that's escalating your problem to a colleague, switching to a different project, or something else to keep you going, never allow yourself to come to a standstill. Instead, find ways to keep up your momentum. Never let your productivity drop to zero. When they're stuck on one project, they move to another while they figure out the solution. The most productive developers are those who never seem to get blocked.

how to become a principal software engineer how to become a principal software engineer

Additionally, if you're writing a long message to a C-suite member, include an above-the-fold tl dr summary. Understand what they care for and why your message is important to them. When writing, keep in mind who you're writing to. The better and the clearer you write, the more easily you'll be understood and the less friction you'll encounter because of miscommunication. Much of how we communicate is through writing, whether that's email, Slack, or any other messaging app. People are more willing to rely on one another and share knowledge more easily and frequently. Clear and frequent communication reduces the risk of that happening.Īdditionally, frequent communication between programmers increases trust and goodwill. You'd be surprised at how often people misunderstand what you're saying. This is particularly relevant for those who work remotely. Be a student forever to stay ahead of the game. The pace of change in the programming world is fast. I'm not saying you should read 500 pages a day, but you should dedicate a significant amount of time every day to learning something new. All of you can do it, but I guarantee not many of you will do it." It reminds me of Warren Buffett's key tip for success: "Read 500 pages a day. You know this is important, yet it bears repeating. Whatever tool you use, the better you know it, the more creative, productive, and efficient you'll become. It also means deeply understanding the tools you work with.īy this, I mean the IDE you work in, your debugger, Unix commands, your CLI, your editor, etc. Master Your Toolsīeing a good programmer doesn't simply mean being good in a particular programming language. This blog post will delve into the 11 most important growth principles that will make you a valued, productive software engineer. Let's call these principles growth principles. While senior, more experienced engineers will be more proficient programmers, they'll also embody different principles that make them much more valuable to the company in general. You can distinguish engineers on the basis of these principles.

how to become a principal software engineer

Their code is written by software engineers who either have conflicting principles between themselves or who have principles that clash with the overall goals of the company. This is one of the main reasons why companies tend to have similar programming problems that cannot be solved by this or that technology. How you write code is a reflection of who you are and what you believe is important in software development. Code is the manifestation of the principles (the mental models) of the software engineers who write it.















How to become a principal software engineer