10 ms·
I've met two deeply talented software engineering minds in my life, and they fall on opposite ends of the spectrum: The first I met when I was in my mid-20s an
by nlh 8y ago
I've met two deeply talented software engineering minds in my life, and they fall on opposite ends of the spectrum:
The first I met when I was in my mid-20s and he was about 17. Gifted kid, absolutely. He'd published a programming book (!) and could do things with JavaScript that, in 2001, nobody had even thought of doing until the mid 2010s. Totally undisciplined of course -- we hired him and he refused to follow any instructions, got bored easily, thought he knew better than his engineering manager, and was ultimately fired after about 3 months on the job. Haven't kept up with him but I imagine he's gone on to do amazing things.
The second was someone I had the pleasure of working with over the past few years. He's early 50s now and far and away one of the most productive and intelligent engineers I've ever seen. Thinks about problems deeply and thoroughly, codes quickly, optimizes when and only when it's time, and is the purest measure of productivity I know. All the lessons one learns over a career in engineering put to use. Proof that hands-down, the ageism in SV is totally misplaced when it comes to skill level -- I'd work with that 50-something over any 20-something "rock star" any day of the week.
- joejerryronnie 8y agoThe ageism in SV has very little to do with actual talent and productivity and much more with how the team feels someone can handle themselves at happy hour.
- sierdolij 8y agoI think there's three components to every employment position: - sufficient work ability, rarely an issue. - teamwork - at work interface, negotiating, empathy with others. be relentlessly resourceful and useful, but get yours too. - off-the-clock skills and interpersonal/appearance likability - a bunch of awkward single dudes can't say "no" to the socially-calibrated dude who goes out and convinces a bunch of attractive-enough females to hang-out with a bunch of random engineer dudes. be that guy, and you'll have friends bugging you all the time... turn your phone off and rock out to Spotify. :D
- sharemywin 8y agoDon't forget be at work 80+ hours a week to impress the VCs. "He's been at it for four days straight. He just re-wrote our core code five times and it 20% faster. never mind it still doesn't work right but man is it fast. And he works for lottery tickets."
- setheron 8y agoAnecdotally I'm so curious about this 17 kid and what happened to him.
- scrollaway 8y agoSame story here. The most talented engineers I know are either in their early 20s or in their late 40s/50s. Of course it's for different reasons. Something many people don't want to admit is that a lot of talent comes from practice and experience, and someone in their 40s is much more likely to have 20+ years of experience than someone in their 20s. The early-20s geniuses I know are talented for different reasons. The ones I am thinking about are people who pick up new things absurdly quickly; pick up on patterns very easily; have general experience in enough domains to make quick connections; etc. But some of them are extremely undisciplined (which may or may not be related). Those same people with age, gain not only experience but also hopefully discipline. A combo like that yields you people like John Carmack and the like: Not just talented, but out-of-this-world "next level".
- carlmr 8y ago>The ones I am thinking about are people who pick up new things absurdly quickly; pick up on patterns very easily; have general experience in enough domains to make quick connections; etc. That's my experience as well. Generalists are often the most productive people. A good generalist can often grasp the whole system faster than a niche programming language specialist. And you usually don't need those niche programming skills for 99.9% of problems. Humans are capable of much more than the small niches companies put us in. Generalists are generally (hrhr) ignored by HR though. They don't fit any mold so have a harder time getting hired. The most successful ones I know usually freelance.
- Steve44 8y agoWhen I stopped programming I moved more into technical testing and that morphed into 'project guru' on some quite large projects. I could understand from low level network protocols up to the big fluffy clouds, I could also pick things up very quickly as I understood all the building blocks if not the latest buzz words. From my first exposure to SQL I was optimising databases better than the incumbent dba within a couple of months, and that wasn't even my job. I loved the work, but the downside was no one ever advertised for that role despite it was very important to the project.
- headalgorithm 8y agoIt would be interesting to know what the 50-something was like when they were younger. Did they have the characteristics of the 20-something rock star.
- bryanrasmussen 8y agoI was something of a rock star when younger, but I like to think that even if it turned out I was not Paul McCartney in talent I was at least Paul McCartney in affability.
- ArrayList 8y agoPlease don't say "rock star". It's such a tired term, right behind "ninja".
- elbrian 8y agoPlease don't police other peoples' speech.
- ArrayList 8y agoThanks Mom.
- dolessdrugs 8y agoThanks Dad
- 8bitsrule 8y agoDamn this insubordination!
- thecanman 8y agoThis isn't Reddit. Please read the guidelines: https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html Specifically, "Be civil. Don't say things you wouldn't say face-to-face. Don't be snarky. Comments should get more civil and substantive, not less, as a topic gets more divisive. "
- swendoog 8y agoUhg, I'd love to be that 50 year old when I arrive at the age. Sadly, I feel like I'm sliding backwards. Oddly, I feel like I was a better, more thoughtful, certainly more energetic developer in my 20's. I think some of it may be that each job I've taken has forced me to change language / platform multiple times. I'm an iOS, android, C++, C, Java, and python developer. All on production level code. Never an expert of any.
- CzechMatte 8y agoI think programming is one skill it doesn't change much by language if at all. So if you have a good grasp of OOP principles you're on a good path.
- JamesBarney 8y agoI decided early in my career to specialize on a technology stack so I could generalize over the entire stack. About a decade ago I got my first job on the Microsoft stack, and since then I've done 98% of my work on it. It has it's disadvantages I'm definitely looked at as an old fuddy duddy because of my language choices. I'm pretty locked in, so if .net dies I'm gonna screwed while I come up to speed on the next big thing. But it has its advantages too. I'm able to go deeper on a bunch of different parts of the stack than I would if I were having to jump around more. Web, desktop, services, database, mobile and even vba in Excel. There's no way I could be as proficient across the stack as am if I had to be proficient in different technologies. And it's allowed me to feel pretty confident addresssing any business problems as long as it's on the right stack.
- jermaustin1 8y agoI did the same thing for the first half of my career - ASP.Net and C#. But with the fall of WebForms and the rise of MVC, I had to spend a lot more time on front ends (mainly cheap clients didn't want to pay the licenses on Telerik and the ilk), so I had to learn real html and javascript (albeit only jQuery at first). Now I primarily use those tools on personal projects, and spend most of my day consulting on HOW to develop a project, and only able to get my hands dirty a couple of hours each week. The rest of the time is spent with management "architecting" solutions.
- iamben 8y agoI wonder if this loosely follows the whole Dunning-Kruger graph: https://i2.wp.com/thephysicianphilosopher.com/wp-content/uploads/2018/04/Duning-Kruger.png?resize=625%2C589&ssl=1 https://i2.wp.com/thephysicianphilosopher.com/wp-content/upl... Except when you're young you're full of confidence because you know you're good. It just takes you ten years to realise that in order to use it efficiently you have to learn how to get the most from others / let them get the most from you? By the time you're in your 40s/50s you're coming up the other side - still just as talented, but now you can work with people as well?
- drugme 8y agoTotally undisciplined of course -- we hired him and he refused to follow any instructions, got bored easily, thought he knew better than his engineering manager, and was ultimately fired after about 3 months on the job. Or in other words - apparently quite talented as a coder; but as an engineer not so much.
- jeffreyrogers 8y agoTo be fair, he was 17. I think you learn a lot about how to be an employee on the job.
- Radle 8y agoI remember when I was 17, honestly even if I was a genius, I would have been horrible to work with.
- mywittyname 8y agoI was exactly like that at 19, sans genius. I spent way too much time on the "fun" parts of my work and not terribly much at actually getting work done. I'd also push-back on managers pretty hard. As a result, my first two jobs involved me coding alone on projects of negligible importance.
- drugme 8y agoI'm not damning his character. Or even questioning his character. Just saying, from the thumbnail description given of his work habits - you couldn't quite call him an "engineer".
- ivanhoe 8y agoNope, sorry, but being an asshole doesn't make you less of an engineer. It makes you a poor choice for a team and a bad hire, but that's a different story. In other industries it's better defined, you pass the exams, you get the right to use the title. The software industry on the other hand is using the term engineer too liberally - we basically just invent those titles for ourselves, consultant, engineer, architect - but being an engineer still primarily means having a certain level of technical expertise in the field. And btw, in every industry you have those lone-wolves characters who are arrogant and hard to work with, but they get tolerated because they can solve hard problems better than others. I think you get even more of this in other lines of work, because in programming those types are usually not as crucial resource as in say maintaining some old machines that only they know how to keep running properly. May dad was a civil engineer and he had quite a few colleagues like that, and while no one enjoyed working with them, they certainly respected their expertise and would never say that they're not engineers, just bricklayers.
- ezoe 8y agoTotally same experience. Young gifted hackers and old experienced veterans. There aren't much to say about old veterans. They write bullet-proof code. They are stable. They are good. The young hackers... they are so unstable. Their code is unmaintainable. But they can achieve things we thought impossible or too difficult to even consider implementing it. They are usually mentally unstable. They usually suffers multiple mental issues like sleep disorders, development disabilities, bi-polar disorders, ADHD etc. Looking at them, they are like burning their life to achieve short-term gain.