Software is about people, not code (2020)
letterstoanewdeveloper.com
letterstoanewdeveloper.com
Of course, life is about people. Business is about people. Plumbing is about people.
But what makes software special is code.
And this sentiment leads to horrible conclusions.
If software is about people, not code, who would you expect to manage it better - an engineer whose undergraduate and graduate training was in code, or a business MBA whose training was in people?
If software is about people not code, then who should be prioritized, management who is managing people, or engineers writing code?
This is similar to the Jack Welch mindset of buisiness are more about playing financial games than building great products and it has resulted in the doors blowing off of airplanes in flight.
Both. The strict separation between tech and humanistic education is the root of (quite) all (modern) evils, and having these two skills in a single person is even better.
It's been that way since the beginning.
Electronics got started much earlier than software and there were physical control panels of various effectiveness too.
Before things deteriorated, it was expected that a UI designer who did not know how to code it their own self, or a coder who was not capable of doing vastly better UI than a non-coder, would not have been suitable for mission-critical situations where living things are expected to interact with electronics.
It all still converges to where you need exactly the same people coding that are designing the UI/UX or it's not going to end up as good as it could be.
"Fortunately" most of the coding and UI out there which are proliferating fastest are not mission-critical.
That would be a nightmare . . .
Trying to make jr engineers realize this right away (or treat code as an afterthought) is bound to create terminally junior engineers, or worse - senior engineers that simply can't code.
But the emphasis leads to the MBAs (like McKinsey people) getting into leadership. Then the people who rise are not the people who are great engineers, but people who can play the people games. Look at the effect of the McDonnell Douglas merger on Boeing when the “people” people pushed out the engineering people.
You're developing for both. It's not a XOR situation.
The sentiment expressed in the article is well appreciated by people capable of receiving it and entirely missed by many developers who cannot. While the distinction of people and code is valid it’s not really the problem. The problem is deeper, it’s self orientation versus communal orientation.
A self oriented developer will focus on things like perceptions of easiness and solutions written by strangers. Communal oriented developers will focus more on architecture and documentation because they want the internals of their work to be receptive for other people.
More than knowing what to do, we know what not to do - a perk of having donkey's years behind us.
You have to read the code from last week, last month, last year...