Hacker News new | ask | show | jobs
Ask HN: Did you shift from technical to management/executive roles?
29 points by servlate 3677 days ago
Lately, I have been feeling that the future for financial growth as a Software Engineer is not the greatest unless I start a company or a business.

I hear of people earning crazy salaries at big companies, but I feel they are outliers.

Non-technical roles, on the other hand, seem to be more promising. I know nothing about these roles, but from what I have gathered, it involves anything from Management to Product Development etc.

I love writing code and I love solving problems, and I wonder if this is just a 'grass is greener' feeling, but I would love to hear from the people who have made the transition.

Thanks!

13 comments

The biggest thing that I'd say about shifting from a developer to a manager is that you better like dealing with people, if you don't you will be burned out very quickly and you'll be a sub-par manager.

You're going to be responsible for helping your subordinates get their stuff done and progress their careers and you better be the kind of person who can put others first or you're going to begin losing people, which only makes your life more difficult.

Firing people really does suck, but laying people off is gut wrenching. If it's a surprise to them that they're getting fired for not cutting it, that's a sign you weren't being proactive enough with the feedback (or that they're completely clueless which does happen). For me, when someone isn't cutting it and they're teetering on the edge I have a very blunt conversation letting them know they're on their last chance and exactly what the problems are. Usually by that point it's the 3rd or 4th time we're having the same problem and they're all but out the door, but I've had people miraculously turn it around. If you have any empathy this will be the worst part of your job.

Resourcing if that's something your company does will take up the majority of your time if the company is busy- everyone fights for the 'rockstars' and you'll need to figure out how to match your people with projects that suit their strengths AND interests.

You've got to be putting in the 1:1 time to know where your people are interested in growing their skills out and identifying what their strengths are. You've got to be able to figure out how to put people on projects that might stretch their comfort zone and also be able to support them so that they don't fail and keep an interest.

I hope financial growth is not the only thing that drives your career, because if it is you won't really get nourishment out if it. And a happy career is a good career.

That said, if you are really considering a management role -- not because it pays better, but mainly because the job excites you and you love the challenge to keep both your engineers and your boss happy -- Michael Lopp's blog [0] and book "Managing Humans" [1] are certainly some things which you want to read.

I personally also love Meri Williams' blog, which also contains all her talks on managing geeks. In my personal opinion both are the kind of people you would like to have to run your team(s), and their insights on how to properly manage people are invaluable.

[0] http://randsinrepose.com/

[1] http://www.managinghumans.com/

[2] http://blog.geekmanager.co.uk/

If you love writing code, you're unlikely to love being a manager. It means you won't be writing code. Simple as that.

That said, if you also love getting amazing things done and being the guy who clears the path for your guys to shine, it's awesome.

Your subordinates will LOVE having a manager who actually gets what you do. But can you explain their perspective and advocate for them to non-technical managers? You need to do that.

Have you consider being higher up the technical career path, technical team lead (You will be in demand if you excel at this) or Principal software enigneer comes to mind immediately. They will be other paths.

Career paths of these sort are usually only present in large multi-billion corp, not so much in startups.

> I wonder if this is just a 'grass is greener' feeling...

There may be a path where you can combine your intrinsic motivators (love writing code) with the very real extrinsic motivator of a great salary.

Big Data Engineers are getting $183K > http://www.forbes.com/sites/louiscolumbus/2016/02/10/finding...

The lesson for ageing engineers-- always be on the leading edge of the tech skills demand curve.

Also, learn the art of subtle self-promotion. In other words, share your work with the community. Visibility helps keep you in demand.

I've gone from programming to owner of a fledging digital agency and I'm structuring the organisation so that my role as CEO includes sufficient time to be technical mentor to my developers.

So far it is incredibly rewarding. I'm spending less time writing code for projects and more time writing code in group sessions with my team passing on skills. Seeing the team grow and develop is amazing.

I don't know if this approach fits into the traditional management role but if you can make it work, being a multiplying force is tremendously rewarding.

From a monetary perspective I'm doing better than I did so a programmer, but the entrepreneurial path requires a lot of non software related skills and is much higher risk.

What made you take the leap? (from programming to CEO)
I got there via freelancing. I was unhappy at a company where the owner was making poor business decisions (in hiring, management and general business direction) and began freelancing in my off hours. Got so much work I had to subcontract it. Realised the potential of the services I was providing and started a company. Just put on my 13th employee and not looking back.
I would like to talk to you about how you did this. I'm in a bit of a similar situation, and could use some advice.
Google my hacker news username. Should be easy enough to get in touch. :)
In going from dev to manager, I'd say:

Knowing salaries - good

Respect/status/more say in the org - good

Chance to mentor and help your staff - good

Having to field complaints about your staff - not so good

Firing people - not so good

The different skillsets you use - varies I think, some technical people don't like the managerial tasks

I'd agree with this assessment. I went from being a developer to being a manager for several years, then went back to being a developer because it was burning me out (and what I really enjoyed was being a developer).

