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