Hacker News new | past | comments | ask | show | jobs | submit login
Paul Buchheit on Joining Google, How to Become a Great Engineer, and Happiness (triplebyte.com)
712 points by aacook on Oct 19, 2018 | hide | past | favorite | 340 comments



> 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.”

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.


> Is there a name for this type of fatigue (or perception thereof)?

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.


I think it's related to the notion that depression (and burnout and other chronic states of negative emotion and low energy) is caused by a lack of optimism - or a lack of things to feel optimistic about.

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.


If you find optimism in the thing you were pessimistic about before that’s ideal. But if you can’t, how do you switch to not caring about it and switch to something else that you can be optimistic about ? It’s hard to know when to quit.


Yeah, that's all part of the technique; breaking down the issue, understanding why you're having negative emotional reactions to it, and deciding whether the problem is your emotional reaction (in which case, change that), or the outer-world situation (in which case, figure out the steps needed to change the situation).

It's taken a while to learn it (indeed I'm still learning it), but it's powerful the more it starts to click.


That sounds very interesting. Would you happen to have any pointers (i.e. books, links etc.) for anyone interested in learning more?


Not really any books - I think I'm going to have to write one! My approach comes from a variety of different sources - mostly in-person coaching from practitioners.

But you're welcome to email me (address in profile) and I can send you some links and suggestions.


This sounds a lot like what I learned going through the Headspace introductory meditations. I'd give them a look if you haven't already, it's a great program.


This comment rings so much truth for me, in my past 2 years on wall street tech world.

Comforting to see it written by another person.


That's quite an interesting take on how to counteract depressive states. Do you know if there are any academic publications that have similar findings? I think this needs to be explored further, because this sounds prima facie credible.


Dale Carnegie, in his book "How to Stop Worrying and Start Living", raised a similar point. I won't quote directly, as I read it in Polish; the following is based on my notes:

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.


I was literally talking about this exact phenomena with the wife last night. It's almost impossible for me to be bored if I'm doing nothing. I could fill years of daydreaming, just in my own head. However, give me work tasks that I have no interest in, and I'll feel so bored/lethargic/unmotivated that just keeping my eyes on task and moving forward requires mental exertion.

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.)


Yeah, I feel the same way you do. Please, leave me with nothing to do; I'll manage. Left to my own devices, I have 20 ideas 5 trains of thought to explore per minute.

> 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.


ADD is not over diagnosed. It's probably more prevalent in the population than we think it is. The medications are not specifically harmful in a potential misdiagnosed case... they are just not effective. And there's multiple medications which have difference efficacies for different people. That being said 80% of people with ADHD find medication effective.

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


My behaviorist wife and mother (Freud would have something to say about me, wouldn't he) would tend to disagree with your first statement (overdiagnosis) with the caveat of "within certain populations." We focus a lot on kids, unfortunately often under the age within which the DSM actually supports these sorts of diagnoses.

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.


It can be simultaneously underdiagnosed and overdiagnosed.

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.


Try listening to a police scanner on broadcastify. I like the nypd bronx ones, its the sufficient level of quiet dead time with some action too.


I tried listening to police bands on actual radio over where I live (in some places they don't encrypt their comms yet). Gave up after hearing way more PII than I was comfortable with.

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.


There are certain things I just can't do after a while. Like writing. I can't mentally bring up the energy to write after 4-5 hours.

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.


Love it, thanks for the reference. Things rings true with my experience as well.


The book is good in general, I recommend it. Reading it and thinking it over lowered my background anxiety level by a noticeable amount.


I don’t trust anything Americans will write on this topic as many I’ve met (am American with a father who loved “self-help”) believe completely delusional things about energy/motivation and ruin their health while doing damage to everyone around them from it


We're talking Carnegie here. He created the self-help genre. And unlike what came after, his books are relatively bullshit-free.


>I don't think it's merely boredom alone. Being bored / doing nothing at home doesn't feel the same way.

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 think the washing dishes analogy is a great. I've made a rule for myself that I won't take a job working on something I wouldn't personally care about or use myself, no matter how nice the pay/work culture/benefits are.


It's a strong feature of Attention Deficit Disorder as I understand it. Hyperfocus often comes hand in hand with extreme fatigue and brain fog in the presence of tasks that don't motivate enough, to the point that you can feel it physically.

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.


I have ADD (diagnosed) and this happens to me every day at work. Around three o'clock in the afternoon I get so sleepy I start to literally fall asleep at my desk, but if I go home I'm immediately refreshed and back to full capacity for another eight hours.


Similar here. (I was never tested for ADD; maybe I should.) And the worst thing for me is having a meeting.

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.


I don't have ADD and it happens to me every day.


I tried to hint a doctor once to maybe test me for this, but she wouldn't give. I feel like adult ADD isn't yet recognized in my country as a legitimate thing.


Check your diet. This happened to me when I was consuming large amounts of carbs for breakfast and lunch. I switched to keto and noticed the tiredness went away in the afternoon and I didn't require 3+ cups of coffee in the morning. Basically I was crashing multiple times a day which was driving me to the point of falling asleep at work or behind the wheel.


"Boreout" is an established term, it's kind of the inverse of a burnout. https://en.wikipedia.org/wiki/Boreout


Wow, nice. That's pretty much spot-on


> I don't think it's merely boredom alone. Being bored / doing nothing at home doesn't feel the same way.

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.


> Is there a name for this type of fatigue

Stress. (One of the smyptoms of)


Is it? To me the situation in question seems like the complete opposite of stressful


Yeah, this sounds like too _little_ stress to me. Imagine a bell curve with stress on the X axis and performance on the Y axis, and there's a sweet spot in the middle where you're getting enough of a kick to motivate you, but not so much that you're drowning.


Yes. And I've personally found that the "sweet spot" in the middle is all too elusive.

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 :)


I call it ‘falling asleep when sitting in the backseat of a car syndrome’ the feelings are more or less the same to me.

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 might be oversimplifying, but I have experienced it multiple times, and I simply call it "lack of purpose".


Yes it's been for millenia understood as a place with awful stagnated energy, by many cultures.


I've heard it called bore-out


Office air quality maybe?


Down here in real world land, I would be fired for voluntarily leaving my shift at any time.

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.


This sentiment is typical of the general HN population - a disconnect on the average person. What job wouldn't fire you for leaving in the middle of the day? Most likely a job where OP has a lot of freedom, trust, and respect - something that isn't readily available everywhere else.


On the flip side I think a lot of people are just scared to push the boundaries.

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.


>What job wouldn't fire you for leaving in the middle of the day?

Many. Especially smaller shops in laxer countries.


Willing to bet you that it's less than 50% of total shops, therefore less than the word "many".


"many" ≠ "most". There can perfectly well be "many" while still being fewer than half.


You're totally right, I messed up my English! It's too early.

There could be 1m of X and 100m of y, for example


Probably, which why I said "many" and not "most".

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.


Completely agree, and maybe we should strive for it. Lunch breaks, smoking breaks etc are already a thing. Employers let certain employees leave early to go take their kids to the doctor or etc.

But the reality is that most employers are far less friendly, to their own detriment of course... but only in the long term.


I've just started my first developer job, and my team has the freedom to come and go when they please. As long as we put in the 36 hours a week, it's all good.


Sounds amazing, not even 40 hours! Not everyone has that luck. I've been in shops that required 8 - 6 since your lunch hour doesn't count. I've also been in shops where I WFH and have 40 hours requirement but no oversight in how I use it. It all depends on where you work - but I'd argue the average is not as friendly as yours.


If your job is sufficiently badly managed, they simply might not notice you leaving.


>Down here in real world land, I would be fired for voluntarily leaving my shift at any time.

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.


It's a euphemism for people who are being exploited or otherwise "have it hard in life."

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.


His reason for why he’s a vi guy was funny! (He only had 60M free for his Linux partition and emacs wouldn’t fit). It did sound mildly apocryphal but so did most of it.

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? :)


