Ask HN: Do you call yourself a software engineer or software developer?
I've never understood why so many people in the industry insist on calling themselves software engineers. Do you have formal training in engineering? Do you employ engineering techniques? Doesn't "software developer" better describe your role if you're not using actual "engineering" techniques? Sure, some of us have taken software engineering classes, but does that make us engineers?
26 comments
[ 5.4 ms ] story [ 56.5 ms ] threadSource: I am director of engineering at a 35 person startup
On the flip side of things, I think developer is a better buzzword.
Are you assuming that most of us do not have CS degrees? I assume that most do.
That being said, I consider the terms to be interchangeable. I lean towards "software engineer", but certainly don't mind the "software developer" label.
So there's that.
personally: Engineers encapsulate architecture, infrastructure, development, planning, research, dev-ops, provide leadership and lead the execution. Where developers are responsible for specific execution of a project.
my boss: having "Engineer" in your title is offensive to the Engineers who went to school for it, so we'll call you a developer now that you've been a software engineer here for a while.
The people that really try to make a distinction may have spent quite a lot of money on a degree or may be trying to justify a higher salary.
Any programming job requires engineering. The amount of skills and sophistication of techniques varies, but if you are programming without doing software engineering then you're not doing it right.
In the context of computer programming, 'engineering' is applied broadly to pretty much any activity beyond typing in a single script.
I believe engineering is an appropriate term because most computer programs are very complex systems are require the application of a range of knowledge and skills. And most of these systems are novel in certain ways often requiring more problem solving ability than some other types of engineers may ever need to apply.
TBH, while I do have a degree in Software Engineering, and do practice actual software engineering in the day job, I could give a rats ass what my actual title is.
In the US the title of Engineer is not reserved except in a few very specific instances and the argument about whether software creation is engineering needs to first agree on what engineering is, a very open question and one that seems largely uninteresting to me.
In my own head I think of myself much more as a logician/mathematician than I do an engineer, but I bet you couldn't guess/interpret that from the output.
My actual title is Chief Development Officer, but meh.
If you feel you are a better developer just prove it with code and great architectures. We don't need titles.
I've found the term to closely correlate with how the organization thinks about building software and how responsibilities and decision making around what to build are broken down.
Companies that call programmers "engineers" often employ a number of other people to determine what to build. Product Managers, Business Analysts, UX specialists, etc are more commonly filing this role, while programmers simply write the code, test it, deploy, and fix it.
Companies that call programmers "developers" usually have only limited supporting staff like Customer Support and Ops to supplement the actual programming work. Programmers are often experts in an industry (like Healthcare or Finance) and often determine what to build as well as actually building it. These responsibilities are sometimes clearly stated, but more often the decision making is going on behind the scenes.
I did CS/EE in college. Can't say I elevate one over the other. I knew plenty of people that were good at one but not the other. In general we optimize our behavior - if you have to send a chip to fab you spend a ton of time on simulation and validation before going physical. In software we can just fire up our debugger and inject values in by hand. Neither is fundamentally 'better' than the other. However, I think you can get away with poor techniques much easier in SW. Bosses notice really quickly when a CPU fab run turn out chips that don't work and the cost (money) of that mistake is detrimental to your career.