1000x less fun? That’s extremely subjective, and depends enormously on what you draw satisfaction from. Leading people can be a lot of fun if you genuinely care about the people you are leading and take joy from empowering and enabling them to grow and succeed.
Yes and no. You can move mountains with good teams, this is great and you will draw satisfaction from. But IDK if you had ever 100+ people in your reporting line for a longer time. Then you knew that it's everything BUT definitely not a lot of fun. It's super hard work and will push you and your mind dangerously to the limit.
It's a different mindset, but I still think it's fun. For me, the key with that size of a group was focusing on the development of the leaders under me. When I make sure they are set up for success, things go smoothly.
The hardest time in my life was trying to micromanage a large group. Once you let go, and focus on the bigger picture, it's quite fun. Challenging, for sure, but very fun.
Hint: you should never frame your reports in such a way ('leaders under me'), 101 of leadership; but let's move on: I think we are not talking about the same; managing people has no short-term feedback loops like coding, it can be fun yes but many confuse this fun with the status involved; from a rational perspective and with the experience of heading larger headcounts (did you lead 100+ teams for a longer time?) paired with hitting ambitious org goals, I find it hard to call 'managing people' fun.
Holdover from the military. I can see you're framing it as "beneath", which would be very inappropriate, but it references "under your charge". Thanks for pointing out that it could be misconstrued.
I am sorry to hear you have not enjoyed your time leading a large group. It certainly has its challenges, but I assure you it can be quite fun and rewarding.
This is getting a bit too deep now. I didn't say that I didn't enjoy it. I like challenges, my initial notion was just to express that words like 'fun' are far away from what leadership is. Btw, you didn't answer the question if you led 100+ people for a longer time. Besides and no offense, military, authoritative leadership styles might not be the right approach in tech environments (like those where engineers work).
With regards to the military, good leadership works in any organization. I do not speak to my engineers the way I would speak to a platoon, but I lead them the same.
In all seriousness, I recommend not referring to them as "reports" at all. Call them "My Team", "us", "we". It creates a sense of collective ownership.
When talking up, I use specific names, or "the team" to reference tasks or successes, and "I" when we talk about failures. I own what goes wrong, they own what goes right.
Hm, how should this work? If I'd ask you, 'How many direct reports do you have', what would you say? You need to use the term 'direct report' again.
If you fuzzed around with 'my team' while I try to understand you team structure, your direct report count, their profile, which and how many reports they again have, you'd drive me nuts with a fake 'my team' humbleness.
Using the term 'report' is absolutely ok, you shouldn't talk all day long of your reports of course or trying to impressive anyone.
You think so? I just disagreed with the things you wrote because I think some of your statements are wrong and/or mislead and they're altogether also inconsistent.
I don't believe they are inconsistent, but I also have the advantage of knowing my own life intimately. I suppose the context makes a difference.
There are very few "rules" in this game, so feel free to manage differently. You have 100+ on your team, so I'm sure your methods worked well for you, as mine have for me.
Just reports. The ones directly reporting to you are called 'direct reports'. Latter also implies a bigger headcount and that the direct reports are managers themselves. So if you have a small, flat team you call your direct reports just reports.
I don't see this as subjective, because dealing with computers and technology is a fundamentally different type of activity, and requires a totally different set of skills, than dealing with people. If you're the type of person who enjoys the former, I think it's safe to say you won't enjoy the latter much, at least not at first.
> dealing with computers and technology is a fundamentally different type of activity, and requires a totally different set of skills, than dealing with people.
Sure.
> If you're the type of person who enjoys the former, I think it's safe to say you won't enjoy the latter much
This seems like a bit of a leap. People can be good at and enjoy things that are very different.
Nope, I became a coder because I want to be able to create apps that I have in my head. I hated coding for the first 6 months (I'm on year 8 now). Now I like it, but I'm still not passionate about it.
My passion is about digital creation.
I think I'd like being a manager, depending on the context. Since I like to talk and listen to people their ideas and get energy from talking and listening.
I don't get energy from coding. I do get energy from creating something awesome (either myself or with a team).
Nice that you told us the story why you got into coding. I just tried to find an abstraction for the sake of simplicity. Of course we had all our triggers why we got into coding. And of course we had some specific end goal like you had but the actual activity of coding is about short feedback loops. Something which many professions lack. If you didn't like short feedback-loops you wouldn't code for 8 years.
> If you're the type of person who enjoys the former, I think it's safe to say you won't enjoy the latter much, at least not at first.
I disagree, I volunteered (edit: to step up and take on) for a manager role and discovered I loved it. I really enjoy helping built teams and team culture, helping people learn and grow in their career and abilities, and working to coordinate work across multiple teams to get work done at a scale that I never could have as an IC.
Saying that people who enjoy coding don't like dealing with people is like saying people who enjoy painting won't like programming, it is a stereotype that is easily dis-proven by the existence of people who, in both cases, do enjoy both!
This is the biggest misconception most have you have never led seriously. I like people, I like meeting people for a beer, for pair-programming, to date. Managing people is not about being with people.
> This is the biggest misconception most have you have never led seriously.
As a manager, I managed my team, and dealt with a lot of other teams!
I was spending a good % of my time coordinating, organizing, and paving the way for my team to do good work. Ranging from ensuring the UI specs that got to them had been well vetted, to negotiating release schedules with other teams.
This extends even to engineering decisions. As an example, there were ways my team could implement a feature that'd save us time, but be harder for an upstream team to integrate with, or we could take more time implementing something to their requests at a cost to our schedule.
Balancing decisions like that is just as much talking to people in hallways between meetings as it is attending those meetings. It is forming relationships across an organization so that even when schedules get tight and times are tense, things don't get ugly.
Tbh, this sounds you like are heavily micromanaging your people because you don't have any task yourself. Did you ever got into 360 feedback? How was the outcome?
I wasn't micro-managing my people, I was managing interactions with other teams.
For reference, we had software running on the cloud, mobile, and devices, with multiple teams at each tier.
API changes were a mess of coordination. It wasn't "send JSON" it was "round trip this in a way that can be consumed by a device with 256KB of RAM." Multiple transforms of data across multiple mobile platforms meant just locking down on field orders could be problematic if someone didn't take proper notes[1], or if a Java programmer on Android didn't understand how to properly consume an unsigned 8bit int.
Early on in the project, we had a design team that hadn't yet been trained on what 96mhz CPU could do in terms of UI. I was doing careful reviews of UI designs, and eventually was just sitting in design meetings, to ensure that by the time specs got to my team the spec was physically doable.
Another example, when it comes to performance. I was going over EE schematics to ensure there was sufficient bandwidth to push pixels how the UX team wanted. Part of my job was working as a go-between for EE and UX and explaining the other teams POV to people with very different backgrounds.
Then there is the more soft-skill stuff. Seeing months ahead of time that another team would be having problems in the future, and suggesting to one of my senior engineers that making some friends over there and getting up to speed on their code base ahead of time might be useful, so that in a few months when help is asked for he can jump in and assist.
Letting senior management down gently that their favorite feature is going to be cut.
Prioritizing what features we need to implement to show "progress" to upper management so that we can all stay employed. This often required guessing far ahead of time what we'd eventually be told to demo "next week", and having work start on it way ahead of time. These were very much "do or die" demos.
The feature work? The team sat in a pod and discussed technical implementations with each other. I trusted the people I had hired to do good work, that is why I had hired them. I had the huge benefit of having personally hired every member on the team, which is one of the things that made any of the above possible.
Then there is the actual team management stuff. Inviting engineers to the right meeting so that they had visibility, giving them a chance to speak up in front of senior leadership so that their name was known. Taking someone who I saw leadership potential in and helping them see it, and giving them opportunities to grow that potential.
Rotating user facing features around between engineers so that they all had something they could point to and say "I made that shiny thing!" Good for both morale and career visibility.
Preventing burn-out. Telling PMs that work was going to be delayed because the engineer best suited to doing it was going to be working 6 hour days on light duty because they just went through a 2 month crunch.
Ensuring senior leadership heard the name of the engineer(s) responsible when something went right, and only heard my name if something went wrong.
Managing is a lot of work, but I think your judgements about it are unfair. Managing engineering projects is a blend of technical and people skills, and there is no law of the universe that says someone can't enjoy both.
[1] Or ignored the spec sent out. Or wasn't aware there was a spec. Or we were told we had to have this working in a matter of days so there was no spec. Or there was a bug in the deserializer that ended up swapping two fields. That last one took awhile to figure out.
- usually tackle bigger problems/projects than they could ever address as an IC
- make sure their team isn't wasting time on the wrong things
- accelerate the development of inexperienced team members
- make sure that the team is more than the sum of it's parts; hopefully very much more
- avoid getting bogged down on technical details that will not be relevant for long. Some of the skills you had that will atrophy aren't very impactful, just necessary at the moment.
Some people will find those things rewarding, and may not find your 1000x factor at all realistic.
Sorry, but what you write could come from any of the millions of self-help leadership books or blog spam from the net. Random, generic advice. This is too simple for my taste and I am not talking about what effective leadership is. Maybe you talk about a first leadership experience or managing two interns and find this rewarding. Yes this is def fun.
I was replying to something generic, balancing out the negatives a bit. I wasn't really talking about what can be effective, but what can be rewarding. YMMV of course.
The only reason I mentioned effective at all is that I don't think it is much fun to be a (knowingly) ineffective leader.
There is, in fact, fun to be found at every level. Perhaps not for every person, but that's life.
> There is, in fact, fun to be found at every level
Yes, but we are not on HN for such generic advice.
Early in my career I thought that leadership is the end goal and just great, nobody told me that it's a bit more complex. My initial comment just says, guys, it's not getting easier, it's getting harder, much harder. Now we can do a philosophical debate what is fun, what is rewarding, that challenges are rewarding (YES they are) but it's about the fact the managing people is not easy and shouldn't be underestimated, the reward structure is very different than coding and much more complex than eg a k8s cluster.
I mean just check Glassdoor and how many people there hate their boss. It's so easy to f*ck up an org if you haven't any experience.
Right on. I'm 71, self-employed, successfully evaded management, have coded all my life and would never have done otherwise.
I have managed fellow coders, but always had my hands in the coding jar. I continue to innovate, and hope to be coding the week I shuffle off this mortal coil.
I do old school desktop, C++, some C#, Win32. Just converted to macOS through Qt.
My target market is firmly entrenched in desktop, for technical and political reasons. I have Web-based versions of my app using REST, XML, and JSON, but they only constitute 3% of my sales.
I switched from COBOL and mainframe Assembler to C in 1988.
What are your opinions on autonomous team members? I understand that organization is important, but is it possible to have an organization with minimum red tape by setting goals and let team autonomously execute? Would that reduce management burden?
In an org of any non trivial size, no it won't work and it will increase management burden long term because it will damage things. As teams grow, supervision and communication get non linearly harder and less efficient. If you give some rogue the root keys and carte blanche, they may well get sh*t done but will also, almost certainly, cause a lot of problems for others.
Discipline, good hiring practice and clear goals and accountability at all levels are what's needed.
- Leading people is 1000x less fun than coding
- Leading people makes your more money than as an avg coder
- Leading people too long makes you lose your technical skills slowly
- At some age and for most, there's no other option than leading, 'go or grow'
- Leading bigger headcounts is comparable to competitive sports 24/7 and shouldn't be underestimated