[HN Gopher] 1x Programming
___________________________________________________________________
1x Programming
Author : davidatbu
Score : 165 points
Date : 2022-04-18 15:07 UTC (7 hours ago)
(HTM) web link (tim.mcnamara.nz)
(TXT) w3m dump (tim.mcnamara.nz)
| angarg12 wrote:
| I praise 1x programmers, but for reasons that might go against
| the grain in HN. I'm from Spain so our working ethic is different
| from the Anglo-Saxon world. "Work to live, don't live to work" as
| the saying goes.
|
| My principles for a 1x programmer:
|
| * Work is a means to an end. A job should support the lifestyle
| you want to achieve, not be an end on itself.
|
| * 9-to-5 is a perfectly reasonable schedule. Fiercely protects
| personal and time off.
|
| * Prefers to spend time with their family or hobbies (e.g. train
| for that marathon) rather than working on a side project in
| Github.
|
| * Strives to do a "good enough" job rather than absolute
| excellence.
|
| * Keeps their skills at a reasonable level to do the job, but
| doesn't necessarily work on continuously improving.
|
| * Most companies don't really need 10x engineers, and would do
| just fine with 1x ones.
|
| Some people might cringe at this list. Some will argue that one
| could never be a good developer following those principles. I'm
| ok with that. I think we should acknowledge for many people
| programming is just a paycheck and they don't share the passion
| of the HN crowd. We should broaden our horizon of what success
| looks like in the development job. Me, for one, feel like some of
| my friends that fit the description are winning at life more than
| I do.
| weinzierl wrote:
| I fully agree with you, that it is important to keep your day
| job separate from the rest of your life and be able to detach
| yourself from work.
|
| However, I believe strongly that you can only have a happy life
| if you love what you do in your day job too. 9-to-5 are too
| many hours to be miserable and wait for end of your work
| day[*]. Also you spend a lot of time with your colleagues. Life
| is short, don't waste that time.
|
| I'm German, by the way, and I'm not sure how well my attitude
| fits the cliche;-)
|
| [*] Don't you have a nicer word for the end of your work day in
| English? In German it is called _" Feierabend_", where _"
| Feier"_ comes from fire but means celebration and "abend" is
| evening. So we have a party evening every day. What an apt
| word.*
| rtlfe wrote:
| > I believe strongly that you can only have a happy life if
| you love what you do in your day job
|
| This is bad news for the huge amount of people with jobs like
| trash collector or grocery bagger.
| munificent wrote:
| I think you're making an assumption here that menial or
| dirty jobs are always unrewarding, but that's not my
| experience.
|
| I've met many people doing the kind of jobs you describe
| who find it satisfying. They may love using their hands,
| making the world a little cleaner, helping others, or just
| like their coworkers. Some say they like the simplicity of
| a job where it's easy to tell when you did it well and you
| never need to take your work home with you. Some find it
| ennobling because of what they pay lets them do.
|
| At the same time, I've met just as many people in
| theoretically "good" jobs like well-paying software
| engineering that are utterly miserable.
|
| It's not the job, it's what the job means to you.
| rtlfe wrote:
| There's a huge difference between "find it satisfying"
| and "love what you do."
| persane wrote:
| "Feier" ist not a fire, I think you mixed that up with
| "Feuer". Though "Feuerabend" could have a really interesting
| meaning if it existed.
| BlargMcLarg wrote:
| This falls apart when there are less jobs than individuals
| who would be happy in that job (extrapolated to all fields
| and interests), or conflicting interests appear. Realism
| doesn't always mesh with that ideal.
| JimBlackwood wrote:
| I mostly agree with this list, I'd just like to add a caveat
| that working on a side-project can be a hobby!
|
| I have some DnD-related campaign ideas that won't work in DnD,
| so I'm trying my hand at making them a pixelart game.
| Definitely a hobby and creative outlet!
|
| OTOH, I'm also trying to write a database implementation in
| modern C++. While fun, it also mostly serves as a "look me
| smart" for future job applications because I'd love for my job
| to be a bit more in depth.
|
| I think it's important to acknowledge the differences!
| BlargMcLarg wrote:
| I think GP points more towards working on side projects for
| the sole sake of showing off over anything else, which is a
| particularly insidious part of "hustle culture" being
| normalized by a lot of "top tech advice". Especially among
| the younger crowd, where the market is far harsher on
| jobseekers and almost everyone is met with skepticism unless
| what they worked on almost perfectly matches what the company
| is already doing.
| linspace wrote:
| > I'm from Spain so our working ethic is different from the
| Anglo-Saxon world.
|
| People adapt to their environment. I don't think there is
| anything ethical involved. Most people have found that their
| best trade off is not caring too much about their careers, a
| byproduct of decades of incredibly low mobility inside the job
| market, because of high unemployment and the legal framework.
| This is not longer true for software, companies are hiring like
| crazy, salaries are going up and people are jumping ships.
| enneff wrote:
| I'm Australian and I agree with your general perspective.
| However I disagree with this:
|
| > Strives to do a "good enough" job rather than absolute
| excellence.
|
| For me, one of my biggest sources of personal satisfaction is
| striving for excellence. Of course I have realistic
| expectations, there are many pressures that may ultimately
| prevent me from achieving excellence, but having the goal of
| being the best at my craft is one of the main things that gives
| meaning to my work.
| AA-BA-94-2A-56 wrote:
| I'm also Australian and let me just say; careful, this is the
| path to burn out.
|
| I spent much of the Easter weekend learning Go, and to me
| that was a solid investment of my time. I do _not_ make a
| habit of coding extracurricularly though. If I want to hone
| my skills or work on a personal project, I 'll do this in
| dead time during my fulltime work.
|
| As an exercise, it is better to improve your ability to get
| things done within the 9-5 window than to allow that to
| balloon into your personal time.
|
| You can still strive for excellence without running yourself
| fullsteam into burnoutland.
| enneff wrote:
| I've experienced burnout. (Probably while producing a lot
| of the docs you consumed learning go, btw ;)
|
| Like I said, I agreed with my parent post's points on just
| working 9-5 (on average I probably work less than that),
| but I just think it's important to try to do things really,
| really well, but within the constraints of having a
| balanced life.
| vlunkr wrote:
| I've been developing professionally for about 10 years in the
| US, and I feel like just in that time frame, the culture is
| shifting more in this relaxed direction. The really intense
| work ethic was pushed by the startup culture. People thought
| they could be the next Zuckerberg. In recent times, we've seen
| countless startups either fail, succeed and become evil Big
| Tech, or fail and become evil anyways like Theranos. On top of
| that, when startups finally get their big payday, the
| developers often get screwed over, so what was all the
| sacrifice for? Working normal hours is just much healthier
| unless you really have some realistic goal that you're
| sprinting for.
| qsort wrote:
| I'm from Italy, very similar country, very similar work ethic.
|
| I agree that, if anything, it's people like me who are weirdly
| obsessive about their jobs to be the odd ones out.
|
| I have a couple drifts about that, though:
|
| - I spend 40+ hours a week in front of a terminal. That is a
| lot of time. Trying to do a good job and finding interest in
| what I do is at least in part a self-defense mechanism: if I'm
| invested in what I do, I'm more likely to be happy at work and
| have positive relations with coworkers.
|
| - It mustn't become a way to fend off productive change.
| Refusing new good practices "because we don't want to learn" or
| "because it's good enough as it is" is incredibly stupid and
| self-destructive. Unfortunately, there's overlap between "it's
| just a job" and "different = bad" attitudes.
|
| It's certainly okay if one is just in for the money, it's none
| of my business to investigate people's motivations. But if you
| want to do this job for the rest of your life, 35 years times
| 48 weeks a year times 40 hours a week is a lot of time, so it's
| not an attitude I'd necessarily _encourage_.
| linspace wrote:
| > Trying to do a good job and finding interest in what I do
| is at least in part a self-defense mechanism
|
| This. Gamification, but for real prizes.
| ratww wrote:
| I agree that this work ethic is indeed healthier and with most
| of the list, but I want to make one caveat: a programmer
| working secretly after hours to deliver more is not really a
| 10x programmer, he's just someone doing unpaid overtime (and
| risking burnout). Truly 10x developers also only work 9-to-5,
| the same as 1x.
|
| I also disagree that continuously improving is unnecessary. It
| absolutely should IMO. But it should happen between 9-to-5, in
| the workplace.
| manmal wrote:
| Is that really a thing, secretly working more to give the
| appearance of higher output, while not even getting paid for
| it? Given the little time we have on this planet, this sounds
| like a suboptimal use of it.
| bcrosby95 wrote:
| The secretly part is usually what doesn't happen. Most brag
| about it. You don't get paid extra regardless because most
| of us are salary and don't get overtime even if you work 80
| hours per week.
| ratww wrote:
| It definitely is. It happens with over-achievers but it
| also happens very frequently with under-achievers.
|
| In jobs where people have quotas it is very visible, seeing
| people scrambling to finish it all by the end of the month,
| to the detriment of their free time. But this is also the
| "secret" of some over-achievers.
|
| It's absolutely unhealthy.
| [deleted]
| mywittyname wrote:
| Crunch times are a thing in a lot of jobs.
| manmal wrote:
| Yes I've had my fill of crunch times. But I always made
| my clients aware if they weren't, and I usually earned
| decent money as a result.
| [deleted]
| systemvoltage wrote:
| I'm the complete opposite as far as it can be.
|
| Work is life. I don't want to spend a third of my life on
| something that's just a "means to an end". It is me. It is
| mine. It is my expression. It's the result of everything I've
| got to give to this world.
|
| So, to each, their own. This game is better played when you
| have skin in the game (equity, control, recognition).
| emodendroket wrote:
| I don't want to do excessive overtime (or overtime at all if I
| can help it, but I'll make an occasional allowance). But I also
| don't really want to be sitting around during the workday
| without things to do. That's its own kind of unpleasant
| experience, to me.
| waynesonfire wrote:
| you're describing an engineer that isn't taken advantage of. In
| my view, a 1x programming == average IQ.
| jjav wrote:
| > Some will argue that one could never be a good developer
| following those principles.
|
| I'll argue those people need a reality check based on how
| things work in every other profession.
|
| My dentist is a great dentist but she works 8am-3pm and most
| decidedly does not spend an additional 8 hours slogging through
| leettooth exercises on topics barely realated to the practice
| of dentistry.
|
| My friend is a respected surgeon, but when he clocks out of the
| hospital he goes cycling and to the beach.
|
| Same goes for pretty much every professional career outside of
| software development. Many of those have continuous education
| requirements, but they are done as part of the job. For example
| my dentist is out several weeks a year on that, not available
| for appointments.
|
| So I agree with the above list, but there's nothing to
| apologize for in it. Working 9-5 and then completely
| disconnecting is the mark of a professional.
| shaftoe444 wrote:
| leettooth lol
| klipt wrote:
| > My friend is a respected surgeon, but when he clocks out of
| the hospital he goes cycling and to the beach.
|
| But to become a surgeon, he probably had to put in ridiculous
| hours for years as a med student and then resident.
|
| Going through that gauntlet is what earned him the reasonable
| hours and good pay, by reducing his competition.
|
| Similarly the people doing leetcode are doing it to stand
| above the competition and make big bucks in silicon valley.
| The people working reasonable hours in Spain are making much
| less extravagant salaries.
|
| Basically the general rule is if you desire above average
| money, you have to put in above average effort at _some_
| point in your career.
|
| If you want to put in average effort, you have to be happy
| with average salary. Which is fine for many people.
|
| But you won't get FAANG/surgeon pay if you never put in above
| average effort.
| vlunkr wrote:
| > Basically the general rule is if you desire above average
| money, you have to put in above average effort at some
| point in your career.
|
| My (probably cynical) take is that most SV devs are also
| 1x. You make the big bucks not just by being a 10x dev, but
| by some combination of going to the right schools, making
| the right connections, learning how to negotiate and when
| to look for new jobs, learning to jump through the big tech
| interview hoops etc. So yeah, you have to put in above
| average effort, but maybe not directly into improving your
| craft.
| gumby wrote:
| > My (probably cynical) take is that most SV devs are
| also 1x.
|
| Not at all cynical and why not? That's basically my
| impression and I've been hiring people here for 30+
| years.
|
| A team needs a mix of people with differing skills and
| interests. Even notice how "all star" games are so
| boring? no sabermetics used in picking those people. And
| in any company, 90+% of the effort is routine stuff,
| especially once you've launched.
|
| This applies to non-programmers too.
| zimpenfish wrote:
| > I'll argue those people need a reality check based on how
| things work in every other profession.
|
| Unfortunately, at least in my recent London experience, those
| people tend to be the ones having the yay/nay in hiring
| decisions.
| gamerDude wrote:
| I think your first principle is applicable to all. * Work is a
| means to an end. A job should support the lifestyle you want to
| achieve, not be an end on itself.
|
| Whether a 10x programmer, a 1x programmer, a startup founder.
| We all have different views on what a well lived life is. Which
| could include being the best or prioritizing things outside
| work.
| epolanski wrote:
| If yours is the definition of a 1x programmer then most are 0.5
| ones.
| cracrecry wrote:
| The principle behind being a 10x programmer is not working
| more, but working less and using tools that multiply you.
|
| The 10x dominates the tools ( and techniques and people and
| capital) that multiply her.
|
| If you have a car you can easily and consistently go 10x faster
| that walking pace. The same applies for your job.
|
| Working on a given company, with access to capital and people
| and tools can multiply you.
| lawn wrote:
| But to become a 10x programmer I think you need to put in
| more effort than if you "only" do your job.
| wvenable wrote:
| To be more than a 1x programmer, you have to work on things
| that are not the most immediate goal all the time. This
| isn't necessarily more effort, it's just different effort,
| and will not have immediate positive outcome for your
| company.
|
| All the biggest and most important productivity and outcome
| enhancing things I've done at work have been done without
| management knowledge or approval.
| ratww wrote:
| Sure, but putting more effort doesn't necessarily means
| working more hours. "Work smarter not harder" also applies
| to improving and applying yourself.
| mjburgess wrote:
| 10x is about the meta, and meta can be the tools (or
| frameworks, metaprogramming, etc.).
| erikerikson wrote:
| Or good judgement and focus.
| mjburgess wrote:
| Sure, by meta I meant to include any system whose target
| is programming -- whereas programming has as its target
| the problem domain.
|
| 10x is systems for the system, including good judgment
| drBonkers wrote:
| What are the tools to multiply yourself in a software
| development setting?
| jensvdh wrote:
| CI/CD and more broadly building abstraction layers and
| automation.
| mediascreen wrote:
| I often find that developers with an interest in product
| development and the business side can make huge
| contribution by suggesting alternative solutions to writing
| more code.
|
| With some gentle pushback on requirements they can help
| clarify what the real issue is. Of course, this has to be
| done carefully or it will quickly get very annoying.
|
| Another useful skill is to have a feeling for when problems
| get too hard and it's time to backtrack. At least in my
| work, most of it is basic CRUD of different varieties. If I
| find myself inventing new things or not finding any answers
| Googling my problem, it's likely that I'm on the wrong
| track and there is a simpler path I missed.
| sokoloff wrote:
| Managed services. S3 instead of building a process to store
| and replicate files on a file system that you manage.
| DynamoDB or RDS instead of managing your own DB.
|
| Libraries instead of cutting your own code for everything.
|
| Effective searching for projects who have already done the
| thing you're about to do.
|
| Sometimes: it's as simple as taking a day or few days to
| think the problem through to ensure you really understand
| it.
|
| Finding a way to deliver the needed functionality in
| Excel/Sheets instead of a custom application.
| Aperocky wrote:
| 10x is a really bad term, it tries to quantify a difference
| without a baseline.
|
| The difference isn't in quantity, but imo rather in
| mentality. Relentlessly automating repeatable tasks can net
| 100x or 2x or 0.5x depending on context, but something that
| don't happen often enough.
| ratww wrote:
| _> 10x is a really bad term, it tries to quantify a
| difference without a baseline._
|
| I believe this is incorrect. The baseline (or 1x) is the
| lowest-performing member of the team. At least that's how I
| learned the term.
| sokoloff wrote:
| The lowest performing member of your team could be
| negative. Or they could be twice as good as the lowest
| performing person on some other team, or they could be
| above the industry average, meaning a 10x programmer
| becomes a 5x or 20x when the team changes.
|
| I've always internalized as a "typical, competent
| programmer" rather than team-specific anything
| (Peopleware's definition notwithstanding).
| torginus wrote:
| 10x can come from many different places, a few examples:
|
| - Person A gets assigned a bug, that there is a memory leak
| in the library, they are familiar with the code, they open up
| the profiler, see that there's an excess of Object X, they
| look for all the allocations, and see that it's not freed in
| one of 3 places. Whereas Person B does not really have a
| really good grasp on how either a library or the profiling
| tools work and mulls around, perhaps has to ask for help, and
| takes a lot more time.
|
| - A is confronted with an algorithmic challenge, they figure
| out an elegant solution in 1 hour, they think it through
| really well, the solution is flawless the first time. B takes
| more time, say 2x, and still are not sure in the solution.
| They implement it nevertheless, and pass it onto QA, who
| finds bugs, and the issue needs to be reconstructed, the code
| rewritten and retested. These things compound and add up.
|
| - Writing tools instead of doing things manually as others
| have pointed out
|
| - Using a library meant to solve a problem instead of rolling
| your own
|
| All these things are based on concrete experiences that
| happened to people around me.
| [deleted]
| _moof wrote:
| I once had a boss who espoused all these principles while
| simultaneously telling us we needed to work nights and weekends
| to hit completely arbitrary deadlines. (American aerospace
| company.) I honestly couldn't believe what I was hearing. I
| stuck around just long enough to hit my cliff, buy a little
| stock, and then run for the hills.
| systemvoltage wrote:
| You can always raise a question (especially in a meeting
| where your entire team is present): "What's driving the
| deadline?"
|
| And then let your boss fumble if they are making things up,
| aka arbitrary deadlines.
| throwaway98797 wrote:
| "because I say so" and now you are never getting promoted
| [deleted]
| windows2020 wrote:
| Perhaps the lowered barrier to entry has resulted in a surplus of
| 0.1x engineers, and 10x engineers are merely 1x.
| karmakaze wrote:
| You don't get to be an Nx programmer by working N times harder or
| longer. You probably have a diverse background of experience and
| well versed in applying knowledge from one area in another, and
| general creative problem solving.
|
| I certainly don't work 2x more than other devs on my team and
| perhaps less than 1x on many days. I do try to stay sharp in
| terms of what I'm doing, why it's being done, and on the lookout
| for alternative means of achieving the same or related ends. I'm
| sure that there's many times I've worked 2x harder, longer and
| produced 0.5x results in a complex and contrived process that I
| thought was more interesting, better in some vague way, or had
| great potential, only to find it should be trashed and done the
| 1x way. Sometimes though that informal R&D pays off in other
| circumstances. I do this because the 8 hours I spend working goes
| by much easier and I don't feel tired at the end of the day doing
| something I feel is ineffective.
|
| I haven't even done this for advancement in my career although
| it's a major factor that's considered when praising 1x. To each
| their own.
| unwind wrote:
| Has anyone published some kind of quantified, "hard"
| comparison/survey about the relative productivity of programmers?
|
| It would be very interesting with a clean "we asked n programmers
| to solve this"-type problem, and then being able to compare the
| solutions.
|
| Uh, did I just sound like I wanted to work in recruiting? #fail
| theamk wrote:
| There is a link to this right in the post. In fact, it is the
| first link in the post. Here it is:
|
| https://href.li/?https://third-bit.com/talks/greatest-hits/?...
| Izkata wrote:
| About a decade ago my company had a thing set up where were
| could complete coding challenges and other devs would rate them
| anonymously (so you couldn't rate a specific person highly
| unless you recognized their style). Once you completed a
| challenge you could see others' submissions and a ranking of
| how much someone's solutions were liked. Ordering was fairly
| consistent, with a few people recognizably always being in the
| top third or so (out of around 15-25 people who bothered to try
| the challenges, IIRC).
|
| The original purpose of these challenges were to help people
| learn python, as we'd just officially moved to it not long
| before I joined, so to give an idea of the complexity involved,
| the only one I can remember was "implement a brainfuck
| interpreter". It was really interesting to see the different
| ways people organized code that did the same thing.
| unwind wrote:
| Wow, that sounds like a lot of fun and also (if the culture
| is right) like a great learning opportunity for many on the
| team. Since this was done at work, it kind of suggests a good
| culture, obviously.
|
| Thanks for sharing!
| crispyambulance wrote:
| No one has figured this out-- not for programmers and not for
| any other profession. It's certainly possible for individuals
| to develop good or bad reputations, but to be able to
| accurately evaluate how anyone will do in a job in the absence
| of other data is very much hit-or-miss. The most elite orgs
| might LOOK LIKE they figured it out, but how much of that is
| really their process vs just being able to attract talent
| because of compensation or reputation? How much of it is more a
| matter of being able to churn through people and replace people
| that get hired but can't hack it once they're in? How much of
| it is skillful use of professional referrals?
|
| > It would be very interesting with a clean "we asked n
| programmers to solve this"-type problem [...]
|
| It's been done, right? There's all those whiteboard interviews
| that highly resourced orgs study endlessly. There's a whole
| industry around preparing for these things. What do we have to
| show for it as an industry? Not much. If the stories are to be
| believed, folks are still flunking "fizz-buzz" at alarming
| rates.
| ratww wrote:
| At several companies I worked for, by using Scrum Points, it
| was always visible that the most experienced devs were able to
| regularly deliver a multiple (definitely around 10x) more
| points than interns and about 2x more than the average dev. Not
| a perfect metric by any means, of course, but definitely
| quantifiable and observable. Metrics for LOC and commits/PRs
| made also followed a similar pattern. Again, not perfect
| metrics, but it's what we had.
|
| Like another poster said [0], it's not really 10x the average,
| it's 10x when comparing best vs worst.
|
| [0] https://news.ycombinator.com/item?id=31074087
| [deleted]
| torginus wrote:
| The problem with this metric is it can be gamed. We had
| something similar, and there was a huge 'meta' over who gets
| the shiny new features, and who has to fix the legacy code
| which was like Jenga, and a single misstep could break
| thousands of tests, and writing code was like playing
| minesweeper.
|
| The people who won the 'meta', got to be the most productive.
|
| Thing is, probably the guy who fixed a bug in the legacy
| hairball by writing 10 lines of code produced tons of value
| for the organization (those unit tests weren't for show, they
| were customer use cases), while the other one only produced
| some, if the fancy new feature got adopted.
| Trasmatta wrote:
| Are you certain the devs getting 2x more points than the
| average dev weren't just consistently picking the easier
| stories? Or estimating story points vastly differently than
| other members of the team?
|
| In my experience, story points can be worse than no
| estimation. They give the illusion of insight, but in reality
| there's so much noise and inconsistency in point estimation,
| that they're almost never accurate measures.
| flakiness wrote:
| You might like this site https://neverworkintheory.org/date/
|
| It reviews academic papers in that kind (empirical software
| engineering).
| overgard wrote:
| To me, a big part of multiplying your programming efficiency
| isn't about a crazy investment of time or ruining your other
| priorities in life, it's more about objectively looking at how
| you work and removing or minimizing the things that are a waste
| of time. It's really about self reflection. Are you spending a
| lot of time hunting and pecking through menus? Why not learn the
| keyboard shortcuts? Are you confused about part of your tech
| stack, maybe the build system? It might be worth a couple hours
| to get a solid foundation rather than leaving it as a mystery
| box. There are huge improvements in time saved from cleaning up a
| lot of little things.
|
| The other thing, I think, comes down to losing your religion. For
| instance, people tend to treat SOLID religiously. I won't claim
| whether those principles are right or wrong, but what I don't see
| a lot of programmers do is consider why they believe those things
| (a blog told them to do it?), and whether those concepts fit into
| what they're currently doing. Is dependency injection actually
| simplifying your life? I'm not saying it's a bad idea, I just
| think a lot of programmers cargo cult things without considering
| the context they were invented in. The most efficient coders I
| know rarely over-architect things.
| saila wrote:
| I made another comment about this elsewhere in this thread, but
| many programmers don't seem motivated to learn these
| productivity multipliers. There's a huge difference between
| "it's just a job" and "it's a job but I (at least usually)
| enjoy it."
|
| I've never quite understood this because learning skills and
| techniques as described above makes the job easier and more
| enjoyable IMO, but I also can't fault people for not caring too
| much because in the end it is just a job.
| buffington wrote:
| When you disable the default behavior of the browser's back
| button, are you being a 1x programmer, or just rude?
| dsr_ wrote:
| In Peopleware, DeMarco and Lister write: Count
| on the best people outperforming the worst by about 10:1.
| Count on the best performer being about 2.5 times better than the
| median performer. Count on the half that are better-than-
| median performers outdoing the other half by more than 2:1.
|
| What nearly everyone who has read that remembers is the
| following: The best people outperform the
| average by 10x.
|
| Spot a difference?
| troupe wrote:
| If the worst performers on the team weren't creating negative
| value (the team would be more productive without them) then
| that was an incredibly good team to start with.
| chrisweekly wrote:
| Tangent: apparently contra DeMarco and Lister, I'd argue that
| "the worst" are often outright detrimental to a team or
| project. Which in turn makes me question the "math".
| ravedave5 wrote:
| I'll never forget having a negatively productive programmer
| on my team. If he spent an hour on a PR it would take 1.5+
| hours of work to get the PR into shape to merge by other
| people because it took so much explaining for this guy. It
| was usually better to just scrap his code and start over. If
| code of his did slip through reviews often times there would
| be production defects that would then take more time to solve
| (tracking down the issue, figuring out where the code was,
| overhead of service tickets etc) than the original
| implementation. Just totally wild, he had somehow survived
| years in the org being shipped from team to team and being a
| nice pleasant guy to be around. How does one calculate the
| productiveness of someone on a team compared to that?
| saila wrote:
| Being outwardly pleasant can take precedence over just
| about anything. I find it ironic as this can lead to a lot
| of other unpleasantness, perhaps even resentment, people
| leaving, etc.
|
| Being technically competent while also being perceived as
| merely neutral personality wise can lead to a lower overall
| qualitative evaluation, potentially affecting raises,
| promotions, etc.
|
| I guess the lesson is that you (almost) always have to play
| the game or at least that playing the game well can yield
| many personal benefits.
| goto11 wrote:
| The original study was timing how fast developers could solve
| a given task. The slowest took 10x the time of the fastest.
| With this setup you can't really get negative results. And
| participants who didn't finish the task were excluded from
| the results.
|
| A summary of the research:
| https://www.construx.com/blog/productivity-variations-
| among-...
|
| I don't think there is anything wrong with the math, it is
| just that real-world productivity is not as easy to measure.
| The study didn't measure the "maintainability" of the
| resulting solutions, only how fast they were completed.
| ratww wrote:
| It is an interesting observation when put side by side with
| the sibling post [0].
|
| I think it really depends.
|
| A senior that is 10x more productive than an intern or
| junior? That's perfectly fine, they are here to learn.
|
| A mid-level dev that is 10x more productive than another mid-
| level? A bit of a red flag, and probably detrimental to the
| morale of the team.
|
| [0] https://news.ycombinator.com/item?id=31074653
| jasode wrote:
| _> Spot a difference?_
|
| The difference you point out doesn't matter because not
| everyone who uses "10x" _in conversation_ is rigorously tracing
| it back to the 1987 DeMarco and Lister "Peopleware".
|
| And arguably, the "10x" had earlier origins in the 1968s
| studies by Sackman, Erikson, and Grant :
| https://www.google.com/search?q=10x+Sackman%2C+Erikson%2C+an...
|
| But again, that 1968 origin doesn't matter because many people
| are just using "10x" as a rhetorical synonym for _" really good
| programmer that's much better than average"_.
| parentheses wrote:
| Based on this a median programmer is a 4x engineer
| [deleted]
| mirceal wrote:
| this aligns with the hypothesis that some people have that a
| handful of people do most of the work (and the others are the
| "worst" performers").
|
| What this misses, is that in any highly functioning teams
| everyone is important and in order for the "rockstar" to be the
| "rockstar" they need people to help keep the machines running
| and to support them. This is usually why a team that has a mix
| of both veterans and newbies works so well. Everyone can
| operate at their own level while learning and growing. Is the
| veteran a 10x when compared to a newbie? If you make up some
| metrics, maybe, but the veteran cannot do meaningful work
| without the newbs (think rock concert without all the
| supporting crew. could any band do their own concerts without
| all the supporting crew?)
| addaon wrote:
| The problem with dealing with these concepts quantitatively
| rather than qualitatively is that the deeper you dig, the less
| sense this sort of statement makes. There's two ways to read
| your quote. If "the best people" are the best in an absolute
| sense -- say, the top ten in the profession -- then the chance
| that /your team/ will sample the long tail of these high
| performers depends on the size of the team, but is nearly zero
| for any reasonable team size. And the distribution described is
| non-normal, with long tails skewing towards high performance.
| So if /the/ best people outperform /the/ worst by 10:1, /your/
| best will outperform /your/ worst by less than 10:1.
| Alternately, if the statement is true for a typical team, then
| the expectation varies significantly with team size -- which
| has changed (in my impression, for smaller overall teams in
| many cases) since Peopleware was written.
| jerf wrote:
| Also note how sensitive the 10x number will mathematically be
| to your assessment of "the worst".
|
| Since I believe in the existence of negative-value programmers,
| being 10x "more" than the worst would actually be a very bad
| thing.
| rileymat2 wrote:
| McConnell from code complete mention this, because in one of
| the studies the multiplier only comes from people who
| completed the task, meaning in actuality it was infinite.
| phendrenad2 wrote:
| I've never met a 10x engineer. (Does that make me the 10x
| engineer? I doubt it).
|
| Personally I believe that the myth of the 10x engineer comes from
| the very real and very visible fact that often times, one
| engineer will be 10x as productive as someone sitting in the next
| desk over. Why is this? There are numerous factors, and certainly
| innate skill and programming practice come into play. But I think
| that only gets you to, at maximum, 2x the average. To get to the
| perceived "10x" you need luck, the right mindset, and a the buy-
| in from management to push others aside and take on the most
| juicy projects (which is self-reinforcing once management sees
| you as a "10x engineer"). "Stealing the Corner Office" is a good
| book on such tactics (although it ostensibly applies to middle-
| managers).
| [deleted]
| latenightcoding wrote:
| I have and I'm sure others here have too. It's usually people
| who are not only skilled coders but are capable of staying
| ultra focused for longer hours. Go check you favorite team
| project on github and open the list of contributors, notice
| anything?
| nescioquid wrote:
| Nor have I, but I did work with someone who was regarded as
| such at a company I worked for. He got the reputation for
| shipping features fast, but everything he did was quick and
| dirty. This lead to some resentment with other developers
| tasked with extending the new features he shipped - invariably
| the simple extension to the feature would take longer than the
| original feature. Instead of indicating that everything this
| guy ships is a nightmare to work with, it further cemented the
| notion that this guy was a 10xer.
| ratww wrote:
| That's not really a 10x if they're doing a crappy job. I can
| close hundreds of bug tickets saying "not reproducible"
| without really trying, but that doesn't mean I was
| productive.
| ipaddr wrote:
| Remember it's 10 times better than the worst not average
| programmer. On average a 10x would be 2.5 better than average.
| If you think you are average or slightly above average a 10x
| programmer would look like a 2x to you.
| davidatbu wrote:
| > Synthesis is essence of software engineering, whereas
| abstraction is the essence of computer science. Your job as a
| software developer will be to synthesise something new from
| composable pieces. What you create should be simple to understand
| and extend.
|
| Loved this.
| auggierose wrote:
| This is definitely a 1x rule. ;-)
| Floegipoky wrote:
| It's a nice quote, but I really disagree with this section.
| Yes, software development is more concrete than computer
| science, but abstraction is so, so important. The author
| acknowledges the value of simplicity, but simple code is only
| produced by choosing the right abstractions. Getting even 1 key
| abstraction wrong can create enough "friction" to eventually
| kill a product if the tech debt isn't managed well.
|
| 99.5% of a car mechanic's job is assembling/disassembling pre-
| made components, but they still need to understand how a car
| works.
| krossitalk wrote:
| Don't. Hijack. The. Back. Button.
| ChrisMarshallNY wrote:
| Yup. That was gonna be my post.
| dang wrote:
| " _Please don 't complain about tangential annoyances--things
| like article or website formats, name collisions, or back-
| button breakage. They're too common to be interesting._"
|
| https://news.ycombinator.com/newsguidelines.html
| parentheses wrote:
| I feel articles like this make not working hard seem like hard
| work. The sacrifices made to achieve in one's career are mostly
| intentional ones. The flaw of thinking there is more often about
| the unrealistic expectations of the outcomes.
|
| Saying "it's ok to not achieve big" is akin to staying "it's ok
| to be normal" which is the definition of normal as far as humans
| are concerned.
| raz32dust wrote:
| If by 10x, you mean engineers that add 10x more value compared to
| an average engineer in the team, then from working 10+ years in
| the industry, it is abundantly clear to me that 10x programmers
| exist, and a good team is likely to have 5-10% of those. However,
| these engineers are rare, and when you do find them, they are not
| perfect. They might have flaws in other areas - communication and
| teamwork is a common one.
|
| Most of these anti-10x engineer posts either assume a different
| meaning of 10x engineer or are unable to accept that engineering
| is a skill just like every other skill, there are masters and not
| every one can be a master. Every person cannot be a great
| engineer. Every engineer in your company/team does not need to be
| a master. But you need a few of them to be successful if software
| engineering is critical for your product.
| torginus wrote:
| The thing about communication skills, how eager would you be to
| communicate with others if you knew in the time it took you to
| explain the problem to someone else, them allocating time to do
| it, doing it, then reviewing the results, and fixing the
| issues, you could do it twice over? Some coworkers are like
| that unfortunately.
| tester756 wrote:
| I don't really like to write it, but it also works both ways -
| there are also "-10x" programmers, they peak in a opposite way
|
| It's a mix of chaotic tech skills, approach to technology,
| terrible communication and ego.
| twobitshifter wrote:
| I somewhat agree, lurking in this post is a strawman of a 10x
| programmer, who demonstrates negative qualities, but that might
| not be who a 10x programmer really is, or someone else's own
| definition of a 10x programmer.
|
| I still bookmarked the post because after stripping away the
| negative 10x stuff there is good material on how to be a
| quality team member.
| [deleted]
| ratww wrote:
| I find these stereotypes very reductive, and having a bit of
| prejudice.
|
| Being unproductive is not a guarantee of having good
| communication skills, and likewise being being highly-
| productive is not a guarantee of being bad at communication.
|
| If communication is part of the job, in the case of seniors
| mentoring juniors, for example, then lack of communication
| skills would definitely prevent someone from being a "10x".
| Sodman wrote:
| I think a big contributor to this "Brilliant asshole" trope
| is that if you ignore some things like teamwork/communication
| it's a lot easier to _appear_ to be doing 10x the work. This
| can manifest in so many ways...
|
| Not doing any code reviews? Leaving tests "for somebody else
| to write"? Refusing to work on legacy code-bases and only
| working on greenfield projects? Tuning out (or just not even
| joining) API design meetings so you can work on your own
| stuff? Bonus points if you have the authority to turn around
| in a few weeks and make folks re-write the API because you
| don't like the decisions you ignored - those pesky 1x
| engineers, eh?
|
| There's a bunch of things that fit into this category that
| can make an engineer _seem_ like they 're doing 10x the work,
| but if you look closer it's frequently only because they're
| taking shortcuts or pushing more work onto their colleagues.
|
| To be clear - I'm not saying 10x engineers don't exist, just
| that folks with "teamwork issues" who appear to output 10x as
| many features are frequently not as productive as they seem.
| raz32dust wrote:
| Didn't mean to discount communication issues. They are
| definitely a blocker for growth and impact. The best
| engineers I worked with had these issues, but worked on them
| and improved over time to increase their impact.
| outside1234 wrote:
| Thanks for writing this - as you get more senior one of the
| things you realize is that the people involved in software are
| more important than the software itself.
|
| Optimize for the people: The users, the community (either your
| team or the open source project community), and the stakeholders
| in your software's success. The code is a tool that you can use
| to make those people happier and more successful.
| henning wrote:
| There is plenty of room for excellence in the humble day-to-day
| glue programming this post talks about. There are arguably better
| and worse glue programmers. I have gotten better at doing the
| kind of work the post describes. I also think macho bullshit
| posted by VCs talking about "losers", "10x engineers", and "shape
| manipulators" who haven't written production code in decades if
| they ever did and have never written the kind of code I write is
| bullshit.
| kbenson wrote:
| I'm not sure I've ever heard of a "shape manipulator" before,
| and I'm at such a loss as to what it could be that Google isn't
| super useful without additional context to lean on. The only
| thing I saw that might fit would be NumPy arrary shape
| manipulation.
|
| Anyone care to expand on what a shape manipulator is and where
| that came from?
| joliu wrote:
| Shape Rotator. That is the meme.
| robocat wrote:
| shape rotator (also numbercel) - STEM type person - engineer
| stereotype good at visualisation (can pass minds-eye shape
| rotation intelligence tests).
|
| wordcel - stereotyped humanities or liberal arts person (or
| sales?) - word with suffix of cel (meme templated from incel
| etcetera but without that original meaning).
|
| https://knowyourmeme.com/memes/cultures/wordcel-shape-
| rotato...
|
| https://melmagazine.com/en-us/story/wordcels-numbercels-
| defi...
| Firmwarrior wrote:
| It's a meme that says some people are better at visualizing
| and mentally manipulating 3D images in their heads, and it
| implies that those people can use the same brain hardware to
| accomplish amazing feats of engineering
|
| I dunno if there's any truth to it at all.. I think most of
| programming is less of an inspired act of genius and more of
| a tradeskill like plumbing or roofing.
|
| I'm pretty sure there are tasks out there that I could get
| done in a month even though they'd take a team of 10 people
| 10 months to do, but if I trained those same people they
| could probably come close to my performance.
| marginalia_nu wrote:
| > I'm pretty sure there are tasks out there that I could
| get done in a month even though they'd take a team of 10
| people 10 months to do, but if I trained those same people
| they could probably come close to my performance.
|
| Part of this may just be how we work in teams, versus in
| isolation. Like I built an Internet search engine alone, as
| a hobby, in less than a year.
|
| If I was a member of a team of 10 people tasked with
| building a search engine in a year, I'm not sure we'd be
| able to complete on time following standard software
| engineering practices. So much time is lost iterating on
| designs and pair programming and having daily standups and
| looking at burndown charts and coming up with goals and
| debating the definition-of-done for each task and having
| meetings with stakeholders and preparing/having demos and
| drinking coffee and iterating on API interfaces and
| discussing code standards and so on.
|
| While sure, that makes me 10x more effective than that
| team, but that is a hypothetical team including myself. In
| reality, I have a modicum of talent that is magnified with
| an extremely effective way of producing code quickly.
|
| To be very clear: _I 'm not saying all these things aren't
| there for a reason_, it is only when myopically focusing on
| shipping code that I appear like a miracle that is 10x
| faster than myself.
| bragr wrote:
| >Even if you're coding for yourself, you're still coding for a
| team. Your future self will not have the same cognitive context
| that you do currently.
|
| This. I've definitely cursed the author of some code only to
| realize it was me 5 years ago and I have absolutely no memory of
| the code or the problem.
| bee_rider wrote:
| Should we read this as an implicit comparison to what a 10x
| programmer is? It seems like this is mostly just having a sane
| work-life balance and actually targeting deliverables. I guess
| I'd expect a 10x programmer to have a bad work-life balance, but
| also still target deliverables... just somehow, better (I'm not
| sure I understand what a 10x programmer is supposed to be).
|
| > Users care about themselves. To them, they need to be the
| primary priority. This rift causes a problem when _open source
| maintainers decide that their users are indeed secondary._ But
| that might be the theme of a future post.
|
| That came from out of left field.
|
| I enjoy using open source programs, but understand that open
| source software is released to the universe as a favor, and the
| author has no obligation toward users like me. The ideal form of
| open source is just that you solved your own problem, and were
| kind enough to share the solution with the rest of us. If I
| wanted my needs to be a priority, I'd look for a relationship
| where I was the customer. The only issue I can see with letting
| user needs become secondary is that this is far too high of a
| priority, it leads to confusion and might infest the project with
| an unhealthy customer-service mindset.
| duxup wrote:
| Way back when I first saw the 10x engineer proclamations I
| actually thought they were ... a joke. Like a meme or something.
|
| They described a lot of anti social and strait up toxic behavior
| and seemed to glorify it. It was absurd. It seemed like the kind
| of behavior that would all but ensure someone thinks they're so
| much more productive than everyone else, and would prevent them
| from ever seeing that they aren't.
|
| I was a bit dismayed when I realized they were serious...
| cryptonector wrote:
| I know one 10x engineer. He doesn't work 10x harder. He's just
| wired to be very productive.
| torginus wrote:
| Unfortunately (or fortunately) there certainly are 10x
| engineers, and if they happen to be your coworkers, that's the
| most amazing thing in life. It's the difference between handing
| a task over to someone, and finding next day that it's done in
| amazing quality and finding they haven't made any progress at
| all.
|
| And in my experience, these people usually are not braggarts or
| have huge egos, they are just really good at solving problems
| expediently.
|
| Some make a great career out of it, many get stuck in the
| trenches.
| saila wrote:
| Another huge factor is that some people actually enjoy
| programming, which is not to say there's anything wrong with
| people who don't, but when you're having fun writing code
| it's going to be much easier to be productive than when you
| view every task as a slog, and it honestly seems like there's
| more of the latter than the former.
|
| Again, I want to emphasize that there's nothing wrong with
| being a programmer who's not super into programming in most
| work environments, but along with aptitude, experience, and
| what not, actually enjoying the task can make a _big_
| difference.
| psyc wrote:
| I always found these discussions absurd as well. I've worked
| with people who were great team players (usually leads and
| principles, actually) who also produced quality code in a much
| shorter timeframe than anybody else. They also tended to be
| amazing mentors and role models.
|
| I'll glorify that all day.
| Msw242 wrote:
| We have a small team (8 devs) and we've focused a ton of energy
| on developer experience and ergonomics to reduce the cost of
| contribution and code reviews, and facilitate interaction with
| other stakeholders.
|
| I'm confident at this point that we've doubled productivity,
| which would make our "Head of" a 10x engineer :)
| jt2190 wrote:
| > Doubled productivity... 10x...
|
| Since we're putting numbers on things, how did we go from 2x
| to 10x?
| Macha wrote:
| That 2x is being assumed to apply to all 8 devs, so if you
| 2x the performance of 8 devs you get 8 extra devs worth of
| productivity. I assume the logic is that if that took 1
| person worth of effort, then that person had 8x output.
| Msw242 wrote:
| Yeah, exactly! I think 8x is basically 10x (less than one
| magnitude difference). You got my math
| [deleted]
| throwaway889900 wrote:
| Logarithms probably
| mtc010170 wrote:
| I imagine they're saying that since the team is overall
| twice as productive, you could say this manager who got
| them there made each individual 2x productive. And if you
| add all those together you have > 10x impact.
|
| Napkin pseudo math for sure.. but when has that even
| stopped us from categorizing engineers with these labels.
| duxup wrote:
| It's only 10x if he is so productive that he doesn't have
| time for his teammates;)
| aaaaarghZombies wrote:
| I think they mean by helping 8 people double productivity
| they achieved at least 10x maybe 16x
|
| I suppose you could also be 10x everyone else you work with
| by deliberately sabotaging the rest of your team...
| kevmo314 wrote:
| If 8 people double their productivity then they'd be
| 256x. Talk about impact!
| sokoloff wrote:
| Doubling is 10x in base 2.
| jollybean wrote:
| Most programmers are -X programmers.
|
| Anything above +0.5 is fine.
|
| 2 is amazing.
|
| Above that it's in spurts, luck, or some kind of specific focus
| or area of focus and it's usually necessary and you risk actually
| having failure, in which the >2x is mitigated by failure back to
| something normalized lower.
| emodendroket wrote:
| Undoubtedly there are many skills other than programming that go
| into making a successful project. But if I hire an accountant I
| don't necessarily want career advice from him. Similarly, I'll
| give my opinions from a technical standpoint, but I don't tell my
| boss what product he wants to sell.
| [deleted]
| sgadimbayli wrote:
| I really don't mind 1x programmer/programming, hell, probably am
| myself.
|
| Most companies don't as well. Issue lies with people who create
| work for others on every task they are assinged to work on.
| Hence, -1, negative net developers, and there are plenty of them
| everywhere.
| bugmen0t wrote:
| Heard of https://1x.engineer/ ?
| abhaynayar wrote:
| > However, I want you to know that you're not a lessor person...
|
| "Lessor" is a person who leases a property. The author probably
| confused it with "lesser".
|
| Unless there's a correlation between leasing and programming...
| hmmmm.
| gernb wrote:
| Something that came up recenty for me. I took a job at FAANG
| company and my productivity from my POV sucks! I doubt I've
| written more than 2k lines of code in 9 months! I'm debugging
| hardware/driver issues in a giant code base (~250k files) that I
| don't know and APIs I've not used before.
|
| Conversely, in my own hobby code I wrote ~2k lines in the last 10
| days.
|
| It makes me wonder how often 10x is about circumstance vs
| programmer skill
| P_I_Staker wrote:
| > I've written more than 2k lines of code in 9 months!
|
| I don't find this astonishing at all. That being said, I work
| in an industry riddled with red tape and debugging. It wouldn't
| be a shock to me if you wrote less than 200 lines, maybe even
| less than 20-50.
|
| > It makes me wonder how often 10x is about circumstance vs
| programmer skill
|
| Often times it is.
| Aperocky wrote:
| I don't think the original 10x programmer was by measuring
| lines of code they wrote at all..
| mirceal wrote:
| the number of lines you write is almost irrelevant. People need
| to put the equal sign between lines of code written and
| productivity. Some of the most awesome and productive people
| I've worked with actually removed more code than they wrote.
| Code is a liability. There is no code like no code. Focus on
| the problem not the number of lines of code
| gombosg wrote:
| Engineering productivity is not measured by LoC but by business
| outcomes, that's also what the author of the article is arguing
| about.
|
| I'm not so fond of the phrase "software engineer" in that it's
| not a hard engineering discipline such as civil engineering.
| But companies need software developers who think and act like
| engineers. Engineers in general solve technical problems by
| applying methodical design, problem solving skills and having
| technical expertise.
|
| Unless one works in a nonprofit or academic area, engineers are
| solving business problems for companies. Modern software
| companies with agile methodologies push engineers close to the
| business side, allowing them to add the most business value. Of
| course, many businesses suck at this and treat engineers like
| factory workers instead of creative individuals.
|
| This varies a lot, depending on whether you're at a 10 person
| startup or at a FAANG company. Usually if the company has
| decent management then they have clear expectations of every
| position. In your case, this could be number of tickets solved
| or any other metric, but usually not lines of code. At least, I
| hope. :)
| enneff wrote:
| If you're debugging then it's not surprising that you're
| writing few lines of code, but that kind of work tends to have
| huge impact for users.
| AlchemistCamp wrote:
| This is interesting to see, having been slowly going through
| Tim's book _Rust in Action_ when I get the time.
|
| I think he did a great job with the book, but I still lean a bit
| more towards enjoying not just programming but the CS-side of the
| work. It feels great to make an ergonomic, dev-friendly API. It
| also feels great to leverage mathematics to do something faster
| or better with software than otherwise possible.
| johnqian wrote:
| The term "10x engineer" always leads to incongruous conversation.
| Everyone has a different impression of what a 10x engineer is,
| depending on who they've met and how much they enjoy coding.
| There's those who think 10x = not team player, and there's those
| who've met an engineer who's both extremely productive and
| likable. There's those who think 10x = no life inevitable
| burnout, and those who realize there are people who genuinely
| enjoy programming more than "normal" hobbies, along with people
| who are unusually productive but otherwise normal.
|
| This author believes that "10x programmers care about the code.
| Everything else is secondary." That seems even more arbitrary
| than other definitions.
|
| I say we let the term become a joke meme and nothing more.
| hello_popppet wrote:
| no_wizard wrote:
| I think this is one of those things where its a question of what
| you're optimizing for. I don't like boxing solutions into `10x`
| or `1x` or whatever. I think this misses the entire point. It
| also assumes that single software engineers can make or break a
| project or company, and this is rarely the real case, even if it
| feels like it is.
|
| I think an often missed piece in the formula is systematic
| incentives. At a company, this really means culture and process.
| If you have a culture and process of incentivizing novel
| solutions and so called `10x` behaviors, you'll have lots of
| `10x` developers, systems tend to produce the outputs that you
| foster. If you have proper incentives for high throughput, you
| will get it. No one engineer is "born" better than the other,
| like stated in the article, but a culture that fosters making
| good choices as a whole will see results align. This is how you
| can 10x your teams, regardless of individuals.
|
| I think another way to look at is this: you're likely not the
| Yankees, you're the Oakland A's. Don't optimize for knockouts,
| optimize for runs[0].
|
| [0]: https://en.wikipedia.org/wiki/Moneyball
| BlargMcLarg wrote:
| Pretty much. There are various ways to optimize, but the far
| majority of them depend on circumstances almost fully
| controllable by the company, rather than a lucky shot getting
| more and more whizkids.
|
| Foresight, support and tutoring are three ways I can think of
| that would generate a "10x". Foresight in making better
| decisions which won't boggle down development later down the
| line. Support in the form of automating busy work, developing
| tools, removing impediments and making people more eager to
| develop (notice how some of these are not dependent on
| developers). Tutoring through making other people more
| efficient and raising new ICs.
|
| All three of these are highly dependent on circumstances set by
| management. You're not getting the time to automate if
| management continuously pushes you to fix issues and work on
| the next non-workflow-related issue. You're not getting a lot
| of time to think about the best solution if the first working
| prototype is what's expanded on despite there being obvious
| flaws requiring exploration. No quality teaching if individuals
| aren't given time to prepare teaching materials and others
| aren't given time to listen. The list goes on.
|
| In all likelihood you'll still need someone eager enough to go
| grab the knowledge and then distribute it in some form (how
| else are things going to change?), but it takes away the need
| to fill _every_ position with a whizkid.
| temp8964 wrote:
| lcnPylGDnU4H9OF wrote:
| I imagine the point would be that pg writes many controversial
| things - with some of which the author explicitly disagrees -
| but this is one thing on which they do not disagree.
|
| Let's suppose, for the sake of argument, that Newton once
| wrote, "The sky would be most accurately described as
| applesauce." (The absurdity is there to suggest that you would
| not agree. Take something more mild but still controversial and
| I don't see how it's different.)
|
| > I don't agree with everything that Newton said but F=ma.
| Lamad123 wrote:
| 10X bullshitters are a rare breed!
| erikerikson wrote:
| To me this seems like an alternate description of how one trends
| towards increased effectiveness in programming. I've known 10x
| programmers that will put the entire team in a position of
| reacting to that one person's work so that rather than scaling it
| actually reduces to total productivity. This person was
| unfortunately trying to build a business.
| latenightcoding wrote:
| I agree with almost everything here, but the essay is all over
| the place: it starts by trying to convince the reader that it's
| ok to be a 1x programmer and then proceeds to give pointers on
| how to write simpler code and how to work better on teams (which
| are different topics and skills that many 10xers possess)
| [deleted]
| jchw wrote:
| I'm beginning to feel as though there simply isn't that much
| novel code to write anyways. I very _very_ much agree that
| programming is not inherently valuable, and is merely just a
| tool; I say this even as someone who got into programming at a
| young age and enjoys it for the sake of it.
|
| I think in some narrow domains I can write interesting, and
| perhaps even mildly novel code. But a _huge_ majority of the
| time, working for smaller startups, or Google, or myself, the
| majority of code I'm writing is something that has already been
| done in another form but I can't use it for some reason. Maybe it
| does similar things, but it explicitly doesn't try to solve _my_
| particular version of a problem. Maybe the license doesn't work.
| Maybe it's almost perfect, but it's buggy or slow. Or hell, maybe
| I'm being a meme programmer and rewriting perfectly good code in
| Go or Rust just because I want to have the same thing but
| integrated with my favorite languages and tools.
|
| The world of open source also changes things. You most likely
| should not hire someone to write a TLS stack. It's not worth it.
| Chances are, a good TLS stack is not a feature that will set you
| apart, if it differentiates you at all in any _positive_ ways. If
| you want to do things that existing TLS stacks don't, it can
| still make sense to hire an expert, if that's your thing. But,
| most of the time, _even then_ , it would probably make the most
| sense to soft fork or upstream changes to an existing robust TLS
| library. Because of open source, it makes exceedingly little
| sense to actually have one entity maintain their own novel bits
| unless they're unique and related to how the product
| differentiates itself. And even then, in some cases, it makes
| more strategic sense to just open source your bits anyways, and
| make yourself the standard. Google releasing Kubernetes is a
| great example; you can probably find many projects in the open
| source world, like Cockroach, which are basically clones of
| Google things they only released in a limited form, so the rest
| of the world went and standardized on non-Google implementations,
| and the Google versions didn't benefit from cross-collaboration
| and the generalization of internal hacks. This also rings true
| for Facebook and React.
|
| I think most programmers, given enough time and initiative and
| effort, could build cool and novel software, but the fact is, we
| don't need novel software most of the time. We need _better
| boring software_. More general, less buggy, faster. If that's
| depressing, well, I guess so be it. But there's also a lot of
| toilets to clean out there, and someone has to do that, too. I
| can't complain if it doesn't feel like my work is exactly writing
| my name into history.
| bool3max wrote:
| > ... , we don't need novel software most of the time. We need
| better boring software. More general, less buggy, faster.
|
| Doesn't producing that kind of software involve _novel_ ,
| interesting ideas in the first place?
| jchw wrote:
| It's only very slightly novel to apply solutions that we
| already know exist that were designed to solve a class of
| problems to a problem that nobody has done so for so far. Not
| being novel doesn't mean it isn't useful, though.
| markus_zhang wrote:
| I agree with the gist but in my dream I'd like to find a system
| programming niche that I can drill down and be really good at it,
| maybe even top 100 in the world.
___________________________________________________________________
(page generated 2022-04-18 23:01 UTC)