News for hackers. Stuff that matters.
Re:Please don't learn to code by michaelochurch on Tuesday May 15, 2012 @08:21AM (#3976208)
I think there's a knee-jerk reaction against the popularization of computer programming, and I think it's unfounded.

We have a sense that, because some 80 (possibly 90) percent of programmers write shitty code, that encouraging more people to program is going to flood the field with mediocre programmers and that we're personally going to have to maintain their legacy monstrosities. Somehow, I'm guessing that I'm not going to be maintaining Bloomberg's business-logic DSL any time soon.

I think it's good that we're making people more aware of computer science and that programming is becoming cool again. I'm not a fan of tech bubble "coolness" (where traditional business types move into tech startups, usually in executive positions, because of the trend, but have no real interest in technology) but if people develop a genuine interest in how computers and programs work, that's great. It'll have all kinds of ripple effects: better and more widespread CS education (even in grade school), increasing technical literacy in important organizations, increasing appreciation for technical talent in the world at large, and quite possibly a more rational approach to business, government, and politics.

The real problem we face, in terms of the "Why do we have to deal with so much shitty code?" question isn't that these bad programmers are untalented. It's not a low IQ problem. It's a problem of dysfunctional work environments (due to a low appreciation for what programmers do in many companies) and a lack of incentive to improve. These "bad programmers" stop growing, because the bulk of development jobs don't encourage people to grow, so a lot of people end up learning basic Java best practices and that's it. They never learn Unix and its philosophy, functional programming and recursion, architecture, or logic. They get to the 1.2-1.3 level (scale here: http://michaelochurch.wordpress.com/2012/01/26/the-trajector... ) and either go into management or plateau. That's because the typical JavaJob setup is designed to bring up the rear while holding back the best, so people get into a mentality where they lose faith in the capability of the individual developer and management appears like the only place where it's possible to have real accomplishments.

Actually, if anything's going to liberate the horde of 1.2 developers from their JavaJobs, it's going to be making programming fun and cool again-- reminding these people that coding isn't just something they do for one job, but that it's a valuable and extremely versatile skill, if they keep improving despite having no immediate economic pressure to do so.

There are no comments on this comment yet.