Why writing software is hard.01 Jan 2017
As DHH talks in his blog, writing software is hard, which I can’t agree more.
First of all, I declaim that I am at my 28. Obviously it is not the age of a senior software engineer. but I am one of the people who uses software very early, i.e. at 10 in 1999.
Coding is hard
The most thing I want to talk about is coding. DHH makes it clear that no super-duper easiness will help you about coding. Problems get solved by using new coding technique such as new languages, frameworks or libs, but not all.
Coding is still hard. Writing good code is not simply applying cool technique or some super cool “best practices”.
If the code doesn’t solve the users’ problems, it means nothing.
If the code causes more problems after merged, it means nothing.
If the code breaks the system it belongs to, it means nothing.
You really want to make a good piece of coding. You learn many different things, compute science theories, algorithms, language rules, different libraries, other programmers’ code and many others. But it won’t make you great if your code breaks things.
Coding is something about the language
Even if you make hard to learn many techniques and apply them into your code, it won’t get you right. So there is something between your code and good code.
Let’s think a bit further. You write your code in computer languages, and you think it is the language used for you and computers only. But you are WRONG.
In fact, coding is not just coding for the computer. The final target you write to and compute with is not the computer, but the human being. I am not talking about the customers, but the involvees, including you and your team.
Maybe you are confused about this. Let me make it simpler. When you begin to write the code and get it shipped to customers, your team designs the product, writes the code, reviews and verify it before deliver. And your customers use your product and feed back about it. You all get involved. Ideas and thoughts are communicated via the software, or simpler, the code.
The Final Goal
So that’s what the computer stands for, an invention to compute the human being.
PS: Happy New Year!