DEV Community

loading...

Senior software developer. What next?

bellons91 profile image Davide Bellone ・1 min read

Time for a discussion you've probably seen many times.

Once you have a certain experience in the field what are the next steps for your career?

I see many roles, like Technical leader, Solution architect and so on, but I can't see a clear difference between them.

What are the pro and cons of each of them?

If you have one of that roles, please comment with what is your day-to-day job, what are your tasks and expectation!

If you are a developer, what are your expectations for your future?

Discussion (13)

pic
Editor guide
Collapse
190245 profile image
Dave

For a while, I could only see myself going from Senior Developer to Architect, and that felt like it'd be a case of "dead man's shoes." I definitely didn't want the "HR headache" (as I openly labelled it in discussions with management).

Then one day, I found myself with a different job title. I can't speak for the other roles you list, but my title is Lead Developer & Architect. Though with that, I also have most if not all Development Manager responsibilities too.

No two days are alike, but some of the things I do, in no particular order: write code (supposedly 50% of my time), mentor others, design the future of our system, approve holiday requests, discuss furlough implications, review other peoples code, hit "go" on the release button, spend an inordinate amount of time on Teams (text and audio), interview people & review CVs, help the support folks, talk to stakeholders, have coffee with customers, set & review budgets, push forwards the CI/CD automation, plan & review sprints & team performance, plan training, optimise our workflows, approve finances, do out of hours support, politely "guide" regulators......

I'm sure there's more things, lurking somewhere at the back of my head.

I've always told people "keep me busy"... but I should probably stop that habit...

Collapse
bellons91 profile image
Davide Bellone Author

That's an interesting career, I'd like to jump into that world. Do you have some suggestions or some resources to read/watch?

Collapse
190245 profile image
Dave

Unfortunately, not really.

I think it basically comes down to having a solid tech background, being outspoken & opinionated, being "comfortable with being uncomfortable" and a tremendous amount of luck.

I think in my case, it really boils down to the fact I like to be busy. Just yesterday I posted a message internally of "if there wasn't time pressure, I'm not sure this work would feel right" - and the response from the PM was "you're a pressure / adrenaline junky aren't you?"

I can happily share my current reading list for the things I'm learning though if you like (a mix of philosophy, management techniques, software architecture, and statistical analyses of Agile implementation, probably a few other topics in there too).

I've told my junior developers "read Uncle Bob's Clean Code, when you understand it enough to love his wisdom but also know where he's wrong & can respectfully debate it, that's when you're ready for the next step in your career." - the same probably holds true for Seniors, in different areas of the book.

Thread Thread
bellons91 profile image
Davide Bellone Author
  • Good point about understanding and disagreeing with Uncle Bob. It's hard to see someone who "actively" reads a book and understands it.

  • For the resources, yes please, it'd be great if you share your favourite topics!

Thread Thread
190245 profile image
Dave

Some of the books on my Kindle (I won't link to them, as I wouldn't want to run foul of Dev guidelines on advertising etc). Note that these aren't recommendations (I'm part way through most of them) and not all are strictly work related:

  • Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations - Forsgren PhD, Nicole, Humble, Jez, Kim, Gene
  • Fundamentals of Software Architecture: An Engineering Approach - Richards, Mark, Ford, Neal
  • Technology Strategy Patterns: Architecture as Strategy - Hewitt, Eben
  • The Unicorn Project - Kim, Gene
  • Continuous Delivery for Java Apps: Build a CD Pipeline Step by Step Using Kubernetes, Docker, Vagrant, Jenkins, Spring, Maven and Artifactory - Acetozi, Jorge
  • Hands-On Microservices with Spring Boot and Spring Cloud: Build and deploy Java microservices using Spring Cloud, Istio, and Kubernetes - Larsson, Magnus
  • Clean Code - Uncle Bob
  • The Kubernetes Book: Updated Feb 2020 - Poulton, Nigel
  • The Art of War - Sun Tzu
  • Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith - Newman, Sam
  • Motorcycle roadcraft: the police rider's handbook - Mares, Penny, Police Foundation, Coyne, Philip
  • The Courage to be Disliked - Ichiro Kishimi and Fumitake Koga
  • The Subtle Art of Not Giving a F... - Mark Manson

That's probably a half decent starting point.

Collapse
hjorthbjorn profile image
Björn Hjorth

For one I think the solution can be that there is no "next" some will enjoy just being in this space.

If one want's to move up it will take your away from coding, and move you more in to the design of the product and all the facets that contain.

Another solution is what @madza said: use your knowledge and make something on your own.

Collapse
madza profile image
Madza • Edited

Another option is to retire from 9-5 and use all that knowledge to build your own startup 😉

Collapse
_garybell profile image
Gary Bell

Finding that right business idea is the hardest part to be able to make the leap.

Unless you can create a new market (good luck) then you're going to enter a world against the big players.

I would love to do go off on my own and try to conquer the world (as it were) but I've got a family to provide for, so it's not viable. I'd have to do it as a side-gig to start, but there would need to be compromised on service to start, which I think is bad.

Collapse
thorstenhirsch profile image
Thorsten Hirsch

Well, "retire" is a funny word when in fact building your own startup makes you work much more than 9-5, at least when you need to make a living out of it. 🥺

Collapse
madza profile image
Madza

Yes, I agree, I was for lack of a better word at the moment 😄😄
Simply 'quit' or smth would probably be better 😉

Collapse
bellons91 profile image
Davide Bellone Author

That could be an idea! :)

Collapse
thorstenhirsch profile image
Thorsten Hirsch

Did some of your friends chose a business career and as a developer you've always been sceptical about what tasks they work on, what results they produce, if mastering Excel and PowerPoint is the only technical qualification they need for their job, and why it seems like their job interviews are just having lunch with their future boss?

Becoming a Software Architect can be a step in this direction, but it really depends on the industrial sector and the company. It can also be very stressful due to more responsibilities, especially if it includes a good amount of project management.

Collapse
meddy672 profile image
Matt Eddy

Teach. It still pertains to your field of study and its a shift in work environment if thats what your looking for. I graduated with a degree in software engineering and learned more about software development trying create my own startup or just trying to survive as a software developer. The field of education is deprived of much needed knowledge in this field and you just happen to be a walking talking book of knowledge.