My first time using Linux on my desktop I used to have video card issues a lot, which means I’d get locked out of an X11 environment and be stuck in the console trying to fix things. I didn’t have another machine to use to search the web for help so I was just kinda on my own.

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.


That seems both like an interesting and a very scary way of exploring your system. If you're careful, by checking manpages if present and running with the normal --help flags before trying anything else, you're probably fine; but it seems dodgy nonetheless :p

I wager you didn't know about text-based browsers like lynx? I'd say that would have been a solution to your predicament.


I eventually discovered lynx as well (or maybe it was elinks that I used first?) which ended up being a pretty big help in these situations.

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


Kinda similar reason, but the story itself isn't as geeky.

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.


I had a prof in college who demonstrated stuff in vi and I knew immediately that I wanted to do what he was doing. If he'd have been an emacs guy, then I probably would be, too, but instead I still prefer vi over anything else ~15 years later.


I feel like the first time you see a vim/emacs power user is one of those eye-opening moments in your learning.


Back in college around 1996 or so, the only Unix workstations we had were shared DEC Alpha machines. Nobody in our university knew anything about Unix. It was basically a Win95 shop. The only way to edit a file on DEC Alpha was using vi or that's what we were told. I still remember struggling for the entire exam. I think you passed if you were just able to type out the program lol. 3 years later, once I graduated and started working all of the unix guys were using vi. I had not even heard of emacs. So naturally I started using vi. 2002 some of my friends started using emacs but I was too embedded in vi to learn anything new so just didn't bother.


In college (90s) we had an ACM student chapter with an office that had several different workstations: Sun, AIX, even an SGI. Of course the beefiest computers with the best graphics were the most popular and first to be claimed on any day. But there was also a 9600-baud terminal that could be used to telnet into any remote host. So I got better at coding with vi and screen and I almost always had a place to code because that terminal was almost always available :)


I converted from mouse&click guy to command-line&scripting guy thanks to my employer who made my workstation a vm I had to rdp to over slow network.


> Why did you decide to leave Intel?

> 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.


Unfortunately it's really simple:

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.


<If you're thinking about joining a startup, how do you tell if the founders are like Larry and Sergey or if they're an Elizabeth Holmes? Right, that's the worst combination: smart and full of st. I think you have to interview them a little bit. Ask hard questions and see if they give direct, insightful answers, or if they're evasive and dismissive.>

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."


He isn't suggesting letting them deliver a triple-scoop of their enchanting story, he's suggesting that you filter it through your own logic & experience and try to poke holes in it.

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.


i agree with you, interviewing the founders is not a proper way to go about it. paul is full of it. there is no way past 50 or maybe 100 employees that you are going to have or be able to request an interview with the founders. and if you did pull it off, your time allotment to ask questions of them would be 10 minutes.

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?


So in the land of journalists, this is what we do every week. Something like this can be an effective strategy.

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? -


Great advice to do reference checks yourself. But HOW? Like, what are the brass tacks steps that you'd follow to do that, given the time and resource limits most new-ish people have?


Welp, now that my Imposter Syndrome has returned in full force, any concrete advice on leveling up in engineering skill (other than getting hired at Google circa 1999)?

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?

[0] https://news.ycombinator.com/item?id=22540


Get hired at any place where good engineering is done, or at a startup where no engineering is really done and you get to make the calls about how engineering is done. Work for 10+ hours a day, and on your free time read about engineering from blogs or books, see conference videos, and go to conferences.

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 :(


This seems like generally good advice, except for having to spend every waking moment using your brain for work. Balance is important. Spending some of that free time on learning engineering is good advice, just not all of it. Make sure you spend some free time with friends/family, physical activities, and relaxation.


> Balance is important.

Not for everyone.


Balance is sometimes overrated because most of the expectation about how to be a great professional comes from overzealous 9 to 5 mediocre professionals. That doesn't mean life is about burning out and crashing against a wall of mind wrecks every few years of course, but for many people it's possible to keep let's say a 85% work 15% hobbies, relaxation and workout and society needs those guys at their maximum capacities.


> 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.

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.


It really depends on the person. Also working on the exact same field and industry for 5 years is way different to getting a degree. Also note I said you could start making original contributions, not that they'll be meaningful or groundbreaking...


This is hard, but fair advice for anyone who wants to get "really good". Perhaps there are those who are born gifted with the critical thinking and analytic skills which makes this unnecessary. I am not one of them, and the past year has been intense but a great learning experience. And Paul says as much: you don't start of being good, but you work intensively on your skills over a period of time and get really good.


Impostor Syndrome is part and parcel of working with amazing people. Sometimes you'll feel like a goofball not because of anything you did, but because you're interacting with someone who is operating on a totally different level. But pushing through that emotion and learning from the experience is how you level up.


  Get hired at any place where good engineering is done
Great advice.


Yup. You have 2 choices: Imposter Syndrome or Dunning-Kruger. I'll take imposter syndrome please.


That sounds like 2 extremes. There has to be a delicate middle ground.

"It is the mark of an educated mind to be able to entertain a thought without accepting it." - Aristotle


Strive to find people which are way better than you and learn from them. Get a mentor, and any other opportunity of receiving feedback on your stuff. (All of these things will automatically happen at a faang company)


How can a student find a mentor?


I got better when two things happened.

1) Write a lot of code. Like a ton, more than anyone else on the team. 2) Get feedback from people on that code.


I quit my job to hack on things and to read. My skills have gotten like billion times as good as when I quit.


Who are you hacking for or talking about what you read with? It's easy to believe you are getting better when no one is around to give a reality check.


I contribute to open source. However I fundamentally disagree. You can measure how well you are performing tasks that are based on your reading.


"Don't be evil" is still in the code of conduct: https://abc.xyz/investor/other/google-code-of-conduct.html


Don't forget that "survivorship bias" is a very real thing. Don't let the rare success of engineers like Paul Buchheit make you think you're not as smart as you really are.

And that's how you start to beat Imposter Syndrome.


>there's a whole industry evolved to make us unhappy—it's profitable for us to be unhappy because then we'll go buy “solutions” for our unhappiness.

I like how it's a win-win now for me acting revolutionary by being happy.


Looks like his answer assumes that "before", people were happy. I don't think this was ever the case. More so, being unhappy might be itself an evolution tool.


I think that "before" more people were unhappy because the two lowest levels of Maslows pyramid wasn't fulfilled but when you reached level 3 and above you could just live your life and be mostly happy. Now we have people that have it all, level 5-persons, that are more unhappy with life than happy. And that, I blame on the business of creating artificial needs that you never can fulfill.

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.


>trying to minimize my wants

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.


Marketers want you to be dissatisfied with your current situation so they can sell you something you didn't really need.

It's quite hard to avoid even if you know what is going on.


People were happy before. Some societies were not happy before or haven't been producing significant quantities of happy people for a very long time.


What industry is he talking about?


