5 Tips for Becoming a Senior Software Developer
If you like this video, you can find more on my YouTube channel :)
00:00 intro
00:22 #1 Figure out the role
01:14 #2 Act like a senior developer
02:06 #3 Be proactive in finding issues
02:50 #4 Take more responsibilities if possible
04:13 #5 Be Practical
Transcript
So we’ve just started our career in software development and got our first job, but how do we move further and become a senior developer? In today’s video, I’m sharing some tips for becoming a senior developer.
Hi, my name is Adler, and welcome back to my channel where we talk about software development and career. Today I’m sharing some tips in moving forward in our career path from a junior developer to a senior developer. Without further ado, let’s get started.
The first tip is to figure out what a “senior software developer” is in your company. A senior developer means different roles in different companies. Every company is using different technologies and facing different issues. Whether a developer is a senior developer or not depends on how much value the person can bring to the company. For example, in a consultant company, a senior developer might be expected to act as a product manager to talk to clients, and convert ambiguous requirements to actionable tasks. However, in a SAAS company, a senior developer might be expected to work with developers in other teams to figure out long-term solutions for a big feature.
Figure out the company’s expectations and the senior developers’ responsibilities before we know what we’re doing and whether we’re on the right track. We can do this by observing their daily work, and what they have achieved for the team. If it’s really difficult to figure out what the senior developers are doing, just ask them, or ask our manager.
The second tip to becoming a senior developer is to ACT LIKE ONE. Like the old saying, “fake it until you make it”. After we know what senior developers are doing, try to do that ourselves. We’re not trying to steal their job but to learn their mindset and viewpoint. For example, a senior developer might be involved with designing application architectures. If there’s an opportunity, volunteer to do it ourselves. There might be challenges or issues that we have never run into before. Questions like, should I use HTTP or gRPC protocol for this service? Or, should we give this task a higher priority or not? The more issues we run into, the more we understand what senior developers are doing, and we will be trying to achieve the same state.
A senior developer might also take responsibility to mentor junior developers. Why don’t we do it ourselves? It’s ok if we have no experience. Like everyone says, “teaching is the best way to learn something”. It will force us to organize what we have learned and use an understandable way to explain it. Once we have a chance to teach and get someone on board, we’ll learn a lot faster than we learn things from someone else.
The third tip is to be proactive. It means actively looking for issues within the team, and try to resolve them. It is not limited to technical issues within the code. It also includes workflow, productivity, work-life balance, and any issue that is worth resolving. Don’t be satisfied with our status quo. Question everything and find possible improvements. Some very good example questions are: Why did we choose tool A but not tool B when we started the project? Can we automate this? Is there a better workflow to improve our productivity? Once we have the questions, talk to someone to see if they feel the same, or bring that to the table during meetings. We don’t necessarily have to find out answers on our own, but the more questions we bring to the team, the more answers we might possibly find through teamwork. It also means that we’ll be able to resolve more issues within the team.
Before we move on to the next tip, if you like this video, consider giving it a LIKE, or subscribe to the channel. There will be more videos like this one.
The fourth tip is to take responsibility for resolving complicated issues. As we are being proactive in looking for issues, there might be some good opportunities for us to challenge ourselves. Don’t be afraid in taking responsibility if we have the capacity. This might sound like looking for trouble, but it’s not. We want to be a leader, but not a follower.
Junior developers are followers who take instructions and resolve simple issues. Senior developers are leaders who give instructions and resolve complicated issues. If we look at it that way, then the answer is clear. As a junior developer, we couldn’t expect the team to assign us challenging issues to make progress, so we have to actively take responsibility to challenge ourselves. I’m not talking about challenges we can see on LeetCode or Codewars, but the issues we can only see in the real world. For example, as a backend developer, we might be able to improve the performance of a specific API call from 500 milliseconds to 100 milliseconds. How do we do that? How to measure the performance locally? How to make sure that the will be no race condition? How to boost the performance but still make our code readable? As a junior developer, these questions might be intimidating, but it’s a good chance to learn the workflow. Find answers on Google or StackOverflow, or ask someone who has the experience. Don’t be afraid to go back to review algorithms, system designs, coding standards, and best practices. The more challenging issues we resolve, the easier it would be when we are assigned to work as a senior developer.
The fifth tip is to be practical. Yes, I’m talking about switching jobs. Many would say that switching jobs is the best way to make progress in our career, both in getting a raise and a better title. I agree that moving to a different company might give us a better salary, but it won’t make us more experienced. It’s going to be very tempting to switch to a different job for a better “title”, especially as a developer, we would get recruiter messages almost every day. We might switch to a different job for various reasons, but we’re definitely not switching jobs only to get a better title. In my experience, if we’re not ready for a senior developer position yet, that won’t help us. Keep looking for challenges, and keep improving ourselves are the best way to go.
OK. I hope you find this video helpful. Let me know in the comment section below if you have any questions, or feel free to share your tips in making progress in your career to a senior developer role. I’ll see you next time!