4 ms·
On a side note, I asked a fairly successful tech professional->CTO->CEO what it took be a great programmer/engineer. Ironically the answer I got was not even re
by kamaal 13y ago
On a side note, I asked a fairly successful tech professional->CTO->CEO what it took be a great programmer/engineer. Ironically the answer I got was not even related remotely to software in any way.
The thing he told me was that in all his experience, working with awesome people he found that "working things on paper", gave massive clarity in most projects. Human minds are not great at visualizing large stacks, diagrams and lists. Hence writing down things, simplifies things. In fact when you write things down. Draw that diagram, talk to yourself and refine your ideas on paper in a couple of iterations. You largely solve that problem of reuse, variable naming, problem identification. Agreed that some things demand you play with code a little to proceed further. Yet, planning on paper solves most problems which programmers face today.
Agile fashion unfortunately glorified many bad practices.
The more I pondered over that though the more I realized, how many bad practices came into software development with this quick development-deployment methodology. In the days of the past while you worked out some documentation before you started a project, you often probed, visualized and solved problems on paper. These days a lot of software is developed by the time you realize its actually bad. By then going back is not an option and you have live with it.
- gtrak 13y agoI really like this comment. But I bet some folks gloss over a particular point of importance. For me, there's a huge advantage in literally using tree-paper, either for code-reading, designing, taking notes, what have you. It involves more of your senses, it's more tangible, every letter is written with more care and the medium is incredibly flexible (maybe I feel like drawing a circle on a whim, can't do that in emacs.) It's better for scratch-pads than a text-buffer, imo. Insights come more consistently and easily after iteratively marking up a printout. It's just fully-intuitive.