> If you're thinking about joining a startup, how do you tell if the founders are like Larry and Sergey or if they're an Elizabeth Holmes? Right, that's the worst combination: smart and full of st. I think you have to interview them a little bit. Ask hard questions and see if they give direct, insightful answers, or if they're evasive and dismissive.

What are some examples of "hard questions" that we can ask?


I think you can determine if they are evasive and dismissive without needing hard questions. Ask about their history. Ask them about their leadership style. Ask them how they resolve conflict in their organization.

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.


Every startup's "founding story" is in some part fictional, so the easiest thing is to just find something that doesn't make sense in their pitch, and ask about it, directly.

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.


How are they going to get money


> startups have tremendously high variance. Most startups are st. There's a few of them that are really exceptional, and if you land at an exceptional one, you can do really well. If you randomly pick something, you'll probably have a bad time.

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.


Are they trying to solve hard problems? Do they have talented engineers? (Though I guess you only find out after working there for some time)


> “wow, these people [Yahoo] are idiots, and we're going to roll over them.” From then on, we just kept winning deals and squashing other companies. That was exciting."

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?


Yep. Before AdWords, Google’s monetization strategy was fairly hand-wavy and hinged around licensing the tech to be a search provider for other websites. Once they realized how much money could be made by putting ads on searches, the rest is history.


I think the comment referred to Inktomi (that had just lost the search deal to Google,) not Yahoo.


How is "squashing other companies" exciting, competing is given but squashing sounds beyond that


If you're a hyper competitive person, you probably will want to crush your competitors. And since competitiveness is a must to be CEO, makes sense that this is how the game is played


> Someone who can do that is ridiculous. Talk about 10x engineers. That's more like 1000x. And it's good, clean code too. Literally no number of median engineers can do that. You can give me a million median engineers and they would never be able to do that. They would just make a huge mess.

This is probably one of the most truest thing I've read about our profession.

Linus Torvalds, Steve Wozniak comes to mind, who else?


Bracing for down votes but I think that’s garbage. Once the system has been precisely defined in code (even poorly, especially when poorly!), refactoring it is a much smaller task, it’s also a ‘smooth’ problem (there are no hidden problem mountains that sap your drive as you discover your expectations were way off week after week) because the problem is all there in front of you, in ascii. You are also motivated to look good because people do mis-compare these non-comparable tasks. I’ve refactored my own code, I’ve refactored others’ code, I’ve had my own code refactored. Every refactoring iteration is almost always a lot faster than the last, and there is almost always a benefit in performance, though maybe only iteration #2 provides a really big boost when #1 was a rush job. You just need to be a good engineer who knows how to write well organized, well patterned, and performant code. It’s important to remember that engineering, like design in general, is an activity done under time constraint, every iteration is an opportunity for more time, and it’s also a fresh break/perspective on the problem. I love refactoring code.


It's not just about code. In any non-trivial system you have a bunch of components, and any minor occurrence of "bad design" that affects boundaries, protocols, configuration, deployment, persistence schema, upgrade procedures, etc, can lead to huge complications down the road if there's no one to catch this early. Mediocre engineers will only make it worse and worse, and you'll get something super complex that costs big bucks to maintain. If you have someone capable of detecting & fixing such bad patterns early enough, in extreme cases that person can be considered a 1000x engineer.


In my experience so far, good code strives for elegance. Not only "few LoC" but elegant design, abstractions, structure. With a sufficiently awful design (and "wild growth" by engineers just trying to add features), refactorings become tedious because the dependencies, interactions, assumptions etc. that have grown over time are painful to untangle with only equivalence transforms of the code in between. And you can't change easily change the other side of whatever the code interfaces with because it's similarly ingrown.


I agree completely.

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.


Bill Joy (https://en.wikipedia.org/wiki/Bill_Joy) is another super programmer with numerous crucial projects(vi, parts of BSD Unix, stuff at Sun, etc) under his belt.

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"



"Anyone with ownership" comes to mind.

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.


There is an interesting and quite surprising book about this (among other similar theses/memes/opinions/whatever) titled "The Leprechauns of Software Engineering" (by Laurent Bossavit).


I don’t think this is true so much as a programmer on his own works about 5-20x as fast as a team hindered by procedure, CYA and communication at every step.

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)


Dave Cutler. The NT/XP/etc. architecture basically stalled as soon as he left and future improvements were incremental.

You can tell there wasn't a winer equivalent on the windows 95/98/ME teams


I'm pretty sure Dave Cutler is still at Microsoft. Cloud stuff.


I meant when he left the team.

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.


Ten years ago, I moved to a state I'd always dreamed of living in, and I bought a home.

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.


(only including people who wrote massive amounts of important and complex code themselves and quite possibly dozen median engineers wouldn’t have cut it)

John Carmack

Dennis Ritchie

Ken Thompson

Bill Gates

Donald Knuth

Jeff Dean

Brian Kernighan


I would strongly disagree on the Bill Gates part. The early Microsoft compilers (yes, Microsoft started out as a compiler company) were by all accounts not that great. The really successful and technically impressive Microsoft projects have always been acquisitions. The technically best (or the only decent, depending on who you talk to) Microsoft product is SQL Server, which started out as a Sybase fork.


As I understand it, Microsoft's success is largely because they poached an operating system contract. Basically the CEO of their competition was on a two-week vacation and there was no way to get in contact with him. So the contract went to Microsoft by default. Then Microsoft purchased an existing operating system and hacked it for their client. And the rest is history.


Original interpreter Gates wrote was pretty hard. Imagine flipping switches to enter a program to do entire BASIC interpreter. You are literally entering machine code, not even Assembly. In those days doing any compiler or interpreter was a monumental amount of work and there was a reason Gates was able to sale his work to establish fairly profitable company standing on just one product: BASIC interpreter. He is not in this list for his later successes as businessman or leader but the fact he was able to code this almost single handedly.


He wrote his interpreter on a larger machine (PDP-11 I think), and tested it on an emulator they wrote. When they got to MITS to show off their code that was the first time it ever ran on real hardware.

They did not develop BASIC by flipping switches.


It was a PDP-10 at Harvard, and it was not just Gates, it was Gates and Paul Allen working on it together. Another interesting thing is that the PDP-10 was being paid for by Department of Defense grants, and when an auditor discovered how much computer time Gates and Allen (who was not even affiliated with Harvard) had used up, there was a disciplinary hearing, after which Gates left Harvard.[1] In his "Open Letter to Hobbyists"[2] Gates claims they used $40,000 worth of computer time. So basically Microsoft started with $40,000 stolen from the government.

[1] This is documented by Noam Cohen in The Know-It Alls. [2] https://en.wikipedia.org/wiki/Open_Letter_to_Hobbyists


BillG claims Paul did most of the emulator work and he worked on the interpreter core. With the floating point routines by Monte Davidoff who they hired. It was a team effort of course, but BillG was adamant to take credit for the interpreter specifically.

From the source code itself:

  PAUL ALLEN WROTE THE NON-RUNTIME STUFF.
  BILL GATES WROTE THE RUNTIME STUFF.
  MONTE DAVIDOFF WROTE THE MATH PACKAGE.
https://www.pagetable.com/?p=774


I was in high school at the time, and Gate's interpreter was buggy and lame. I could have done better, and knew it at the time.

Fortunately the quality of his software had nothing to do with his success. It was about marketing and business timing.


People took his code and re-distributed en-mass. BASIC paid the Microsoft bills for almost 4 years. Are you saying people stole and/or paid for unusable code?


Buggy, lame code still let you do something with your shiny new computing device. Early adopters will put up with anything. Which Gates understood very well. It was about timing, not quality.


