Live data from Hacker News

Ask HN: What bits of fundamental knowledge are productivity multipliers?

news.ycombinator.com

1–10 of 424 posts

Ask HN: What bits of fundamental knowledge are productivity multipliers?

#1
I recently realized that certain kinds of knowledge allow one to be significantly more productive when solving a large class of problems.

For example,

* Regular expressions for simple text processing.

* Parser combinators for parsing.

* Parser generators (esp. packrat variety) for parsing.

* The concept of fuzzing and property testing for testing code.

* Calculus for solving all sorts of problems.

* MCMC for solving a huge class of probability problems.

* Search algorithms for solving a variety of problems (e.g. all NP-hard problems, sudoku, HTNs, scheduling, planning).

* Gradient descent for solving a variety of optimization problems.

* Vector Space embedding as a conceptual tool for a variety of complex AI problems.

* Effect composition (Haskell's IO or Scala's ZIO) as an incredibly powerful paradigm for concurrency and parallelism.

What are some examples of 10x multipliers that come to your mind? Fundamental ideas without which you would be drastically less productive.

Re: Ask HN: What bits of fundamental knowledge are productivity multipliers?

#2
Relational algebra, set operations and SQL. I learnt the power of parallel queries on massive datasets when directly manipulated with relational algebra, set ops and SQL. For eg: Create Table XX as Select a, b, c from YY, ZZ where ...

Lambdas, async and Linq. Somewhat related to the previous point, but combining these three helps with writing expressive and powerful declarative and functional code.

Re: Ask HN: What bits of fundamental knowledge are productivity multipliers?

#3
Most of these aren't really productivity multipliers, they just enable you to do the thing you need to do.

It's unlikely that someone is doing task A without any calculus but another person who uses calculus is 10x more productive on the same task.

Re: Ask HN: What bits of fundamental knowledge are productivity multipliers?

#4
post #3

Most of these aren't really productivity multipliers, they just enable you to do the thing you need to do. It's unlikely that someone is doing task A without any calculus but another person who uses calculus is 10x more productive on the same task.

You may want to NOT underestimate one's ability to add TONS of if/elseif/else (or switch/case) statemens in order to put things on track...

There are various cases of „programming hoorrors” stories where you have a calculator implementation that, instead of doing the ... you know, math, will actually go through all X combinations.

Re: Ask HN: What bits of fundamental knowledge are productivity multipliers?

#5
post #4
post #3

Most of these aren't really productivity multipliers, they just enable you to do the thing you need to do. It's unlikely that someone is doing task A without any calculus but another person who uses calculus is 10x more productive on the same task.

You may want to NOT underestimate one's ability to add TONS of if/elseif/else (or switch/case) statemens in order to put things on track... There are various cases of „programming hoorrors” stories where you have a calculator implementation that, instead of doing the ... you know, math, will actually go through all X combinations.

True, as I wrote the calculus example I remembered this post about a medical researcher rediscovering integration - https://news.ycombinator.com/item?id=26384357

But it still feels more like unknown unknowns causing you to put in a lot of extra effort; I wouldn't classify these as productivity multipliers.

Re: Ask HN: What bits of fundamental knowledge are productivity multipliers?

#8
post #5
post #4

Earlier quoted context omitted.

You may want to NOT underestimate one's ability to add TONS of if/elseif/else (or switch/case) statemens in order to put things on track... There are various cases of „programming hoorrors” stories where you have a calculator implementation that, instead of doing the ... you know, math, will actually go through all X combinations.

True, as I wrote the calculus example I remembered this post about a medical researcher rediscovering integration - https://news.ycombinator.com/item?id=26384357 But it still feels more like unknown unknowns causing you to put in a lot of extra effort; I wouldn't classify these as productivity multipliers.

Back in the day, I saw someone ripping a CD to MP3s. He lazily named the first one 1.mp3, the seconde one 2.mp3 etc. After 9, he found he ran out of numbers. So the next one became ... A1.mp3 !

I always wondered, if he thought this trough a little bit further, he'd independently reinvent the arabic number systems.

Re: Ask HN: What bits of fundamental knowledge are productivity multipliers?

#9
* Dynamic Programming and the related concept of Memoization.

* Recursion - most complex problems seem to have a recursive solution which you can actually implement in a language like Scheme or Haskell that does not limit stack size.

* State machines.

* Monte Carlo methods.

* Unification - see SICP.

* Hand-rolled parsers instead of regular expressions for debug-ability and readability.

Re: Ask HN: What bits of fundamental knowledge are productivity multipliers?

#10
Understanding of your organizations ways of working and making connections across teams.

Understanding how your organization works: This is not about sucking up to 'important' people (atleast not when it concerns productivity). This has got to do with understanding which how the different organizational parts work, so that you can be most effective. e.g. There's tons of planning for resources/budgets that happen once in a year and if you are aware and can put in your requirements into that list, it would help.

Making connections across teams: In large and complex organizations/products, a lot of knowledge is tribal. It helps to have friendly relations and people whom you could chat with informally in teams that you depend on. Many conflicts can be resolved faster.

Post reply on HN