TL; DR:
Leadership is based on actions, not a title
Join me for a live stream on Monday, November 25th at 7:00 PM Pacific
Exclusive Article: Juniors Can Lead Too!
I'm A Junior And...
One of my Discord community members had this question for me and I thought it would be an important one to dive into:
I'm a junior backend dev ... what are some actionable items to condition myself to be able to do the things that a leader can do?
I love questions like this because it's refreshing from things like "What's the best programming language to learn?". Besides, people already know I'm going to tell them that it's C#! (Okay, I'm only half kidding here)
But truthfully, I like seeing this because it suggests awareness that it's not only going to be technical skills that carry someone in their career. In fact, getting started thinking about these things early I think is a great way to start finding opportunities to practice.
Leaders vs Managers
I wanted to start by introducing this thing I see come up all the time on social media:
Boss vs Manager vs Leader
People generally try to create this dichotomy where they want to show bosses and managers are bad, but leaders are good. Said another way, it's bad to order people around and instead, you want to act like a leader so that people are motivated to follow.
... But this comparison always seems ridiculous to me. Seriously.
There is a literal job title of "manager", and creating this awkward dichotomy starts to miss the mark. "Manager" is the job title. It's the role.
But leadership? Leadership is not the title. It's not the role. It's a set of characteristics that you can embody and actions that you can take to demonstrate this quality.
Considering that awkward framing I mentioned, you can be a manager and have poor leadership skills. You can also be an individual contributor and have great leadership skills.
So let's look at the actions and skills that one can focus on -- because this will help us see how even junior developers can get started with demonstrating leadership!
1 - Be Proactive
To start things off, this focuses on something that might feel closer to technical skills -- and I think as a result might resonate a bit better for folks. I think being proactive is an excellent way to start building leadership skills and looking for opportunities to grow.
Now, being proactive doesn't mean that you ignore all of your assigned work just to go find new shiny things. No way! You still have your assigned priorities, you still have the expectations set by your manager -- so you need to make sure you're already nailing those things first. That's the baseline.
Once you're already meeting your expectations, you can lean into being proactive about things! This shows curiosity, initiative, and willingness to make things better. Furthermore, it's a great opportunity to show that you understand what things are valuable to the team and potentially the business.
So what might this look like?
Finding the out-of-date wiki pages and updating them
Fixing the flaky tests that have been slowing down the dev team
Starting some investigation or design for some upcoming feature area
Collecting and analyzing some data around blindspots for the product/service
Diving into the next set of prioritized work without being explicitly delegated specific tasks
These can all demonstrate to your teammates and your manager that you have initiative and are looking for opportunities to improve. Of course, there are many more examples you can likely think of that might be more relevant to your team or the space you're working in.
Do keep in mind what I mentioned prior though -- this should not come at the expense of the work you're already assigned! If you start dropping the ball on the assigned work, you'll be missing the expectations set out by your manager. This can backfire because you might be proactive on some things that you're identifying, but you're basically going rogue on the other priorities that were established.
I think demonstrating initiative and being proactive is a great quality related to leadership because it demonstrates your intention to drive positive change without being idle.
2 - Help and Mentor
Leadership is very much about people -- and what better way to demonstrate this than to help those around you. In every place that I've worked in my career, this becomes an expectation of developers if they're expecting to be in the senior band and above. So it's not a nice to have -- it's a requirement. Your mileage may vary depending on where you work, of course.
Now you might be thinking, "Nick, I'm only a junior dev! How could I possibly help others?!". A great question! It often feels like an unlikely situation because surely the more senior people just know more than you in every aspect... right?
Not quite. Even if you're junior:
There might be other juniors you can pair up with to help
You might happen to have some particular skills or experience with tech that others do not
You could even volunteer to pair up to work with a more senior developer --Navigating problems together just by asking curious questions can sometimes be a huge asset.
There are many ways that this can show up! I've seen excellent results on my teams where I might have several new or junior engineers working in different areas building up experience there. Then they get the opportunity to help onboard someone else to that space, effectively forcing them to become the teacher and coaching their peers through it! This can be beneficial for their peer AND it has the additional effect of helping to reinforce learning with the person doing the help/coaching.
As a manager, most of my time is spent working on people challenges (and opportunities!). When I consider managers being effective, which includes being a great leader, I consider how much time and effort goes into directly working with individuals trying to help them be more effective in their work. Consider that if you can find ways to lend a helping hand to someone, you're essentially doing the same thing -- perhaps at a different scale, but it's still in the same goal.
Don't Wait Until Later
To summarize, I love that this question was asked by someone who's a junior developer. I think it's awesome that they're thinking about these things early because it's often neglected.
Too often do I see software developers hyperfocus on the technical side of things. It ends up being a challenge down the road if they avoid situations working with others or continue to only focus on technical aspects. Now they need to catch up on their practice when it's starting to become an expectation of them at their level!
So don't wait until you're aiming for a senior title to start thinking about how you can lean into leadership. You don't need a formal title to do it, there are ways that you can demonstrate these characteristics regardless of your role or level.
Join me and other software engineers in the private Discord community!
Remember to check out my courses, including this awesome discounted bundle for C# developers:
Weekly Recap
AI Tools Are Wrecking Junior Developers! - Principal Software Engineering Manager AMA
They warned us, but there was nothing we could do to stop it!
The AI tools have taken over junior developers!
Well, is that true? Is it actually a big problem? Are we seeing a paradigm shift right before our eyes?
Let's discuss AI tools for software engineers -- especially if you're just getting started!
As with all livestreams, I'm looking forward to answering YOUR questions! So join me live and ask in the chat, or you can comment now and I can try to get it answered while I stream.
LIVE CODING - WordPress Migration to Blazor - PART 5
It's time! WordPress on AWS LightSail has been non-stop problems for nearly 2 years now.
Time for a change.
I'll be looking into using LinkDotNet.Blog by Steven Giesel as my blog engine of choice. But migrations are never easy, so this will be the first of many sessions trying to figure out how I can get my blog setup before going live.
Remember -- I need to keep as many links active as possible so I don't ruin my SEO!
Burnout In Software Engineers: How To Get OUT Of It
Burnout is something we don't talk about enough in software engineering.
One of the scariest parts about burnout:
It can sneak up on you. You don't realize it until it's too late.
Typically, when I talk about burnout, it's mostly about identifying and preventing it. However, in this video, we'll take a bit of a spin on the topic as we look at overcoming burnout once you're already experiencing it.
WordPress Is A DUMPSTER FIRE - Build A Blog In Blazor!
I am absolutely sick and tired of using WordPress.
But to be fair, WordPress has given me a platform to build my content on -- even as far back as 2013 when I first started.
But we're breaking up. We're through.
It's time to get everything moved over to... BLAZOR!
Big Tech: Interviewing For Staff+ Software Engineer
So you're an experienced software engineer, and you're looking for a change.
You have your sights set on Big Tech -- you're ready for the career change.
Or... Are you?
What should someone expect when they're applying to a Staff or Principal level role at a Big Tech company? Let's head over to Reddit to find out!
Software Engineering Is Doom and Gloom - So Watch This!
You asked -- I responded! Everyone knows software engineering is currently looking like total crap. There are layoffs. There is AI. There's extreme competition. Why are we even bothering? Well -- there's a hell of a lot of awesome stuff to look forward to when you become a software engineer. So stick with it.
As always, thanks so much for your support! I hope you enjoyed this issue, and I'll see you next week.
Nick “Dev Leader” Cosentino
social@devleader.ca
Socials:
– Blog
– Dev Leader YouTube
– Follow on LinkedIn
– Dev Leader Instagram
P.S. If you enjoyed this newsletter, consider sharing it with your fellow developers!
Great article. I studied self-aware leadership and something that I got interested in was leadership at all levels. I absolutely agree that position in the organisational hierarchy has nothing to do with the ability to lead