It's a combination of finding someone really talented, putting them in an area where their talent gets well used, and giving them lots of freedom to implement as they wish.


This list is not about talent finders/leaders/managers. It's about people who wrote ton of code to accomplish something by themselves that would have been very very hard for a good manager to accomplish by simply lining up big team of median engineers.


Being there at the right time helps as well, there were lots of low hanging fruit waiting to be picked.


John Carmack


Michael Abrash paved the way for Carmack. Carmack is great, no doubt, but Abrash wrote the book (literally.)


I think they both work together now at Oculus.


Yep! IIRC, Carmack learned a lot from Abrash, and then eventually hired him at ID Software. They've been working together for ages.


All the guys from "Coders at work" [1]: - Jamie Zawinski - Brad Fitzpatrick - Douglas Crockford - Brendan Eich - Joshua Bloch - Joe Armstrong - Symon Peyton Jones - Peter Norvig - Guy Steele - Dan Ingalls - L Peter Deutsch - Ken Thompson - Fran Allen - Bernie Cossel - Donald Knuth [1] https://www.amazon.com/Coders-Work-Reflections-Craft-Program...


His claimed competency probably grows a bit every few years and on every telling of this legendary story. 10 years from now it was 100k lines over the weekend or whatever. Clean code too!


He didn't emphasize the number of lines written in that weekend, and that's important. The most productive programmers I've met don't talk about the number of lines, unless it is how many lines they eliminated. When they brag, it will be about finding a solution that is powerful and elegant, not how much they typed.

From the article: "And [Bret Taylor] rewrote the entire thing, making it 10 times as fast and a third of the size."



Satoshi Nakamoto (but maybe it's more than one person), Vitalik Buterin, Yann LeCun, Sanjay Ghemawat, Jeff Dean.


> Linus Torvalds, Steve Wozniak comes to mind, who else?

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.


I haven't read that much about Woz, but from what I gather he was brilliant, but his code (or hardware) wasn't "clean". He did have great insights leading to performance, but some stuff sounds fairly ridiculous today, like the stuff he did for Apple II's color display: https://www.filfre.net/2011/10/mystery-house-part-1/

Basically: brilliant, but very quirky.


The difference between quality and quantity. In professions that tend more towards art than science this more pronounced. There is only so much you can solve by throwing resources at it.

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.


Dan Ingalls

Ivan Sutherland

L. Peter Deutsch


Rich Hickey


> 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.

Ironic that's exactly how I felt at Google (minus the cubicle). So did a friend of mine quitting with me.


I was at a talk last week given by a startup founder and he said something similar that went along these lines:

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.


One of my colleagues complained a while ago to management that "you hire brain surgeons and put them to work to peel potatoes". Quite a poetic way to express the same idea, I'd say :D


I had a colleague of mine complain to management that their hiring process looked for Ferraris but once someone joined the company they would bolt on a plow to that Ferrari and expected it to deliver acres of plowed fields.


More a task for a Lamborghini than a Ferrari I would think.


There literally are Ferrari tractors :)


Lamborghini began as a tractor company, so I think the joke is pointing towards history. https://en.m.wikipedia.org/wiki/Lamborghini_Trattori


>One of my colleagues complained a while ago to management that "you hire brain surgeons and put them to work to peel potatoes".

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.


That's not what's incentivized though. Getting in to a FAANG is just the first step. The next step is to actually show that you can affect more than just your two screens. That's why they work in constant review cycles. People who get frustrated are often the people who don't know how to affect more than their two screens. It's hard, because you're competing with other people who are equally or more brilliant. Although Google is big enough now that we can demote brilliant to fairly intelligent I think.


But you're not competing with those brilliant people on technical merit, but in the political game of building a fiefdom in a large company. That takes very different skills, and many people find it distastful.


Some might be surprised at what are the most effective strategies in fifedom building and rising in a large org. It very often has much more about making deliberate choices to help those around you succeed, to actively recognize others and help others arond you sieze opportunities. And that kind of demonstrated leadership is what will propel your own rise in status within an organization. It’s a mistake, and will set you back to think of politics as a zero-sum game.


Advancing at Google (as a Software Engineer) involved getting lucky. In order to be promoted in 2010, you needed to be responsible for a relevant part of a valuable project (in the eyes of executives and other Engineers) that succeeds. During many cycles, it was clear if a promotion or raise would be possible before work even began. As loyalty is rewarded, it also tended to be wiser to stick with one project/manager until leveled up.


Yes, people are rewarded for being successful, and there is an element of luck in landing a good opportunity -- withing a company or at a different company. If you are on a bad project, move; don't expect to be rewarded for wasting your and everyone else's time and money. That's necessarily how it must be, or else everyone would get promoted for hiding out in a corner making beautiful useless things no one cares about, and there's be no money to pay for those promotions.


It's still building a fiefdom based on loyalty. You'll be competing with people who build loyalty in other, more negative ways - good doesn't always triumph, and I'd contend that in large orgs it rarely does. The pressures that come to bear as you rise will not push you to be good to those under you.

Politics does not have to be a zero sum game but often those who view it that way and are absolutely ruthless rise to the top. Perhaps that's just the human condition.


>It’s a mistake, and will set you back to think of politics as a zero-sum game.

I think we have a bit of a meta-false-dichotomy here. I agree it's a mistake to think of it as a zero-sum game. I also would say it's a mistake to think your advice will reliably work.

I've often sat in career advice talks and they often give the same advice you gave. Invariably during Q/A someone will point out they followed that exact advice and got screwed. The responses by the panelist fall into two categories:

1. I don't believe it and there must be more to the story.

2. You're in a poor organization. I suggest you find a better place to work.

So yes, the advice is good, but only when it works :-)

As a company gets bigger, the likelihood of faulty incentives existing goes up. The likelihood that what's good for my team + boss is bad for the company goes up.

Personally, I don't have illusions. I've worked in jobs where the advice you gave won't work. And I side with the second answer. Instead of playing bad politics, it's just a lot better to find an organization that is worthy of me/you. The advice people who had been in the org gave me was consistently "Forget about what's good for the bigger picture and the company. Make your boss look good even if it's a bad solution and will waste others' time and money." I didn't follow that advice and I paid for it. At the same time, my time and effort is valuable - I'd rather use it for something better than this. Either I work to change the organization's culture, or I leave.


>It’s a mistake, and will set you back to think of politics as a zero-sum game.

It's a mistake to think that it's not a zero sum game.

If there are 5 people and one available spot for promotion, you can get selected by bolstering your appearance or by tearing the other 4 down. Either one works.

And yeah, the best tactic is usually "make my boss look good".


> And yeah, the best tactic is usually "make my boss look good".

You say this like it's a bad thing. You should be making your boss, your team, and your teammates look good. If you are doing those things, you are probably also making the company look good.

It's thinking about the long vs. short term. Focusing only on your own optics may work okay in the short term, but they cap out fairly quickly.

Think about how it looks from the outside. Employee A is only focused on themselves. It is recognized that A is good, but any team A is on still struggles. Employee B makes the whole team look good. It becomes recognized that B not only does well, but any team B ends up on does well. Who do you think advances the farthest long term?


And just like that, the just world fallacy kicks in :)

I certainly don't think it's a bad thing to make your teammates look good, but in general it's more effective to give the lion's share of the credit to the boss rather than them. And credit is a limited resource.

I say that like it's a bad thing because it kind of is.

