4 ms·
What sets the Engineer apart from the Developer for me is: * the engineer can work with other developers/engineers * the engineer writes code that is maintain
by johntdaly 5y ago
What sets the Engineer apart from the Developer for me is:
* the engineer can work with other developers/engineers
* the engineer writes code that is maintainable
* the engineers code has an architecture
* the engineer can find a solution to problems that don’t have a lib or stackoverflow entry
In other words:
A Developer is more likely to work on smaller codebases, most likely alone, that are comprised of known problems. If you are lucky there will be some sort of rough architecture.
An Engineer is more likely to work on larger codebases, most likely in a team, that has a core of problems that are specific to the product or a domain and need to be implemented by the Engineer. The code architecture exists to facilitate maintainability and cooperation between Engineers.
- serial_dev 5y agoOne thing you forgot: An Engineer is just like a Developer, but an Engineer read it online on Hacker News once that if you call yourself an Engineer, some people will automatically assume that your code is maintainable, you design your app better, and you don't need stackoverflow. The Engineer decided to change his/her title on LinkedIn (because nobody can actually check your real title). This Engineer (former Developer) then went on to look down on Developers because they are messy script kiddies and code monkeys that write bad code and copy from stackoverfliw.
- codyb 5y agoMy degree is in Computer Engineering :-)
- tobyhinloopen 5y agoAnd then the engineer upgrades himself to a software architect!
- johntdaly 5y agoI for one prefer to look down on the masses by choice of programming language not job title! But in all seriousness, yes our job titles are BS to a large degree and we have the tendency to look down on other programmers for various reasons like job title, programming language, operating system and editor/IDE of choice. What I said about the progression of skill still holds true and if I would include Architect in that list I would define him as: * is able to set up an architecture for a system * is able to consider all layers of the system (frontend, backend, services, deployment…) * is able to change/update an architecture of a system if the requirements change and is capable to predict possible requirement changes in the original architecture Honestly you can’t be an “architect” if you haven’t been an “engineer” and to become one you will have to have been a “developer”. You just can’t start at the top. What is more interesting is that not every “engineer” wants to become an “architect”. There is theoretical prestige in that title but it also takes you away from the code and I know people who have quit their jobs when their role started to become to detached from actual day to day coding.
- deleted 5y ago[deleted]
- sdevonoes 5y agoNot sure if this was for real. The distinctions you made could be applicable as well between experienced developers/engineers and non-experienced ones. Engineer is just an HR term used exclusively by companies to hire and to classify employees.
- rmbyrro 5y agoCouldn't we just say there are levels of quality of developer's output?
- ataru 5y agoI like to use "software developer" because it's the most straight forward description of what I do. When I need to describe my role to people who don't work in the software industry, it's useful to have a simple title. Development is more than programming, as it includes other aspects of creating software. I'm not sure we should use the words engineer or architect, as both have strong meanings in other professions, which might not completely fit. Another reason I like the word "developer", is it implies that there is an ongoing process of "development" - a process which changes direction as it progresses and develops continuously. That fits perfectly with the agile practise I use.