Paul Buchheit on Joining Google, How to Become a Great Engineer, and Happiness
triplebyte.com
triplebyte.com
Is there a name for this type of fatigue (or perception thereof)? I'm curious if this has been studied at a psychological or neurological level. As in, why do we feel tired/sleepy in these kinds of environments (as opposed to say anxious or restless)? Personally I've experienced it at least some of the time at almost every desk job I've ever had.
I don't think it's merely boredom alone. Being bored / doing nothing at home doesn't feel the same way.
I also don't think it's the same kind of mental exhaustion you experience when working on something really challenging, like trying to crack a very hard math problem or something. Clearly in these situations the problem is that the tasks at hand, if any, are neither complex nor difficult.
I think of it as lack of motivation combined with low-grade frustration from not being allowed to shift to something worthwhile. Paul Buchheit is obviously a self-winding guy. But put him in a context where he's expected to do things he doesn't care about and is forbidden to do things he does care about and all the air goes out of him. That's certainly what it's like for me.
Companies should learn a lesson from this. When I'm managing I work hard to build close-knit, cross-functional teams that score well on Pink's Autonomy/Mastery/Purpose triad. Purpose is the foundation: you have to give the team something meaningful to do and then connect them to that meaning. Autonomy comes next: you give them broad long-term goals and near-term milestones and turn them loose. They should always feel independent but accountable. Mastery comes from letting them meet and overcome challenges, learning as they go, but it doesn't hurt to support them by providing them coaching, access to experts, and any training they ask for.
Buchheit is clearly exceptional, but I think everybody benefits from environments that support his approach to the world. Every child is curious and exploratory. Many have that beaten out of them by industrial-model education and top-down corporate workplaces. But I don't think it's ever truly gone, and I think businesses really benefit if they deeply engage their staff.
From an evolutionary point of view, if we're not inspired and excited about what we're doing now or what we expect to be doing in the near future, it makes sense to go into energy conservation/restoration mode and go to sleep.
Similarly, over the long term, if we aren't inspired by the life we see ahead of us, it's best to go into energy preservation and contemplation mode while we try to figure out how to get onto a better path (and if we can't find one, we end up in chronic/deep depression/despair).
I've overcome depression (and come off meds) by developing/learning techniques for finding optimism any time things seem bleak.
It's taken a while to learn it (indeed I'm still learning it), but it's powerful the more it starts to click.
But you're welcome to email me (address in profile) and I can send you some links and suggestions.
Comforting to see it written by another person.
In one the latter chapters, he has a rule about "summoning your own enthusiasm". The primary observation in that part of the chapter was that it's really hard to truly exhaust someone physically, and even harder to exhaust them mentally, if they're doing something they actually care about. He gave some examples, one involving special forces people, and concluded that the primary source of tiredness for most people is lack of motivation - lack of interest, or not being able to feel there's a goal to all the work one is doing.
While my opinion is that Carnegie was exaggerating a bit here, I won't deny that this rings very true to my experience. As a programmer, I don't get physically taxed by work, and I very rarely get mental exercise too (most programming on regular web jobs is just plain tedium). But I do feel really tired on the job very quickly, and - back when I was a regular employee - the feeling used to evaporate almost immediately when I clocked out for the day.
I can even give an example from yesterday - lots of work and a visiting a doctor made me really tired by the evening, but I decided to sit down and write some code for a side project. My tiredness was gone immediately, and after 2 hours of cranking out code, I had to force myself to go to sleep, in order to have any energy for the next day.
When I was young, apparently this meant I had ADHD (Throwing this in as a snide comment to expose my opinion of how my primary schooling treated this symptom in children EDIT: I see in a side comment you were concerned about undiagnosed ADD, I'll admit I'm somewhat concerned with _overdiagnosing_ ADD. The medicines I was given gave me ticks that took decades for me to get rid of and altered my mental state in terrible ways, and it meant that instead of inspecting WHY I felt this way, I simply got shoved chock full of pills and then booted/put with other misfits, which just made the focus problem worse. The joke I used to make as a kid was that I only had an attention deficit for things that didn't matter).
I took issue with that, largely because I find the response to be eminently logical, and built coping mechanisms to let me succeed in spite of it, but the underlying driver is still there.
I realize this is such an insubstantive comment, but it's a topic I've tossed around in my head for many many years now, and often haunts me with a "why do you feel such fundamental friction with doing your job like every other professional adult" and hearing others express the same root is somewhat reassuring.
(I realize this is tangential, but if you're _at all_ a hip hop/poem fan, check out 9-5ers Anthem by Aesop Rock. this is one of my "at work coping mechanisms" when I feel this way.)
> I see in a side comment you were concerned about undiagnosed ADD, I'll admit I'm somewhat concerned with _overdiagnosing_ ADD.
I get it. Child AD(H)D seems definitely overdiagnosed in the west; from what I read, giving medication seems to be the easiest hack to get kids to survive modern school system. But personally, I just want to have an expert opinion on whether or not I might have adult ADD, simply because I'm running out of plausible hypotheses, and this one fits well. I was depressed in the past and worked through that. I had anxiety issues, but they're almost gone too - I don't generally feel debilitating background anxiety anymore, unless I'm seriously falling behind on my obligations. The only unresolved thing left is the anxiety and weakening I feel in context of working.
> The joke I used to make as a kid was that I only had an attention deficit for things that didn't matter
I still feel like this. In a better world, this would be fine. Alas, we're not there yet.
> and often haunts me with a "why do you feel such fundamental friction with doing your job like every other professional adult"
Yes, this is exactly how I feel all the time, and had since entering the workforce. I have decent skills, I don't struggle with technical challenges. I only struggle with this fundamental friction. I look at people around me - friends, coworkers - and they all seem so productive and relaxed. Hell, my wife is the exact opposite of me - she's so good at getting things done at work she puts David Allen to shame. So yeah, it's reassuring to know that I'm not alone in this state - so thanks for sharing!
> (I realize this is tangential, but if you're _at all_ a hip hop/poem fan, check out 9-5ers Anthem by Aesop Rock. this is one of my "at work coping mechanisms" when I feel this way.)
Not a fan, just a casual listener. But I'm always open to any coping mechanism for this particular problem.
Dr. Russell Barkley has a book on it and also several talks on youtube.
https://www.youtube.com/watch?v=R7QuWchHvOY http://www.russellbarkley.org/
But you should get screened if you feel it would be beneficial. Find a doctor that specializes in ADHD/ADD. The way most adults find out they have ADHD/ADD is when they take their kids in for screening, usually due to school issues.
Depression, anxiety are co-morbid with ADHD/ADD as well.
Here's a good talk on one women's experience with ADHD. https://www.youtube.com/watch?v=JiwZQNYlGQI
I would personally disagree with your "medications are not specifically harmful in a misdiagnosed case." I'm not encouraging people to avoid seeking whatever help they see fit, but rather to not whitewash over the very tractable impact it had on a rather dark year or two of my childhood, and the lasting aftereffects. I honestly don't want to start a heated debate about whether or not to medicate, moreso call out to others who had a similar negative outcome that they're not alone and that it's not impossible to develop healthy coping mechanisms without pills.
http://slatestarcodex.com/2014/09/17/joint-over-and-underdia...
> Suppose that 3% of the population has ADHD.
> Suppose that of people with ADHD, 50% of them realize they have ADHD like symptoms and go to a psychiatrist to get checked out.
> Suppose that of people without ADHD, 10% of them falsely believe they have ADHD and also go to a psychiatrist to get checked out.
There's a similar problem with taxi bands, though it's been improving over the years (in particular, the new wave of pay-through-app taxis helping). It used to be that drivers would read full card data aloud to transmit it to the base - in-the-clear.
But as soon as I switch to another task, such as coding, my mind lights up again.
Task switching should be incorporated into your routine if you find yourself getting bored by your work.
At least for me, it's boredom combined with a lack of purpose. If you're doing something boring/mundane at home like doing the dishes, at least at the end of it you can see your sink is empty and the dishes are clean. It feels like there was some point to it.
At many companies it can really feel like you are just doing something because somebody told you do it and there's no other purpose in doing so. Sometimes you have no connection to the people using what you are building, and no idea if what you're doing is even really driving revenue or benefiting anybody.
If you're not learning and you're bored, the lack of purpose eats away at you slowly. Even if you build something that ultimately fails, if you can directly understand the cause of that failure you can learn something for the future. It can be harder to understand how what you did is related to success or failure at big companies.
I often get it myself, feeling like I can't physically write another line of code until I move onto one of my own projects, then I'm good to concentrate for another 6 hours. I have to work extremely hard to complete tasks that on the surface look very simple and involve solving no new problems. This also extends into my normal life, like cleaning a messy room.
Note: I haven't been diagnosed with ADD and am not suggesting anyone has it if they experience this, I've just looked into it a lot.
Work at least keeps me somewhat awake. Over years I have developed some coping strategies, for example when I feel sleepy I open a text file and start writing detailed notes about what I am currently doing and why. That way I can continue to work, because when I fall asleep for a moment and lose the current thread of thought, I just read what I wrote recently and continue. Also, the act of typing, and seeing changes on the screen help to keep me awake.
But once in a while we have a long meeting, often in dark-ish and not well ventilated place, and that is like feeding me sleep pills.
Back when I was in college, I used to go to raves and do drugs.
At some point, I started to chaperone my friends and I'd be the sober one, responsible for taking everyone home.
I noticed that there's definitely an "energy" that you feel in the room, even stone cold sober. Being surrounded by 2000 people who are high as a kite has a way of making you feel high... Even if you're stone cold sober.
I think there's something similar going on in offices. There's some kind of 'proximity effect' there.
Stress. (One of the smyptoms of)
In my career I think I've spent the majority of time at one extreme or the other. Feast or famine: overworked & stressed or underworked & depressed. When you can hit it just right in the middle, life is truly great. But rarely have I been able to sustain it for more than a couple months at a time. Let me know if you've found the secret :)
Stuff happens around you, but you are not really a party to it, and you don’t have to be.
Same for really boring meetings. You just get slowly lulled to sleep.
I once had a manager tell me, "Show up or be fired. We will judge if you deserve to go home or not."
Yes, one should look for a better job elsewhere, and lately the economy has found more room for all of society's laborers regardless of vogue credentials.
However, I can't pay the bills with interviews, and often times I lose value through interviewing.
If you have a manager who values you you'll often find you can get away with a lot more than you expect as long as you are still a strong benefit to the team.
Many. Especially smaller shops in laxer countries.
It's not a thing in big faceless corporations, chains, etc, for example (though it can be a thing in places like Google, MS, etc, with the right manager).
But on small businesses (e.g. 2-20 people) it's not uncommon in certain countries (thinking of Southern Europe that I know of) to have an understanding when one needs to leave. There are also practices like "siesta" where places close for a few hours altogether and people have lunch etc.
I was also surprised to see the hours kept in french towns (not Paris, smaller, but still big ones) that e.g. shops opened casually at around 10am, many were closed at lunchtime, and reopened again later, etc.
I'm pretty sure this is the case elsewhere without the "protestant work ethic" (or Japan's version of the same, instilled after lots of humiliating defeats on the hands of the west), e.g. Africa, Latin America, and so on.
But the reality is that most employers are far less friendly, to their own detriment of course... but only in the long term.
Not in the "real world land". Just in the part of real world that you've managed to negotiate for yourself.
Others are more (and others less) lucky.
Like, by definition, things which feel fake cannot be "real" in this sense of the word. Of course though, your reality and my reality are simultaneously happening at the same time.
My reason for vi is equally random. I learned Unix at college, but I wasn’t allowed on the systems because I wasn’t an engineering student. I had to resort to nefarious means to get online, so I needed to keep a really low profile. The easiest way to do that was to remote into unused boxes in the lab. (This was back when it was easy to get onto an intranet and hard to get on the Internet — it’s exactly the opposite now!) The systems that were usually available were these crappy diskless Sun workstations that booted over the network. They didn’t have enough memory to run emacs without paging and paging over the network is a recipe for frustration. Plus if someone logged in and the system was slow the first thing they’d do is try and find out why, which might lead to them wondering why I was on that system, just who I was, etc and that was a bad direction for me. I also couldn’t talk to people in the labs since I wasn’t supposed to be there, so I was entirely self taught, and emacs seems like the sort of thing someone has to evangelize to get you over the initial hump.
Anyway, that’s my story — what’s yours? :)
I used to just hit <Tab><Tab> to get Bash to print all possible commands, and I’d just try random ones until I found one that would let me edit text, and vi was it. It was pretty fun learning how to even quit vi, let alone edit any text, but I was pretty determined back then.
That’s mostly how I learned Linux back then: just hit <Tab><Tab> and try out any random command that looked interesting and see how it worked.
I wager you didn't know about text-based browsers like lynx? I'd say that would have been a solution to your predicament.
But yeah, it definitely was a scary way of doing things. I spent pretty much an entire summer repeatedly screwing up my Debian machine and having to reinstall before I understood enough things to be slightly less dangerous. (Running "ed" by accident was memorably awful... Good luck figuring out how to quit out of ed if you're brand new to Linux.) Luckily I kept my important stuff on a separate hard drive which I left unplugged in situations like these. My main drive just contained my windows and linux partitions, and I would be damned if I was going to reboot into to windows to look things up. :-D
I didn't come from a rich family. Throughout my whole education, I was on hand-me-down computers. They were predictably low-spec but that's how I learned HTML, JS, and CSS in high school, and then Scheme, Java, PHP, C, et. al. in college.
Add to that the fact that our internet connection isn't great either. Alongside learning how to program, I developed a preference for tools that came out of the box. You didn't have to download them and you can be fairly confident that they are compatible with the hardware specs you got. It's for this reason that I was never fond of IDEs ala Eclipse and NetBeans; when I started messing with Linux, I used GEdit. Eventually I started doing AI stuff and, either by sheer nature of the algorithms themselves or maybe my own programming incompetence (or both), running those algorithms made my already poor computer crawl (I had 2GB of RAM back in 2010-2012, when this story took place). So I started to really try to squeeze more resources out of my machine.
Among the first to go was GEdit. I could not prove this to you scientifically but my reasoning was that if it had to draw a window, it was eating on my resources. So I learned vi, another decent text editor that came out of the box with Ubuntu. I would've gone for nano but I thought, if I'm gonna learn how to use an editor that does not render a window, I might as well go for the one with the more geek points.
Eventually, I started working and got relatively better internet connection. I finally learned the difference between vi and vim so now among the first things I do on a new machine is install vim (although in my bashrc I have alias vi='vim'). Learned a few tricks from my coworkers who used vim and started a dotfiles repo with my own vimrc. I still try to stay minimalist though. I don't install plugins so I bet by most vim users' standards, my set-up is horribly vanilla.
> Overall, the job wasn't exciting to me. I didn't have to work that hard, and one day I had this realization while sitting in my gray cubicle (I was in a sea of gray cubicles surrounded by gray walls, listening to white noise and all alone): I'm like, “Man I am so tired. I need to go home and take a nap.” I went home, but as soon as I got there I realized, “I'm not tired anymore.” Working at Intel was a draining environment, and I knew I wanted to leave.
I had a very similar experience at Intel. The best analogy would be like being in a sexless marriage.
1) extreme luck in what you grow up with, the hobby you pick (linux)
2) extreme luck in getting a job offer with stock that would x10000 in value.
3) extreme luck in accepting said job offer (it was the only one he got)
That's right. He didn't even have a non-obvious decision to make. Seriously.
4) on top of that also being very smart and dedicated
I mean all due respect for this guy, but he is like a lottery winner explaining how to win the lottery. The path he's laying out existed at one point in the past, but it no longer exists. He even says that, that it was REALLY hard to see that path was a good path. In fact, most such choices lead to disaster (failed startups), not success. He "chose" by being obsessed with other things than the choice ...
Well, perhaps the path still exists but it's gotten downgraded from "guaranteed multimillionnaire" to "good job, good living, good pay". Like factory worker in the 70s good living.
That said, the guy is still incredibly smart and that was certainly a necessary condition for his success. So I guess you can't say it's 75% luck and 10% talent and 15% effort, it would be more accurate to say it was 100% luck and 100% talent and 100% effort. If any of those had been a mere 99%, it would not have happened.
But for his path. It's cheaper and certainly easier just to buy a $100 mil lottery ticket.
Actually, letting charismatic founders deliver a triple-scoop of their enchanting story isn't the technique I'd recommend. Both the good ones and the bad ones got this far by being very persuasive.
Do reference checks instead. Find people who worked with them for a while, and have moved on. When you're doing this with great founders, you'll hear a mix of pride and fatigue. (There's a steady refrain among folks who worked for Jeff Bezos or Steve Jobs. "Best years of my career, but totally wore me out.")
For the charlatans, you'll hear: "It all sounded wonderful at first, but the longer I stayed, the clearer it became that the employees, investors and customers were all being played."
Elon Musk was once asked in an interview "How do you judge whether a highly-technical expert really knows what they're talking about?" His reply was along the lines of "You ask them questions of progressively increasing levels of detail. Someone who's actually an expert will understand a subject on many levels; they'll be able to give you the ELI5 version, but then will have good answers every time you probe a level deeper."
Larry & Sergey's elevator pitch was "We built the best search engine in the world", but if you asked them "What's it running on? How many machines? How many pages does it index? How do you handle duplicates? How many queries/day do you get? What are people looking for? How do you rank pages?" etc. you'd get good answers for all of them.
Elizabeth Holmes's elevator pitch was "We're going to revolutionize blood testing with finger-stick tests", but then if you asked "Which tests do you run? How many molecules of __ are in a drop of blood? How much variance is there between people?" you would very quickly run into either evasions or outright lies. Once you start asking questions on top of a lie their story usually falls apart pretty quickly, because few people can remember everything they just made up 5 minutes ago and still make up some logically coherent detail on top of it. (This, BTW, is why improv theater is so hard, and why most improv shows are comedy, where it's just funny if you end up with a non-sequitor.)
The same technique works well for reference checks, but you can't blindly trust whatever the reference tells you. Most people cherry-pick their references; it's easy for a charismatic charlatan to find some people who are still super-enchanted by them. Many people are also pretty unwilling to talk (particularly about litigation-happy scam artists like Holmes), for fear of defamation lawsuits.
but, how would you do a reference check on larry, sergey, or holmes? none of whom held a job before they founded their respective companies. as will be the case with most startup founders. are you going to stalk their college friends?
Find a couple current employees or associates who come across as stable and thoughtful. Invite them out for coffee, dinner, a long walk, etc. You want to talk alone, outside the office. Spend a little time on social rapport, including taking an interest in them as fully-rounded people. Candor needs a foundation of trust and mutual respect. Then ask open-ended questions that make it easy for people be helpful without feeling that they are on the spot.
Some examples are:
- What attracted you to the company?
- What's the work tempo like?
- What's some advice for the best way of getting along with the founder/CEO? (This is a safe way for flaws to surface)
- We all make mistakes occasionally. What mistakes are forgivable at this company? What's unforgivable? (Think how the Theranos answers would have differed from Google answers.)
- What's surprised you since joining?
- What delights the boss? What gets the boss angry? (Plenty of chances for signaling here, too.)
- What kind of people stay here and thrive? What kind of people quit?
- What would I need to do to be successful here? -
Edit: I now see that Paul coined the "Don't be Evil" slogan[0]. I'm curious what his thoughts on its removal and what that portends for Google today. u/paul?
After 4 or 5 years of doing this you'll maybe know enough about how "everthing works" and what books says how to do what, or what company did what in what way, or the "state of the art", at that time you can start doing original contributions in order to not fall back.
Oh and also the Imposter Syndrome sometimes never really goes away :(
Not for everyone.
For me personally, 5 years was the point at which you start to gain confidence, but still don't realize how much you really don't know. I see that in a lot of people too. Getting my CS degree, I was told I knew a lot more than my peers (and apparently more than some of the grad students...), and did better than most, but it wasn't really until a decade into my career that I would say I really started to "get it." That is after reading dozens and dozens of books, many hundreds of research papers, meetups, conferences (and later watching/listening through whole playlists of conference talks). You are always going to be an impostor somewhere, because there are always things you don't know. The best thing you can do is stop pretending that you know more than you do.
Get hired at any place where good engineering is done
Great advice."It is the mark of an educated mind to be able to entertain a thought without accepting it." - Aristotle
1) Write a lot of code. Like a ton, more than anyone else on the team. 2) Get feedback from people on that code.
And that's how you start to beat Imposter Syndrome.
I like how it's a win-win now for me acting revolutionary by being happy.
Me being revolutionary in this context is refusing to play the game. Not chasing a career at all costs, not playing stock market games, trying to minimize my wants, focusing on relations and specifically not participating in The Great Social Media Mindfuck Experiment.
This is an effective solution which I also try to do that in my life recently. And the bad thing is, it's become more difficult to get rid of the whole "game" trap, when you continue to play even if you get bored.
It's quite hard to avoid even if you know what is going on.
What are some examples of "hard questions" that we can ask?
If they have good answers to those questions that don't feel like canned responses, then go dig deeper. Ask their employees about their leadership style - do the answers match? Does their resume and google-stalking match their story of their history? Ask the team about organizational conflict resolution. You should get similar responses.
Also, think about whether they talked to you like a leader. I've had interviews when I really enjoyed talking to the potential boss, and it felt friendly, and those turned out to be sub-optimal leaders. But the good leaders I've worked for interviewed in a way where I was comfortable, but challenged by the questions, and they stayed focused. They didn't chit-chat or make friends (at least not beyond just a few quick minutes as we got started), they drove towards getting the answers they needed to see if I was right for the job, and they gave me opportunities to ask questions back.
In the startup world, bullshitters are pretty much the norm, so finding bullshit isn't difficult. What's difficult is ignoring the hype bubble and social pressures that come with challenging people who are well-funded (and of course, sometimes you're wrong, which is part of what makes it hard).
Even if you're wrong, though, a non-bullshit answer to a pointed question will address the question. Most people, however, will just say words that dance around your question, clarifying nothing. In that case, you have to have the guts to keep asking followup questions, even if it makes the bullshitter uncomfortable.
When I think back over my history, I've always had a pretty good idea about the bullshit level of various employers simply by asking simple things like "how do you make money?" Good entrepreneurs will simply tell you (even if the answer is "we don't, yet"). Bad entrepreneurs will dress it up and try to hide their answer in word salad. Avoid these people.
Great words of wisdom. How does one find a great one though? Even for YC with their expertise and experience, most of the startups they fund are not great.
I wonder, what kind of deals were Google making at this point in time? What was their product? Sure, they had a web page that could search the internet, but how did they monitize on that? Did they offer custom site search solutions?
This is probably one of the most truest thing I've read about our profession.
Linus Torvalds, Steve Wozniak comes to mind, who else?
Also I feel what usually happens is that requirements change over time, and things get repurposed as "hacks" because ain't nobody got time to rewrite the entire thing.
But at some point the effort to rewrite is worth it and at that point even the same engineers who did the original implementation should be able to write a much cleaner and faster version.
When I was new I thought I was so awesome when I saw how I could write better code than I read. It was only way later I realized people usually had good reasons for writing it that way originally but those reasons disappeared.
One of many Bill Joy legends: BBN had a big contract to implement TCP/IP, but their stuff didn't work, and grad student Joy's stuff worked. So they had this big meeting and this grad student in a T-shirt shows up, and they said, "How did you do this?" And Bill said, "It's very simple — you read the protocol and write the code"
When you have 10 people in a project there's way too much friction. Every decision is stalled, people code defensively rather than proactively. Everyone is trying so hard to get to the lowest common denominator that they can never do anything actually good.
That's not to say that better or worse engineers exist. They do. But I feel like a team's context and environment has a much higher impact on the quality of the output. You take away people's autonomy, the result will undoubtedly be shit. You give people autonomy, you can get bombs but you can also get brilliance.
The end result still depends on experience, but even the best programmers slow to a crawl when they work in an enterprise environment (obviously not always true, but as a general rule)
You can tell there wasn't a winer equivalent on the windows 95/98/ME teams
But yea, now he's doing cloud stuff. I'm pretty sure it's no coincidence that that is now their best performing product line either. Satya can thank him for his promotion to CEO.
My timing was atrocious; every single month my home was worth less and less and less.
I absolutely bent over backwards to keep my job. Worked sixteen hour days, worked weekends.
My employer kept trying to replace me, because my rate was fairly high. First they tried to hire three people in India to replace me, but a third of the Indians quit, a third were gobbled up by another team, leaving one Indian who wasn't that great.
Then they brought in a couple of consultants. They basically phoned it in for a year, and were eventually sent back.
I think the reason that I weathered all this is that I simply didn't have a Plan B. I couldn't fail, if I did, I'd lose my house. I was willing to do whatever it takes to stay employed, and though they kept trying to replace me, they couldn't find anyone that was that invested in succeeding.
This isn't to say I was smart, or talented. But I was tenacious and I was relentless.
John Carmack
Dennis Ritchie
Ken Thompson
Bill Gates
Donald Knuth
Jeff Dean
Brian Kernighan
From the article: "And [Bret Taylor] rewrote the entire thing, making it 10 times as fast and a third of the size."
I don't think those are generally good examples of 10x engineers. Most people don't get to have a large impact by making the most of something specific. I think in the wild it is more as described in the article. That 10x engineers are people who raise the standard for whatever is in front of them and save themselves, and their companies, thousands and thousands of man hours by doing so. It is really really hard to be better at people at hard things, it is a lot easier to be better than people at things that are supposedly easy, but people consistently fail at.
Basically: brilliant, but very quirky.
On the other hand, if your problem is to simply produce more of something no 1000x genius will get you far enough. Farer than the mediocre resource, but even for these people a day has only 24 hours.
Ivan Sutherland
L. Peter Deutsch
Ironic that's exactly how I felt at Google (minus the cubicle). So did a friend of mine quitting with me.
The bigger the company, the smaller your role's coverage. You get well-compensated and aren't worked too hard, but your job might effectively be "you're responsible for these two screens of this one component of this particular application". The conflict is that the bigger the company, the higher the bar for entry. So you end up with a bunch of really bright, challenge-loving people cooped up working day in day out on very specific cogs of the giant machine, and that's not an ideal lifestyle for all of those people.
I work in one of the top tech companies that is not FAANG, and the sentiment is the same. They hire only PhDs for a big chunk of the company and they pay relatively well - most of the people who complain about this cannot get a better paying job.
A friend of mine even said to his boss 6 months after he was hired "Why did you hire a PhD like me for this job? This work is not even close to requiring a PhD".
While I feel for him, my counter is "OK. Where would you rather work where you will do work worthy of a PhD?" They'll usually name the same few places, and not realize that those places are already "full". And they all pay less.
The reality is that there are many more qualified people than positions for the interesting work. If my company decided that yes, you're right, we don't need to hire PhDs for the job and we'll just hire MS folks, then the very people complaining would be in another company, getting paid less, and complaining about the same thing.
If you want to succeed as a SWE at a FAANG company you'll have to be an exceptional engineer, or have other skills (leadership, pm, ...). You can't just weasle up the ladder by playing "political games".
Though, most of my colleagues don't even care about their career - most of us just want to work on cool projects which immediately affect billions of people.
Google hired him to be a salesperson.
I definitely wonder if he could be happy in that role. I understand that it's important to have technically adept salespeople, but I can't see him being happy in that long term.
> On Leaving Google [...] But when I went in the next day, the energy drained out of me. I suddenly felt like I used to feel working at Intel. Partially I think Google had grown so much in my absence, but it was also partly a “boiling the frog” effect: before I spent time away, I hadn't noticed things slowly changing, but when I got back I realized, “Oh wow, here I am in a meeting with a bunch of people I don't know who are telling me to do stuff that I don't care about.”
Everyone still says Google is so great. Enough that I still wonder what happened. I also couldn't settle in, didn't like anyone, and was continually interrupted/harassed/followed.
In Western cultures, people put so much spin on what they say that I wouldn't assign much value to it. "Loving the job" may often literally mean "the job sucks less than the all my other previous jobs, my long-term depression is somewhat better now". Sharing the unpleasant truth is usually seen as career and social suicide, so people put on a face.
At my first job on campus at Cranfield university my shared office was a portacabin which was next to the hardstanding between two of the hangers and they used to test run executive jets after being serviced < 100m away now that is loud.
Can't imagine that you were sourrounded by assholes.
The reduction of individuals to acronyms sounds to me like unhealthy judgment, so maybe Google did a better job than you realized in attracting “like minded” individuals!
> On the other hand, the same happens wherever I go.
Is that you, mchurch?
My use of the term Targeted Individual was more literal (another reason most would say Paranoid Schizophrenia): https://www.urbandictionary.com/define.php?term=targeted%20i....
Note that neither AT&T nor Xerox were the prime beneficiaries of technologies developed at Bell Labs or PARC, respectively.
Bell Labs delivered a fair bit of tech, but Xerox PARC did great demos. Xerox PARC == Magic Leap or something like that.
At the end of the day they have the money, and they do provide ridiculous perks.
Actually Netflix much more so, only their projects are not in software. Just sayin.
For instance, Amazon and Google became huge between 2000 and 2005. That was a stretch of time when great engineers were a dime a dozen. Tons of dot coms had cratered, and Sun Microsystems was circling the drain.
That created a huge pool of educated talent, eager to be hired.
That situation doesn't exist any longer.
The game done changed.
Isn't it easy to change teams at Google?
The world does not begin and end with mega-cap companies you listed. There are many many many more companies at far smaller scale.
The channel sorted by new: https://www.youtube.com/channel/UCcefcZRL2oaA_uBNeo5UOWg/vid...
Perhaps that isn't the intent of your question but just wanted to state that, at least as a warning to others, as it is the implication.
I find this a bit limiting, certainly they should think across multiple layers but some of those layers exist beyond the systems.
But then I like to step back, read up on the underlying components and rebuild from scratch making sure i understand every possible flow.
Software, and life in general, is an exercise in abstraction. How do you effectively use abstractions that others have used, without knowing how they really work. How do you figure out which sub-abstractions and intricacies you can safely overlook, because they aren't relevant to your current priorities. And how do you shortlist the ones that you do have to care about, because they have a big impact on your project's success. These are the key skills that effective engineers possess. Trying to avoid the above problems by brute-force learning everything, is going to get you stuck in a quagmire.
Once, while investigating the cause of occasional bursts of static in audio, I eventually narrowed it down to misconfigured pull-down resistors on the ADC data lines. (Okay, not quite silicon.)
EEC memory, a not uncommon upgrade for servers, guards against data corruptions due to thermal noise (a silicon-level concern), among other things.
Okay, it's rare that the lowest levels will affect most projects, but without a little bit of understanding, some bugs can be impossible to even fathom.
As abstractions have improved and become less leaky over over time, the necessity has decreased. Older programmers will thus tend to feel this much more strongly than younger programmers.
I think it used to be very true, it is less true than it was and it is becoming less true every day - with the exception of environments where foundational technology is engineered shoddily.
Or did you think "systems" ended at some smaller scale? ;)
It was probably not made clear but he seems to be talking about systems engineering in particular.
Can relate so much with this article. Maybe because we’re around the same age. Crypto reminds of me of Linux and the early days of the Internet. I see the potential and that’s why I’m working in it.
1. Write down the problem. 2. Think real hard. 3. Write down the solution.
This is a joke of course, but much of the real 10xness is invisible. It certainly doesn't look like typing. Perhaps quite a lot of it occurs off screen, in conversations, whiteboards, on the computers of colleagues. I'll give you two analogies:
In some ways it's like one of those "bullet hell" shoot-em-up games, but played out over weeks or months. There are all manner of mistakes that can derail a project but only become obvious later (e.g. poor dependency or architecture choices), and there are all manner of techniques that may let you skip a section or avoid a whole category of problems, perhaps at the cost of requiring more immediate skill (e.g use of higher level but unfamiliar programming languages like Haskell or APL). Someone with 10xness dodges all the bullets and takes the correct shortcuts, while people with less talent and experience mistake the one for the other or don't see it coming.
Or there is "bug sniping", which I think is the place I've been able to make "10x" contributions: it's possible for your colleagues to be simply stuck on something, consuming a lot of time for no progress. Maybe they can manage a workaround, but at an efficiency cost - like people driving slightly broken cars which you have to open the passenger's side first to unjam the driver's door. This is the field in which puzzle-solving ability really helps. It's just that the puzzle has been created accidentally by other developers or yourself.
Can you clearly articulate the important concepts and how they inter-relate? Define the problem boundaries (and later, as a consequence, boundaries of functions, data structures, objects)? Separate which component is responsible for what, in a way that makes sense to the business need? Choose the right algorithms? Focus on optimizing what matters, know your tools to get standard parts done in a standard way?
Like all true craftsmen, the final output will make everything seem so easy, so concise and obvious. But it's anything but. The same problem solved by an army of mediocre engineers will just end up a huge convoluted mess. And it doesn't matter how many of them you unleash during the initial architectural stages of a project — arguably the more, the worse the result. Being able to handle uncertainty (as opposed to an unrealistic list of minute specs), ask the right questions and make the right technical choices is what makes 1000x engineers.
The value chain of software is long, and the higher up the chain you can empathize with and code to, the better for you.
yeah. Jeff and Sanjay (of Google) are famous for pair programming. I've never seen them (or anyone) do it but can you imagine how slow it is?
OTOH, I have witnessed Craig Silverstein (1st google employee, not as well recognized as Jeff and Sanjay I think) typing and OMG the thoughts just flow from his brain to the screen. That must be a boost. I personally find that the expression of the thought into code is soooo slow and limiting. I feel like I could be a 10x engineer if I had 2 transcribers that were very good technical typists, like a steno recorder.
That’s one thing that makes them really hard to recognize by non technical people. I would say that to recognize them and admire their work, you have to bang your head against the same problem as they do, and then see how they solve it. But just looking at their work from the outside will probably be very unimpressive.
It was so much simpler.
I don't know about 10x engineer (I actually think that whole line of thinking is bullshit), but Blow has shipped a few games.
Have you ever had things where bad decisions caused lots of headache and cost a lot of time to fix? With a 10x engineer you have... fewer of those instances... maybe 10x fewer
See also https://www.gun.io/blog/what-i-learned-from-watching-notch-c...
They don't have to type fast, but they're also not relying on Stackoverflow for learning concepts.
Most web applications start as prototypes written by one guy in 90 days or less, then just re-labelled as "production."
https://www.youtube.com/watch?v=1e0OCwlaEZM
Yep, a busdriver. That's what he does. I find having these videos open during coding is pretty inspiring, too bad there's so few of them.
As I understand Paul began work on Gmail in 2001 at the time Yahoo Mail and Hotmail were market leaders. Interesting Google execs knew they could do better, even though Gmail didn't officially launch until over 3 years later.
I am surprised he didn't add deep learning / brute force computation making new problems accessible.
Someone with a Bachelors (or less) who builds systems by writing code is not a computer scientist. That is a less appropriate title than engineer.
> Here that would be so totally illegal if you are not a member of the order which requires an engineering diploma.
Yes, we know Canada is almost uniquely psychotic about this. I, personally, think it is ridiculous, and I state this as someone who holds an accredited engineering degree (EE) and originally considered pursuing licensure.
That said, I do think software engineering is in dire need of some actual engineering discipline. This industry also is in dire need of title bifurcation; calling everyone "software engineer" regardless of what they actually do, just because they touch code, is ridiculous.
I know what you mean though: Chartered Engineer is a proper thing for example, with exams and governing bodies involved, and anyone in construction who just decided to call themselves a Civil Engineer would likely get into some bother for doing so.
There's a spectrum of software engineering like there's a spectrum of any engineering. It's called software engineering because it's applying an engineering approach to software.
People outside of the software world also seem to take the title "Engineer" a little more seriously than "Programmer" or "Developer" from my observation.
https://www.theatlantic.com/technology/archive/2015/11/progr...
We also have certifications. They're not evidence you are a good software engineer.
When someone claims to be a “full stack engineer” this is what they are claiming. But the reality is always webdev.