I believe there are some companies where coworkers rather than management decide promotions and this tactic would not work but they are few and far between.


Since you're talking about 'credit' you have completely missed the point. I'm talking about making the whole team look good by making them better. That means helping team members get better. That means helping your boss get better. If the whole team looks good, guess who benefits the most from that? Your boss. And, who cares who decides promotions. If every team you end up on becomes great, you will end up where you want to be.

This also has nothing to do with a just world fallacy. This is thinking long term. Rarely can someone politic all the way to the top. In order to lead, you need the support of your team. You get that by being a great team member yourself.

/rant

Finally, I'm tired of hearing how awesome people are, but their team sucks or their boss sucks (doubly so for people working at FAANG, because the low bar is so much higher). If they are so awesome, then get out there and help the team improve. Instead it's I'm so smart, but everyone is holding me back. I'm stuck on a crappy team, etc... Grow up.

/rant over


Google, as far as I know, is still one of those places where your coworkers provide the feedback that goes into your promotion.


That might be true for a small percentage of projects/teams.

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.


You can weasel up the ladder by getting help but not giving help, taking credit for other people's work, and mortgaging other people's future to get your product launched today.


From what I hear it's turning fairly intelligent to asshole


99% of people within FAANG are the most friendly people ever. E.g. for Google not being a dick is a hiring criteria (Googleyness).


> 99% of people within FAANG are the most friendly people ever

I worked at one the FAANG and I found in my team and some of the neighboring teams the most insecure, unfriendly, back-stabbing, conspiratorial bunch of technically semi-competent losers I ever had the displeasure of working with. Other people were competent, trustworthy, confident in themselves and thus enjoyable.

I also interviewed at other FAANGs and maybe the interviewers were all wonderful people, but I had a mixed experience. Some appeared to be ok, some definitely not. Very different experience from the parent's.


> I worked at one the FAANG and I found in my team and some of the neighboring teams the most insecure, unfriendly, back-stabbing, conspiratorial bunch of technically semi-competent losers I ever had the displeasure of working with.

I think a lot of people would enjoy a blog post elaborating on that experience (possibly under a pseudonym to protect you from vengeance).


I will, anonymously, in a few months. It's going to be good fun, both for the readers and for me.


>for Google not being a dick is a hiring criteria

Wonder what the false negative rate is?


Probably quite high.

Google's culture and hiring process is so well documented at this point, I suspect any suitably talented individual could appropriate some cultural fit.

Of the (current and former) googlers I know personally, they are a mixed bag but there are some traits that are more common. Self assurance and the uncanny ability to never be seen to be demonstrably incorrect are prevalent tbh - but that applies equally to most of the industry.


> the uncanny ability to never be seen to be demonstrably incorrect

I think that may be very easy to do, just state that everything you say is just a theory or your opinion... but this is just a theory.


I'm an interview at a FAANG company, and I did and will reject people if I have the feeling that they are not a cultural fit. (e.g. being a dick, arrogant, ...)


Google has been riddled with a--holes since at least 2010.


To be honest our whole industry has more than its fair share.


"Product Manager, Friend List at Facebook"


"The conflict is that the bigger the company, the higher the bar for entry." is that true? I would think that the bar to get in is lowered as you need more and more people. Of course, some institutions like Google manage to make a good branding effort and attract talent, but becoming an early engineer in a successful small startup requires you to be extremely smart too.


Google can afford to pay better, relocate people from all over the world & is prestigious.


The smartest dude on my team was hired by Google a year ago. On my team, he was a subject matter expert and he routinely contributed to open source projects.

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.


If you can get commissions then it can be lucrative.


He talks about that later:

> 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.”


I also felt the same. The place was draining, distracting, chaotic, cramped, and noisy (in 2010). A complete waste of time in hindsight that's still with me today (haven't been able to work again since leaving at the end of 2010).

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.


> 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.


Most places that do "interesting" work do have some elements of distracting and noisy.

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.


The work wasn't interesting.


Ah that's a problem but at least you where paid fabulously.


Pay was (industry) median in my case.


At Google? When I worked at a tier 1 RnD org I was paid about 1/3 of the same grade in the Uk Scientific civil service.


oO you didn't like anyone there? Sounds like a problem with yourself.

Can't imagine that you were sourrounded by assholes.


It didn't matter if they had an off-putting personality or were "OK." Either way, I just wasn't feeling it. On the other hand, the same happens wherever I go. Maybe Google's reputation of attracting certain personalities led me to believe there would be others that were similar or like-minded. Instead, they were mostly unhealthy judger types (though I'm not sure if the source is reliable, a few years ago 23.6% were said to be INTJ and 12.5% ENTJ: https://www.quora.com/Do-most-software-engineers-have-an-INT...).


You seem to mention the Myers Briggs a lot in your posts... I’m not sure how useful it is.

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!


It's not that useful, but is another way to help illustrate what I'm trying to say.


> I also couldn't settle in, didn't like anyone, and was continually interrupted/harassed/>>followed<<.

> On the other hand, the same happens wherever I go.

Is that you, mchurch?


No. Someone much less known.


Sounds like any given open office environment to me.


Unless you were assaulted there or something, the fact that you haven’t been able to work in 8 years is probably indicative that there’s something you personally need help with rather than something structurally wrong with Google.


Well, I say I became a Targeted Individual. Others would say it's Paranoid Schizophrenia. I was implying sabotage.


Here’s what I suspect. There’s something “off” about you compared to the average person. People lock in on that and basically recoil from you so you see people as having targeted you because they don’t do this to anyone else. The right kind of person can help you ascertain what this thing is that makes you “off” and help you correct or conceal it.


Not really. I'm as "off" as an INTP is off in the world at large. I was generally seen as nice. Though some would say/imply I wasn't, it was consistently shown to be done as part of an attempt to use/screw me. Maybe my tendency toward being introverted/quiet bothered some people (in the world at large).

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....


Yeah, me too. But Google has more in common with Intel now than when it had 23 employees.


True. I have a new catchphrase that I use: Google does everything at scale. They waste talent at scale.


And it’s such an utter shame with their resources; they could be the next Bell Labs or Xerox PARC.


That's like saying Microsoft could be the next Bell Labs. In reality, Microsoft is the next Bell, and Microsoft Research IS the next Bell Labs.


They probably are. There's a ton of interesting research going on at Google that is not being capitalized on economically. They just need a few ambitious visitors or ex-employees to "liberate" it, the way Steve Jobs and Bill Gates did to Xerox. In some cases (eg. TensorFlow, Chromium, protobufs, or LevelDB) it's already been open-sourced.

Note that neither AT&T nor Xerox were the prime beneficiaries of technologies developed at Bell Labs or PARC, respectively.


They've already done so much more than either of those.

Bell Labs delivered a fair bit of tech, but Xerox PARC did great demos. Xerox PARC == Magic Leap or something like that.


Don’t know why you were downvoted. Xerox parc did in fact release nothing to the general public iirc. But they got great tech which got ripped off, unlike magic leap maybe ?


> Xerox parc did in fact release nothing to the general public iirc.

Right, just because you haven't bothered to look it up, it doesn't exist. Here are just the Xerox PARC work that was commercialized by Xerox I can think of off the top of my head: Ethernet, XNS, Interpress, the Star and D-series workstations, Mesa, Smalltalk, Cedar.


Don't forget the laser printer, postscript, etc


The Learning Group at PARK did release Smalltalk, but guess that's not "for the general public".

I was under the idea they never really wanted to release a product for mass consumption.


