News for hackers. Stuff that matters.
Re:Programming is not a craft by zeteo on Tuesday December 11, 2012 @02:32PM (#4906327)
>It would be great if programming were a proper profession, but it isn’t. A profession has a structured model for advancing [...] We need some sort of apprenticeship model, and a way to identify masters, both to apprentices and other masters.

Bullshit. It is precisely because programming is not straitjacketed in such medieval rigidities that it can create so much value these days. Forcing today's youngsters, who may be like Gates, Zuckerberg or the Collison brothers, into an X-years long "apprenticeship" program before anyone takes their code seriously is a spectacularly bad idea.

Re:Programming is not a craft by kyllo on Tuesday December 11, 2012 @03:05PM (#4906512)
This.

Programming is one of the few fields left where measures of productivity, utility, and value have not yet been fully usurped by the more arbitrary measures of popularity and seniority. You can judge a programmer by the quality and quantity of the product he/she produces, so you don't need to do it by arbitrary social rank.

In other professions where an individual's marginal product of labor is much more difficult to measure or is averaged together with that of everyone else in the organization, ranking people based on these extraneous social factors becomes necessary, but with programmers it is unnecessary and even harmful because the incentive structure becomes biased toward factors other than programming productivity.

Re:Programming is not a craft by michaelochurch on Tuesday December 11, 2012 @02:37PM (#4906362)
Proposed compromise:

1. Anyone can write code. 14 years old? No school? Fine. Doesn't matter. If it's good, people will voluntarily use it. Absolutely anyone can write code, and if it's good, people will use and pay for it.

2. No manager can make me read your code as a requirement of my job unless you've proven (by certification) yourself to be at a level where less than 5% of professional programmers currently are.

This would work for me.

Re:Programming is not a craft by kyllo on Tuesday December 11, 2012 @03:11PM (#4906544)
I don't think a cert is the answer to your problem. Because then a large % of people would study and pay just to get the cert and continue to write crap code anyway. Meanwhile a certain % of other people who can't/don't want to get the cert will continue writing beautiful code.

If you're concerned about filtering out people who write ugly, hard-to-maintain code, how about more portfolio-based hiring? Want a programming job? Show me an impressive piece of source code you've written, and explain what design patterns you employed and how it is an elegant and maintainable solution to the problem it was written to solve.

Re:Programming is not a craft by randomdata on Tuesday December 11, 2012 @03:32PM (#4906639)
No manager can make you read code as it is. There is said to be an unprecedented shortage of developers. It is easy to walk to another company who has code that aligns with your beliefs.

I don't see anything wrong with companies that want to have bad code. They'll probably suffer for it, but that's not your or my problem.

Re:Programming is not a craft by michaelochurch on Tuesday December 11, 2012 @03:41PM (#4906676)
I'm not talking about "me" here, except rhetorically. Yes, I can walk away from bad code (although I might be walking into worse code). I don't think a junior developer in Iowa City can.

What I'd like is a world where as few people as possible deal with bad code, and no one is stuck with no other options, because bad code tends to beget more bad code, and because it's wasting time that could be spent writing a bunch of new good code.

The evil of bad code isn't that unskillful code exists. The problem is that there are plenty of managers out there who don't know any better and will insist that people use it, and who never learned the processes that lead to good code (most important: keep program size small.)

Also, my experience is that over 90% of corporate code is absolutely terrible-- unusably, mind-stoppingly awful. Rolling the dice doesn't have the best odds.

Re:Programming is not a craft by randomdata on Tuesday December 11, 2012 @03:50PM (#4906722)
> Also, my experience is that over 90% of corporate code is absolutely terrible-

Which is kind of funny because those are the businesses who rely most heavily on vetting done through colleges and universities. They have, on paper, the very best programers available. I guess that goes to show how poorly credentialing actually works in the real world.

Re:Programming is not a craft by michaelochurch on Tuesday December 11, 2012 @04:00PM (#4906777)
+1. You win this one. At least, we haven't shown that we have the machinery to build a useful credentialing system for software quality.

I think the pain of what we do in the software industry, from the low respect to the bad code, goes back to the fact that our work is extremely difficult to measure, although the importance of quality could not be higher. Corporations have traditionally responded with a 3-4 year bug-fixing evaluative spell, but that's now leading to adverse selection because people like us (as you noted) won't stand for it.

Re:Programming is not a craft by zeteo on Tuesday December 11, 2012 @02:44PM (#4906397)
>No manager can make me read your code as a requirement of my job unless you've proven (by certification) yourself to be at a level where less than 5% of professional programmers currently are

You mean if you were hired by Facebook in '04 you'd have refused to read their source code?

Re:Programming is not a craft by michaelochurch on Tuesday December 11, 2012 @02:52PM (#4906438)
Well, that certification that I'm talking about doesn't exist right now, so... we kind of have to guess. No one can get away with saying, "I won't read crap code" and remain employed, but that problem is exactly what I'd like to see some professionalism to fix. I am fucking sick of bad code.

To answer more directly, I'm not good at picking startups (0 for 2) and I doubt I would have foreseen Facebook's success. I didn't, although maybe if I knew the company better I'd have been more of a believer. My general answer is: No, I wouldn't take a startup job where the bulk of my time would be spent reading other peoples' code, unless the code quality were extremely high.

Re:Programming is not a craft by tjr on Tuesday December 11, 2012 @02:47PM (#4906421)
It really strongly depends on what you're writing. There's a world of difference between hacking together a social networking web app and building software for a flight guidance system.

Professional accreditation and training may well be wasted on social web app coders, but I sure wouldn't want to fly in an airplane that was controlled by a weekend hacking project written by someone who just learned their first programming language the day before...