I joined a new team as a manager and after 3 years was kindly asked to step down and become an IC. While there are many external factors to blame, I decided to do an honest postmortem with myself so I thought about these things a lot.
As a line manager a huge mistake you could make (especially if you’re joining a new team) is not being technical enough.
You may not write code anymore, but you are expected to know the system very thoroughly, otherwise you’ll be perceived as a glorified babysitter.
As a new manager it’s very easy to fall into the trap of not doing any technical work because you’re a big boy now playing in the big boy league, but this will 100% hurt you.
You need to stay on top of everything your reports are doing. Give them their space but always ask hard questions and dig deep.
Frame it like this: if this report were to quit today, are you able to step in and complete their project? I’m not saying it’s something a manager is supposed to do, but that ultimately YOU are directly responsible for your reports’ work so you should be extremely familiar with it.
I've entered 2 new orgs as an engineering manager, after getting some experience organically. You need to prioritize between lots of things, including technical / people. Usually people is the right choice I've concluded, but the first time my teams were using all new tech for me and I really struggled after over focusing on relationships. The second time I still focused more on people but new the tech better, and forced myself to find time to go through more typical developer onboarding. It was way more successful.
Some of the things you mention sound right for a team lead (i.e. single team) but not really for an EM where you might have 2+ teams. You need to be able to solve the problems the leaving teammates create for you, but stepping into the role is probably the last thing you should do. Don't get me wrong, you need to live the life to build credibility and empathy, but doing the job yourself is usually a substandard, unsustainable solution.
> You may not write code anymore, but you are expected to know the system very thoroughly, otherwise you’ll be perceived as a glorified babysitter.
I think the way "experienced" managers do this is to not actually understand the technical work 100% but rather make your manager think you understand it 100%. Even as an individual contributor, I fail to fully understand all the changes my team is making. I can't imagine being 100% fully up to date with all the changes at are in flight, have landed, etc. and why. The best you can do is some kind of abstraction.
They call this "managing up" or something like that.
You don't have to be in the weeds enough to implement it yourself but you need to guard against both:
- people working on things that aren't priorities because they only want to work on their own pet projects, by not being technical enough to tell when they're BSing about the technical justification for certain things
- people doing things in inefficient or not-aligned-with-future-needs ways because they are more junior and don't know some technical things, or because you haven't shared enough roadmap context
It's related to "managing up" in that it's good to be proactive about sharing some of that info upward as-relevant with your boss so that they don't have to go out of their way to know what's going on with you (or else you run the risk of them having a wrong assumption when they're making decisions that impact you and your reports).
I’m pretty sure “managing up” refers to the extra work the IC needs to do so that their non-technical manager doesn’t look incompetent to their own manager.
I think it's the direct opposite: A huge part of "managing up" is making your your boss knows what's going on enough to help them make a wrong decision due to being unaware of details you and your reports are aware of. If you're scared of contradicting or correcting them you can't do that.
A huge common mistake for anyone with a boss - at ANY level, IC or management, is assuming their boss knows everything that they know + more things. The intersection of what you know + they know is probably smaller than you think. And so being able to recognize what they will NEED to know in the near future is a valuable skill.
I'm an IC on a team full of seniors with strong domain knowledge that recently hired in an EM from the outside. In short, it was pretty bumpy and despite the guy being an ex engineer, his constant questions about how the system works were a huge drag. Maybe to him he was digging deep but to me it felt like my (and my teammates') work was blocked by his inability to grasp simple concepts. Like the time spent explaining could've been spent just fixing the bug.
So I guess with the digging deep thing, be careful to not take up too much of people's time!
How long are these Q&A sessions, would you say the work of ICs getting blocked isn’t worth having the manager be able to eg: advocate for that work upwards?
Having full knowledge of the work is not the same thing as full knowledge of the system. Being able to step in to do the work of one of your people is one possible way to provide a safety net for the bus factor, yes. But not the only way, and I'd argue it is not the best way.
This is your team - you are managing them, not the other way around, so if they have expectations of you that are incorrect, then fix those expectations. If you are not technical, tell them so. Communicate your needs and expectations, and then let them do the work. If there is a bus factor that is too high of a risk for a sustainable team, cross-train the team to remove the bus factor. Have a sense of the priority of all the work so that if someone quits, you can re-arrange the schedule, not be forced to jump in and put out a fire.
At the same time, be building up your people so that they can jump in and replace you. After all, if you cannot be replaced, you cannot be promoted either. Don't pigeon-hole yourself into a front-line manager role unless you truly love it. Grow your team, but grow yourself at the same time.
> if this report were to quit today, are you able to step in and complete their project?
I’ve had many managers over the years, more and less successful, and this was possible just for one of them. And only because they were promoted to the position from a developer level on that team. They hated being a manager though and left the company promptly.
That’s the team leads job. The manager’s job is to manage the people. You are a babysitter or more akin to a teacher that has to stay out of the way of the kids doing things well and prevent the bad kids from ruining the class for everyone.
Not at all. I mean for a small team where you are or expected to perform as TLM yes. But generally speaking no.
I can't read the article to tell if this is just an observation from you, or if you are responding to the article, because my DNS just broke for whatever reason.
> Frame it like this: if this report were to quit today, are you able to step in and complete their project?
That is not the manager's job. The real question here is, do you know the bus factor of your team and do you know what particular skills are most critical to replace?
While this is very (very) cool, what is the upside to having a model render everything at runtime, vs. having it render the 3D assets during development (or even JIT), and then rendering it as just another game? I can think of many reasons why the latter is preferable.
To me, keeping a world state in sync with rapidly changing external state is the most compelling application. Something like dockercraft: https://github.com/docker/dockercraft
There are maybe some but not as popular as Rails. I think everybody in node/js community advocated to build your own stack with libraries and write glue code yourself.
If Reddit actually cared about their users they'd have a feature to blanket-block various topics, like politics, meme, sports or anime subreddits. There is this big map of Reddit and if it were for me I'd never see any content of many if not most of these regions: https://anvaka.github.io/map-of-reddit/
Reddit is dearly missing a recommendation feed that actually aligns with ones interests (e.g. subreddits similar to those already subscribed to and upvoted content). Oh, and owners who care more about their users than money - but I guess that's been hopeless from the beginning. I've mostly stopped using it and would love to know alternatives
Agreed, a sign of good programming is that the program feels easy and natural to extend.
But there is a corollary, I think. A sign of good software development is that the program hasn't been extended in "unnatural" ways. That speaks to the developer's discipline and vision to create something that was fundamentally relevant to begin with.
Arguably, that's implicit in "large". A large program has most likely been extended several times, through its various stages of growth (the alternative being that it was written in a single pass, unlikely). This is tied to the author's point about managing complexity: complexity is the main enemy of maintainability.
It might sound low, but consider that this number is a distillation of many changes into one proxy which roughly covers a variety of different effects that aren’t strictly related to just temperature.
For example, consider ocean acidification.
Also consider the number of tipping points and positive feedback loops that exist. How close are we to those?
Celsius is not an absolute scale. You need to use Kelvin for that meaning that a 1.5C increase is close to a 0.5% increase in global average temperature.
This reminds me of “shadow banning” - instead of letting the misbehaving user know they’ve been banned, and let them find a way around it, you make them believe they’re not banned and let them waste their time interacting with the system (without actually interacting with others), this makes them spend less time on actual misuse and it makes the penalty for it more expensive. Good strategy. Cruel too.
So I don’t think that this is just entertaining PR, I can see why it’s better than simply banning the scammers. Still a question of cost though.
No doubt it has been misused at some point or another, but shadow banning in the context of online communities is generally a last-resort defense against the very worst and most prolific trolls. Not someone who accidentally breaks forum etiquette one time.
A person who is shadow banned generally continues their antisocial behavior in the face of multiple warnings and reprimands. I don't see it as cruel. I see it as defending the community against those who get pleasure out of trying to wreck it. It's effective because the bannee is generally too dim to realize what has happened to them until they get bored and go away.
In regular communities, maybe, but that kind of abuse is rampant on platforms : I was shadowbanned on Reddit as a new user, and still regularly get shadowbanned in YouTube comments (seemingly if I dare to post more than one comment, or if I dare to add a link, including a timelink to the very video!)
I understand that these videos were made public, but still this kinda feels like violating people’s privacy. They most likely never intended for us all to watch their personal videos a decade later.
I'm surprised yours is the only comment from this perspective. I get the draw and innocence of such videos, but I agree spreading them knowing they were most likely uploaded accidentally seems a violation of these people's privacy.
IIRC at least for a while it defaulted to unlisted and then at some point YouTube changed all unlisted videos to private which removed a lot of videos from view where the original uploader was no longer around to set the video to public.
This is what I don't get about historians reading old people's letters to each other. Most of Alexander the Great's letters that are read are fake, but for the ones that are real, did anyone ask for his consent first? What makes anyone think that we should be privy to their inmost thoughts put to stone? Even if he did, is it informed consent if he did so not knowing that billions could one day consume this idly? People really need to learn consent.
People need to learn consent for people who've been dead for hundreds or thousands of years? Why? In the end, everything we leave behind belongs to our species' history and culture. There's no moral obligation for privacy under these circumstances the same way there is for somebody who's alive now. It just makes it unnecessarily difficult for future historians to put arbitrary restrictions on what they're allowed to read and share.
I think a case could be made that it’s fair that a person of his influence on the world loses a bit of his privacy a couple of thousand years after his death.
This is even true for "celebrities" today: there are different rules about where they still get to keep their privacy, and even then the society's thirst for the most intimate details is unrelenting. I am not saying this is "fair", but that it's recognized that "celebrity" has quite some downsides too.
OTOH, people featured in these videos are not going to hold a press conference when they start a new job (eg movie filming, sport team changes, winning elections), or even about a terminal illness they might be facing, where all of those are quite common with celebrities.
As a line manager a huge mistake you could make (especially if you’re joining a new team) is not being technical enough.
You may not write code anymore, but you are expected to know the system very thoroughly, otherwise you’ll be perceived as a glorified babysitter.
As a new manager it’s very easy to fall into the trap of not doing any technical work because you’re a big boy now playing in the big boy league, but this will 100% hurt you.
You need to stay on top of everything your reports are doing. Give them their space but always ask hard questions and dig deep.
Frame it like this: if this report were to quit today, are you able to step in and complete their project? I’m not saying it’s something a manager is supposed to do, but that ultimately YOU are directly responsible for your reports’ work so you should be extremely familiar with it.
reply