3 ms·
I think the biggest source of confusion is the question of semantics. When people sit down, even here in this thread, there's this distinct undercurrent where n
by lordCarbonFiber 9y ago
I think the biggest source of confusion is the question of semantics. When people sit down, even here in this thread, there's this distinct undercurrent where neither side has a clear idea what the other means by "hard" and "easy".
Programming is "easy" in the sense that you don't need to be a savant to do it. A lot of software development is built ontop of very well designed tools and abstractions which means you can work (in some fields) with computers without having a college understanding of higher level maths or electrical engineering. Programming is "easy" in the same way any trade is easy. With instruction and practice most (if not all) people can learn to some degree of professional competency. In the same way one might learn to become a plumber or an electrician a student can learn to be a "developer" (this I'd argue is separate from a "computer scientist").
On the other hand programming is "hard". It is "hard" in the sense that it's completely alien from most people's day to day. In the same way most people don't think about what it takes to wire a house to code, operate a lathe, or fix a broken pipe, most people don't ever need to think about SDLC or debugging strategies. Programming is "hard" because if you try to learn from fundamentals you quickly exit the nice tools and abstractions that make the professional world go and into the maths that are considerably less trivial. Programming is "hard" because of a cult of people determined to ignore the above reality and tune interviews to be time intensive and rely almost exclusively on your knowledge of university concepts as opposed to day to day tooling.
I think it's important to remember that the field is still very nacient and the responsiblities under "programmer" still vary widely from job to job and industry to industry. Until this matures, a better jargon is developed for describing roles, and a more realistic attitude is reached in terms about what skills are needed for said roles I don't see how we can avoid sending mixed messages like the ones that frustrate the OP.