Live data from Hacker News

Ask HN: How would you set up national certification for software engineers?

news.ycombinator.com

31–40 of 79 posts

Re: Ask HN: How would you set up national certification for software engineers?

#31
Wait for something to go very wrong. You want flaming wreckage, the lights going out state-wide, or at least a major business failure. And the problem has to be software. Then when the politicians are flailing around looking for something, anything, to do about it, point out that other safety-critical areas require designs to be done by certified engineers who have to meet training and practice standards. There is no reason something similar couldn't be done for software, and indeed a lot of engineering schools now offer software engineering programs. Require that all designs for life-critical software be done by certified software engineers. Maybe expand it to all software that handles more than $1MM/year, too. Grandfather most existing practitioners, say those with an undergraduate degree in a relevant field.

Re: Ask HN: How would you set up national certification for software engineers?

#33
post #16

I'm a Chartered Engineer in the UK and no employer has ever cared. Perhaps they might if I worked in a safety critical arena such as aviation but certainly not in suit and tie business software land. The problem is that although people moan about rubbishy software it very rarely physically hurts anybody and can be fixed in future releases. This means people are unwilling to pay the extra cost of software being more m…

The problem with this is that badly written software actually costs more to write than a properly engineered product.

Sure, the initial impulse is cheaper if you hire all greenhorns but after a year? after five years? When the business decides that they want to move from AWS to Azure for X immutable reason?

Re: Ask HN: How would you set up national certification for software engineers?

#34
post #10

Do what they do for all other engineering fields: require a certified engineer sign off on a product delivered to a regulated entity, and be able to hold that engineer criminally liable if someone comes to harm from the product they signed off on. The quality of software for lolzcat apps could remain shitty, but the quality of firmware for FCC approval would go way up. In order for quality to increase for infrastruct…

Do what they do for all other engineering fields: require a certified engineer sign off on a product delivered to a regulated entity, and be able to hold that engineer criminally liable if someone comes to harm from the product they signed off on. Right, but that's not what OP asked. OP is already assuming that we're in a situation where we recognize the need for certification for software engineers. Let's say, for e…

I don't see any other way than to grandfather in all or most current practitioners. Take, say, everyone with five years of documented experience and a relevant degree. Congratulations, they are now certified engineers. Provide ways for workers who don't quite meet those standards to get themselves in compliance. But enforce requirements for all incoming graduates from then on. And there might be requirements for ongoing training for everyone, too, the way there are for lawyers and doctors.

As to who would do this, there are organizations like the IEEE and the ACM that would be only to happy to help.

Re: Ask HN: How would you set up national certification for software engineers?

#35
I wouldn't. Software development is not fundamental. It is a blended trade incorporating art/design/marketing with engineering. If it were something that could be nailed down like plumbing I might could see it, but currently software developers are a rather diverse group serving a diverse market.

Edit: I would be curious to see, if more people are willing to indicate their years of field experience in this particular thread. I'm crowding 23.

Re: Ask HN: How would you set up national certification for software engineers?

#36
post #26

A professional certificate is not a quality grading tool, it's a pricing mechanism. Thus the demand for the certification needs to come from the selfish needs of the certified profession. First requirement is that there is an oversupply of qualified candidates. As the demands for software engineers shows no signs of abating I would claim attaining this first requirement would be quite hard. On the other hand, if supp…

Were you working in 2008? Demand can ebb.

Re: Ask HN: How would you set up national certification for software engineers?

#37
When the actual behaviour of software diverges from its expected behaviour we call it a bug. The reason we have bugs is that we humans are very bad at reasoning about the expected behaviour and projecting the actual behaviour of a computer program, and that is because of the humongous complexity that is involved.

Unbounded complexity is a distinct trait of software. The most important, most regulated and most prestigious software engineering tasks are hands down mostly about doing relatively simple things but controlling complexity. To a lesser degree, when writing code every programmer is actually working to control complexity.

Once things get complex then nobody, not even the brightest brain, can get anything done anymore. So the first priority is to actually avoid too much complexity and to reduce it further will cost time and money.

This means we can do simple things well if we want to. We do this for narrowly scoped projects such as aviation-grade software, rocketry and medical software et cetera. It costs, and we can do it, but that's only because we already slashed out most complexity out of the window before we even started. Instead of general-purpose software we're writing very specific-purpose software.

Using the same principle but working on top of abstractions we can do complex things well in software, too. But those always come with a caveat about when and where the abstraction might fail. Most software is like this but that is also the sort of software which is no longer bridge-building grade. We don't build bridges whose design is theoretically sound given a few hasty assumptions, but with the possibility that when those assumptions might fail the bridge would come down. Certified software engineering can't fix that because they would have to start from the ground up to cover all their bases and then they couldn't get very high from there.

Certification is no silver bullet. Complexity is already managed where absolutely necessary and where there is the money to back it up. Requiring a certified engineer with legal responsibility in the general case would just make most software development stop entirely because anyone with the slightest understanding of programming would never sign off the software we currently want to run, and writing properly engineered software to handle what we currently want to run would be just prohibitively expensive.

Re: Ask HN: How would you set up national certification for software engineers?

#38
post #3

Here is the Tunisian approach: 1- Let private and public schools be. They can issue their engineering diploma as they like (to a certain extent). 2- Have a national committee that evaluates graduates and gives "national diploma of engineering" based on a number of criteria. 3- Watch the committee slowly become irrelevant as the private sector companies don't care about the national diploma and just wants qualified pe…

The system in France is similar in a way. There are private and public schools, if they are certified, they can issue an Engineering degree but there are non-certified schools who just issue their own diploma.

Private sector companies do care about the actual Engineering degree so people who graduate from non-certified schools tend to have a lower starting salary.

Re: Ask HN: How would you set up national certification for software engineers?

#39
post #10

Do what they do for all other engineering fields: require a certified engineer sign off on a product delivered to a regulated entity, and be able to hold that engineer criminally liable if someone comes to harm from the product they signed off on. The quality of software for lolzcat apps could remain shitty, but the quality of firmware for FCC approval would go way up. In order for quality to increase for infrastruct…

Criminally liable? There do not exist schedules or tools or processes that would allow me to put my freedom on the line for my work. I'm a solid developer, too, but I am pretty open-eyed at the challenge of zero-defects.

I think the premise, "engineers need to risk going to prison." is facially ridiculous. I'm down with prosecuting actual fraud but you can't legislate quality. You can only protect diligence.

Re: Ask HN: How would you set up national certification for software engineers?

#40
post #26

A professional certificate is not a quality grading tool, it's a pricing mechanism. Thus the demand for the certification needs to come from the selfish needs of the certified profession. First requirement is that there is an oversupply of qualified candidates. As the demands for software engineers shows no signs of abating I would claim attaining this first requirement would be quite hard. On the other hand, if supp…

Were you working in 2008? Demand can ebb.

Yes, but it's not as if we can fabricate these events.
Post reply on HN