2 ms·
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 c
by michaelochurch 14y ago
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.
- zeteo 14y ago>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?
- michaelochurch 14y agoWell, 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.
- kyllo 14y agoI 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.
- randomdata 14y agoNo 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.
- michaelochurch 14y agoI'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.
- randomdata 14y ago> 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.
- michaelochurch 14y ago+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.