- Writing as form of (or tool for) thinking; Leslie Lamport said (maybe quoting someone) that if you're thinking, but not writing, you only think that you're thinking; - High tolerance for feeling ignorant, confused, silly, inadequate, a novice: none of these states should phase you: you should not have a comfort zone: let your mind feel at ease in not understanding something: go to the eye of the storm and weather i…
> High tolerance for feeling ignorant, confused, silly, inadequate, a novice: none of these states should phase you: you should not have a comfort zone: let your mind feel at ease in not understanding something: go to the eye of the storm and weather it: you'll come out being more capable; I’d love to be more at ease on uncomfortable situations. Any tips?
Ask HN: What bits of fundamental knowledge are productivity multipliers?
341–350 of 424 posts
Re: Ask HN: What bits of fundamental knowledge are productivity multipliers?
#342Earlier quoted context omitted.
The mental model for this state is known as "flow" or atheletes sometimes call it "the zone"
...lots (most?) of the actual work that needs to be do is "grinding" or "working against tons of hard/impossibly to remove friction": you'll never achieve any kind of flow doing this kind of work! So the productivity multiplier advice is this: learn to cope and be productive at doing the kinds of work where flow is impossible/unfeasible! (This way you'll not be already tired and behind when you get to the work for wh…
Flow happens during fun.
Sometimes there are shortcuts to grinding that can only be discovered during "flow" (usually for me, it's to identify better tools)
Re: Ask HN: What bits of fundamental knowledge are productivity multipliers?
#343Earlier quoted context omitted.
Will you explain what you mean by "Design everything you can to be declarative"?
I think they mean if you can, don't define the execution yourself. Rather, specify what needs to be done, then have the machine work out what to execute. Eg declare dependencies and have Make build things, specify SQL query and have the optimiser fetch the data
Re: Ask HN: What bits of fundamental knowledge are productivity multipliers?
#344- Vim bindings and macros
- AWK
…and, if you'd like to generalize that, I'd say "throwaway programming" is generally a good skill to have. Many programmers don't get that not every problem should be solved in an elegant, robust and maintainable way. The important part is that you recognize when that isn't the case and that you are able to improvise in these situations.
There are, of course, also situations when you absolutely don't want to go the quick & dirty route, and recognizing those is just as important.
Re: Ask HN: What bits of fundamental knowledge are productivity multipliers?
#345Earlier quoted context omitted.
The OP is not about 10x more productive, it is about 10x productivity boosts. Using regexes can easily be 10x faster than manual editing, and property-based tests can easily be written 10x faster than a more or less equivalent battery of tests.
I agree with you :) I actually like those little patterns a lot, there are problems where you might absolutely take 10x longer because you didn't know the algorithm or the right machine learning concept. The OP talks about becoming "significantly more productive when solving a large class of problems", and where my interpretation differs is what you mean by large class of problem. What's large for you is really going…
The 10x productivity boost I get with regexes is being able to effectively automate out a lot of text manipulation on a large scale. A couple examples. Say I get a file with a bunch of junk in it that contains some IDs that I need to use as input to other commands. I write a simple regex in a text editor, find all, delete everything else, then use other regexes (or multiline editing) to wrap those IDs with the commands I actually want to run. A more impactful example. Several years ago I was writing a new loadtest suite, when I realized that it would look A LOT like some existing load tests we had. They weren't close enough for composition or inheritance to solve the issue completely (we were already both in a few places in the codebase to help out), so I used a similar process that I laid out above to write the new loadtest suite. I barely wrote any of the code manually, I was doing most of the work from a level of abstraction above, making broad code changes with regexes. I did it all in an afternoon.
To get the 10x multiplier from regexes you've got to basically bake them into everything you do.
Re: Ask HN: What bits of fundamental knowledge are productivity multipliers?
#346That's a big topic. But one of the key things I learned is when to stop talking. Get to the point, deliver it and then stop. Enjoy the awkward silence and let others fill the space.
I have met so many countless people who couldn't stop or know when to stop but just kept waffling, diminishing the effect that they could have otherwise.
Re: Ask HN: What bits of fundamental knowledge are productivity multipliers?
#347Re: Ask HN: What bits of fundamental knowledge are productivity multipliers?
#348There is no list. It's not possible to say, "I know these 5 things, and they'll make me more productive." Feynman solved all his physics problems with Calculus. That's it. One tool. Part of is is knowing your tools. The other part is being able to see a problem, break it down, and understand how to manipulate it into something that's attainable. That's it. I worked with this guy Pat several years ago, and he was on a…
> This will be easy to remember. Lots of 3's." I looked at him for a moment puzzling his response. He says, "2745, lots of 3s." I cannot for the life of me figure out what he means by this
No clue if that's it though. Wonder if this "Pat" explained it to OP and OP is just keeping us hanging....
Re: Ask HN: What bits of fundamental knowledge are productivity multipliers?
#349Earlier quoted context omitted.
I could certainly read more about this, it sounds fascinating. Will appreciate more of your knowledge or a thoughtful hyper link.
the concorde reference: https://www.math.uwaterloo.ca/tsp/concorde/DOC/index.html
Re: Ask HN: What bits of fundamental knowledge are productivity multipliers?
#350Earlier quoted context omitted.
I agree with you :) I actually like those little patterns a lot, there are problems where you might absolutely take 10x longer because you didn't know the algorithm or the right machine learning concept. The OP talks about becoming "significantly more productive when solving a large class of problems", and where my interpretation differs is what you mean by large class of problem. What's large for you is really going…
On the point of regexes, I think you might be misunderstanding OP. Regexes have absolutely given me a 10x productivity boost over the years, but not because I write production code that relies on regexes to parse things, extract things, etc. The 10x productivity boost I get with regexes is being able to effectively automate out a lot of text manipulation on a large scale. A couple examples. Say I get a file with a bu…
I'm not trying to deny your experience, so I can accept your word for it that it would take you 10x longer to complete tasks if you weren't able to do this.
At this point the core of the argument becomes more what sort of mix of tasks your daily work consists of, I think. I agree that there are patterns that solve some problems very efficiently, but in my daily life if I try to look at people who complete projects 10x faster than average, I can't point at any single method or bit of secret knowledge.
So I think the twofold response is first that the average developer is actually able to use search-and-replace and already has some vague notion that regexes are a tool they could reach for, so this is really saying that "0.1x" productivity exists in a way. And I think that's uncontroversial: if you imagine an hypothetical programmer who is still using the `ed` text-editor and hand-writing machine code to address business problems, in a world where people throw together microservices running in K8s in 100 lines of code, they're going to be a lot slower than average.
But I think the question is really about whether starting from an average (or if you want, median) dev there's any single thing that will give you a 10x productivity boost, that's not already something normal the average person knows about.
The second answer I have, and that I keep coming back to, is that if we had such a thing it would be more popular than coffee and morning meetings. It would automatically and very quickly have become something that companies rapidly adopt and that becomes the new normal (like search and replace!).
So finally the point is not that there aren't thing like regexes that slow you down a lot if you don't know them, it's more that there aren't any such things that are also well-kept secret. If the effect size is a whole order of magnitude, you won't have to scour forum threads for secret methods that turn you into a Mythical 10x Programmer, it will just quietly already be on its way to being the new 1x, and it will most likely be a gradual improvement over time.