It’s easier than ever to become a software developer. From online courses to bootcamps, there is a plethora of ways to get into the industry. In an interview on the 6 Figure Developer Podcast, Robert C. Martin suggested that the number of software developers has doubled every five years since the mid 70s. Whether that trend continues or not, it’s clear that the competition for top jobs will become fiercer with more people in the market.
With such a large talent pool, how do you go about distinguishing yourself from the crowd? I spent a lot of time thinking about the best developers that I’ve worked with, as well as across the industry, to understand what makes them so succesful. I broke it down to five prototypical developer models, which I’ll share with you now.
The Developer That Leads by Example
Leadership isn’t a title that someone can bestow upon you. You can be a junior developer, senior developer, or anything in between and be a leader. It’s what you do that makes you a leader, not your job title.
According to Jocko Willink, ex-Navy SEAL and author of Extreme Ownership, leadership in the battlefield isn’t all that different from leadership in the office. He likes to define leaders as people who display some (if not all) of the following:
- Take ownership and responsibility of everything they do.
- Find ways to get results, even if they’re not the ones you were planning.
- Have an attention to detail that shows in all their work.
- Always look to improve themselves and especially those around them.
Each one of those qualities can be applied to software development. Owning the bugs you create, thinking of all the edge cases, and learning new skills are just a few examples of how you can apply leadership principles to your every day work.
There is nothing on that list that’s inherently hard to do. What’s truly difficult is living by those behaviours every single day of the year. No matter how disciplined you are, there are bound to be days where you aren’t motivated to do your best work. That’s where it’s important to have the discipline to push through the rough times. Eventually, you’ll come out the other side with a renewed optimism to accomplish even more. Even better, you’ll be setting yourself up for tons of success in your career.
The Developer That’s Involved in the Community
I’m going out on a limb to say that a majority of developers aren’t involved with their local development communities. I couldn’t find any statistics to back up that claim, but looking at the pool of developers I’ve worked with over the years, only a handful were frequently active community members.
That doesn’t change the fact that local meetups are a great way to grow your skills. Of course, you can learn technical skills from a textbook or online course, but learning from a fellow developer about real-world painpoints they experienced with a given technology is priceless.
One of the best ways to truly grow is to not only attend, but participate in the meetups. You can contribute by helping organizers, or even offer to give a talk on a topic that you’re familiar with. Refining your communication skills when addressing a group of people could very well be the most valuable skill of all.
All that being said, it can be hard to find time for meetups. I don’t get to them very often, mostly due to family responsibilities. Social media platforms like Twitter or LinkedIn can be a good place to exchange with other developers when you’re stuck at home.
The Developer Who Knows All the Nooks and Crannies
Software development has grown too big for someone to be considered an expert in all of it. Focusing on a small slice of the pie, however, makes it possible to develop a deep understanding of how something works. I’ve seen others describe this as T-shaped knowledge. The horizontal bar represents a broad understanding of most concepts in sofware development, while the vertical bar represents deep knowledge of a single topic within the domain.
I’ll illustrate with an example. Let’s say you’ve chosen to specialize in serverless functions built with .NET. You’ll want to spend most of your time focusing on the serverless frameworks that support .NET. You’ll also want a general understanding of everything that surrounds your specialization, like interacting with other cloud resources, and related technologies such as containers.
If you develop this kind of knowledge, people’s first thought when a question arises about that subject will be to ask you about it. It also shows that you have the discipline to put in the time to master a skill. In an increasingly distracted world, that’s one of the most valuable skills you can have.
The Developer Who’s Got All The Certifications
There are three different ways to look at the certifications on offer from the likes of Microsoft, AWS, and Google. Depending on who you ask, certifications can either get you a foot in the door, not be of much help one way or the other, or even hurt your chances at certain jobs.
I’ve found them to be particularly useful if you’re trying to break in to a new niche. For example, let’s say you’ve spent the last five years doing development on Azure, but you’re hoping to move into a security role in the near future. The Azure Security Technologies certification gives you the ability to speak the right language when it comes to security in Azure.
Of course, passing one certification on security is a far cry from making you an expert. The certification is a good starting point, but in no way is it the end goal. It’s a small part of a larger plan to distinguish yourself from the masses.
The Developer with a Side Hustle
Life is busy. Between a 40-hour work week, hobbies and family responsibilties, there isn’t much time left over for anything else. But turning just a few hours a week into a side hustle is beneficial. You’ll develop skills beyond writing clean code, open yourself to ideas you never considered before, and maybe even make some extra cash.
Starting a side-hustle doesn’t have to be complicated either. All you need is an idea and time. Here are a few common ways to get started:
- Starting a blog dedicated to a particular topic that you’re interested in.
- Converting your blog posts into a series of short courses or books.
- Starting a podcast on a topic that you’d like to explore further.
- Providing consulting services on a technology that you master.
- Creating a product that solves a problem other people are facing.
Your side hustle doesn’t have to take over the world to be successful. Measure success by evaluating what you’ve learned and how you’ve grown from it. And who knows, if your project does take off, you might find yourself with opportunities to grow your side hustle into something bigger.
Lots More to Discover
I’ve outlined a few ways that you can take your career a step forward in the next year, but by no means is this an exhaustive list. It’s simply what I’ve seen others do to achieve their success.
You also don’t have to pigeonhole yourself into just one of these roles either. It’s natural for there to be overlap between them. In fact, combining a superpower in one with another that you’re good at is bound to produce incredible results.
On that note, I’ll wish you a Happy New Year, and thanks for reading!