4 ms·
The biggest quarrel I have with this whole debacle is how it all started out. A group of wise asses decided they should fancy their title up and now everyone ha
by TheCapn 15y ago
The biggest quarrel I have with this whole debacle is how it all started out. A group of wise asses decided they should fancy their title up and now everyone has to "to stay relevant".
The fact is I AM a Software Engineer. I have a degree in Applied Science and I have my Iron Ring. I am registered with my provincial Professional Body. Saying that, I am not just a "Programmer" (I do not mean to sound derogatory) but there is a difference in the fields that I think is getting blurred.
I turned down many jobs that wanted "programmers" because I am an "engineer" and don't want to fall behind in my primary field to take a job that is loosely related. I code at home in my own time releasing small projects only recently digging into bigger ventures that are potentially able to turn profit but that's beside the point. Where I am now is an engineer's job. I do programming yes, but my job requires more than an understanding of computer architecture and design pattern competency to succeed.
I feel like I'm sounding like an ass. I am much more humble I swear! The point is that Software Engg != Programmer we need to stop fooling ourselves and allow the segregation to occur so that programmers are properly recognized and respected for their work!
- rcfox 15y agoAs a computer engineer, with an iron ring and a bachelor's of applied science, I feel your pain. In Canada, there seems to be some respect given to the title, although it seems to be waning. In the UK, an engineer is someone who fixes your car or appliances. In the USA, an engineer is someone who writes PHP.
- _delirium 15y agoOutside software, I'd say "engineers" are pretty well respected in the U.S., but I don't think it actually has any strong substantive connotation. An "engineering" job can range from some sort of strong meaning of the term, to something closer to "technician", which maybe is the non-computing analog of "programmer". There are plenty of, say, aerospace engineers, especially at the lower seniority levels, whose job mainly involves "running the numbers" in a fairly straightforward way, and not a lot of independent decision-making or problem-solving. (Some places do distinguish "engineer" and "technician", but I don't think it's a strong boundary, and where it does exist, has more to do with formal credentials and pay grades than the actual job contents.)
- TheCapn 15y agoWhere I'm from the real difference between Engineer and Technician is the amount of responsibility that is placed upon the professional's shoulders. I have lots of technician friends who complain about the work they do being the same as engineers but aren't paid in the same grade as we are. I'm not sure whether or not I agree with them in this case but the reality that I keep seeing is the idea of "responsibility". The work that the technician does is passed through the engineer who puts his approval/stamp/whatever on it and puts it through production. If something a technician did came through my desk and I approved it only to have it cost my client massive financial loss for a preventable reason it is MY ass that is on the line and not the technician. I could be a technician and not have that on me but that wasn't my decision and if an employer wants to retain competent engineers they need to pay them at an appropriate grade so that they're prepared to take that responsibility. EDIT: I guess another thing is the academics that each goes through. Technicians mostly go through courses that teach reconstruction and following the spec while engineers are given a broad problem and time to solve it. I'm not saying technicians are incapable of design, I'm just saying the schools my friends went through didn't teach it so it isn't really expected of them.
- _delirium 15y agoAh yes, that's an institutional difference in how engineering sign-off works. In the U.S., you do usually need engineers with P.E. certifications to sign off on a project, and in small firms it works like you describe. But in large corporations, there are typically very few people who do official sign-offs, often only the VP of Engineering or head of a project, who signs the final designs, and anything legally deposited with a government. And they usually don't do it purely on their own professional judgment, but only after consultation with the legal department. As a result, very few engineers actually have jobs with sign-off authority/responsibility. Even if you do have a P.E. certification, unless you're very senior you'll probably never be officially signing off on anything as a regular employee. Below the top levels, almost all engineering jobs are structured as someone doing internal technical work for the corporation that gets passed upwards for eventual sign-off. That's part of what makes the engineering/technician boundary fuzzy, because nearly everyone is a technician by the classification you describe, in the sense of someone who doesn't independently sign off on engineering work (I do agree that engineering involving more design work is a common differentiator, though).
- Aloisius 15y agoIn the US, Professional Engineers are licensed through the state and are legally responsible for their work. If you engineer a bridge and it falls down because of a design problem, you are the one at fault. Until software engineers become legally responsible for crashes/data loss/etc. of their software and can be sued out of existence or go to prison because negligence, they will not demand the same respect that other engineers do.
- splicer 15y agoApparently Texas, like Canada, considers software engineering a proper discipline of engineering, subject to the same regulations as other engineering disciplines: http://sce.uhcl.edu/helm/SWEBOK_IEEE/papers/10%20reprint%205.pdf http://sce.uhcl.edu/helm/SWEBOK_IEEE/papers/10%20reprint%205...
- jbondeson 15y agoFrankly, I dispute the existence of a "Software Engineer." The UK and parts of Canada may recognize and regulate people with this title, but I don't believe that the same rigor _can_ be applied to building software. You would have to work with formally verified (and I mean that in the mathematical sense) hardware and software all the way up and down the stack (that would include the language and compiler you utilize). You would then have to formally verify your own software on the stack you are deploying to. Only then would you be approaching the rigor that other Engineering professions are held to.
- TheCapn 15y agoI guess I lied in part... I'm a Systems Engineer with a Software specialization. My work is about the integration of software components into a much larger architecture of devices... in my case I keep the internet backbone alive for my province that includes alarm monitoring, fault detection/correction and upkeep to systems for prevention. AI, formal methods and other broad categories are extremely relevant in my industry and I personally believe only a fool would discredit this as an Engineer's job.
- jbondeson 15y agoYou're an Engineer who writes software, nothing wrong with that. Lots of Chemical and Electrical Engineers write software, I'm still not going to call them Software Engineers. This isn't about discrediting anyone's life work. The fact is if you're developing software that gets deployed on anything but purpose-built hardware you're already not engaging in proper engineering practices. It would be like building a bridge with materials whose properties you didn't know.
- jarek 15y ago> I don't believe that the same rigor _can_ be applied to building software. Check out aerospace software development processes. edit: also embedded automotive software
- randomdata 15y ago