The author is conflating coding with solution planning in a pretty minor way - you're more seriously conflating coding with solution building.
The author is conflating coding with solution planning in a pretty minor way - you're more seriously conflating coding with solution building.
I don't see how some solutions not requiring code means that coding is not valuable, as some solutions evidently do require code.
When the solution requires code, the code is the solution, whether it's written in pseudo code or a language. I don't think there is a line separating the two. Just like language is thought.
Your "deploying solutions" could be replaced with "deploying code" (whether created in house or third party).
If your solution depends on code, then the quality of that code will also be important, which will include aesthetics, design, readability, tests.
In the long run, this is valuable, as you can't regularly and reliably ship the solution, unless you're confident it still works.
Architects do a similar thing, they visualize in their heads and on paper, but then they also actually build 3D small-scale prototypes to get feedback on their design.
So I would say that coding can also be an important part of the design process. It is not just transliterating what's in your head to code-files on the computer, it can help improve the design which is in your brain.
So if you're a programmer then you're in the business of building software solutions which are generally built via writing code or script of some sort.
If the problem is best solved via a method other than writing software, then that's great. Not every problem needs software. Not every problem even needs solving either.
If however the problem does need a software solution then it's obvious that you should make sure you actually understand the problem so that you actually solve it.
I guess I just don't see how coding isn't equivalent to solution building unless what you call coding I call typing. For me thinking, researching, investigating, designing, engineering, planning, and even just "sleeping on it" are all part of the coding process.
I suppose that if the purpose of your coding is to learn or play then you might not be building a solution.
Is this just semantics or am I missing something?
I don't think so, or perhaps expressed myself poorly. Planning is a critical part of solution building. Coding is putting the pieces together.
Unless you're absolutely winging it, you're mostly doing planning and then execution. My argument is the planning - the most important part of solution building - is what's being done on paper.
I think it’s always true that there is some time spent figuring out what problem is being solved, what needs to be built to solve the problem, building something, and making sure that it solves the original problem.
In mechanical or electronics it tends to be called manufacturing instead of development. In civil engineering or architecture it tends to be called construction instead of development. I think the difference in creating software is that one person can do all phases. They can even do the phases without formally documenting anything. The phases can be much shorter and iterated on much quicker in some software projects. I think when the software projects become larger and require more developers that they tend to have a more clear demarcation between phases and use more formality in documentation.
I think it would be more beneficial to the software industry if everyone was working with similar enough terminology that discussions don’t end up revolving around who is operating under what definition and which definition is best. But at the end of the day that’s just my opinion.