What’s your path?
Oh man! You know how to kill it with these conversations.
No! I don't want to be promoted. I don't want the added responsibility of watching others code. However, I did not get this opportunity. I got the promotion. Guess what? It made me grow, and it made me realize that I don't want to be a lead of a team.
I just want to write code. I want to architect systems. I want to write tests.
But then again, I want to share my knowledge with others and help them. So shit. What am I to do?
Present at conferences?
That requires courage! And a whole lot more knowledge than I possess!
Love the idea though. Career goals.
Courage can't exist without a little fear. And I'm sure there's tons of conferences or MeetUp groups with shorter timeframes. Don't need to host an hour off the bat.
Or you could find a way to create a hackathon (especially for students) and offer your expertise to get them through issues.
You're a developer, it means you like solving problems. I'm sure you'll reach those goals and plenty you haven't yet thought about.
That's 90% me ❤️. Except the part that I don't mind watching other people code. Maybe it's the places I've worked for but managerial position always had too much bureaucracy
So I don't mind watching others code. The thing that I don't want to do is babysit others as they code. I want to be able to do a solid code review, know that what they added is tested, add my comments and be on my way.
I really like watching other people code, I learn a hell of a lot by doing so.
I want to architect systems.
I want to architect systems.
You don't architect systems. You architect teams. If you are writing code by yourself, then you don't need that much architecture.
The real need of architecture comes when you have a codebase shared among tens or hundreds of people, and you don't want them to convert the system into a massive blob of chaos as they add features to it.
So, when you are architecting, what you are defining is how the teams will interact with each other.
Because of that, an engineering lead needs to have people skills as well.
You do architect the system. You put forth the standards that others on the team need to follow.
While I do agree with you that you need to have people skills, the system absolutely needs to be architected. There needs to be someone at the head approving and disapproving. This ensures congruence across the entire application.
I am not saying that you have to be a dick to be an architect. You just have to know how to make one hell of an application. You have to ensure its consistency or its ultimate demise.
I didn't explain myself well in my last comment.
What I mean is that any software architecture needs to be humans-first rather than technology-first.
Some programmers choose architectures because they look cool from a technology point of view, and they fail to understand the human component this technology is trying to solve.
The first thing that needs to be architected is always your teams and, then, find the best technological solution that fits those teams.
But that means that, as an architect, you need to be managing other people.
I agree whole heartedly. There are always two sides to every coin. I think that in the long run you will always have the human element to deal with.
This is not a bad thing. Like I said my teammates are amazing and I love them. I just don't want the responsibility of being in charge of them. There are amazing people out there who do just that. I don't think that I am one of them.
At my last company there were two advancement routes for engineers, one leading to CTO and the other to Enterprise Architect. The CTO was a people manager. The EA was a programmer on critical systems who didn't have to do any people managing, but people often went to him for advice on big important questions. Sounds like the perfect role for you.
Enterprise Architect sounds right up my alley. I have a whole lot to learn to get to that point, but thank you for pointing out a viable direction!
People who have a responsibility in the software development process and who do not write code are useless to me.
I plan to never stop writing code.
However, already at this time I do not write code every day. I do develop software every working day. Writing code is just one part of developing software. It is also a part where most problems materialize.
Better question: do you even want to? It saddens me when 'writing code' is treated as a stepping stone to management or operations. Development is its own fully qualified career path. Like @Same Ringleman states stated "I dont want to be promoted". Why is moving away from 'coding' considered a move 'up'? This is totally not right. :MAN:agement keeping us down!
"People who have a responsibility in the software development process and who do not write code are useless to me." - @Michiel Hendriks
Never stop writing, never stop growing. The minute you move away from writing code daily, you start dying inside.
This was my thought.
Moving to management is not a promotion, it's a lateral career change. The two require vastly different skill sets.
Likewise, moving from management to coding isn't a demotion, either.
110% agree... now to make that a reality...
Viewing management vs individual contributor as parallel tracks (vs promotion/demotion) is fundamentally a cultural thing.
In other words, you can make it a reality by treating it as a reality. :)
Thanks for the shout out!
I agree with this so much. I don't wan't to stop coding, because I don't want to stop learning. Not that learning other skillsets are not important, they are just not my top priority. I chose this craft because it is my passion and I am good at it. I did not choose this path so I could wind up in management.
Give me more responsibility by letting me design and build large effective systems. I am a team player through and through, in fact I love my teammates. I have made some of the best friends I have ever had in this industry! But I don't want to manage them. I want to learn and build with them.
Hell, no. I spent over a decade in a field that wasn't a good fit for me before I became a developer. I'm categorically not interested in being anyone's line manager.
I like being a developer, I like mentoring and coaching others, and I like solving problems. I've got no interest in leaving it behind.
Having been promoted to senior, lead and then principal and then choosing to take an individual contributor I have to say I prefer the managerial roles and use it to inspire, lead by example, and help others with professional development along with making sure engineering tasks are on schedule. I am a teacher though and love mentoring others so that helps. Not everyone has the personality for that kind of leadership role and often the wrong people end up in it.
Just because you progress to a leadership role doesn’t mean you should just stop coding. On the contrary, you should never stop doing what you love. Ya never know you just may end up being an individual contributor again.
I have been presenting at meetups and conferences this past year. Next step is authoring a book and it’s in the works. I’m gonna keep the next bit under wraps for now but it’s exciting! Here’s the only advice I really have. If you lose the spark, stop everything and take a break and reevaluate what your goals are. Maybe you will find out something about yourself in the process.
I'd be happy to get promoted into writing code every day. As the sole tech person at my small company, I'm often interrupted to do non-code things (usually of the "have you tried turning it off and on again?" variety).
I suspect somewhere down the line, I would enjoy managing in programming. There's nothing special about typing the code myself. I enjoy thinking about the problems and imagining the possible solutions more than banging it out. If only I can figure out a path from where I'm at to there...
I cannot wait for this to become a reality for you!
Don't let it be too long though, chase after that. If you want to code, find a place where that is what you do.
Not really -- not looking to get promoted as I promote myself. I'm kind of a split really in a few ways. I have the management education, I just kind of use it for myself and for myself. If I can help others, great. Mostly I do psychological safety sort of stuff as some places can really use it - making it safe for people to talk to help move things along. I try to mentor when someone needs it and I consider that a form of leadership. :)
I have a fair amount of autonomy in what I'm doing right now, so I'm pretty satisfied, so I grow myself. Take extra classes, learn new stuff online, take another project using different skills - some soft skills as well. Talking directly to clients, new projects from time-to-time, doing bug reports...
If I went to executive levels, there is a chance I would be unhappy as I like doing my craft - I like the tactical the most. Probably preference.
The day they ask me to stop writing code in my job, is the day I will look for another job. I switched careers years ago, cause I realised that what I like to do is coding. I fully intend to keep writing code for as long as there are still people willing to pay me for this, and for as long as I still have a passion for it.
After working for a decent amount of years and reading on the topic, I can say, that I don't want to get too far from writing the code.
I've been working in small teams mostly where my responsibilities were never limited to just "writing code", which is good in my opinion. I also haven't worked for companies with a clear "career ladder", so it's hard to see all the options.
I have led projects and tiny teams, and I'm interested in expanding this experience, but still staying technical.
I love this post on the topic.
Coding by itself should NEVER take anyone far.
Coding is just filling codes into files, I know it's a daunting task, but not so many will appreciate that job.
Actually, "coders" are treated like toilet paper (used then thrown)... You realize that once you see a high turnover rate in many companies.
Now here is the thing, "coders" are very different than "engineers" or "developers" or whatever higher rank.
Those are more valuable to the business, they're more recognized, and they get promoted faster (even into managerial positions).
Well, tech by itself is such a tiny bit of the world that it won't take one far either - after all, people are quite more complex than that so relying on only one skill shouldn't even be something to contemplate, no.
That being said, the crucial thing is really the what and with whom - the companies you mention really sound like the usual fashion-chasing (not to say chumpatrons directly) places so not even promotions there are going to do much for anyone (quite on the contrary really but that's for another day).
I just want to "git gud" at writing code, and get paid market rate for doing so, tbh. I'm not much of a people person: I have asperger's. I love to code and to learn more about coding, and that's what I want to be doing when I "retire".
I am really surprised by the virtually unanimous "hell no" response on this thread. Though, since this is a (fantastic) community of dev enthusiasts, I probably shouldn't be surprised.
I am still trying to find my path, but I am seeing more and more that I can add a lot of value through non-coding tasks. Sometimes, these non-coding tasks add a lot more value than the coding tasks. Anything I can do to organize the efforts of a team, improve processes, and help find new technical directions for the business will undoubtedly add more value than spending the same amount of time on code. Sure, lots of code still needs to be written, but I am not sure it needs to be written by me.
Now I do respect the preferences of others and recognize that "management" activities are not for everyone (I too dislike many of these tasks). And maybe this is just me rationalizing the reduced coding time I am already seeing. However, I love solving problems, I want to provide as much value as possible, and I am starting to see how being a "technical manager" might be a better use of my time/skillset than a "technical contributor".
As a follow-up, my interpretation of @ben
's question is that you would transition from primarily writing code to primarily something else -- leaving open the possibility for being a manager who at least occasionally dips into the code (which is something I always imagine doing).
Honestly no idea yet. While agesim is still a thing, I'm hopeful this will get better over time in which it will be less common for older devs to make a switch. Team lead has its benefits and negatives (like any position) and I'm still trying to picture myself in that kind of role.
I plan to continue mentoring while remaining focused on the priorities of the business. You can do both, especially if you love people.
I don’t think it would be a stretch to say that most developers only want to write code. A large percentage of the remainder—those that want to take on leadership roles—have had the employee mindset beat into them most of their lives and might not be able to fall in love with the business side of things.
Then again, once you have a business mindset, it becomes more and more difficult not to start your own!
I did get promoted to running both the Software and IT departments at my previous job(at the same time). I enjoyed it, but not as much as I do coding.
In that job I was lucky to get to work on code for 2-3 hours a week. I spent most of my time managing various projects, reviewing some code, writing, papers, presentations, and so many meetings.
I'm now back to coding in a different field and enjoying it
If anyone goes to my LinkedIn profile, they'll see that I've been at the VP level. I chose specifically to give it up and go back to coding because it's fun🧨 and I've done business shutdowns, layed people off, dealt with a fair amount of aggravation as a manager / director / VP.
For the 'youngsters' in the audience, my advice is that if you like to and are good at coding, find a company with a technical career path. In my career that's been rare until the last 5-10 years.
Do what you love and what makes you happy. Don't grasp the power and money of management unless you want it and have the heart for the hard parts of it. In the end, you're going to spend 1/2 your life at whatever you do - you really should enjoy it.
"That situation" sounds kind of bad.
I love coding and always want to code, no matter what I do for a living.
Lately, I've noticed that I have unexpectedly come to understand tech leading after all this time, which surprises me. Maybe I have seen enough successes and not-so-successes I have a feel for what works and what doesn't.
And, I have an unexpected desire to run around and get funding for a startup. I'm not exactly ready yet, but I'm gearing up for it.
It may happen that in the future, I won't be coding every day for a living because I have developed other interests.
But, no, I love "that situation" and if I never lead or start a business, I will still be happy coding.
I do not. ATM I am the whole computer team -- helpdesk, win admin, kin admin, developer, designer -- and I have plans (hopes?) to get somewhere where I can drop most of that and collaborate with other tech types, but writing code is the part I like most.
One can be promoted and not be forced to leave behind creative pursuits like programming. My dad, even though he was the lead technical architect for a university's medical college, still wrote code for those projects (quite literally) till the day he died.
Hopefully, the industry still affords me the ability to continue doing technical things till I'm ready to retire. That said, it's hard to say that programming will continue to be in that realm (how far away are we from machines programming, any way). I assume I'll still have the opportunity, but, "who knows".
I used to work in tech support. I code full time now. I come home every night to a lovely wife and 4 awesome children. I can't remember the last time I was on call, I travel no more than 1 week a year (conference!) I've been to every pack meeting, soccer game, school play, science fair, birthday, anniversary and date night. I'm living my dream. I'd never want to be in management.
Not a plan, exactly. But I took a lateral move because I wanted to be closer to writing code again. Working in a WYSIWYG editor was wearing me down.
I'd like an eventual next step to involve dev avocado type work.
Not in the near future.
I'm in a senior-position now, but I feel like I'm still missing some experiences I would need to move in to a more meta-position. I'd like to first get some experience with more complex front-end-applications, SPAs and the like, and work in a project with code-reviews.
Maybe something in the direction of developer-expert or -avocado erm… -advocate. I like talking and speaking on stages, so maybe that would be useful one day.
Nope! My plan is to get promoted to more positions in writing code. I want to be an Architect or SRE... Probably the best would be an advocate that does tons of proof of concepts and other cutting edge coding.
I used to work Desktop Support at one organization. I coded a bit for fun and to solve repetitive work issues (easier to train an intern to run a script and fill out a worksheet than memorize everything).
Then I thought "You know what I want? More time for projects and less on putting out small fires".
So I took a pay-cut and changed departments… putting out small email config fires and never having time to redesign the website. Leaving a team of 13 for a team of one and a half (including me) was frustrating because my old boss was the best support I had: she knew how to tell the client "No, we can't and we won't do that."
Now, I'm a junior web/backend developer at a sister organization. I'm given tasks with a clear goal and deadline in mind, my voice is appreciated in design meetings, and I'm not personally responsible for more than I can personally handle (e.g. my supervisors know when to tell the client AND/OR me "No" for our own good).
I think I'd rather work in a functional team more than merely having a higher title myself.
6 months ago I got promoted to a mix of tech lead/product owner covering 3 teams and 16 devs. Now I got promoted again to be the manager leading all 62 devs in the organization. I have to say: I want to program again!
I'm on the other side of this. Only about 20% of my day-to-day is coding. The rest is filled with managing ads, generating marketing materials, answering customer service type things, tracking down/taking product photos, and more. It's a small company, so I wear a lot of hats.
I long for the day when I can just leave headphones on, get hyper focused, and blast through coding projects all day.
In Erik Dietrich's book, Developer Hegemony: The Future of Labor, he posits that to get off the "production line" you should strive to be promoted into a position of management. Worth a read.
Glad to hear others enjoyed that book 👍
By transitioning to more thought leadership and offering a different and unique take on the experiences. And mastery.
Being in a management position, to you have plans to code again daily?
For the moment, I don't. I'm currently more interested in how to maintain a codebase than in how to maintain (part of) an organization, although the 2 are intertwined in many ways.
I just write code for open-source projects :P
Not sure how I move forward until I go to uni.
I tried it out a few times. People told me I was a good manager. But I just prefer getting my hands dirty, so I went back "down" to an individual contributor. I'm much happier now.
I promote myself by quitting jobs and getting new ones.
Absolutely not. I have no desire to move into management, ever. I do want to mentor and teach though. Moving into a lead position without any managerial responsibilities is the dream, honestly
Lol. I’ve spent the most recent years of my career trying not to be promoted away from the team room. I keep telling people you can’t provide technical leadership from a conference room.
Nope. It’s like I like gardening. I love getting my hands dirty in the soil. And if I take another promotion I have less time in the soil.
Writing code insn't a problem, it is a pleasure for true developer. If it is getting boring and boring, try to share your experience. If you were mistaken, choose your vocation.
I know managers who long to be demoted so that they can write code in thier day-to-day.
I plan to keep coding while my fingers can type!!!!
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.