paint-brush
From Junior to Senior: The Skills a Back-End Developer Should Learnby@theMartec
12,295 reads
12,295 reads

From Junior to Senior: The Skills a Back-End Developer Should Learn

by The MartecMay 28th, 2018
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Are you a junior back-end developer wondering how you can make the next jump in your career?

Company Mentioned

Mention Thumbnail
featured image - From Junior to Senior: The Skills a Back-End Developer Should Learn
The Martec HackerNoon profile picture

Are you a junior back-end developer wondering how you can make the next jump in your career?

Transitioning from junior developer to senior developer can seem daunting at first, but if you know the skills that you need to confidently make the change, you’ll be on your way to a promotion or new job sooner than you might realise.

What skills might they be? We spoke to industry experts to seek insights on how you can climb the career ladder and get to that next level. For the purpose of simplicity, we’re going to divide this article into two broad skillsets you need — soft skills and hard skills. So, what do you need to learn, and how should you learn it?

Soft skills for developers

1) Asking for help: If you’re a junior developer, chances are you’ve got more experienced developers around you at your company, or in the communities that you’re a part of. By asking them about their journey to seniority, you’ll uncover some priceless insights.

David Boyne, who wrote this amazing article on his journey to becoming a technical lead, suggests that it’s OK to be surrounded by smart people! Don’t let it intimidate you. Find a friendly mentor who can show you the ropes, and you’ll enjoy the journey even more.

2) Communicating & collaborating: Craig Roberge, a developer at AgriDigital who boasts over 16 years of application development experience, says “soft skills are essential for all developers. The ability for a dev team to collaborate and communicate with each other is the foundation for successful project deliveries.”

This is a timely nugget of advice from Roberge, given that developers can tend to be a little pedantic and defensive about their code. He notes that this can often result in you, the developer, struggling to “be diplomatic with your colleagues.” He says that you must “argue coherently and rationally when you believe your solution to be the best, but always be willing to listen and be polite. Take pride and ownership in your code, but remain calm when things go wrong.” Most developers will know that this is easier said than done!

Building on this insight, Joe Ruello, Engineering Manager at hipages says that “code doesn’t live in a vacuum, and neither should developers. Communication is a vital skill for all developers; whether it be clarifying requirements with your product managers or discussing technical solutions with your colleagues, you need to be able to communicate effectively and clearly to get your ideas across in order to get anywhere in the industry.”

3) Problem solving: This may sound like one of those generic skills that every developer needs, but problem solving takes on a whole new meaning at a senior developer level. The higher you go the more complex the issues will get, and advanced problem solving skills become an absolute must to sustain your success at the top.

Roberge says the “ability to identify problems in advance and identify potential solutions” is key.

Hard skills for developers

By hard skills we mean your technical skills: gaining knowledge of upcoming technologies, and sharpening your current skill set. Keep in mind that technology evolves rapidly, and the skills we highlight are only an indicator of what a back-end developer might need to stay relevant over the next few years.

**4) Javascript server side languages, functional programming & blockchain:**Roberge feels that you should be trying to get as much experience as possible in both front-end and back-end development. This article we recently published on functional programming are a great starting point, while this one offers up the skills you need to become a blockchain engineer.

5) Design & back-end architecture: Ruello of hipages says, “A solid foundation in design patterns and knowledge of general software engineering best practices will take you a long way — these skills translate across languages and teams and will allow you to be an effective contributor on any team or project.

At a more practical level, proficiency in the language(s) in use by your team, knowledge of SQL and databases such as MySQL and PostgreSQL, knowledge of queues such as RabbitMQ, as well as how to consume an external API, will put you in a good place.”

Understanding the design concepts for back-end architecture, and the knowledge on building, maintaining and processing all of the data that goes through it, will enable you to see the ‘big picture’ of the back-end, which is critical when you’re a senior developer or technical lead. It’s the only way you can guide and mentor other junior developers working under you.

6) Keeping up to date with emerging technologies: Staying relevant is an endless battle in development, and you’ve always got to be looking to learn and progress. A resource like Stackoverflow can be your best friend, as you’ll be part of a community that’s in the same boat as you, avoiding the risk of coding in isolation.

Ruello adds, “The days of massive monolithic applications are coming to a close: the industry is moving towards microservice architectures and alternate paradigms such as event sourcing.

“Knowledge and experience with containerisation and orchestration technologies such as Docker and Kubernetes is becoming more and more relevant and should be in the toolbelt of any back-end developer.

“It is also beneficial to be versatile. Having some basic front-end knowledge under your belt — including modern frameworks like React — will allow you to do more yourself and deliver value at a quicker pace.”

Clearly, this reiterates how important the functional programming realm is becoming. It’s a whole new philosophy, a new way to code, and the sooner you become familiar with it, the better.

To sum up…

It’s important that you, as a junior developer, don’t get overwhelmed with all that you need to learn. But at the same time, you need to focus on developing the skills that will allow you to see and understand the back-end big picture. You must also remember that hard skills will only take you so far, and you’ll need softer skills to lead, communicate and collaborate effectively.

Ruello puts the challenge into perspective: “Back-end development can be a thankless role. Your job is to marshal data across your system in a performant and efficient way. The end user should not be aware of your presence, but you have the satisfaction of knowing that you’re doing the work to bring them the value you’ve promised.”

So stay true to your purpose as a back-end developer. If this is what you’re meant to do, you’ll have no problem in finding the motivation to overcome any obstacles, or learn any new skills you need to rise through the ranks.

Ready to ramp up your development career? Australia’s leading tech companies are looking for new talent right now! Check out our latest job listings here.