Hacker News new | ask | show | jobs
by RodericDay 2691 days ago
it's just as much your responsibility as it is theirs to insist on ethical standards

engineers don't get to go around running saying "i was gonna put some basic safety procedures in there, but they just wouldn't pay for it"

you make them pay for it

4 comments

This is one of many reasons I keep trying to stress that software "engineers" are not engineers. Writing software is wage labor, not a profession.

The sooner we come to terms with our situation, the sooner we can work to better it.

This is really why we need to form a professional association of some sort - it'll allow for some level of responsibility in what developers produce, as well as help guarantee a certain standard of product.

It will also ensure that the we don't have to worry about the market being flooded with cheap labour that every big business and government entity seems interested in creating.

I understand that doesn't sound great right now given that software development is a comparative goldmine to a lot of other jobs, but compared to other professions we could stand to become more formalized.

That can't happen because there's no formal qualifications to calling yourself a software engineer. I've worked with people hired as software engineers who just took an X week online course, and it shows.

Now, if you're talking about solving the above first, I'm enthusiastically all ears..

In Canada most software devs don't call ourselves engineers - we legally can't - engineer is a protected title.

And yes, that's what I'm suggesting - there needs to be a formalization of terms for software. I'm not saying exclude the X week course individuals, but in Accounting there are "tiers" of accountant, based upon education, focus, and experience, and that may need to be instituted, allowing people to see at a glance what designation you've achieved, even if that means the bootcamp grad has to write a 50 question test at the end of their X weeks.

I know, I know, pipe dreams.

Engineer isn't a unilaterally protected title here.

There's plenty of people and jobs titled Software Engineer (or QA Engineer, or Site Reliability Engineer, etc).

You can't misrepresent yourself as a P. Eng. however. Here in Ontario, PEO will probably nail you for it:

http://www.peo.on.ca/

Though from what I understand they frown on it because they want complete ownership of the term (but their critique really has no teeth unless you make like you are indeed licensed by a central regulatory body such as PEO):

http://www.peo.on.ca/index.php/ci_id/2266/la_id/1.htm

edit: Just some further information on the subject in Canada—Software Engineer (among others) is a nationally recognized and distinct title (can overlap, but doesn't necessitate a P.Eng certification):

http://noc.esdc.gc.ca/English/noc/ProfileQuickSearch.aspx?va...

Wow, you've really dug into this.

It looks like if you want to call yourself an engineer nationally you need to be a P.Eng, and it's up to the provincial bodies to regulate the usage in each province.

> Experience as a computer programmer is usually required.

That's amazing, you need to be an engineer, but don't need to know how to program to be a Software Engineer.

The first step to getting a protected title is forming a trade association. You can't call yourself a lawyer without approval of the Bar Association. You can't call yourself a doctor without approval from the Medical Board. The first step to getting "engineer" as a protected title is forming a society of engineers who can petition the government to legally protect the title.
Well, there's a difference between "doctor" and putting "MD" after your name just like there's a different between "engineer" and a "PE".

I'd question if anybody really gives a damn if a software developer is certified with some feel-good namesake. Most software just isn't as serious as needing legal counsel or medical expertise.

Also, many of the roads I can think of where we do arrive at a place where people care about some certification are pretty terrifying. Like needing years of schooling before you can legally make a Twitter app for somebody, or needing re-certification to make tiny lateral moves like you need in the medical industry.

>Most software just isn't as serious as needing legal counsel or medical expertise.

Most legal counsel and medical expertise isn't that serious either. Ask your family doctor how many patients they have every day who come in only to be diagnosed with the common cold, something anyone's grandma could diagnose over the phone and treat with a microwaved can of soup. But when it is serious, you don't want grandma doing your appendix surgery. You want a licensed and trained doctor.

For every one slippery slope argument, there's five "it's not that slippery" counter arguments. You don't need a medical license to buy over-the-counter painkillers, so why would you need a software license to build your own software? You don't need to be a bar-certified lawyer to write your own contracts, so why would you need to be a certified software developer to make a website?

Heck, take plumbers for an example: there are certified, bonded, and insured plumbers. There are plumbers who are not. You can choose a non-certified plumber, but most people would choose the certified plumber instead. If you don't need a certified software engineer, you're not going to pay the premium they would charge with no guarantee of quality. In this world, networking is king and if you don't know someone, you're screwed. If you need certified software, you'd hire certified software engineers and pay the premium and know you at least got someone who has passed their certifications and if they do poor quality work can have their certification revoked.

Considering poorly built software can bankrupt someone, publicly embarrass someone, and can even kill someone, the fact that anyone willing to lie on their resume can build it is scary. You can be reasonably assured that the surgeon operating on you is quality and there are ramifications if they are not. Are you sure that the person who wrote the code for your car's anti-lock brakes or airbags are held to similar standards?

It's not wage labor, it's salary labor.
Yeah, it doesn't work that way.

It takes time to meet compliance standards, and when it comes to items like color choice, often you're against client-selected requests.

I can either 1) keep pissing into the wind only to eventually be put through the grueling algorithms grind of job-searching again...

Or 2) keep firmly pressing for better standards, but still do what I'm told to do.

This is part of what a legally protected engineering title does. When you stamp something as a professional engineer, you are saying that it meets all applicable codes. That is a legal statement, and to do otherwise would be fraudulent. If you have a professional association that dictates this and has restraint of trade in place so only a member of the professional association can do it, then it's not even pushing back. It's a flat statement: "You have to do it this way or you can't have it stamped."
I'd be on board with that if it doesn't exclude non-degree holders from working in web development.
Have you had luck in this endeavour? As it stands most software devs aren't actually engineers and as such are held to no ethical standard, nor have the (professionally certified) credibility behind their words to demand specific design standards.
Software engineers, unless they literally went through a b. eng., are not engineers, despite calling themselves that. Most software/web developers are just wage workers.

"You make them pay", you being who exactly? The employee that gets a list of requirements and a deadline? These places are filled with juniors with relatively low experience. If their bosses tell them to do something, they'll do that thing, and don't have much leverage to argue.