I think it's highly dependent on your role, and at its current size your chances of getting lost in some piece of noise is quite high. Of course endless performance reviews also suck. Google is still a great place to work, but it's a corporation now, and there are just some things that don't scale.


I suspect it'd mostly depend on your personal standards and ambitions than your role. I can't imagine many below-VP positions being much different on this dimension. Even many VPs and up are getting stuck in life-sucking unimportant activities.


Autonomy is harder and harder to get at larger corporations and play a big role in self identifying work as satisfying or valuable. Even if you manage to get it, it can be taken away by an outsider in a large corp at any point. Startups are safer bets from this perspective.


You're not wrong. It's definitely personal ambition. I think we all know that getting in != good reviews, moving up, etc.


So, who's the new 'Google' now?


Not in a exciting place although probably better than rest of the big 5. The main issue is focus moving off from engineering to quarterly results and lot more non-technical people telling engineers what they need to do. Projects gets cut or severely underfunded until they die. No new ambition moonshots (they are all supposed to happen in other Alphabet company). People have learned to game the interviews so real quality is downhill. Also CEO-of-CEO is basically all but checked out and other “CEOs” are not as visionaries, bold, risk takers and obviously not as empowered.


Facebook, Google, Apple, and Netflix still have some of the best talent in the bay. They also push out a lot of amazing projects (PyTorch, React, Go, Chromium, Tensorflow), although Netflix much less so.

At the end of the day they have the money, and they do provide ridiculous perks.


> They also push out a lot of amazing projects ... although Netflix much less so.

Actually Netflix much more so, only their projects are not in software. Just sayin.


Where can I find such non-software projects?


think they mean the movies and things


Ever use Xcode on a day to day basis? Clearly not the best talent there.


Netflix have Chaos Monkey, Spinnaker and Jaeger. Maybe not industry leading but still better than Apple.


Google has quite a large team working on Spinnaker as well (sibling to my own team).


Also, Hystrix, Eureka, and other JVM microservicey packages.


Jaeger is Uber.


You're correct there. My bad.


But you will only ever be a tiny part of those big projects. If you want big challenges or big recognition perhaps a smaller startup will make you happier...


Not necessarily. You can go to a team that works on a tiny part or you can go to a team that affects the entire company. You'd be surprised how few people want to work on the latter. Especially because the tiny parts are usually new press release type "fancy" stuff and not boring things like build systems, security, etc.


In all likelihood you won't even work on any of those projects.


One should start their own if they can't identify one, I'd say...


In my opinion, the market must crash before we'll know who "the next Google" is.

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.


‘Google’ when?

The game done changed.


Crypto/blockchain and decentralized companies in their various forms. People say it's garbage but they also said that about search engine advertising too.


People also call garbage garbage. Sometimes they're right.


I was just like you until a few months ago, when i got really interested in the technical aspect of DLT. Don’t let the digital currency scam blind you : there are some really really interesting things going on in that field.


A DLT is just a database. You can't build a business peddling an open source database in 2018.


i don’t know a lot of database that you can share between any number of parties with write priviledges and yet be sure none of them can destroy, alter, falsify data or even make them unavailable , and which you don’t even need to host yourself.

There are some very peculiar properties of a dlt, that makes them special.


You mean a merkle tree


Isn't that essentially Github?


I had a job in a company obsessed with DLT. I didn’t see anything useful. In fact I’d go as far to suggest that the only use of a blockchain is in cryptocurrency. What have you seen which suggests otherwise?


Maybe you’ve got more insights on the subject since you’ve actually had a job on the tech, but it seems that « private » DLTs , or « b2b » dlts could have some applications where competitors need to share and persist information.

Another is with all systems taking the roles traditionnally filled with state actors ( registers of some sorts).

But you’re right, so far no « killer app » has been found. That’s what makes it interesting today, imho.

edit : to answer your question more precisely, a talk by one of hedera founder to a university class was eye opening to me ( here : https://www.youtube.com/watch?v=IjQkag6VOo0)


> But you’re right, so far no « killer app » has been found. That’s what makes it interesting today, imho.

How long do we have to wait until the lack of a killer app stops being interesting, and simply means the technology is not useful?


Bitcoin is coming up on its 9-year anniversary. The equivalent point in the web's history was 1998.

How many of today's Internet giants were founded in 1998? Amazon. Plenty of defunct also-rans: Netscape, Ebay, Yahoo, AOL, Geocities, Altavista, Excite, Infoseek, Lycos, Pointcast, Monster.com, RealAudio, Pets.com, Kozmo, AllAdvantage.com, Webvan, DoubleClick. Netflix was in its infancy (~1 year old). Apple was a dying hardware company, a few months from bankruptcy and kept alive by Microsoft's cash infusion.

Google's official founding was several months in the future. PayPal was right around then. Napster was a year in the future. Friendster and LiveJournal were 4 years in the future, MySpace 5 years, Facebook almost 6. SomethingAwful.com, Bodybuilding.com, and Fark.com were a year in the future, 4chan 3 years, Digg 6 years, and Reddit 7. Twitter was 8 years in the future. YouTube was 7. Heroku and Weebly were 8-9 years in the future, which was the same time SquareSpace graduated to more than one employee. Dropbox was 8 years in the future. AirBnb was also 8 years, but didn't catch on for a further 5 years or so. Indeed was 6, Etsy was 7, Indiegogo was 9, Kickstarter was 11, GoFundMe was 11, Pinterest was 12, Patreon was 14.

So to answer your question going by the web's example - probably about 7 years. The "killer app" for the web (communication & coordination, IMHO) started becoming apparent to the mainstream around 2005, with Facebook, Reddit, YouTube, Etsy, Indeed, and Twitter all being founded within +-1 year of that. Interestingly, analogues of all of them existed in 1998 (Classmates.com, DejaNews, RealVideo, EBay, Monster, and...well, nothing really for Twitter), but it took almost 20 years for the underlying infrastructure to get mature enough to get mass consumer adoption.


Has any technology got a worse hype to practical use ratio than blockchain though?


Within the last 3 years: Magic Leap, AR/VR in general, Theranos, Elon Musk's cave-diving submarine, Juicero, self-driving cars, drone delivery. Smartwatches, smart-home speakers, and IoT are roughly tied with blockchain for hype/use ratio.


I disagree. Smart watches like FitBit or Apple actually do stuff, self driving cars do actually drive, Elon Musk's submarine hyped as much as blockchain, seriously? Blockchain businesses have achieved practically nothing.


> it took almost 20 years for the underlying infrastructure to get mature enough to get mass consumer adoption.

I don't know if you were on the Internet in 1998. I was. The Web was useful, mature, and had tens of millions of paying customers in 1998. In contrast, all the people I have known to use Bitcoin and other cryptocurrencies only do it for speculation.

You bring up PayPal and list eBay as a "defunct also-ran." The only reason people started using PayPal was to shop on eBay, and the only way PayPal got anyone to start using them for payments was to bribe people with $20 referral bonuses, which they could only do due to their VC firehose of money, and a huge spambot campaign where they pestered eBay merchants with messages along the lines of "I'd like to bid, but I can only do PayPal." (see The PayPal Wars)

PayPal is a great historical lesson in explaining why BitCoin and other libertarian hash chain schemes will fail as a currency, because PayPal was founded on the same deluded libertarian fantasy:

"“PayPal will give citizens worldwide more direct control over their currencies than they ever had before,” Thiel predicted. “It will be nearly impossible for corrupt governments to steal wealth from their people through their old means because if they try the people will switch to dollars or pounds or yen, in effect dumping the worthless local currency for something more secure.”"

https://www.cato.org/publications/commentary/who-killed-payp...

The real value of PayPal turned out to be fraud prevention and consumer protection, something that hash chain schemes lack by design.


Bitcoin is for speculation. That's its use-case: it's fundamentally a financial system. It's made a few million people rich and several more million people poor, and started several thousand businesses. That's not a bad track record for something 9 years old; it beats out YCombinator (whose use-case is also "making people rich"), which is almost 14.

I've been on the web since 1994. I certainly found it useful in 1998, but the things it was useful for included:

1.) Looking up Geocities pages for my favorite bands.

