3 ms·
Even though most commercial programming work is trivial (in the sense Math professors use the term) it doesn't mean you don't need excellent programmers (or tha
by ido 4y ago
Even though most commercial programming work is trivial (in the sense Math professors use the term) it doesn't mean you don't need excellent programmers (or that at least some of your programmers are excellent).
All of us who worked as developers for a few years have seen the seemingly trivial program be incredibly difficult to support/extend/fix/debug (especially after being in production for a few years). At the beginning of my career I thought this was circumstantial but having been doing this for a living for 20 years now this is common and I keep seeing this pattern over and over again - not so great programmers will easily manage to make your "trivial" program very much not trivial to continue developing.
- kaba0 4y agoSure, I agree (to the point where I sometimes question the need for cheap, not so great programmers at all). But even those great senior developers can on average only dream about being the next Von Neumann :D
- ido 4y agoIt's really not that easy a problem to solve and sometimes the suboptimal solution seems better than the alternative (which would be to hire nobody until we find a good senior developer). Despite the fears of over-abundance of programmers driving down wages being around at least since I've started working, there is a shortage of good senior programmers. A lot of companies (many non-tech) need programmers these days, most programmers are not that great, most work is not that exciting but it still needs to get done. So it's also often not even about the cost of programmers but about their availability (for the price you can pay). Let's say you're running the internal software department at ACME Insurance and Customer Care Services in your average big-but-not-major Western European or North American city. You need programmers to develop and maintain your creaky Java Enterprise Edition + Oracle DB internal system that has been appropriately handling your insurance and customer care services needs for the last 18 years. At this point centuries of developer-years have been spent on this system and it's crucial for €/$ millions or revenue yearly that your company depends on. You can't offer the kind of compensation, prestige or interesting projects that the local FAANG development offices can offer to easily recruit great senior developers. What do you do?
- ticviking 4y agoAsk why your senior leadership team cannot find a significant fraction of that ARR to spend on really high quality engineers?
- ido 4y agoHow do you know it’s not significant? What if the company is making $5M in yearly revenue with 20% profit margin (so net income of $1M, remember most industries don’t have profit margins as high as software)? I remind you in this case their main business is not even software, but insurance and customer care services (with the software there to support that). They can’t/shouldn’t spend 40% of their profit margin ($400k/year) in matching facebook’s compensation for a top notch senior developer.
- taneq 4y ago“Everything not impossible is trivial.” - Mathematics. That said, yeah, it’s frustrating the percentage of code which simply doesn’t matter as long as it works at all. Although the point about mediocre engineers making things way harder than they need to be gets exponentially worse as the decisions get earlier in the process. So many times you look at implementing something and ask yourself why we’re even doing this at all.
- Retric 4y agoLet’s not forget half the programmers working today are below average. So CRUD programs are fine when created and maintained for years to decades by people in the middle of the bell curve. But everyone’s going to touch code created by terrible programmers, if nothing else when they are getting started. The only real option for most projects to improve quality is simply keeping the same team members for a several years as they improve. This does get increasingly expensive over time, so few companies try that hard to maintain people yet the world stumbles along.
- Fire-Dragon-DoL 4y agoThe thing I notice the most is with juniors out of school: some of them have masters degree, but they are really disoriented when put on the job. Program might be trivial, but the ability to work is not taught in school, so there is all of that to learn