One of the quotes on the page was:
"Moving from dev to manager is NOT A PROMOTION. It's a CAREER CHANGE."
This is what I'm having a problem with.
I look at my team, and the entire office is happier than I've seen it in 5 years. I'm watching people train, and actively grow under my management. It is incredibly rewarding, and much, much better than before I moved to my current position.
But I've also spent the last 9 weeks doing nothing but reading resumes, phone screens, and interviewing candidates. Staring at an excel spreadsheet mix of engineers I could out-code, great developers I can't afford, internal politics, and emailing recruiters all day, isn't what I went into engineering for. Being judged on my projected demeanor in meetings, ability to navigate politics, and clear bureaucratic hurdles for my team isn't itself enjoyable... its soul-sucking and stressful.
I wake up every morning and don't want to get out of bed. I've started setting aside a (very) small portion of time for coding, just because I miss it so much. Ever wake up and realize you are going to spend the first two hours of the day rescheduling meetings... again?
But most days, something will happen among the team, where, before I leave, I'll realize "That wouldn't have happened here before you rose up the ranks. You've made all of these people's lives better." and it'll bounce me back a bit.
Your website says that the transition to management is difficult and nuanced, but things like the above are what I need help with.
> its soul-sucking and stressful.
Remember that you are still creating software - you are just doing it through others.
> I've started setting aside a (very) small portion of time for coding, just because I miss it so much.
That's a very good strategy. Aside from keeping you happy, it will help you to understand what the team is doing. It will keep you grounded and help you gain respect.
> Ever wake up and realize you are going to spend the first two hours of the day rescheduling meetings... again?
It sounds like you are already a pretty good people manager.
The next thing you need to learn is to manage your time. Your goal should be to do as little as possible. Your todo list should be empty by 5pm.
1. Learn to delegate. Only do the things that nobody else can do well enough.
2. Learn to say no. If you say "yes" to a task, remember that this implies saying "no" to another task that you could have done in this time.
3. If you cannot do something now, snooze it so it disappears from your todo list/email inbox until you can do it and does not distract you in the meantime.
It is probably just as enjoyable as reading a book through others, or watching a movie through others.
Managers should not be creating software. Directly or indirectly (unless you're a product manager or in a position where you have to take PM responsibilities). I've had too many managers try to insert themselves in design decisions, micromanaging and what not. Managers should be managing people. Making people happier and more productive and communicating what your people can and cannot do with the higher ups. Even deadlines and milestones, etc should be PM responsibilities, not dev managers.
> I'll realize "That wouldn't have happened here before you rose up the ranks. You've made all of these people's lives better."
Yeah so what, they might like you (if they even find out its due to your hard work) but if you don't enjoy it what's the point? Eventually you'll be just another manager who doesn't have up to date tech skills and is due to get laid off.
I went into middle management. It sucked. I went back into a senior dev role, tiny pay cut but much more employable and fun.
Delegation is necessary but it hard the first few times. It takes a lot of getting used to because very few people are going to do things up to your standards (some will do >= you which is awesome). Note that eventually these feelings went away...until I got promoted and then they came back again: 3am chest squeezes and a sense of "I don't know what the fuck I'm doing again and no matter how hard I work the needle doesn't move."
Over the years I realized this is just a side effect of new challenges with increased responsibility. You (YOU) are a natural problem solver and it takes MONTHS to come up to speed so don't beat yourself up. You will solve the problems and invent your own systems.
Finding mentors is hard, but I found some through Meetup.com of all places (bay area, austin, and portland are my haunts). Note: they're not all older than me, but they have had similar experiences. Mentors can be younger than you. And mostly they don't have specific help because at this level techniques aren't really transferrable from person to person... my startup founder friends just remind me I'm not a phony fuckup. And that matters.
Welcome to being a grown up!!! It'll never be quite as fun as being a 20-something hacking code 80 hours a week for years on end, but there are new things to enjoy with age!!! (Confession: I still write shell scripts to procrastinate because it makes me feel like I've accomplished something.)
Good luck! This sounds cliche, but remember YOU REALLY CAN DO IT, don't set the bar impossibly high. You've got the right attitude with your realization in the sentence to last. Just trust that your knack for problem solving as a coder will cause your brain to inevitably figure out creative solutions to your current problems.
> But most days, something will happen among the team, where, before I leave, I'll realize "That wouldn't have happened here before you rose up the ranks. You've made all of these people's lives better." and it'll bounce me back a bit.
This is what you need to focus on. Everyone has parts of a job they don't like. What you described here is the reason you're a manager.
I agree with your second statement.
I suppose what I'm trying to vocalize is the following:
When working on code, the work itself is fun. Coding is enjoyable. That means an 8-10 hour day is largely 8-10 hours of enjoyment.
With management, those ~8-9 hours are no longer enjoyable. The end result is extremely fulfilling and meaningful, much more so than code... but I'm genuinely not finding the actual work of management enjoyable, quite the opposite.
I think I need a way to find the managerial aspect itself enjoyable, otherwise it feels like light suffering for several hours each day in return for the overall health of the rest of the team. And as much as I like these people, that's not long-term sustainable.
I think the way forward might be to fully commit to the positive aspect you highlighted. To consciously attempt to keep in mind the meaning and enjoyment that comes from the making of connections and improvements of the people around me.
I'd love it if a more experienced manager could chime in here and speak to whether or not that really can be enough to power one through the endless meetings, excel reports and politics given time.
And I agree with what other commenters have said. It is simply not possible to be a good manager, while attempting to stay relevant in technology. There simply isn't enough time each day for me to balance my life, keep up to date with code, and learn the management skills I need to improve on.
But that means consciously giving up on staying technically relevant, in this competitive industry..... for a new role which day to day, I'm not finding day-to-day enjoyable. That's a huge leap of faith, that quite honestly, I find very scary to take.
Meanwhile, it seems similarly risky to just give in and go back to pure code, and give up on this managerial aspect. I clearly do have an aptitude for it, it clearly is rewarding, and getting the opportunity to climb this high simply does not happen every day.
Hence, the feeling of being in need of advice, and somewhat stuck.
(Using he in the gender agnostic way).
My specific advice is:
1. Cull meetings that are there to inform a wide group of people about general goings on. Especially regular meetings of this type. Especially especially if they're more regular than monthly. There are very few topics that need to be presented to a room of 10 people in a weekly or biweekly basis.
2. Your business should have a heartbeat of some kind, and meetings should be scheduled on the basis of this heartbeat, not in a variety of recurrence schedules. So, if you do two week sprints, for example, meetings should be ideally biweekly (as in once every two weeks, not twice a week) or quadweekly, with some tolerance for weekly. If a meeting is currently scheduled monthly, it should be replaced with quadweekly. You can somewhat tolerate quarterly meetings interfering with this schedule, but nothing more common.
3. You should be designating time bands for different kinds of meetings. A zone of time when standups happen. A zone of time when 1:1s happen. A few times that are resolutely free of meetings that want individual contributors to visit them.
If you can implement these, I would not expect to have to spend a lot of time ad-hoc detangling schedules every few months.
If your org resists these kinds of changes, then, well, it can be frustrating being someone charged with implementing dumb policies, for real.
I think it's part of a broader problem with communication. Lots of heavy, poorly scoped tools and processes, way too many channels (in the sense of a communication channel generally, not Slack channels or something) tons and tons of look-busy chatter because people are insecure and can't figure out what to do with their time, piles of messages and emails and reports that no-one ever reads. Huge amounts of waste and down-time and frustration due to all the above. On and on and on. "Efficient" market. Maybe gross organizational inefficiency is really the best we can manage.
Also it seems like every org is perpetually in the middle of trying to figure out how do store and distribute documents of all sorts. I sometimes wonder whether for most orgs the benefits of tech have even been positive, outside maybe one or two things they're really, actually leveraging well, in the best cases. This sort of organization that's totally screwed up but doesn't know, or care, and is making money regardless, is well documented back to at least the middle of the 20th century—but more technology seems to have made the inefficiency more efficient, more often than it's eliminated it.
At my prior place of employment in which I grew the team from 0 to 25 in 3 years, I eventually delegated all the stuff I did not like and empowered my team to own it. It sounds like you can do something very similar with the culture you have there.
An example: At first I loved phone screens and getting to know candidates. I refined and built that process from scratch. Once that process was up and running, it was no longer the best use of my time to be hammering the phones and scheduling screens. There was a better use of my time and someone else that REALLY enjoyed that aspect of team building stepped up. I was able to move myself to the end of the recruiting funnel which freed up 70-80% of my time allocated to that function. The opportunity cost was simply too high for the company having me screening people.
You can certainly find a way to do that as well.
If you feel like chatting more on this, my email is in my profile. Good luck and don't burn out! Your work should be just as fulfilling as your team members work.
You can also ask for volunteers for something you want to delegate and if none are forthcoming try out rotating it. Consistency might suffer but at least you’re not making one person shoulder something the entire team doesn’t want to do.
https://freemanagermentors.com
I've met with a lot of people from HN since I started the program. It's been a real joy!
As for your comments, a couple of things jump to mind you might want to explore.
[1] Are you receiving enough positive reinforcement from those around you? Are your colleagues aware that their support & positive affirmations make a difference to you? This is all part of "managing up", and a lot of colleagues don't realize it's ok to tell their manager how they appreciate them. It may sound self-serving to you to teach them this, but it's important you know how you benefit them, so you can continue to do that effectively!
[2] I think it's great you're carving out time to do some coding. I'd lean harder into this area if you're finding it's generating enjoyment. Perhaps finding someone to take on 50% of your manager workload would allow you to take a more active coding role in non-time-critical projects?
[3] Are you due for a sabbatical, or have the ability to take an un-paid sabbatical? You may just be hitting some general burnout and may need to hit a reset button.
[4] Perhaps you're due to try a tougher management role in an area that you have little to no expertise. I spent a year at my previous job deep diving into our business operations team, and it helped keep me going for an extra 12 months on a job I was "done" doing. You might be due for a fresh challenge that's beyond engineering.
Happy to chat if you'd like! Be well, and best of luck!
Not to detract from your advice, but what's with that question? Virtually no engineer has a job that offers sabbaticals. Even the companies that family used to don't anymore.
I don't doubt someone will chime in and say "my job offers me a sabbatical", but they're in the extreme minority.
You might as well ask, "does you job offer free massages? If so, I recommend you go for the shiatsu"
It is a career change and not one everyone wants or is suited for. It's like an athlete becoming a coach or gm, it doesn't usually end up well. My personal experience is that I tried it for a couple of years and realized I wasn't cut out for management (various reasons). For me I find that team lead is were I'm happiest, bonus if the manager above you is someone who wants to be there and understands what a manager is / should do.
Good luck
edit: spelling
It's in the same field, and you're making a lot more money, and you have higher level responsibilities, and are maybe even working on the same team as before, right? That sounds exactly like a promotion to me.
As someone in another comment says, "In most companies unfortunately the only way to move higher in pay is the management route." This is treated by all involved as not only a promotion, but the only possible promotion.
I guess this pithy saying is meant to emphasize that you're no longer a developer, but that doesn't change the basic fact of what it is.
The fact that you are making more and have higher level responsibilities isn't really relevant here. That can be a component of a promotion, but it can also be a component of a career change.
As an aside, at many companies switching to a management position doesn't automatically mean more money or responsibility; hell, as a long-time, senior individual contributor at my company, I definitely make more than many/most managers & senior managers, and have more responsibility than some of them.
Do you really miss coding? Fighting with shit tools that are crashing, spending large amounts of time dealing with some messy crappy code that some people vomited. Shit that was never tested and it fails and you have to burn the candle to fix the crap other people made. Spending time solving useless problems like why libpoop.so fails to link against libpiss.so. Fighting with CMake files or some package manager etc. The problem with engineering and coding is that the "joy" of creating software is way too often overshadowed by this engineering busy work (that is only because things in general are so shit) that brings 0 value to the table.
I wish I had a career track out of this engineering work and into management...
You need to either wholeheartedly commit to that aspect and give up the tech (in a professional sense, have whatever hobby makes you happy) and find value and meaning in that, or go back to being "on the tools".
This dichotomy isn't unique to tech - as alluded to above, the trades have the same conflict - and people do shift between being "on the tools" and not.
But make no mistake - you can't do both. At least not for a sustainable period, effectively, if you are managing a decent number of people. So choose, and commit - at least for the period of that choice.
While 2 years isn't a large amount of time, it is enough time to start noticing myself starting to become technically out of date. And I agree, it hasn't been possible to do both. That in turn means I feel like I need to make a decision one way or the other now, because if I don't, in another year or two, I may not have the option.
I wrote about the difficulty I am having in choosing to permanently commit here: https://news.ycombinator.com/item?id=19486404, if you have a few minutes
Outside of searching the keywords "interview" and "hiring" and looking for what seems relevant, I'd recommend specifically the 4 "Management Trinity" episodes and "Juggling Koan".
source: 5-year manager at a public SaaS company in the Midwest, recently discovered the podcast.
Take the Linux kernel - Yes there is a lot of delegation - but there are strong gated "lieutenants" at every stage - so perhaps do not treat it as one large structure but lots of small teams - who will do their own hiring, share improvements to their CI process etc
Admittedly Torvalds struggled immensely with your issues too - but he also was able to see where opportunities for his code intervention was most useful
I was recently on a "globalization" project, trying to get teams around the world all working on the same products/teams, everyone in management seemed to think the only way to get communication working is to have global conference calls 3 times a week, usually at stupid'o'clock. The idea of open discussion on a mailing list was something they just couldn't comprehend. Fast forward six months and the corporate overlord has changed to one that actually does have some pretty good async communication methods in place, they still feel the need to have a global conference once a week while so everyone can read their kanban board aloud.
I don't know exactly what Torvalds reaction would be if he was asked to join a weekly conference call at 4AM with all the lieutenants, but I'd buy tickets to see it.
Sometimes getting a coach can help you learn the right skills or just be a good sounding board. Someone else offered a free coaching session which you should definitely try out, but if you want a long term solution, we offer unlimited coaching for new managers here: https://leadingup.co
At first I really did not like it. Dealing with people is difficult and tricky, and there is a much greater responsibility.
I'm still of mixed opinion whether I'd want to do this for a long time. There are definitely perks. As an IC, I would get frustrated when I saw some organizational dysfunction. Now, I feel I have a voice and can do something about it. The trade off is spending more of my time talking with people rather than computers.
The other benefit I've found is my personal growth. I'm naturally quite introverted, and this has really pushed my boundaries. I've become much more comfortable leading discussions, trying to sell my ideas to upper management, and so forth. I've also had to deal with difficult people. Despite being incredibly tough at times, I've learned a lot.
I also care a lot about people on my team, and want to see them do well. I feel great when I'm able to make their lives better.
Still... I think I will probably go back to being an IC in a couple years. That is truly what makes me happy, and I don't think that is going to change.
It's kind of insane when I think about it, how at a huge tech company all of the people with a lot of experience who mostly did very well as engineers are making $400k-$2mm/year as managers while all the actual technical product (in terms of code) is being written by people with 0-15 years professional experience. Of course it's not that weird that managers make more than employees but it does seem weird that there are so few people with a lot of experience and successful careers actually working directly on the product.
vs 2 principal engineers for the entire org up to the director.
So you can either jump over to management and be a senior manager a few years later and a director a few years after that, or you can stick around at senior engineer for another 5-10 years and maybe move up to principal.
In all honesty though, if you are unhappy with your day to day, no amount of money makes up for it. Hence the expression golden handcuffs.
In the meantime, work on delegating the stuff you hate about management to others, and keeping work you enjoy to yourself. You probably won't be able to find a perfect balance, but maybe you can find something you can be content with.
It's great that you've made positive impact at your company as a manager, impact that you suspect would not have happened had you not switched tracks, but... you have to look out for yourself, first and foremost. If you're not happy, and don't see a path to becoming happy in your current role, what's the point in staying there?
Also consider that, while you have made some positive impact, you are not unique. Someone else, who maybe actually enjoys what you dislike about management, could likely do as good a job.
Edit: I see from a later post of yours that you've actually been in management 2-3 years. If you haven't been able to make it enjoyable by now, it might be time to just recognize that it's not for you and find a role that you enjoy more.
I’ve gone back to coding (team lead 80% hands on, won’t lead a team bigger than 6). I’m happy again and getting paid >200k through contracting.
Don’t stop yourself going back if you don’t get a buzz out of your job. Nothing else really matters.
I look at my peers and don't see any of the passion and enthusiasm that I see in some developers.
Well, the reason the pay is generally higher is because it is, generally, a much shittier job. If the pay was the same between developer and management tracks you'd see a heck of a lot fewer people wanting to get into management.
It's not easy to make such a mindset change as an adult but I know it's possible because I've done it and I've seen others do it. It's a very personal change, kind of like breaking out of a psychic prison. It's not something you can think your way through, it's not an engineering problem to solve, it requires a deeper change in your beliefs and in how you use your mind from moment to moment.
Engineering requires extreme internally-focused attention and an intensely analytical mindset and a "deep thinking" approach in order to keep all of the inner models and abstractions clear and well-organized. Management (and especially leadership) requires a practice of broader externally-focused awareness and a more intuitive mindset. A manager needs to hold several perspectives more loosely and have a "wide thinking" approach in order to be a great leader.
All of the "soft skills" are either easy to adopt, or hard to adopt, depending on where your mindset is. If you are the engineer's mindset, you might find it very challenging influencing others or making yourself emotionally available as a leader. You know how people get "developer head" after a long day of coding and have a hard time communicating with people? Developer head inhibits the leadership soft skills. But in the manager's mindset, presence is completely natural, and from a place of presence things like empathy or approachability are natural too.
For me it required 3-4 years of uncomfortable growth, and quite a bit of what I would call spiritual work, before I felt I had really found the manager's mindset.
I hope this is helpful somehow; I'm happy to chat further about it anytime. :D
I, and many of my peers, really enjoy being managers. It helps that I don’t aspire to more pay/power/people; I like what I’m doing and I like my team, and that by itself is very satisfying.
I do miss being close enough to the code to reliably fix lots of bugs, but I still code during times in the release cycle when less coordination and planning is needed, and that’s enough for me.
"I look at my team, and the entire office is happier than I've seen it in 5 years. I'm watching people train, and actively grow under my management. It is incredibly rewarding, and much, much better than before I moved to my current position."
I am having a problem having my team be happy and also growing/learning. Do you have any tips to share in this regard?
It's not always true that you alone can fix this (at least while working there). Anyway, from the sound of it you have done a great job for your team which is what counts most in my opinion. If its really that bad that you don't feel like getting out of bed because of this, I might consider moving at some point in time. Hope things will get better for you soon.
Luckily the team was still lacking actual developers so it worked out with the same organization.
Either way though, I started to do a lot of development on my own, like you are now. This is maybe a good indicator.
But I've also spent the last 9 weeks doing nothing but reading resumes, phone screens, and interviewing candidates. Staring at an excel spreadsheet mix of engineers I could out-code, great developers I can't afford, internal politics, and emailing recruiters all day, isn't what I went into engineering for. Being judged on my projected demeanor in meetings, ability to navigate politics, and clear bureaucratic hurdles for my team isn't itself enjoyable... its soul-sucking and stressful.
And remember back to things you did while coding that had similar levels of distaste/discomfort. In my experience, good engineers develop tools around doing the 'scut work' of engineering (checking regressions, processing code review comments, validating doxygen/documentation, Etc.) Whether it is setting aside a time, or coding some tools to automate the parts that are automatable (is that even a word?), and then as they switch from 'senior engineer' to 'manager' they have either forgotten or greatly damped down the memories of themselves making the painful things less painful.
Take resume scanning for example. When I started managing each new resume was like a brand new unrelated to anything before it, document. Each to be parsed, cataloged, evaluated, and then dispatched. Time consuming and sometimes mind numbing. To combat that I started writing down things that were common factors, things that turned out to be red flags at the interview, things that the recruiter could have screened prior to me seeing the resume, and in working with recruiters on their 'rejected' pile things that screened that shouldn't have. After hiring and managing enough people I started getting a better feel for the folks who I could work with and those who would be challenging. I also started looking at teams as a pool of skill sets rather than an individual set of skills. So if the team already had a skill covered it wasn't critical that the latest hire had it, but it was critical that they could cross train it.
As a result, scanning resumes stopped being a soul sucking waste of time, and I started "coding" my own process for processing them efficiently. Thinking of recruiters as a variant on lexical analyzers that needed to be tuned to return the right candidates, and ways to look at the candidate to identify skill sets that people don't often write down directly. Have they always worked in small groups? or large? Is their exposition full of more inclusive language or exclusive language. When I can, I like to 'blind' a resume, as names can trigger internal biases. The evaluation process becomes more like reading code and "running it" in my head. I got pretty good at reading code and being able to guess if it was going to work correctly, with time I've gotten better at reading resumes and guessing if they will fit into the current organization.
As you apply more of your analytic skills that you used every day programming to your management challenges (obviously with fuzzier variables and more opaque motivations of third parties) it starts to feel more like engineering and less burdensome.
I've found manager-tools.com to be a useful resource for new and aspiring managers; but it's no replacement for a therapist or a demotion.
All things go, I just pray that I can always either adapt or guide my life in a direction that makes me happy. I'm basically a full time manager now, but I do find it incredibly fulfilling.
Seriously, it would be the next phase of a career change. The type of responsibilities are totally different and the problems you are dealing with are also very different.
In itself it has nothing to do with management, except you're now exposed to it, shielding your people from it.
Take it from someone who's been there: it's not worth sacrificing you're health over it.
You're devs will be fine, one way or the other. Invest your energy in a company that's worth it, and that will actually change due to your efforts.
This is such a load of crap. Hey I get paid more, have a more obvious path to higher levels, I'm now actually above the people I used to work with, but it's not a promotion.
I spend a couple hours a day in meetings and can then based on that tell, the developers what to focus on. Having the entire team in each of those meetings is a waste.
Managers for the most part act as meeting shields to the development team to optimally allow them to focus on writing good code with good motivated team mates.
But yes, some of them can micro manage and make things far worse than they should be. Few things are worse than working for a bad manager, especially glory hounds.
The first project I scoped delivered almost to the day on schedule and on budget without burning the team. My next project we had a locked scope where I took one look and predicted disaster and it happened. Now I have enough credibility to make these decisions and set a team up for success.
Sure, sometimes a group has relatively simple tasks and doesn't have enough incompetents, prima donnas, social disaster zones or or straight up sociopaths to need a good manager, but given that a good manager can massively improve the output of a team, make everyone happier and make a company more profitable, it seems silly not to have a good manager.
In the interests of no passive-aggressive nonsense, I simply don't believe that you've never encountered a situation where a good manager can make things better, or never encountered a situation where somebody was managing things and in doing so making a positive difference. The odds against it seem astronomical; especially in a 750 personnel sized company.
So from my experience: Good manager is like UFO - I've heard of it, but never seen one. Unless you consider top management that just makes itself invisible and leaves kids on the playground doing whatever they are inspired to. That would be probably closest to what I could take as good management.
To counter your anecdote with one, I work at a reasonably famous tech company in SF, and my manager has definitely elevated my productivity as well the amount of things I had visibility into.
I'm switching teams in a week and one of my big regrets is leaving my manager.
What I love about this is that google had the research experience and the size that they were able to just conduct a massive study on themselves.
https://www.inc.com/michael-schneider/google-didnt-always-ap...
Who does what? What's the highest yielding activity/investment/product? Someone needs to make those decisions and others need to execute them.
Haven't worked in a better environment. Getting calls from recruiters from FB/Google about "exciting leadership opportunities" sounds like moving backwards and is as appealing as accepting a crappy job to survive. Half of the people who left to FB/Goog were back within a year. You have no idea how much better companies can be.
Recently during my university admission interview (3rd master degree) I mentioned to an interviewer that I turned down FB twice in the past 6 months and seeing their brain spinning, unable to understand why, was pretty funny... Not sure why people desire to work in such soulless environments with opaque army-like hierarchy.
It includes, among other things, a link to the Khan Academy Engineering Management Reading List.
See especially the first book on the list about a need for "slack" (free time, not the software) called "Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency" by Tom DeMarco". The summary: "There is a tradeoff between efficiency (meeting previous well-defined needs with minimal effort) versus effectiveness (meeting newly emerging needs with flexibility and responsiveness through organizational learning). If you optimize only for efficiency in meeting previous needs from past opportunities, you will by necessity eliminate your organizations's capacity to respond effectively to future needs from newly emerging opportunities. This ability to learn and grow as an organization requires "slack" time. Middle management has a vital role to play in organizational adaptability -- but only if they are not over-scheduled."
Tom DeMarco also previously co-wrote "Peopleware: Productive Projects and Team", another excellent book on software management.
Another informative and funny book in that area is by Michael Lopp: "Managing Humans: Biting and Humorous Tales of a Software Engineering Manager"
Bottom line: you have essentially switched to a new field even if computers are still involved so you need time for self-education and practice and failures and recoveries. As in, ultimately, years to get really good at this new profession the same way it took years and thousands of mistakes to get good at software development as a programmer... (Although mistakes with people are often more personally painful than mistakes that just the compiler yells at you about.)
Something else to be aware of (may not apply to you) is that many of the best software developers have some degree of Asperger's -- but people with Asperger's often have issues dealing with human relationships unless they consciously learn various skills for dealing with people that many other non-Aspies just seem to have intuitively. And even when they get good at those skills (sometimes better than non-Aspies because they make understanding all that a focus or obsession), an Aspie using the logical primary CPU part of your brain all day to do what many other people do essentially with an emotion co-processor can leave one feeling drained at the end of the day. So "promotion" from software developer to manager may often be a step backwards in career satisfaction for top developers. Anyway, that is just another complexity on top of all the other issues a new manager of any sort has to deal with. But as you point out, being a manager has its own satisfaction in helping others grow, so if you can get enough positive feedback from seeing your own leverage increase that way, the benefits of transitioning to becoming a manager may eventually outweigh the costs (especially once the people and organizational skills needed to excel become more routinized).
Jeff also links to this 2001 Wired article on the topic: https://www.wired.com/2001/12/aspergers/ "Autism -- and its milder cousin Asperger's syndrome -- is surging among the children of Silicon Valley. Are math-and-tech genes to blame?"
See also: "The Real Problems With Psychiatry: A psychotherapist contends that the DSM, psychiatry's "bible" that defines all mental illness, is not scientific but a product of unscrupulous politics and bureaucracy." https://www.theatlantic.com/health/archive/2013/05/the-real-...
And from there: "One of the overlooked ways is that diagnoses can change people's lives for the better. Asperger's Syndrome is probably the most successful psychiatric disorder ever in this respect. It created a community. It gave people whose primary symptom was isolation a way to belong and provided resources to those who were diagnosed. It can also have bad effects. A depression diagnosis gives people an identity formed around having a disease that we know doesn't exist, and how that can divert resources from where they might be needed. Imagine how much less depression there would be if people weren't worried about tuition, health care, and retirement. Those are all things that aren't provided by Prozac."
Also, in general, there has been pushback about removing Asperger's from the DSM. As above, it was a "successful" diagnosis in that it helped a lot of people feel less alone and find better ways to cope with a situation once they had a name for it -- see especially the multiple books now on Asperger's and relationships which can be extremely helpful for people with it and their partners (e.g. "Love, Sex and Long-Term Relationships: What People with Asperger Syndrome Really Really Want" by Sarah Hendrickx).
But, moreso, it is not clear that Asperger's is completely the same as "high-functioning autism" in some ways. This is controversial, but just one example: https://www.spectrumnews.org/news/brain-curvature-distinguis... "A region of the brain that controls language is more extensively curved in children with autism than in those with Asperger syndrome, according to a study in the Journal of Child Neurology. The findings offer preliminary biological evidence that Asperger syndrome, a disorder on the autism spectrum, is distinct from high-functioning autism, researchers say."
I wrote "many of the best software developers have some degree of Asperger's...". Someone can have a little of something to some benefits in some area like programming (below the level where a formal diagnosis of Asperger's might be made other than noting tendencies) -- whereas a lot of something might cause profound difficulties in life overall and fit all the diagnostic criterion for a formal diagnosis. There may also be some sweet spot for success given programming in practice especially in a corporate setting does involve dealing with other people to some extent. Labels tend to be binary -- whereas personality trends are more shades of grey (or shades of colors). In various books on Asperger's (e.g. Asperger's on the Job) there are examples of people with Asperger's who excelled in their jobs because of Asperger's and then got promoted to management where they crashed and burned again because of Asperger's (well, usually undiagnosed Asperger's where people were unaware of the particular challenges they would face and did not know how to handle the transition including just asking to go back to their previous role).
I had qualified my comment as "many of the best...". For contrast, here is a Quora article arguing most programmers in general do not have Asperger's though. Part of the reason is explained here: https://www.quora.com/Is-it-true-that-most-programmers-have-... "While in a way aspergers's gives a good aptitude for something methodical and logic based like programming. The deadlines/stress of company life and ‘real world’ work does not provide a good environment for somebody with Asperger's Syndrome."
So, in the right environment and role, a programmer with Asperger's might excel beyond those without it. In other situations (including for some, a promotion to management), a programmer with Asperger's may fail hard and someone with less technical ability or less ability to focus intensely on one task but a better intuitive people-sense and better multi-tasking ability may do much better.
I also updated the link in the reading list to use that archive.org link.
9 years ago I did such a bang-up job as the lead on a medium size product that I was offered a promotion to management. The first thing I asked was "can I still code?". No. I got my CS degree because I like doing that. Turned it down and accepted a promotion to a principal dev instead. Still, I was rather miserable in that environment. A year later I rebooted my career from .NET enterprise dev -> Rails consultant for early stage start-ups, best thing I ever did in my 20 years as a dev.
You're hired by your company to perform a job for a certain comp package. You're not there for charity. If you're not happy change things up. Your reports will carry on without you, and if things are that bad in your absence, will also carry on to hopefully higher planes.
Plus I've complained about poor managers long enough that its time for me to step up
Kind of, yes. I guess it depends on the workplace. Some companies still allow managers to code for a certain percentage of their time, while some don't.
But you're right - transitioning to management usually involves letting go of code.
Not many people admitting the financial motivation.
I believe he does make sure to set aside a good amount of time every week to code on whatever side project is his current fancy (usually Perl 6 related). I don't think he would handle it nearly as well if he didn't have that to fall back on. So it sounds like maybe you've stumbled on something that might help (designated time for side projects). The question is whether the rest of the job is (or will become) gratifying enough to hit a good equilibrium.
I assume you're being paid a salary at the position you're at. An important facet of salaried positions I've drawn upon is that unless outlined clearly otherwise in a contract, I'm judged on what I deliver. If that means to keep my sanity I take an hour out of the work day to read HN, or code a side project, or any other thing, so be it. That's a requirement for me keeping my sanity at the job I'm at, and if I'm not delivering, then I'll be judged on that by my superiors. My suggestion is to do whatever it takes to make the job palatable to you. If that means putting less than 100% in, then put less than 100% in. I assume they would rather have you at 80% indefinitely than 100% for another 3-6 months before you burn out. It sure sounds like your co-workers would.
I'm trying to find a way to make that remaining 80% more gratifying. And I'm nervous about committing to it permanently until it is. Similarly, I am hesitant to give up on the opportunity, or go back to IC / team lead status (with the career limitations that implies (how real a threat is ageism?)) if it might still be possible to make management more gratifying, given what an opportunity it represents.
FYI: You have a `margin-top: 1rem;` value in your `.navbar-custom` class causing text to be visible above the header when you scroll.
Clean read. Easy to understand principles. From what I remember and learnt: Limit meetings, define responsibilities, trust your people, focus on what has been done, going to be done, and the obstacles. And, you are here to help not to micromanage.
Single best resource I have used for management. It taught me how to manage, even after getting my MBA and serving as president of a Toastmasters club.
I attended the Manager Tools conference and did a conference debrief of it:
http://redgreenrepeat.com/2019/03/08/conference-debrief-mana...
If you have any questions, please ask!
However the truth is if your not regularly training as a manager and consciously applying well known good management techniques then your probably not doing so well... as a manager.
As a coder you train a lot! then as a manager you should also train => proactively get training please!!
However management is a soft-skill, and coding is a hard -skill. Mistakes in management are not seen clearly to actually matter too much. Mistakes in coding clearly matter. When bad management techniques are applied (such as frequently requesting changes, imposing bad deadlines, not actually planning ....) then the outcome: bad or wrong code, missing deadlines will be seen as an issue with the coder and not the management. How many coders are being turned over before....
an anecdote:
When the emperor napoleon marched back to Paris after his 5 month sprint through the Russian winter, he was able to return as Emperor and remain as Emperor without too much trouble when considering the scale of the disaster, he was then able to then raise another Army and start a new series of campaigns.
Also excellent but require some translation to a tech setting: Becoming a Manager (Hill) and Managing (Mintzberg)
On another occasion, it really got out of hands, when I was working on totally independent team and my people working on so many different teams. Being the guys, you gotta know ins/outs of all these projects going on while not loosing track of yours
shouldn't that be your*?