How to Become a Senior Developer
Advice from a Senior Dev to Junior Devs
There are two kinds of developers: junior and senior.
But what is the fundamental difference between them? At what point in a developer’s career do they cross the line from junior to senior? More importantly, what can an enterprising junior developer do to reach that transition more quickly?
There are a lot of ways to answer those questions, but I think they can be distilled down to the following three points. Here’s how to become a senior developer.
The obvious difference between senior and junior is senior developers know more. For junior developers to level up, they would specifically need to learn:
- More languages, especially those that are significantly different from those they already know. This includes databases too!
- Full stack development – how clients talk to servers and how servers talk to databases.
- DevOps and how client deployment is different than server deployment. Also, learn what proxies are, how they’re used, and how to set them up.
- Best practices for security, CORS, authentication, OAuth, etc…
It’s important to always be widening your horizon! A junior developer might be expected to know a small sliver to complete a task, but a senior must have an understanding of the concepts and where to go learn more.
Think Faster and Smarter
While writing code quickly isn’t always a good thing and it’s sometimes best to take your time to minimize mistakes, senior developers are often more efficient in their code writing than their junior counterparts.
Junior developers should strive to:
- Find more efficient ways to code, like using new libraries or writing modular/reusable code.
- Spend more time thinking about code architecture and algorithms ahead of time to speed up the actual act of code writing. If you’re working with data, have a good data model of ‘how’ and ‘where’ everything goes before you start storing things.
- Try the quickest, easiest idea first and fail fast, rather than dig into a rabbit hole that doesn’t pan out.
- Know yourself; know what you can figure out on your own (best way to learn!) but know the appropriate time to ask questions so you’re not wasting time spinning your wheels.
The biggest difference between junior and senior devs is less about their technical abilities and more about how they think of their roles and responsibilities.
Learning more languages and all of the previously mentioned points tend to come with time and experience. The trickiest part of making the shift to senior developer is changing your attitude.
A junior developer who waits to be told exactly what to do before acting is further from becoming a senior developer than one who asks what they can or should be doing.
- Take notes in meetings, and be proactive with any research you might need to do to understand a concept or feature.
A developer who prides themselves on their knowledge to the degree that they must improvise during meetings isn’t as strong as a developer who researches projects ahead of time and comes prepared (and only improvises when they have to).
- Come prepared for meetings with more solutions and fewer questions.
A developer who incorrectly estimates their time on a feature or project, particularly when it’s out of fear of suggesting they’ll need more time than a client expects, isn’t thinking like a senior developer. A senior developer should take responsibility for project timelines and be willing to admit when they’re behind so that appropriate steps can be taken to account for the delay.
- Practice estimating your own time on projects. Make a list of all the tasks and assign how many hours it’ll take. Track how long it actually took you, and honestly give a reason as to why if you were off. You’ll start to see some patterns!
Generally, a junior developer who wants to become a senior developer should simply act like one by taking responsibility for themselves and their projects, taking the time and effort to write quality code, and expanding their knowledge and skillset.
Beyond that, reading up on non-development subjects like entrepreneurship, business, and leadership can all play a role, and working on people skills to help when you’re in a position of responsibility can also help.
Like other aspects of life, the idea is really to “dress for the job you want”, though in the developer world of t-shirts and jeans, it’s really “act for the job you want.” If you can begin to think like a senior developer, you’re halfway there.
Author: Daniel, Director of Engineering
Devetry partners with clients to identify critical needs and build custom software. Understanding client needs comes first. Choosing the right technology comes second. Learn more.