HACKER Q&A
📣 fallenatreus

Can non degree-holder use the title Software Engineer?


Just feeling curious: Can someone use a software engineer designation without the formal education path (such as Computer Sc. degree etc). I always thought that to use a professional designation, you need to have professional qualification. Is there any laws/regulations/bodies that govern use of title of 'engineer'? I am interested to know, apart from learning to program and developing/designing software solutions, what makes a software engineer an 'engineer'?

Or is there a career path one has to take. After how many years in industry a person can start to call himself an engineer?

PS: Also curious what's the nuances of distinction between a Software Developer Vs Engineer?


  👤 anemoiac Accepted Answer ✓
Why not? In the US, there isn’t a formal professional engineer (P.E.) certification for software engineers (unlike most other branches of engineering). If you’re performing the same job as someone who has a software engineering or comp sci degree and your job title happens to be “software engineer,” why would it matter if you have an unrelated degree, no degree, or even no high school diploma?

*This may not be true outside of the US


👤 notyourNMI
Non-degreed Software Engineer from the USA here, weighing in with biased opinions:

Depends on the field you are in. Here at least, use of the title as it relates to software is currently driven by the hiring agency/company. If you are hired on as a Software Engineer without a degree, then you are a Software Engineer (at least in title, at that position). You damn well better be able to perform. But you can legally write "Software Engineer" on your tax forms.

In my personal opinion, what differentiates a software engineer from a software developer is the level of engineering rigor required for the development and application of your software in a given environment or system. Are there standards in place that recommend (mandate) you provide certain reasonable assurances (e.g.: verifiable proof derived through specified means) that your software will not yield unexpected behavior? Are there standards in place for a given industry that confine the way you use specific languages (to attempt to ensure the aforementioned unexpected behavior will be minimized or eliminated)? I'm thinking of DO-178B/C, IEC 62304, & MISRA as industry representatives here. If you can digest and navigate these standards, and prove to the applicable regulatory body that you adhered (designed, developed, and tested) to their respective guidance documents, they couldn't give a damn about a degree. You've proven you're aware of the risks your software can pose and how to mitigate them through thoughtful application of standards, rules, and hopefully best practices.

Here's where I'll piss some people off: Would I call a front-end UI developer a "Software Engineer"? Probably not, unless that UI is destined for a system where a developer error could cause harm, property damage, etc. What about a trading system where performance losses measured in nano-seconds could accumulate millions in losses? Possibly, depending on the complexity. My personal metric (based on my own career experience) is "will a screw-up cause harm, loss of life, or irreparable damage/destruction to expensive things". Losing millions in a trade and losing millions in an *craft crash are not equivalent to me personally.

Background: Non-traditional EE trained on avionics hardware who moved into developing safety critical avionics and medical device software and hardware.


👤 Freezerburnt
In Canada the title "Engineer" is protected by law. One must have an engineering degree from an accredited university in order to use the title. It's fairly strictly enforced.

👤 1vuio0pswjnm7
"I am interested to know, apart from learning to program and developing/designing software solutions, what makes a software engineer an 'engineer'."

Nothing. "Software engineering" is something anyone can attempt to engage in. It seems to conjure up an image of something better than bad programming. But unlike, say, mechanical engineering, there is no professional certification required to call oneself a "software engineer". The fact that this hobby/job is an unregulated practice may have something to do with the ubiquity of bad software. Some of the best programmers, e.g., Arthur whitney, have referred to programming as being like "art". The programmer who started this site in fact wrote a book called "Hackers and Painters".


👤 LinuxBender
I think you are asking a legal question? I am not a lawyer, but I can say that some governments in some countries require specific certifications in order to hold certain titles for certain government jobs. Otherwise the answer is yes, you can have whatever title you want provided that title does not imply any legal requirements doctor, lawyer. Your CV and interview with a business will help them determine if you meet the definition of your title. I have phone screened people that listed themselves as Sr/Principal ______ engineer and they could barely Google any of the answers. They won't get in trouble but they also won't get hired.

👤 seanwilson
I have a software engineering degree and I don't think you should call yourself a software engineer until you've actually worked in that capacity on actual projects for a while. You could ace the degree but not have the experience to deliver real projects until you have practice.

Besides that, a lot of job titles are arbitrary, made up and not consistent between companies. Call yourself what you think you're qualified to do and want to do. Same if you're freelance or a consultant, because nobody is going to give you a title.


👤 dave_sid
Tbh. I think when people see Software Engineer and Developer on a job ad or a CV, both mean the same thing to them. I certainly see as many job postings using both titles interspersedly.

👤 ThrowawayR2
Depends on what legal jurisdiction you work in. In the United States, job titles in the software industry are neither standardized nor enforced by any organization so people are free to call themselves whatever they like, regardless of education, experience, or even ability.

The downside of this is onerous and often poorly done interview processes designed to attempt to assess what the applicant is actually capable of.


👤 bdcravens
There's little to no regulation around the term. You'll find job postings for "junior software engineers" that need very little experience. Bootcamps use "software engineering" in their marketing, so I presume graduates call themselves that when they finish (even though at that point, they're qualified for little more than apprenticeship roles)

👤 austincheney
An academic degree is not a professional license. Software has no professional licensing so call yourself any title you want.

👤 st1x7
Yes, if you get hired for a job with the title software engineer, you are one. There are no education requirements for this. Same with any other title in tech. The distinction between developer and engineer doesn't really exist - engineer just sounds a bit fancier so some people prefer it over developer.

👤 skrooge
In some countries, yes. Either way developer is a better term than engineer when it comes to software imo.

👤 gbrindisi
Not in the US. In some european countries the title “engineer” is indeed protected by law.

👤 AnimalMuppet
That's been my job title for two or three decades. It wasn't a title that I chose for myself. Now, though, I use it for myself because that's the way others describe my role.

👤 boxed
This was my title at my last job. It's just the title for coders. Nothing more. I think it's a bit pretentious personally, so I usually just say programmer.

👤 tti
Question, what do you want to use it for? If it’s somewhere like LinkedIn, nothing can stop you.

👤 probinso
you can use absolutely any title. you have to be able to justify the skills.

👤 ttronicm
Just plain YES.

👤 cracksmoka420
Nowadays, you can identify as whatever you want.