2.) Reading rec.arts.sf.written.robert-jordan.

3.) Playing DragonRealms, an early MMORPG.

4.) Instant-messaging my friends.

5.) Earning money through AllAdvantage.com. Think I made about $40 from them off referral fees.

6.) Looking up information for school papers.

7.) Amusing myself with the HampsterDance.

Streaming video existed but was far too slow and glitchy to be worth watching. Amazon.com existed, but my parents refused to buy anything online. My sister was an avid user of Kozmo.com when she went to college, but then they went bankrupt a year later. MapQuest existed, but took too long to load and still required that you print out directions, since you couldn't exactly bring a computer in the car.

By contrast, I've spent over $5K at about 2 dozen different AirBnBs in the last 5 years (and stayed at a hotel...erm, twice, maybe?). I just booked a haircut online, after reading the Yelp reviews and looking up the location on Google Maps. I spent 15 minutes typing up this comment on Hacker News, which I guess is the spiritual successor to Usenet. I don't own a TV, but I watch a bunch of YouTube and my wife's an avid Netflix user. We get almost all our packages delivered via Amazon.

In terms of how much the Internet changed behavior, a lot more happened in the 10 years between 1999-2009 than the 10 years between 1989-1999, and arguably even more happened between 2009-2018 than 1999-2009.


If you wrote a book, I would buy it. Great post, very succinct.


Why is Git with signed commits so uninteresting yet a "private blockchain" is?


Any example companies or products you'd recommend looking at?


hedera hashgraph papers and founder talks (you should find them on youtube) made me realize some real people were working on solving real world issues, and not just scam people.


If you feel this way at the most elite and prestigious employer in the world then I'm afraid for what you would you would think about working at a "average" company like Amazon, Cisco, or IBM these days.

Isn't it easy to change teams at Google?


Haha, "the most elite and prestigious employer in the world" has around 100k current full-time employees (and many more if you count the de facto employees hired as contractors). That fact alone contradicts the dictionary definition of elite.

The world does not begin and end with mega-cap companies you listed. There are many many many more companies at far smaller scale.


This is apropos but, what I wouldn't give for a cubicle....


I like how so many professionals sort of stumbled into programming. This might even make a good Ask HN if it hasn’t been done already. I myself stumbled onto this weird copy of Visual Basic on a warez site one day. It was this like...portable version I guess? It was just a standalone app. Anyway I downloaded it and started playing around. That, and I was once stumbling around an old Windows 3 computer and just executing files to see what they did and when I ran QBASIC I was like..well hello.


Anyone know of similar articles or videos like this with career advice from great engineers?


While it's not a perfect match to your question, YC has been putting out so many amazing videos during Startup School the past few weeks which you might want to check out if you haven't already. For example: https://www.youtube.com/watch?v=tSW-GePDwn4

The channel sorted by new: https://www.youtube.com/channel/UCcefcZRL2oaA_uBNeo5UOWg/vid...


Just like self-help books and CEO advice, taking career advice from engineers, even great ones, is a waste of time. It is useful to read for entertainment value, and to be well-read in general (like understanding history very well in order to understand modern politics), but taking direct advice would be foolish.

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.


Coders at Work by Paul Buchheit would probably fit the bill.


> Great engineers understand computers all the way from the silicon up through the different layers and protocols and systems.

I find this a bit limiting, certainly they should think across multiple layers but some of those layers exist beyond the systems.


As a people style thing I’ve encountered two broad types of engineers - the intuitive types, and the detail types. Neither type is wrong but it’s a different set of desires and interests. The detail type wants to ponder every corner case and every possible use (that the specific engineer cares about). The intuitive type can find this infuriating. They’d rather just build it and learn as they go. They have aesthetic tastes and feelings about different layers and they just go with their gut. I’ve seen both types be very effective. An intuitive type with good taste Will just have a sense of what to build and roughly why, but with many specifics left open. A detail type who is good can get to the neatest parts of a problem(maybe even rephrase the problem a bit differently) and solve it well, so well that it builds a foundation that everything else fits into easilt and with less grief. I think for both types a key aspect is being curious about the right things. Everyone has a different list of things they find interesting and other things they find to be grunt work and/or limiting as you said. Being aware of your own list of these is useful. Adding things to the list that the industry will hire you for could be called career management


I think I fit both of those. When I start working with something I just want to throw something together and get it working learning as i go. I believe you never fully understand what you need to build until you've tried it.

But then I like to step back, read up on the underlying components and rebuild from scratch making sure i understand every possible flow.


Very good comment. It is certainly important to acknowledge that both can be effective and that the generalist type (and I use that term loosely) can be good for setting up a solid foundation/skeleton for others to build upon.


One downside about detail types is often they'll plan with alot of detail however business is complex and changes rapidly so the problem may be very different down the road. "The best laid plans of mice and men".


I've worked as both a hardware & software engineer. I've generally found that people who make statements like the above, don't really have proficiency across all the layers from silicon to code. Heck, there are probably a few layers that they aren't even aware exist. And yet, despite this "gaping" hole in their knowledge, it barely hinders their productivity at all.

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.


Tricky part is when one of your underlying systems doesn't quite behave as you thought. Once you figure out the problem (which could take a while since you won't expect it to be there) you get a sense of how much complexity you're building on top of


The system is the sum of the parts.

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.


The leakier the abstractions across layers, the more necessary it is and vice versa.

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.


It's challenging to think about how things will scale beyond out immediate stellar volume, though. We have so little high quality data.

Or did you think "systems" ended at some smaller scale? ;)


What is it limiting? What are you referring to as being existing beyond the systems?

It was probably not made clear but he seems to be talking about systems engineering in particular.


Specifically, I am referring to the layers that describe how humans understand and use systems, cognitive psychology, neuroscience, anthropology, etc.


> You joined Google because you were deeply interested in Linux. Is there a technology you're equally excited about today? This is a question which I would be curious for someone else to tell me the answer to! The closest thing I can think of is Bitcoin and crypto. I'm pretty sure they would have captured the attention of 21 year old me.

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.


Anyone have videos of someone programming fast or a video of a 10x engineer working or a comparison output of a 10x vs above average?


I'm reminded of the "Feynman Algorithm":

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.


Heh, I've "bug sniped" co-workers before. They'd be stuck on something and eventually ask for help, then while looking over their shoulder and before they can explain the problem, I'd notice something just looks off and mention it. About half the time it turns out to be a second bug they know about but haven't gotten to yet because of the first one.


This question misses the point I think. The differences aren’t going to be that they type 1200 wpm or something that would be interesting or obvious on video. It would more likely look like someone spending time thinking carefully, not (necessarily) at a keyboard, thinking about really needs doing, how to best do it, what the user needs and will value, and they might write 1/3 of the code of a median engineer. The actual coding won’t be dramatically different on video.


