If you're earning 100k a year and the most important code you show is how you turned a link colour from light blue to blue -- then your $100,000 a year job has now become questionable.
It's hardly losing the plot to ask someone "What have you achieved and what do you think your best work is?"
If you want to argue whether the people who do them should get US$100k/yr, that's a different question.
Lots of development jobs involve doing work that isn't flashy, showy or even cool. Does the lack of flashy, showy cool stuff mean it's of less value? Almost certainly not. There are other reasons why a specific developer may not be "pulling their weight", but a bunch of code excerpts is about the least likely way to discover them.
I do a lot of code reviews, and it’s very obvious who on the team barely churns out useful code —- even just from the low density and volume of their code.
Most engineers should be able to run “git log -p —author=myname —since=‘12 months ago’” and find 10 examples of non-trivial code.
And those that can’t, should be able to provide a good explanation of what they contribute instead.
The primary role of leadership is to feed tasks and guidance to skilled people who your organization has selected based on known temperament and skillset.
If you run a software company and don't know you employ who can code you are at titanic slipping beneath the waves status still calling on skilled ship designers.
It's done he burned 44B by being a bad leader.
I’m guessing the screenshots themselves will be less relevant than their owners’ description of what the depicted code actually does.
This is all very dumb and I’m not defending the way he’s doing this.
Also it's really not something a CEO in a company of such size should be doing...
This is so obviously not the point of the exercise that it feels like bad faith. I doubt he's firing anyone at this point. Just looking to see how does what and talk with them about their impact. The code examples are just to get the ball rolling. Basically everyone in leadership at twitter is gone, Musk needs to figure out who can be trusted to keep things from collapsing, not who to fire.
Feels like everyone wants to be the exception, and just assumes “someone else” should do actual hands-on work
In an org of that size, there's much work just in stopping other people writing really bad code.
> Feels like everyone wants to be the exception
Right. You can easily write 10x the number of lines than an average engineer and create negative value for the product.
The job of software engineers is to design and implement solutions to business problems with technology. The job of a software engineer is not merely "write code." Writing code will almost certainly be the smallest percentage of a skilled engineer's time. They need to be spending their time thinking and designing.
We're talking about solving extreme scaling problems at extreme scales here, not churning out crud apps at a local freelance studio.
Senior/Staff's Perspective: "I was hired to solve business problems, sometimes I write code"
;-)
I've never suggested someone should be fired if they can't produce code snippets. But it's fair to expect people who don't actively code (when they're not managers or have a non-coding title) to have a reason they're not coding. And there are many perfectly great reasons, especially for very senior engineers. But if someone isn't coding and they're not actually doing anything else of particular value... well, they're not valuable engineers.
Code is not the single-and-only decider of an engineer's contributions, but I reject the notion that it can't be a starting filter to evaluate someone's contributions, and the assessment to proceed from there.
But while engineers obviously have to spend time thinking and designing, it’s the code that does the actual work and embodies the value of the engineer’s plans. I simply fail to see how a software org could exist where only a small minority of engineers are coding. Makes no sense to me, sorry.
This is a problem.
you're saying they can't pour footings for a data center -- not the same job at all
(or even can't set up a build system, which, god bless)
If I was forced to take part in this absolutely idiotic exercise I’d be including descriptions of the purpose of the code along with the screenshots/printouts.
“These are the configuration files I maintain. Collectively these control the orchestration of 9,000 of our servers which make up over 80% of our infrastructure” would be be pretty compelling.
Ultimately, while he’s going about it in an insane way that I will not defend one iota, he’s trying to figure out who does what.
It’s one of those things where you have to read between the lines and figure out what the client/exec/boomer actually needs and wants, versus the nonsensical thing they actually asked for.
Your boss who wants his emails printed out every morning may actually just literally want them on paper OR they may actually want a system of triaging and responding to messages that is easy to do with paper but is difficult to achieve with software (and is still, honestly, clunkier than using paper sometimes if we’re being honest)
A hazing ritual to find out who is properly loyal, and who is unwilling to bend the knee.
I don't think he cares too much about the screenshots themselves. I think this is a pretty simple test to see who comes running to the 10th floor and who says: "that's insane, no".
It's a special kind of hell, it manages to be much worse than the hell it is on having to politically push this kind of project to multiple layers of decision-making higher management to get enough buy in because it's a damn expensive project.
Elon’s a jerk, but this thread seems to be full of people saying “I deliver value even though I can’t actually demonstrate any evidence of it.”
Now as a manager and sometimes architect, no code from me but I still review code and spend time stopping bad ideas, getting teams to work together, and all that fun stuff. But I still regard code merged into master, as the ultimate tangible of our work.
So, you DO understand what we're trying to say on this thread. I don't get why you are defending this measure as a valid way to measure engineers
As a manager, it’s not in my job description anymore. And when I put on an architect hat, my output is design docs and aligning many different opinions between teams. Also, the senior-most people on my team are no longer coding 100% of their time (they’re designing, reviewing, mentoring) and that’s obviously ok and good.
...But if >50% my team spends every week only mentoring others and attending meetings and writing design docs (as someone else suggested here), I think it would be appropriate to ask what the heck is going on. The idea that for a typical rank-and-file developer (not the TL, manager, architect, etc) that they should be seen as productive software developers without being able to show even a handful of code examples over the course of a year, I’m sorry but I just don’t understand how such a software org would ever actually function.
If you are mentioning a previous comment of mine [1] in this thread I think you're grossly misrepresenting my words. And if so I definitely take offense in that as it's not only uncharitable, it's completely missing the point and reducing a brief expansion based on one of your questions to "only attending meetings and writing design docs", something I've never mentioned in the hypothetical scenario you raised.
I expect my assumptions are wrong because if not I'd definitely say you're not fit to be a leader or architect of anything.
Like, yeah of course the top engineers find themselves less and less hands-on-keyboard as they turn more to technical leadership roles. But some people seem to be arguing that code isn’t the bread and butter work for majority of developers. Who’s doing the actual work then, is my question for them.
I don't think anyone actually said that.
I wrote:
> In an org with thousands of software engineers, shouldn’t most of them be writing code?
And this person's reply was:
> no, I don't think most of them should be writing code
> I wouldn't put any kind of quantifier on it. I'm willing to bet most, if not all Twitter developers were above average across the industry and were producing work of value.
Now the question is: does Elon have enough technical expertise (or access to such) to be able to judge if a collection of assorted 10 screenshots without context of some GDoc pages, some shoddy PoC code and comments on RFCs is up to par with his bar of what a Staff Software Engineer title should produce? I highly doubt it.
It's not about showing evidence of work, it's that technical work can differ so much depending on context and constraints that it's impossible to demonstrate its value in such a reductive way, it's simple and clear stupidity to even ask to be demonstrated that way.
To your point, if I started as new manager for a team and the TL said they mostly wrote RFCs and design docs, my next question would be whether those docs led to an actual implementation (by orher people is ok). IF it turned out they write go-nowhere docs and sit in meetings giving obvious advice all day, then I’ll flag it as a potential problem that needs deeper investigation.
You could probably fit his committed code for the last 6 months on one page, confuse it for a junior dev's output, and yet firing him would kneecap the team. Other people know individual parts of what he knows, but the value of having one person who knows them all in immeasurable.
I can't imagine a place at Twitter scale didn't have similar individuals.
Also does he really have that many at Twitter people whom he trusts? And are there many who trust him?
To be fair I can't tell if your post is sarcasm or not.
At any rate, I think you'd be mistaken to believe that there aren't top-notch software engineers at SpaceX and Tesla. They both have front-end tools, massive backend systems, data pipelines at huge scale, metrics and analysis systems, and so forth.
I doubt this could have a significantly different outcome than just firing people at random (or using some bizarre metrics like lines of code committed). That's probably irrelevant if Musk's goal is to simply drastically cut the number of employees at Twitter one way or the other.
But this thread is missing the forest for the trees: take my coworker for example.
He's become such a pivotal player because he stayed at the company much longer than the average tenure in our industry.
Why did he do that? Well, my hunch is the fact no one sweats him if he needs to pick up his kids from school, he can work from home as needed, he's not expected to work 80 hours a week... all play into that.
So it doesn't really matter if you realize he's valuable, fire half the company and start talking about extreme work hours and he'll rightfully leave.
People like him such experts at the specifics of their jobs that even 30 hours of their work is worth more than 80 hours of some loyal Elon drone who might have all the zeal in the world, but can't magically recreate 6 years worth of being deeply embedded in a company.
-
We already saw Twitter employees saying Elon has fired people who fit in this category.
And to add fuel to dumpster fire, those people tend to have stayed due to a bond with the job. Start shaking it up by getting rid of people they build camaraderie with and doubling work hours and they'll leave.
After all, having a resume showing years of executing at a high level in a company like Twitter is a huge boon. Money was raining from the sky until very recently and these people ignored it and stayed put. You can't find people like that easily in our industry.
A more reasonable explanation is that he just wants the employees to self select. (Sane) People who are unwilling to take this process seriously will just leave and only those who'd fit in the environment he's creating would stay.
He was asking them to print our their code and show it to a team of his engineers, that didn't exactly leave time for in-depth discussions about non-code impact.
His entire mantra has been code-is-king and claiming people's non-code work was cruft from over-engineering, so it's not exactly like he'd accept that excuse anyways.
Any code I checked (that year anyway) in paled in comparison to the value I added by doing that.
that's not what's being asked, they're asking for screenshots of code. Which is not the same.
Elon needs technical architects and technical direction more than just developers if you ask me.
I don't think Twitter will completely fail, but I'm pretty sure it will stumble quite publicly/visibly a lot in the coming weeks.
I don't think the majority opinion on engineers is that it'll crash and then they'll throw in the towel and that's it, but there's plenty of other ultimately fatal outcomes for twitter, and plenty of non-fatal technical issues they can encounter on the way there.
He'll slash the costs dramatically to adjust for the loss of revenue. He just sold another $4 billion in Tesla stock the other day to most likely cover the expected losses over the next few years. Slash deep enough and you can easily run Twitter on a few hundred million dollar loss per year. He probably thinks he can get it to break-even following this approach over the next few years and go from there.
Facebook was profitable at under $1b in sales with a larger userbase size 12 years ago. Why can't Twitter get there today? Twitter was unprofitable with $5.2b in sales, it was an exceptionally bloated corporation.
I guess every cloud has a silver lining
"coordinate and plan technology" can be a huge amount of effort, vastly greater than "nothing".
Imagine if every hour of every work day in your calendar is full of various forms of "planning" meetings. How are you supposed to write code and attend all this nonsense at the same time? You can't.
To be fair it sure feels like doing nothing but employers consider it necessary and a job that only senior people can handle.
Another way to read this is as saying coordination and planning are the job. They "do nothing but", as in "only do".
But I don't think this is a particularly effective way to root those people out.
It's also possible he's reassigning teams from the ground up, and this is his sorting method.
I've spent whole year aligning a team strategy with an overall company strategy, and making sure that rest of the people on my team build is actually fitting into that strategy.
In the past, team spend many years build custom stuff, that always had to be thrown away. Now, work we're doing is a part of a company direction, our expertise influenced it, and as a result we're no longer building throw away things, but also building something that impacts the whole company. I'll be blunt - I've made people on my team 10x more productive as a result.
At bigger companies there's many ways you can be a senior developer. Does it sucks that people need to do stuff like that? Oh yeah, I'd prefer to have 100s of CL this year. But that's often a motion, not progress. As a senior, I'm accountable to make sure we make progress.
use the opportunity to prove how undervalued you were, and how essential you will be to restructuring.