AmenZwa, When I was a wee lad entering #software development (in the 1980s), most of us came from #EE and #CS backgrounds. And it was a common practice that each of us had small, pet projects—signal processing, image processing, hardware simulators, computer graphics, graph algorithms, networking protocols, programming languages, operating systems, chess engines, approximate polynomial algorithms for NP-complete problems, etc.—that we used to hone our theoretical and practical skills. These were toy problems, for sure; but they had heft, nonetheless. And we didn't just hack up the code; we studied the underlying theories, before we implemented these toy projects. And we didn't clone existing ones.
This was what I was referring to, when I posted earlier about "daily practice routine" for #programmers. I've tried to inculcate this good, life-long habit in my younger colleagues, without success.
These days, most software practitioners see themselves as mere coders, not programmers, and they feel no need to improve themselves, since they've already mastered JavaScript or Python syntax. This attitude is detrimental to the longevity of their careers.
These kids are swamped with having to maintain millions of lines of buggy code that their predecessors had cobbled together off StackOverview. There is no requirements, no specifications, no design, and no one person who understands the entire system.
Furthermore, their non-technical managers are always pounding them to keep raising their "commits", which is now the key metric used in promotion and pay rise.
As such, in just a couple of months of starting employment, eager youngsters turn into jaded code-pasters who experience no fulfilment in programming.
Add comment