Software Development Gives Poor Thinking Nowhere To Hide
The first draft of anything is shit Ernest Hemingway
Software development involves a lot of talking, estimating, planning and many other activities, which are then followed by a small amount of code.
Code makes your thinking and problem-solving skills visible. You create software and then it's there to be tested and shown to users. If your thinking is faulty, then so is the software you create.
There is no hiding place for bad code and bad software.
Simple code is harder than complex code
“I didn’t have time to write you a short letter, so I wrote you a long one.” Mark Twain
- Junior developers write complex code for simple problems
- Senior developers write simple code for complex problems.
Why is easier to write complex code?
It's hard to write about something you don’t understand because you write too many words and confuse the audience. Like people presenting about a topic they don’t understand, they will add every fact in random order, hoping some of those points are the important points.
An expert explains it concisely and simply and then shuts up. They describe the main points not all the points.
Writing code is the last step in creating software. Before you write code, you need to think before you can create code. Understand the problem before you can create a solution.
“If I had an hour to solve a problem I’d spend 55 minutes thinking about the problem and five minutes thinking about solutions.” Einstein
In software development, you spend time understanding the problem before you can create the code/software for the solution. Developers write code before they understand the problem or the solution. They write extra code as they work out the code needed.