This is exactly correct. The difference is in how you approach problem solving, not how fast you write the code.

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.


> The differences aren’t going to be that they type 1200 wpm

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.


I’m not saying 10x are fast at typing. I just wanted to see how fast someone can use emacs as the person from the interview.


It's not writing real code (except for some examples), but this guy's got some chops: http://emacsrocks.com/


It's not emacs, but you might like this: https://www.vimgolf.com/


One thing to consider is that most of time, brilliant people make complex problems look simpler. which means their solution will look like the problem was simpler in the first place, and so there’s no merit in having a good solution.

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.


I remember Norvig course on udacity. Every problem I solved, after that there was a video with his solution.

It was so much simpler.


What was the title?



Unfortunately, you are absolutely right. The tech industry is in love with complexity


To actually answer your question, Jonathon Blow has some twitch streams of him debugging some problems: https://www.twitch.tv/videos/321734897

I don't know about 10x engineer (I actually think that whole line of thinking is bullshit), but Blow has shipped a few games.


There are definitely 10x engineers. They're just experienced enough not to make the mistakes a junior engineer makes. It's invisible, they just didn't do that stupid thing someone else would have done.

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



Like others in the thread have said, he's not writing code at 1000 wpm here. In this ~20 minute clip he's written at most 50 lines. It's more his ability to solve problems where he finds them


George Hotz Coding a SLAM algorithm from scratch. Really insane.

https://www.youtube.com/watch?v=7Hlb8YX2-W8


As far as being able to visualize what it's like to be a 10x developer, such a person can continuously type whatever is needed to get to the next step, whether it's code or sql or whatever, while maintaining adequate performance and quality.

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."


I love this busdriver's videos:

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.


Maybe Mary Rose Cook live coding a game as a conference presentation:

https://vimeo.com/105955605


I'd say if you are looking for a visual sign of it, intense focus is a good proxy.


Mostly it's not about what they do, it's about what they DON'T do...


You probably can't see it over the course of a two hour video - although there will be traits. The 10x / 100x engineer's relative results can only be seen and appreciated over an extended period of time.


> When they sat down with me they said, “we want you to build an email something.”

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.


Well part of the story seems to be that they weren't Google "Execs", it was Larry removing (firing?) all of management and having engineers decide what other engineers to work on.


If I remember correctly there were lot many more people involved pouring various ideas that became final product although Buchheit had a lion’s share and founded the project.


it's been widely reported that gmail was a 20% project to start with. That seems inconsistent with this version of events.


I noticed that as well. Maybe the 20% story is simply a PR stunt for hiring.


Maybe he was already working on something email-y, and they noticed?


But that's not what he reported.


I was struck by the similarity of working for a Startup and having the chance to gain mad skills, and the process of field promotions on the battlefield that I have read about in fiction: A whole other gear for advancement (aka dial set to 11).


Its interesting that the people cited aren't here commenting...


I love how he perceives/explains a number of his career choices around avoiding anything "big company".


> technology you're equally excited about today? : Bitcoin

I am surprised he didn't add deep learning / brute force computation making new problems accessible.


The title could really benefit from an Oxford comma.


This is my new pet peeve, especially when it's at all programming-related. Anyone dealing with code should know readability is a big deal. I can parse a sentence better with that extra comma without having to reread any part of it. I don't see why its ever left out.


It's an optional feature of the language. Sometimes its exclusion does lead to ambiguity, but other than that, it's a stylistic choice, and preferences on usage diverge.


Ok, let's have one.


[Off topic] Can someone help me understand why computer scientists call themselves engineers in the US? Is there a reason beside the fact that it is probably not regulated? Here that would be so totally illegal if you are not a member of the order which requires an engineering diploma.


> Can someone help me understand why computer scientists call themselves engineers in the US?

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 mostly agree with you, but I still think it makes no sense to not have a regulated title. I mean you can't become a civil engineer if you don't study civil engineering, why is it different for software will remain a mystery to me.


I think the field is too new and fast changing to have fixed standards to examine people on. Civil engineering has been going on for at least 2000 years on the other hand.


Because software development is engineering and not science. It's absurd that my job title can be regulated. I applied for software engineering, I interviewed for it, the company hired me to do software engineering, I'm paid to be a software engineer, the official documents that allow me to legally stay in the US say my job title is "Software Engineer"... Yet I'm not a software engineer because my bachelor's degree says I studied "Computer Science"? That doesn't sound right to me. Scientists make a hypothesis, collect data, test hypothesis, publish their results, something I never do. Engineers face a reallife problem, analyze the system, calculate feasibility, solve the problem feasibly, improve the solution and finally implement the solution, this is what I do.


Do you think it’s absurd that titles like Doctor is regulated? You may not think it’s neccessary to have a professionalized version of Software Engineering but what about code running RTS, critical health care systems etc?


I would argue that regulations are ok when there is a well-developed infrastructure behind the regulation. If we have a lot of evidence that human activity causes global warming, and we have a lot evidence that government regulations X can help global warming, it makes sense to regulate X to solve/alleviate that problem. Or say, we have a lot of evidence that legalize+regulate works very well to solve drug issues (look at Portugal). Do we have any infrastructure in Europe, or US to regulate software engineers? I do not know of one. I studied in UC Berkeley, which is apparently one of the best universities in the world to study CS, and then they gave me a "BA in Computer Science" (the same way you get "BA in Physics" or "BA in Mathematics" ... UC Berkeley L&S only gives one type of diploma), it's kind of awkward to claim that the infrastructure in the US that selects qualified software engineers filtered me out, the same way it filters out some people who wanna be doctors. Btw I do work in a company that handles real time, highly critical insurance data. My employer thinks I'm capable of working in this company; which doesn't mean it's necessarily a good idea, as we saw in cases like Equifax, but I cannot think of an alternative. I love my job and I believe I'm qualified to do it, so I'm gonna be pragmatic about this...


"Software engineer" is a common title - I'm UK based, not even US - and that perhaps helps to differentiate practical development work from more academic computer science work: the two activities truly are quite different. "Engineers" is probably just an evolved shortening of that "Software Engineer" title.

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.


Because in the United States the regulated term is Professional Engineer (or PE), ‘engineer’ is entirely unregulated.


Honestly, I have a ("proper") engineering degree and the boundaries between working on hardware design ("proper" electronics engineering) and working on software are pretty blurred. You have a desired outcome, you apply design thought to it and then you have a work plan, you execute (whether by writing software or simulating circuits or documenting or whatever) and then you test it works and make changes.

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.


I’d say what we do is closer to engineering than science. I was fine with programmer and then developer, but fashion in language as well as clothes change, and so here I am an engineer.


It does have some sort of meaning when it comes to pay grades as well. When I worked for local government I had the title "Programmer" and couldn't be called "Developer" without my pay being bumped significantly.

People outside of the software world also seem to take the title "Engineer" a little more seriously than "Programmer" or "Developer" from my observation.


Here's a good summary of the history of the term and discussion on "programmer" vs "engineer".

https://www.theatlantic.com/technology/archive/2015/11/progr...


Great article!


We have software engineering diplomas, and CS majors at large are indistinguishable from them in their output.

We also have certifications. They're not evidence you are a good software engineer.


We are far too well paid to be called scientists.


Great engineers understand computers all the way from the silicon up through the different layers and protocols and systems.

When someone claims to be a “full stack engineer” this is what they are claiming. But the reality is always webdev.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: