Enough said.
10x Engineer
171–180 of 186 posts
Re: 10x Engineer
#172While the article correctly highlights the lack of rigorous scientific studies on 10x engineers, it also generalizes a bit too much from anecdote to make the argument that they are mythical creatures. A more reasonable argument is that the hypothetical existence of 10x engineers explains little about the productivity of most organizations. Personally, in the couple decades I have been in this business working in coun…
Your words are extremely accurate to me. There ARE 10x engineers but it takes a lot of experience to even have a chance at becoming one. A new grad ( even out of somewhere lik e Stanford ) has no chance to be a 10x engineer especially in a startup landscape (assuming a small startup with few extremely experienced engineers) without proper mentorship. The only people that i would say are 10x have worked at larger comp…
In college I competed in the ACM programming competition against Stanford. I was the only one on my team to write (working) programs; I personally wrote more working programs in four hours than either of the two teams (of four) from Stanford were able to write in six. Presumably these were some of the best programmers at Stanford that year?
I was a sophomore, almost completely self-taught, and going to a JC at the time. I learned a bit about data structures from a rather uninspired class there, though later I learned a lot about optimization in compiler design class at a four-year school.
While I was still at the JC I successfully completed a contract to port a game to a new platform for a major studio (you've heard of them). The original game was entirely written in assembly language, as was my port. It took about four months. While I was going to college.
My first job out of school I quickly ended up a star programmer. I wrote tools that were used by the whole company while working on a game. After a week of working on my first game there, I was told by the CEO that it already had better physics code than the previous developer was ever able to achieve on the last product they'd shipped (this was back before physics engines, so I was just writing code the way I'd figured it out on my own as a teenager -- later I learned what I was using is called an Euler Integrator [1]). The game I finally shipped for this company was also written entirely in assembly language, and it shipped with no known bugs. On time.
The next company I worked for, the same kind of thing happened: I ended up fixing tools they'd been using for months, optimizing one frequent operation that previously took minutes to complete so it would finish in less than a second.
Every company I've worked at (with one notable exception where I wasn't a good fit) I've very quickly ended up someone that everyone comes to for help (and I enjoy helping people). I had one position where I was supporting a lot of people on a forum in addition to doing a lot of new engineering, and the guy who ended up in my shoes later (who was himself an awesome developer) told me he had no idea how I managed to do everything that I did.
And I rarely work more than about 40 hours in a week, at least after my first few years on the job.
At this point I've done apps, highly scalable web server code, games (console, smartphone, and PC), video, graphics code, embedded device code, and programming tools. And I've contributed to multiple open source projects (at least one of them high-profile).
So am I a 10x programmer? Who can say. But I have only once worked at a larger company (the aforementioned "bad fit"), and am almost entirely self-taught. And I take pride in doing things other developers label as "impossible". But I have never had a "mentor" outside of the code and books (and more recently blogs) I've read.
I've certainly known developers who I could out-program by at least a factor of 10, and others who simply couldn't do some of the tasks I do regularly. But I wasn't TAUGHT this by other developers, though I am certainly standing on the shoulders of giants; I just arrived there by climbing, not being lifted.
Don't wait for a mentor. Go learn. Now.
Re: 10x Engineer
#173You were likely once 10x less productive than you are now when you first touched a new language.
Citing a number of reasons why someone may want to create this myth, does not make it a myth. Pretty ridiculous.
Re: 10x Engineer
#174Earlier quoted context omitted.
I've worked at a lot of places and I clearly see it. It isn't very hard being a "10x" engineer if you look at the average programmer profile : Arrive at 9:30, start out with 30 minutes at the coffee machine. They get mad if you discuss work at this point, or god forbid, talk about interesting algorithms or the like. They expect to be told exactly what to do, or they won't even sit down. If you don't give them an exac…
He's a good programmer whom you and your colleagues don't like, and by the sound of it he doesn't like you either. The solution I'd recommend is to have him working from home. Put him on a contract basis or whatever if that's what you have to do to clear it with the bureaucracy, but you should arrange things so you get the results he delivers without having to see his face.
Re: 10x Engineer
#175Re: 10x Engineer
#176If I'm being generous, I'm a slightly above average engineer. Spot me 10X and I'll outperform any engineer on the planet. Do I believe in the 2X engineer? Definitely. 3X? Sure. 5X? Possibly, if their name is Ritchie or Torvalds or the like. But 10X? What I do in a week, they'd only get 4 hours. What I do in a year, they'd get 5 weeks. Doesn't exist.
The 10x "mythology" doesn't mean 10x productive as an above-average engineer. It means 10x productive as the least-productive. So think of somebody who would consider you a 3x. Now the engineer who is 3x relative to you is just about 10x to them. Now consider the developers with net-zero or net-negative productivity. The 10x rule wildly understates how much more valuable a good engineer is relative to them.
Re: 10x Engineer
#177Earlier quoted context omitted.
I don't know how to respond to that. What meaningful insights am I ignoring that I should be picking up on?
The myth, present in the referenced articles and books, isn't that exists different levels of engineers, but that exists a gap between 1x and 10x.
Re: 10x Engineer
#178Earlier quoted context omitted.
Even the 100x is a simplification, of course. One example (out of an infinite set of them) would be if you need a software system that deals with massive amounts of signal processing on a power constrained real-time DSP chip. There are lots of people out there who are "Senior Software Engineers" at whatever company they work at currently (because they can create website solutions by stacking existing JavaScript frame…
but the criteria to which you ascribe to is one of education and training. A GP is certainly not a neurosurgeon, and therefore cannot possibly do the same job. Ditto with embedded programming vs a "front-end" developer. But, if you consider only embedded programmers, would there be a 100x programmer out there?
Cannot possibly do the same job? Really?
I've done embedded programming, front-end web programming, back-end web programming, desktop app programming for Win32, Qt/Linux, game programming, OS system level programming and currently do mobile app programming, among other types of programming. And I'm not particularly special, I know quite a few other people personally who have done various combinations of these jobs and others at a high level of skill in each specialization. That's sort of my basic point is that really good and flexible programmers are not fungible products you can really ascribe any productively multiplier to.
Re: 10x Engineer
#179Earlier quoted context omitted.
This is a valid thought, but I would piggyback on your comments and add that there are also engineers who put so much thought into their code - usually with the goal of eventual design expansion or reuse - that their code becomes over-engineered to the point that it, too, causes loss of overhead.
There could be two explanations - one is that the engineer who "foresaw" the future requirement just got lucky. The other possible explanation is that they really had a black art in deciding what's needed, and what's not. And black art takes time, and experience, as well as some level of intuition (some might say its heuristic - but heuristic is just shortcuts for lots of gathered experience).
I have done a good deal of studying of UX, I come from a background in testing, and I am now a developer.
Systems I design take all three disciplines into account. A junior UX team asks for something wonky in V1 of their spec, I code it to spec, and then make allowances for what V2 is likely to actually do. Typically a few extra fields in a struct, or designing a state machine to be a bit more flexible than strictly necessary. Maybe I break some logic out of the main class into a secondary independent one that can be passed around.
Re: 10x Engineer
#180Earlier quoted context omitted.
Not to say that anyone is in danger, but you've painted a scenario that strikes me as the backstory for "the guy who cracked, came in to the office, and went on a shooting rampage." This is a highly irrational conclusion, even with the meaningless caveat.
>This is a highly irrational conclusion I would admit to it being illogical, in that I didn't use logic to arrive at that statement. But it's an entirely rational statement: I arrived there via pattern matching, though, and not logic. Is it irrational when I look at a face and recognize it? If not, then why so with other patterns I recognize? And it's not a conclusion at all; it's just an observation. People who are…