Key Decisions Every Developer Has to Make During Their Career

During the course of your career as a software developer, you’ll find that some decisions matter very little - and some can have a huge impact on your entire future.
They boost your chances to become a senior developer. If you play your cards right, you will automatically become a valued member of your team. And if you miss the opportunity they present, you might end up with an unfulfilling job.
These days, it’s rarely enough to invest only in your technical skills. Even if you’re the best programmer in the world, you might not get far if nobody likes working with you. Here’s a list of 6 key decisions you can make today that will help you achieve your career goals.
Decision 1 - Take on a can-do approach
Openness to new experiences is a crucial aspect when you’re shaping your career. Don’t be afraid of difficult tasks, take a proactive approach to them - you want to be the person on the team chomping at the bit to get at a new problem.

This is easy and normal in small organisations, an integral part of their growth, and helps with scaling in large organisations. It’s a viral thing. One person can easily introduce this attitude to a team. If you think your company is a bit stagnant and want to see change, start with yourself.
After all, why not you? Every leader wants people who are proactive and engaged. This doesn’t mean you should accept every task and let others use you. But you have to take the opportunity to make your skills valuable to the team and the company. It’s not only about being useful, but also about making sure others can be the best version of themselves at work. By being a good example you can easily set others up for success.
Decision 2 - Help others learn whenever you can
Use every teaching opportunity and every chance to do pair programming. Study particular issues together, brainstorm, and ask smart questions. You don’t need to have the answers - it’s better to think of yourself as an enabler, someone who gently pushes the people around you towards true excellence. Develop your team and help them pass this attitude on.

It’s very satisfying, by all accounts. Psychologists often tells us that human beings get true satisfaction from being useful to the people around them. A good senior developer can infect others with the need to learn and grow, and find fulfillment through being a mentor.
Decision 3 - Invest in your productivity and toolsets
The first and second time you do something, you just want to get it done. At every following opportunity to try to do the same task, however, try to do it as effectively as possible. One example is learning everything you need to know about the editor you use: the keyboard shortcuts, plugins, etc., that make your work faster and help you not waste time. You’ll be able to do more and better. You’ll have time to really think about the problems you solve, because you won’t be wasting it on performing the copy-paste ritual.
Be smart about your work. The faster you develop these skills, the farther ahead you’ll get in developing your career. And if that doesn’t convince you, remember that being efficient with the tools you use is a cool thing you can show off among younger developers. This way, you can build your image as an expert and a mentor.

Decision 4 - Find good role models
No matter how much of an expert you are, you, too, need examples to follow. Find people on social media, read blogs, watch Youtube videos. The nicest way to do this is to see someone in action, at a conference or another event - or in a video, if there’s no better opportunity. Follow people who are better and more efficient than you, see how their thought processes differ from yours and those of others. These things come from experience and you can learn so much from people who have worked on different things than you. You can shorten the amount of time you’ll need to become more efficient.
Decision 5 - Take ownership of your projects and decisions
If a feature you built doesn’t work, you should do everything in your power to fix it. Think about the impact you have on the whole project and the work of others. Estimate the amount of time and effort a task will take to the best of your knowledge, never guess. Be proactive in fixing mistakes and helping others with their tasks. Your work says a lot about you - make sure it sends the message you want to spread.

Sometimes a feature will be cut or dropped. Maybe you’ll have to tell the client that a feature can’t be implemented. Don’t be afraid of this. You’re the frontline person and in the best position to make these decisions. If something needs to be pushed back in the project’s timeline, it’s all right. Usually projects have business value and goals to meet, and a good developer remembers this. There are metrics and expectations, and you need to find a good alignment between the technical quality of a product and delivering business value. Be pragmatic. You could spend a week working on a feature and get 80% of it to work, or you can spend a month and fix everything to 100% - but by then it will be too late, and the product will have missed its window of opportunity to gain real traction. You will sometimes need to make smart decisions for the people around you, both clients and team members. A responsible approach is key.
Decision 6 - Always develop your knowledge
Go to conferences, read books, get certificates. As a senior developer, you take care of CI (continuous integration) in your project, but you’re also responsible for the continuous improvement of yourself and your team.