[HN Gopher] Productivity and Velocity
       ___________________________________________________________________
        
       Productivity and Velocity
        
       Author : davidmckenna
       Score  : 78 points
       Date   : 2021-10-15 19:28 UTC (3 hours ago)
        
 (HTM) web link (danluu.com)
 (TXT) w3m dump (danluu.com)
        
       | minihat wrote:
       | The actionable advice in this post: 1) Track where you spend your
       | time 2) Apply deliberate practice to improve where you are
       | weak/slow
       | 
       | I am typically energy constrained rather than time constrained,
       | as I imagine is the case for many working in engineering/science.
       | Yet, the author's advice remains useful. Deliberate practice
       | should provide gains to both time and energy costs of tasks.
       | 
       | For me most productivity advice, including this post, ultimately
       | reduces to "try to get better at your trade, and track your
       | progress".
        
         | Jensson wrote:
         | > I am typically energy constrained rather than time
         | constrained, as I imagine is the case for many working in
         | engineering/science.
         | 
         | I've found that being energy constrained is much easier to
         | track than time constrained. You notice instantly when a task
         | takes a ton of your energy, you start hating the task so you
         | work hard to ensure you don't have to do the task any more.
         | Compare that to someone who mostly wastes time, they'd happily
         | sit and waste tons of time every day since you don't really
         | feel your time slip away.
        
       | hardwaregeek wrote:
       | I suspect the dissenters and Dan are not as far apart as one
       | would expect. What I see in the dissent is a rejection of the
       | specific brand of Silicon Valley rah rah productivity cult.
       | There's a lot of mysticism in SV style productivity, whether it's
       | the new hottest app or the latest lifestyle craze. It's also
       | almost always directed at squeezing more work out of someone
       | who's already working far too much. What Dan's proposing is a
       | much more concrete, much more grounded sense of productivity.
       | It's the difference between trying to get an overworked line cook
       | to fulfill the job of 3 regular workers and watching a master
       | chef work with no extra movements, no wasted energy.
       | 
       | I'm sympathetic to the analogy of practice. Too many people are
       | extremely static in their assessment of their skills. They make
       | overarching claims like "oh I'm just not good at cooking" or "I
       | just can't type very fast", when they can remedy these issues
       | with practice. Of course they aren't obligated to do so, but it's
       | a useful mindset to see weaknesses as potential places of
       | improvement instead of permanent failings. It's also true that if
       | you're racing against someone who doesn't see it as a race,
       | you'll win. Granted they probably won't care, but sometimes
       | people get to the end, realize they did care about the race, and
       | were just never clued into the fact that it was a race.
        
         | Jensson wrote:
         | > Too many people are extremely static in their assessment of
         | their skills. They make overarching claims like "oh I'm just
         | not good at cooking" or "I just can't type very fast", when
         | they can remedy these issues with practice.
         | 
         | The people with the biggest blockers are those who argue along
         | the lines of "learning skill X isn't even important, no
         | learning skill X actually makes you worse!". That is the
         | perspective so many here takes on becoming faster at
         | programming. They actually argue that practicing being fast
         | will actually make you worse at your job! Such people will
         | never improve, they are stuck where they are forever.
        
       | jdlshore wrote:
       | The problem I have with discussions about "productivity"
       | (including 10x engineer chest-beating) is that no one ever
       | defines what they mean by the word. Is it lots of lines of code?
       | Is it clean design and architecture that's easy to maintain and
       | extend? Responding quickly to business needs? Making a lot of
       | money in a short time?
       | 
       | Too often, people arbitrarily choose what they're good at, or
       | what someone else they admire is good at, call that
       | "productivity," and then come up with a post-hoc rationalization
       | of why that's good.
       | 
       | Note: I only skimmed the article, so consider this a comment on
       | productivity discussions in general rather than the specific
       | article.
       | 
       | (Oh, and a pet peeve: the agile concept of "velocity" originally
       | introduced by Extreme Programming is absolutely not a measure of
       | productivity. It's a way of predicting your capacity for the next
       | iteration. I've taken to calling it "capacity" instead of
       | velocity for that reason.)
        
         | es7 wrote:
         | Productivity: If you need an X, how quickly can you implement
         | an X at a high level of quality?
         | 
         | If your product manager asks for a new widget or api, can you
         | implement it without any major bugs in 1 hour? Or will you take
         | three days because you don't understand your programming
         | language, your codebase and your requirements?
         | 
         | Will the widget/api be free of major bugs, or will it fail on a
         | variety of edge cases that could have been solved ahead of
         | time?
         | 
         | Productivity may not have crisp, clear lines. There's always
         | context. But it comes down to: if you can do X in half the time
         | at the same level of quality, you're twice as productive.
         | 
         | I admire Dan Luu's work and this article in particular really
         | resonated with me.
        
           | jeffbee wrote:
           | Eh, there are two archetypes in this industry:
           | 
           | One who pounds out the solution in an hour, is not smart
           | enough to perceive its flaws.
           | 
           | One who takes three days _because_ they understand their
           | language, codebase, and requirements.
        
             | Jensson wrote:
             | The thinking pattern "I don't want to get faster, I prefer
             | writing quality code" is a false dichotomy. The fastest
             | programmers writes quality code, since quality code is much
             | easier to get right and working with which are the most
             | important factors for being a fast coder.
        
               | jeffbee wrote:
               | I agree there's not a natural tension between quality and
               | speed, but the speed part is really hard to measure. You
               | _must_ consider the time of all future readers and
               | maintainers of the code you are writing. Spending time to
               | write a test or comment today is an investment that pays
               | back in future fast iteration. Saving time by skipping
               | code review, dashing off weird and confusing interfaces
               | or variable names without revisiting them in a second
               | pass, that type of thing is the opposite: it can appear
               | to save you time today, but is costing you future time.
        
               | Jensson wrote:
               | > Saving time by skipping code review, dashing off weird
               | and confusing interfaces or variable names without
               | revisiting them in a second pass, that type of thing is
               | the opposite
               | 
               | Nobody here is saying you should do this, it is a
               | strawman. Rather being fast means that you can revisit
               | your interfaces 10 times rather than 2 times, spend more
               | time thinking about your names, have more time to write
               | tests, review everything several times before code review
               | so no issues are found etc, ultimately producing much
               | higher quality code.
               | 
               | It seems like you think this article is about "I write
               | code quickly by not doing things properly", rather than
               | "I practice to become faster".
        
               | jeffbee wrote:
               | I have no disagreements with the article at all. I only
               | disagree with the idea that "doesn't understand the
               | language/codebase/requirements" can only cause slowness.
               | That condition is at least equally likely to cause the
               | fast solution.
               | 
               | The real "10x programmers" I have known spend practically
               | all of their time deleting and refactoring code. A
               | handful of fake 10x'ers I have met in my career, who
               | enjoyed a reputation of rapidly dashing off MVPs, were
               | stone-cold idiots, one of whom wrecked an entire company
               | with his 10x-ness.
        
               | handrous wrote:
               | This is _sometimes_ true. On a project long-term, will
               | you keep velocity up by writing quality code? Yes. In
               | certain, narrow areas (very  "mathy" code, perhaps, that
               | doesn't interact much with he world) might you go faster
               | by writing quality code from the beginning? Maybe.
               | 
               | However, can one also go _much_ faster by: not writing
               | tests one ought to have written; ignoring security
               | issues; ignoring input edge-cases; ignoring output edge-
               | cases; treating a variety of variables as constant, or as
               | having bounds that they actually do not; not writing
               | enough documentation; et c.? Oh my god, yes. Of course.
               | 
               | Anyone who's ever seen a "we're really happy with the
               | output of our outsourced team on this Rails 'app',
               | they've gotten this MVP ready so fast!" codebase knows
               | that's _definitely_ also a way to be fast, and that a
               | team writing actual quality code and not putting in a
               | _ton_ more hours couldn 't have matched that team's
               | "productivity", because they'd have been doing _way more
               | work_.
        
               | Jensson wrote:
               | That has to do with managers being bad at telling how
               | productive a team is, it is a completely different
               | problem.
        
         | karmakaze wrote:
         | 10x engineer: one that produces 10x the solutions, or creates
         | 1/10th the problems, or a mix of the two--over a long enough
         | time span to include second-order effects.
         | 
         | The weak version of the term is one that enables the team to
         | produce 10x, or ..., which I personally don't go for, it's
         | watering down a difference in abilities which acknowledging
         | makes people uncomfortable. I would call them sqrt(10)-x
         | engineers who do 3x and let the team do 3x.
        
         | friedman23 wrote:
         | I used to be amazed wondering how people claimed to work 12
         | hours a day until I realized they consider writing emails and
         | talking to people on the phone work (which it is). But of
         | course me being a software engineer I imagined for some reason
         | when they said work they meant something like coding which
         | after 6 hours has me drained.
        
           | agumonkey wrote:
           | after doing a few kinds of jobs:                 - food
           | retail: producing hundreds of sandwiches an serving hundreds
           | of customers back to back, teaches you about productivity
           | - landwork: 8000 picks per day teaches you about work
           | 
           | maybe i'm masochistic, but whenever I see people relaxed at
           | work, neither doing much nor thinking much, I consider it's
           | not work. There's no difference between what they do and me
           | at home chilling.
        
             | handrous wrote:
             | I've done tough physical labor, and repetitive physical
             | labor. They _may_ wear out the body (or may invigorate it,
             | depending on the load), but the mind is fresh even after 8+
             | hours, in my experience. And it feels _good_.
             | 
             | After six hours of typey-typey in front of a screen I feel
             | _used up_. Worthless. Dead. And that 's a very good day--
             | four is more typical for "how long can I do computer work
             | before I just want to curl up and do nothing until I fall
             | asleep?". I mean four hours of _actually working_ , mind
             | you, not screwing around, but still.
             | 
             | I know _for a fact_ I don 't have a general work ethic
             | problem that prevents me from going past 4-6 hours of
             | computer work in a day--I have a "this _particular_ shit--
             | computer shit--sucks the life out of me like nothing else "
             | problem. Always been that way, even when I was young. Work?
             | I'll do it 'till I drop and feel good about it. _Computer_
             | work? Uuuuugh, if I have to, I guess, but I 'll hate it the
             | whole time and feel like shit when I'm done, which, BTW,
             | won't take long.
             | 
             | But, anything I could do that wouldn't involve sitting in
             | front of a computer much of the day would mean a 60+% pay
             | cut, so... here I am.
        
           | gliese1337 wrote:
           | Somehow, this never really clicked for me before.
           | 
           | Mind blown.
           | 
           | Thanks!
        
         | YZF wrote:
         | I'm gonna try. Productivity is the discounted future cash flow
         | per hour of work.
         | 
         | Here's what it's not: It's not about how much code you write.
         | It's not about the quality of the code. It's not about clever
         | engineering solutions. All these can (and should) be part of
         | the above, or they may not. Sometimes sucky code that can bring
         | in a billion dollars is better than great code that brings in
         | nothing. Technical debt is fine as long as the "interest" on
         | that debt is << the profit you made by taking on that debt.
         | Just like any other debt.
         | 
         | A business pays you $X an hour, what are they getting out of
         | you $-wise?
         | 
         | To be clear, that doesn't mean that e.g. someone working on
         | internal tooling can't be productive, but their productivity is
         | measured by the impact on someone else who eventually uses the
         | tooling to make money somehow.
         | 
         | This is incredibly difficult/impossible to measure perfectly,
         | certainly on an individual level, but I still think it's
         | worthwhile to look at it like this...
         | 
         | EDIT: I totally agree with the spirit of "sharpen your axe" and
         | "be good at what you do". I spent a lot of time as a teenager
         | learning to type fast. I did coding competitions to learn how
         | to code _real_ fast. This is part of what being a craftsman is
         | about. But the leverage there is really limited. I liked what
         | one of my ex-CEOs used to say, that just because he types fast
         | doesn 't mean he should do his secretary's work. So after you
         | know what you're doing, you have the right approach, you're the
         | right person to do this, all the other business factors, you
         | should definitely excel at doing it.
        
           | tshaddox wrote:
           | > Productivity is the discounted future cash flow per hour of
           | work.
           | 
           | That's not an unreasonable proposal, but isn't the whole
           | point of startups that we're playing with upsides that are
           | extremely huge and extremely unlikely? It seems like it would
           | be extremely difficult to apply this definition to an
           | engineer or a very small engineering team at an early-stage
           | startup. Surely all the functionally equivalent restaurant
           | delivery apps (at least those above some reasonable baseline
           | of engineering competence) had very similar engineering going
           | on in the early days, yet most of them you barely remember
           | while a very small number of them are unicorns. But could you
           | really have looked at an engineer in the early days and
           | picked out the difference?
        
             | YZF wrote:
             | For sure. In that context, the engineer that got the
             | product to work before the startup ran out of money and
             | shut down by deciding to hack around some issues rather
             | than "do it properly" _is_ the more productive engineer.
             | Another way to think about this is the engineer that better
             | optimizes the expected present value (sure, there might be
             | a pretty wide distribution of outcomes). At the very least
             | I feel like this business /economic context is very
             | important, and often ignored. Without it it's very hard to
             | say because in a different context the engineer that
             | creates the very same hack maybe just cost the company a
             | lot of $'s in future maintenance work.
        
         | foolfoolz wrote:
         | productivity is delivering value to your customers
        
         | crate_barre wrote:
         | At the moment for your typical developer in Agile Disney World,
         | productivity is move a ticket from in-progress to done.
         | 
         | Identifying what is high impact, or what's it's important to
         | focus on continuously is a form of autonomy that is oddly not
         | offered too much to most of us.
        
       | 21eleven wrote:
       | > _An idea that 's become increasingly popular in my extended
       | social circles at major tech companies is that one should avoid
       | doing work and waste as much time as possible, often called
       | "antiwork", which seems like a natural extension of "tryhard"
       | becoming an insult. The reason given is often something like,
       | work mainly enriches upper management at your employer and/or
       | shareholders, who are generally richer than you._
       | 
       | If you really are not comfortable with the consequences of your
       | personal labor you should probably leave your job or not take it
       | in the first place. This sounds like a decadent rationalization
       | for highly compensated people that want to feel moral while being
       | lazy.
        
         | mental1896 wrote:
         | >you should probably leave your job or not take it in the first
         | place
         | 
         | sounds like a decadent rationalization of some kind.
        
         | joe_the_user wrote:
         | _If you really are not comfortable with the consequences your
         | personal labor you should probably leave your job or not take
         | it in the first place._
         | 
         | Oh really? I don't think you're going to get anything like sort
         | of "ethical" behavior until there's something like UBI
         | implemented. Until then, people are going to hold onto high
         | paid jobs they don't like, especially if they can slack off at
         | them.
        
         | Afforess wrote:
         | > _If you really are not comfortable with the consequences your
         | personal labor you should probably leave your job or not take
         | it in the first place. This sounds like a decadent
         | rationalization for highly compensated people that want to feel
         | moral while being lazy._
         | 
         | Three words that trap many: Employer Provided Healthcare.
        
       | m0zg wrote:
       | As someone who also tracks time in some amount of detail (to bill
       | clients for it), communication, and _written_ communication in
       | particular takes a surprising amount of time. All those Slack
       | threads you might not even think twice of engaging in can easily
       | destroy half your working day, even if you ignore the cost of
       | context switching. Emails take longer than you think. Design docs
       | take _much_ longer than you think. Code reviews take longer than
       | you think also.
       | 
       | For me at least coding seems to take less time objectively than
       | subjectively, but it's also quite obvious that most of my time is
       | not spent on coding, sadly. A good chunk of it is completely
       | unproductive bullshit that simply has to happen because that's
       | how the company chooses to operate. I tell them it's not the only
       | way to do things, but they insist on wasting ~1.5 person days a
       | week on "standups" and "scrum" (the team is 12 people, excluding
       | me). They could _easily_ move 50% faster if they shed that
       | bullshit and just gave people sizable tasks and some degree of
       | autonomy and personal responsibility. Instead it's down to who
       | can _appear_ the busiest during standup.
        
       | woah wrote:
       | This is incredibly similar (but not verbatim) to another blog
       | post on the front page right now. Did one of these bloggers
       | drastically improve their blogging velocity by rewriting a post?
        
         | [deleted]
        
         | hyperpape wrote:
         | At the bottom of this post, Dan thanks Jamie (the author of the
         | other post). Dan's been posting about the topic on Twitter as
         | well. So basically they talked about it and both wrote up their
         | takes.
        
         | renewiltord wrote:
         | My first thought was that people were linking related stuff.
         | But the two posts were written within a day of each other.
         | Perhaps one was inspired by the other or perhaps the authors
         | know each other.
         | 
         | Dan Luu is a pretty prolific blogger / tweeter about
         | engineering and this one is the later blogpost. I find it
         | unlikely it was a "repurpose".
        
           | dochtman wrote:
           | Both bloggers know each other (this is pretty obvious if you
           | read some of their online stuff), so Dan Luu probably
           | reviewed the other post early and thought it interesting
           | enough to add his own take.
        
         | meowface wrote:
         | (The post, for anyone curious:
         | https://news.ycombinator.com/item?id=28879240)
         | 
         | Yeah, it's very similar in a lot of ways.
        
       | cratermoon wrote:
       | If you want to go fast and call that being productive, go fast
       | and be productive. But don't gate-keep and turn personal
       | preferences into "should" and "ought". There's a lot of world out
       | there and not everyone wants to organize their lives around work.
        
         | saeranv wrote:
         | He literally discusses all your points in the first paragraph:
         | 
         | > The top reasons I see people say that productivity doesn't
         | matter (or is actually bad) fall into one of three buckets: 1.
         | Working on the right thing is more important than working
         | quickly 2. Speed at X doesn't matter because you don't spend
         | much time doing X 3. Thinking about productivity is bad and you
         | should "live life"
         | 
         | Here's his argument for your last point:
         | 
         | > The last major argument I see against working on velocity
         | assigns negative moral weight to the idea of thinking about
         | productivity and working on velocity at all. This kind of
         | comment often assigns positive moral weight to various kinds of
         | leisure, such as spending time with friends and family. I find
         | this argument to be backwards. If someone thinks it's important
         | to spend time with friends and family, an easy way to do that
         | is to be more productive at work and spend less time working.
         | 
         | Personally, I deliberately avoid working long hours and I
         | suspect I don't work more than the median person at my company,
         | which is a company where I think work-life balance is pretty
         | good overall. A lot of my productivity gains have gone to
         | leisure and not work. Furthermore, deliberately working on
         | velocity has allowed me to get promoted relatively quickly4,
         | which means that I make more money than I would've made if I
         | didn't get promoted, which gives me more freedom to spend time
         | on things that I value.
        
           | cratermoon wrote:
           | Yeah but he doesn't recognize that his entire argument is
           | personal choice elevated to moral imperative.
           | 
           | > an easy way to do that is to be more productive at work and
           | spend less time working
           | 
           | Why is need to be more productive at work framed as a
           | prerequisite to spending less time working? Just spend less
           | time working. His moral stance, which he never reflects on,
           | is that working is good, and relaxing is predicating on
           | completing the work first. None of that is necessarily true,
           | but it does fit well with the Protestant Work Ethic, which
           | is, of course, a moral framework for putting work before
           | leisure.
        
             | Jensson wrote:
             | You will get fired if you don't get enough done at work.
             | Higher productivity means you can accomplish enough tasks
             | to not get fired in less amount of time.
        
               | cratermoon wrote:
               | But that's just taking the moral argument another level
               | deeper. Why should a person's leisure be subject to the
               | whims of employment?
               | 
               | > you can accomplish enough tasks to not get fired in
               | less amount of time.
               | 
               | And how many employers will look at the work you got done
               | in less time and tell you to go home for the rest of the
               | week because you've finished everything assigned?
        
               | Jensson wrote:
               | > But that's just taking the moral argument another level
               | deeper. Why should a person's leisure be subject to the
               | whims of employment?
               | 
               | This isn't a philosophical discussion, fact is that
               | either you produce enough value at work or you get fired.
               | 
               | > And how many employers will look at the work you got
               | done in less time and tell you to go home for the rest of
               | the week because you've finished everything assigned?
               | 
               | You don't have to tell them you are done, you can just
               | relax and browse HN or whatever. Being very productive at
               | work gives you a lot more freedom at work, even if that
               | freedom isn't 100% fairly allocated to you it still
               | improves your situation.
        
         | jai_ wrote:
         | The entire point of TFA is that the ability to go fast is a
         | force multiplier for being productive in the first place.
        
           | cratermoon wrote:
           | But to what end?
        
             | Jtsummers wrote:
             | To get your time back while still meeting professional
             | obligations, at least that's my "end" in being productive.
        
               | cratermoon wrote:
               | > while still meeting professional obligations
               | 
               | The unstated and unexamined assumption here is that
               | professional obligations trump leisure and enjoyment. Do
               | they? If so, why?
        
               | f00zz wrote:
               | Do you have a trust fund?
        
               | Jtsummers wrote:
               | I mean, you could choose a different employer with lower
               | expectations or reduced obligations if that's an option
               | where you live. But no employer is required to keep you
               | employed if you don't get your work done. It may be
               | harder to fire people in some places and in some
               | industries, but it's rarely impossible. If you want to be
               | able to have leisure and enjoyment, you probably need
               | money, which means being employed, and to remain employed
               | you need to meet your obligations.
               | 
               | So be unproductive and risk getting fired but go home at
               | a reasonable time. Be unproductive and work long hours to
               | meet the obligations and not get your leisure and
               | enjoyment. Or be efficient and go home at a reasonable
               | hour and have your leisure and enjoyment. I choose the
               | third, because it's sensible. Unlike my 90-hour workweek
               | colleagues who stress about everything.
        
             | orangecat wrote:
             | Presumably you're working on something that is intended to
             | benefit somebody.
        
       | vasco wrote:
       | Working on the right thing means driving in the right direction.
       | Velocity is the speed at which you get there. Anyone that says
       | velocity doesn't matter is wrong and there should be no debate.
        
         | somishere wrote:
         | That's debatable. Seriously tho your comment reminded me of one
         | of my favourite TV ads for road safety from a few years ago
         | https://youtu.be/HrWKXO1qwPM
        
       | rlewkov wrote:
       | I think they do matter from the p.o.v. of the people footing the
       | bill for the results. I have yet to work on a product/project
       | where mgt doesn't care about when it gets done and how much it
       | will cost. Call it productivity, call it velocity, but the people
       | paying care and someone always pays.
        
       ___________________________________________________________________
       (page generated 2021-10-15 23:00 UTC)