Live data from Hacker News

Joe the Developer doesn’t need a certificate

gojko.net

21–30 of 71 posts

Re: Joe the Developer doesn’t need a certificate

#21
post #12
post #8

Earlier quoted context omitted.

The certification argument seems to forget whose benefits from certification. It's not the developer - it's the people who are able to ensure that there is a baseline level of competence among software developers entrusted with certain kinds of development work. You're making one huge assumption here: that the certification actually certifies anything at all. As a matter of fact, it does not. Certifications are usele…

> You're making one huge assumption here: that the certification actually certifies anything at all. As a matter of fact, it does not. Certifications are useless. Having or not having a certification is no indication of presence or lack of programming skill. Bet you're not a fan of driver licensing either, right? 'cause a driver license is no indication of the presence or absence of driving skill, either. Oh, wait, y…

Driving is a far simpler skill than programming. The fact is, most people in the world are capable of driving a car, after proper tuition. Most people in the world are incapable of developing quality software, after any amount of tuition.

I think one huge problem with software engineering is that hardly anyone within the industry can even agree about what the "gold standard" should be. In those circumstances, it's extremely hard to figure out what a "proper" certification should entail. Even decent certifications end up being opinionated pieces of paper that don't really mean anything to most of the industry.

Fundamentally, programming is about problem-solving. Beyond an IQ test, I'm not sure how you can certify that effectively.

Re: Joe the Developer doesn’t need a certificate

#22
post #16
post #7

Earlier quoted context omitted.

I agree that the existing certification programs may be lacking, but I don't think that negates the need for them. It just means we need to come up with better certifications.

There will always be ways to game the certification process by teaching the test. 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. Requiring certification would, it seems to me, make it more difficult to determine which developers to trust. J…

> 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.

Re: Joe the Developer doesn’t need a certificate

#23
post #20

Earlier quoted context omitted.

An anecdote. Back in late 90s I managed to get second best score in the country (for that year) in Visual Basic exam under Microsoft Certified Solution Developer program. The catch was that I had have never written a single line in Visual Basic nor had I have any substantial database development experience. So, yeah, it is entirely possible to get certified and not know a thing about a certification subject. Guy's go…

That's just an example of a bad certification process. Being able to provide an example of bad certification does not invalidate the entire concept.

Can you give an example of a good certification process for developers? I can't think of a one I would hire based upon.

Re: Joe the Developer doesn’t need a certificate

#24
post #19

I've always said that certifications are a base level of competence for a job, not a proof of expertise. When a senior dev rants about how they don't need a certificate, I agree, but counter them with the question: If certificates are so easy to get and meaningless, why haven't you bothered to get them? Note: I can think of a number of reasonable answers why not... but their response to that question is often enlight…

and meaningless

Aren't you answering your own question here?

Re: Joe the Developer doesn’t need a certificate

#25
post #21
post #12

Earlier quoted context omitted.

> You're making one huge assumption here: that the certification actually certifies anything at all. As a matter of fact, it does not. Certifications are useless. Having or not having a certification is no indication of presence or lack of programming skill. Bet you're not a fan of driver licensing either, right? 'cause a driver license is no indication of the presence or absence of driving skill, either. Oh, wait, y…

Driving is a far simpler skill than programming. The fact is, most people in the world are capable of driving a car, after proper tuition. Most people in the world are incapable of developing quality software, after any amount of tuition. I think one huge problem with software engineering is that hardly anyone within the industry can even agree about what the "gold standard" should be. In those circumstances, it's ex…

OK, you've fundamentally mis-represented what I've said.

You're talking about programming - I'm talking about certification of software engineering. They are two separate-but-related concepts.

A certification should not be "Joe knows the syntax of language X according to some test" - it should be "Joe is familiar with this range of techniques that can be applied to produce higher-quality software". These are reasonably easy things to test, and their presence or absence is not related to intelligence or programming skill.

Whether (as employees) these programmers actually are expected to apply these concepts is irrelevant. The fact that everyone knows what everyone else knows leads to a basic assumption that you either are applying some good software engineering techniques, or you have examined the reasons why you are choosing not to apply them.

The problem is that we have developers who are perfectly capable of writing good quality software according to some development practice, and developers who don't even know these things exist. If everyone knows what everyone else knows (and users know what developers are expected to know), then we start getting some pretty good assurances that people have at least considered these issues.

And that's worthwhile.

Re: Joe the Developer doesn’t need a certificate