Other things I'd add:

Sitting in lots of meetings - not so good.

Having to shield your staff from bureaucratic bullshit so they can get their work done - not so good.

Being responsible for the work output of an entire team of people, not just yourself - stressful.

If you don't mind me asking, did you go back to being a developer by changing your workplace, or were you able to transition back within the same organization?
I stayed at the same company, taking over the job of a developer who had left.
Just a point to keep in mind.

If you're an engineer your need to stay up to date with the technical evolution: coding standards, frameworks, languages & trends.

If you switch into a management role, you need to be strictly organized (accuracy, punctuality, reliability), a good salesman for binding and motivating the project stakeholders AND all the engineering skills mentioned above.

I've switched into management 8 years ago and (even if it does not sound really nice) i need to know everything better than my envolved colleagues to decide if they're on track.

I made the transition from engineer to strategy consulting to manager on the business side of things so hopefully my commentary will give you a different perspective.

And I know how you feel as well because I was there. I thought I was limited down the Software Engineer path. The reason why I stepped into the business side of things is to build my skillsets in case I wanted to start my own company.

As a Manager, what most folks have mentioned is true whether you're an Engineering Manager or a Business Manager - you need to always be on top of things making sure that everything is running smoothly and to address the issues when things aren't smooth. You'll be solving problems related to humans and time (i.e. allocating resources, project planning, budgetary constraints) as opposed to engineering problems.

You'll have to put on your sales person hat to sell ideas on why things can and cannot be done (i.e. why can't we complete XY feature in 2 weeks? Why adding more developers won't speed up the project? Why we need an additional server for development?)

If you're further up the chain in management, you'll have to put on your strategic hat to understand how your department sizes up against the other department. You'll also be the first person the CEO contacts when things don't go right. You'll be expected to weigh in on all things tech related and give recommendations on what the business should and shouldn't do from a tech perspective.

And does this transition see a higher increase on your income than a traditional software engineer career path?
Based on my specific case, yes but I would tend to say in general it might not. It'll probably depend on which companies you pick and choose to join.

Think my buddy doing sales did way better than me.

I went into management/executive roles AND kept up my development skills. Now, I'm back to being 100% a dev.

I really doubt I would have earned what I did as a manager if I didn't love doing the job (and therefore spent a lot of time trying to get better at it).

The way I got started was in helping my manager with some of his tasks (because I was really interested in learning about it). When he left, he recommended me to fill his position.

I switched from 10 years of software development to a technical product manager role four years ago. When I made the switch, I had the same concerns you write about.

The switch was driven by four reasons -

1. Financial growth and social status.

2. More meaningful impact by picking what was to be developed rather than being a cog in the wheel.

3. Desire to learn new skills. To prove to myself that I could do it if I wanted to.

4. Burn out on software development on the same product and company for 10 years.

Of these - the financial growth has not materialized but all the others have been validated. Searching on glassdoor and other salary sites, I frequently find developers commanding higher salaries than managers.

I've found that as a manager, you are still coding. But you are coding with people and organizations rather than Python. The methods and interfaces aren't well documented. The object structure has evolved through acquisitions and bolt-ons and VPs staking out claims. I rely on the org chart as much as I used to rely on architecture diagrams. The build and release cycles are slow and the lack of daily measurable accomplishments are hard to deal with at first. My predictable schedule and zero inbox days are over. This sounds exciting but on some days the multi-tasking and lack of flow is horrendous. I used to be only able to cook a single dish at a time but now I can do multiple dishes in parallel - one of my learned skills that transferred to the kitchen. To be sure, it gets better. You get better. A wonderful side effect is that my communication skills have vastly improved. My understanding of how organizations work and how to align people and objectives has increased.

Quite frequently, I wonder if i made the right choice. Whether I should go back to being a software developer. Whether the grass was greener back there. The answer is different every month. Sometimes I'm frustrated with organizations and people and other days the difficulty of setting up a functional development environment or debugging a for loop for two hours seems like a thing for crazy people to be doing.

As I muddled my way through my career options at that point - the most useful tool for me was the resonant quote - "Twenty years from now you will be more disappointed by the things that you didn't do than by the ones you did do. So throw off the bowlines. Sail away from the safe harbor. Catch the trade winds in your sails. Explore. Dream. Discover."

That - and I knew I could get back to software development whenever I wanted. In UX terms, switching is a recoverable action.

I've known developers who went to management. Some of them went because they liked the idea, some went because they were asked to step up to fill a vacated role. Some have stayed in management, but a lot end up going back to dev eventually. I think it all depends on your attitude and personality.
I'm only 27, but I think this is a case of great people have great salaries. It's that simple. Do partners at McKinsey or MDs at GS make a shitload of money? yes. But they were good enough to make the cut time and again to be promoted above their peer group. Plenty of rockstar individual contributors are paid above average, because they've demonstrated a disproportionately high value add to the organization.