As an eng manager who's overseen teams at several top FAANGs, I can say without a doubt that most of those engineers would have taken 1-2 months to implement a driver.
As an eng manager who's overseen teams at several top FAANGs, I can say without a doubt that most of those engineers would have taken 1-2 months to implement a driver.
If you have the specialized knowledge, you’ll know that “writing a driver” is an overloaded term to start.
This guy isn’t going from a blank slate “scratch” either. There is tremendous amount of boiler plate being started with (in addition to the tremendous amount of core driver and USB “library” code in the base kernel)
And for those with experience in writing device drivers nothing here is super human or even not mundane. This is a well documented (existing code) hardware with a simple interface. If you’re already experienced with Linux kernel device drivers, this is not a terribly complex incremental task.
The person who did it in a week wrote a thousand lines of terrible code, the second person replaced it with fifty lines.
My point: one person can be his own 10x coder depending on (recent) experience and niche knowledge being applicable to a project. To any manager I will look more than 10x faster than my peers.
But I would definitely not be 10x "better" than my peers at our job in general.
But that's not the full answer. In company after company, I've seen (and been amazed by) engineers who even at a young age (as in, first job out of college) somehow leapfrog the others and deliver a ton of awesome code, constantly. They simply don't struggle with it. And meanwhile, most of their peers (even older, more experienced ones) hit roadblocks at every turn.
What I'm coming to realize is even worse is that many people do see how much more productive and capable other engineers can be, but make no effort to learn from them how they do what they do.
I have no doubt that natural talent is a big factor, but many specific behaviors can be learned, and they're probably worth trying when they're going to affect every day of a multi-decade long career. Some people understand this and become the best they can be within their natural talents, while most people just keep doing whatever they're doing while watching junior engineers zip right past them.
Perhaps one reason that there are so many low-productivity developers is because there's not as much opportunity to specialize and hone one's skills?
(The numbers are not meant to be taken literally)
But what's your own experience been? Have your own teams been absolutely full of high-productivity developers, everyone contribute roughly the same amount?
The idea that FAANG engineers are somehow just resting on their laurels isn’t borne out in the evidence of how much tech is being pushed by those companies.
Sure, there’s likely some who do so. But there’s also likely tons who do so outside FAANG as well. You just don’t think about them because they’re not associated to something that you think is noteworthy
No it's something FAANGers themselves openly admit under anonymity on social media.
However, once you understand the APIs presented by your OS, and/or the underlying standard you need to implement, that time will easily reduce to a few days (or hours, in this case). If I've just written a USB driver for one set of hardware, it's almost certainly going to be trivial to write a driver for some other hardware.