#26
post #23
post #20

Earlier quoted context omitted.

That's just an example of a bad certification process. Being able to provide an example of bad certification does not invalidate the entire concept.

Can you give an example of a good certification process for developers? I can't think of a one I would hire based upon.

How about making the person taking the certification create working, readable programs, and have them submit their answers electronically. Like how programming assignments were in college, except without the rife copying between the participants. I think this test would weed out many people from the very beginning.

Re: Joe the Developer doesn’t need a certificate

#27
post #9
post #5

Earlier quoted context omitted.

What about certifying the software that Joe the developer creates, rather than Joe the developer? This is the approach the FAA takes with DO178B for the flight software on the jet planes that we ride. These are very large projects, using hundreds of developers. The quality of the team members varies. Half are below average for the population at large. Adding certification on top of this doesn't change the fact that h…

> What about certifying the software that Joe the developer creates, rather than Joe the developer? There's a simple reason why - it costs x to certify 1 developer, and y to certify a piece of software. For most software, "y" is still too expensive to offset the potential damage caused by software failure (compared to a jetliner, where the potential cost is huge). A programmer may create hundreds or even thousands of…

I think the idea that certifying developers and not certifying safety critical software is a non starter. On safety critical projects, certification will add to existing and onerous validation and verification costs.

The process requirements on these projects (DO-178B) call for an organization to institute a systematic way of developing software across the project that everyone on the project follows. An additional certification for each individual is not necessary. Either they can follow the process or they are reassigned.

Re: Joe the Developer doesn’t need a certificate

#28
post #23
post #20

Earlier quoted context omitted.

That's just an example of a bad certification process. Being able to provide an example of bad certification does not invalidate the entire concept.

Can you give an example of a good certification process for developers? I can't think of a one I would hire based upon.

No, hiring on the basis of a certification would be silly. Declining to hire on the basis of a lack of certification might not be.

Here's a basic idea. It might be one of many:

Software x has been developed in the following way (explained here). Which of the following are not valid statements about x?

1) x is free of defects 2) We can have confidence that x will work under these circumstances 3) ...

I mean, sure, you would need to contrive a proper example, but that is the kind of thing I am advocating. It should be a test that a competent developer who actually thinks about quality at all should be able to pass without much in the way of study or "extra work". People who do not think about the quality of the software they produce would need to learn about these issues.

Re: Joe the Developer doesn’t need a certificate

#29

Woah. People usually oppose certification because it creates barriers to entry. (In particular, I subscribe to this point of view even though I'm a long-time programmer.) Now this guy opposes certification for the opposite reason - that it makes entry into the profession too easy . In a better world this would've been some kind of clever postmodern provocative trick, like Alan Sokal or whatever, but something tells m…

They aren't incompatible viewpoints.

As a thought exercise, imagine a job that requires a qualification that has little-to-nothing to do with the actual profession.

This would both artificially increase the barrier to entry for people with skills but no qualification, while decreasing the barrier to entry to those without skills who have passed the qualification.

Re: Joe the Developer doesn’t need a certificate

#30
post #9

Earlier quoted context omitted.

> What about certifying the software that Joe the developer creates, rather than Joe the developer? There's a simple reason why - it costs x to certify 1 developer, and y to certify a piece of software. For most software, "y" is still too expensive to offset the potential damage caused by software failure (compared to a jetliner, where the potential cost is huge). A programmer may create hundreds or even thousands of…

I think the idea that certifying developers and not certifying safety critical software is a non starter. On safety critical projects, certification will add to existing and onerous validation and verification costs. The process requirements on these projects (DO-178B) call for an organization to institute a systematic way of developing software across the project that everyone on the project follows. An additional c…

You appear to have inferred incorrectly that I am talking about safety critical work.

I am not. I'm talking about anything that people are expected to spend money on. The certification passes to the software, and then users are capable of making slightly more informed decisions.

I'm a formal methods geek, so I generally advocate theorem provers for stuff which is actually safety critical. To me, certification of developers would just be a way of lifting the general quality of the non-safety-critical stuff that still has the opportunity to cost people lots of time and money.

Think about viruses, for example. People complain about viruses causing millions of dollars of damage.

The virus didn't actually do any damage. The shonky programming that allowed the virus to propagate in the first place did.

And that's why certification is important. Hopefully it would at least ensure that people writing software are familiar with the issues that can affect software quality.

Post reply on HN