Hacker News new | ask | show | jobs
by AdieuToLogic 2 days ago
> The whole "90% of my time as a coder is spent typing, so I should optimise my ability to type fast" is so, well, wrong. 90% of our time should be spent thinking, and most of that reading.

Any software engineer who proclaims "90% of my time is spent typing" does not understand two fundamental industry axioms:

  Software is the manifestation of a solution to a problem.  
  Define the problem which needs to be solved.
  
  When making software, remember that it is a snapshot of 
  your understanding of the problem.  It states to all, 
  including your future-self, your approach, clarity, and 
  appropriateness of the solution for the problem at hand.  
  Choose your statements wisely.
"Coding", when performed at the appropriate time, is little more than reifying a solution to a problem already understood. Also known as "a typing exercise."

All of this is to say; I agree with your position.

1 comments

Both of you are describing a "waterfall model" of coding, where you conceive of the solution in its entirety before simply writing it down. I don't know if everyone else works this way, but I don't. I prefer to try things in the code and use those attempts to guide and refine my understanding. With the latter approach, being able to quickly and easily modify code is essential because it shortens the testing loop.

Edit: From GP:

> 90% of our time should be spent thinking, and most of that reading.

Reading what though? I assume you mean reading code. If you're reading code, being able to navigate through it quickly is important to maintaining context in your head. If the tool you're using makes navigation hard, it's easy to lose track of what you're doing. Obviously this can be taken to extremes, but spending some time investing in being able to navigate a codebase quickly is not wasted effort.