3 ms·
> And there will always be talented, passionate developers who don't test well or don't see the need to memorize something that Google could reveal in a single
by gdp 17y ago
> And there will always be talented, passionate developers who don't test well or don't see the need to memorize something that Google could reveal in a single search or who just think that the certification process is bollocks.
Any certification process that simply involved rote learning or which could be googled wouldn't be worth the paper it is written on. I'm certainly not advocating that.
> Just because Joe has a piece of paper saying that he knows X, Y, and Z doesn't mean that Joe isn't going to take shortcuts that end up costing the company thousands or millions of dollars (or human lives!).
Sure, certification doesn't do away with the need for QA and internal processes. It just ensures that anyone producing software that targets certain markets will have a basic understanding of which corners they are cutting. The government, for example, could mandate that they will prefer suppliers who have a certain percentage of certified developers. Playing an averages game, that at least means that somebody in the company is going to know when corners are being cut, rather than just having a group of people hacking along.
> Because Joe has this piece of paper, companies may be lulled into thinking that they don't need to test him as hard or give him as long a trial period before entrusting him with critical systems.
As I said before, the assurances provided by certification are not for the benefit of employers, they are for the benefit of users. If your hypothetical company actually did this, then they would be a very dumb company.
- nathanb 17y agoBut this dumbness is transitive. If it's dumb for a company to make assumptions about a developer because he's certified, it's dumb for a client to choose a company based on the percentage of developers who are certified. > Playing an averages game, that at least means that somebody in the company is going to know when corners are being cut, rather than just having a group of people hacking along. My argument is that this is completely false. In fact, I suspect that there would either be zero correlation between cluefulnes and certification or actually a negative correlation. The reason for this suspicion is both from looking at certifications required for other disciplines and looking at the best developers I know, all of whom have little to no use for certifications and are too busy doing awesome stuff to bother with formality and process (yet whose code consistently has the fewest and least severe bugs and is the most unit-tested of any code in the repository). There's certainly no question that a certification process could weed out maybe the bottom 5-10% of all developers if all professional software developers were required to take it. But the nature of software development is such that these developers are not the ones in danger of causing the collapse of civilization anyway. I would guess, and this is just my guess, that it's the ones who are in the top 50% but not in the top 10% who tend to wreak the most havoc: they have shown enough skill to be given important tasks, but due to time constraints or inexperience or whatever they make mistakes or cut corners. Thus, if I were a client, I would be more interested in choosing a company or supplier that has a policy where any code checked in must be reviewed by at least one experienced developer. I'd be interested in making sure that they write repeatable automated tests and use code coverage tools to ensure that their tests are testing what they think they're testing. I'd be interested in making sure that they had a mentoring program that allows new hires to be taught by experienced developers. Any one of these things would put my mind at ease more than any certification process.