4 ms·
"Coding" is mechanical. "Judgement and decision making", "Critical thinking", "Complex problem solving", the actually difficult parts of doing long-term program
by alanbernstein 9y ago
"Coding" is mechanical. "Judgement and decision making", "Critical thinking", "Complex problem solving", the actually difficult parts of doing long-term programming work, are at the top of the list.
- zeta0134 9y agoI could not agree more. Programming isn't an employable d skill by itself. What you're actually doing for the business is problem solving, and in order to be good at that, you need to have people skills to a certain degree. You listen to the managers, or are otherwise invested in the inner workings of the company. Using those skills of intuition, you gather the business objectives, and then write code to solve those needs in the manner most appropriate to the environment in which you work. Of course, often you're writing more than just code, and will contribute to documentation, and test with your users to gather feedback and improve your solution. Good programmers spend less of their time writing actual code, and much more of their time understanding the problems their code is meant to solve.
- supercoder 9y agoUltimately that's a job for the designers though. The coders job should be to just implement what they're told in a robust performant, but also pragmatic way.
- arvinsim 9y agoThe number of designers learning to code seem to be increasing so it behooves programmers to be familiar with the design part too.
- seanmcdirmid 9y agoCoding is not mechanical. Or to say, what do you mean by coding? The ability to write programs that successfully solve problems good judgement and decision making, critical thinking, complex problem solving...it sounds like coding is just a meaningless term without the others.
- sidlls 9y agoCoding, that is implementing something, is about as mechanical as it gets. What you describe as requiring judgement and decision making is engineering. It's not often part of software development these days, as companies focus almost exclusively on the mechanics of data structures and algorithms.
- seanmcdirmid 9y agoWhat do you mean by "implementing something?" Like, implement an algorithm whose logic is already known? Isn't that just translation? And anyways, how often does any programmer even do that?
- hyperpape 9y agoI've received requirements that were just a decision tree for a certain process, and had to implement that in the context of an existing system. Thankfully, I don't do that kind of mind-numbing crap any more.
- seanmcdirmid 9y agoOk, but we decide to call that coding/programming? It really puts the art in a bad light, like claiming carpentry was about sawing in straight lines or following IKEA assembly instructions.
- sidlls 9y agoJudging by the interview process some companies have it's practically all any programmer does. More seriously, lots of junior developers need to do stuff like that so they don't make mistakes when they move to actually designing things.
- sowbug 9y agoA coder builds a solution to a problem. An engineer builds the right solution to a problem. Doing that requires as many soft skills as technical skills.
- Chiba-City 9y agoSystem software that manages semantics of machine, user, job and developers resources confuses many younger developers. They imagine "coding about computing" is just knowing how to code in C. That is obviously completely false in all manners to real engineers addressing real use cases but a very common mistake. Now older I have known many engineers spun out constantly playing with new tools. Real system software projects have longer historical narratives involving human use cases and stakeholders anyone can read.