DEV Community

Cover image for Was I a Developer or an Engineer?

Was I a Developer or an Engineer?

Mehmet Aydin Bahadir on May 24, 2020

Tl; dr: Title does matter. Sunlight is something you can not always find in Amsterdam. Therefore, it is valuable. If it is more than 15°C outside ...
Collapse
 
amorganpd profile image
amorganPD

I always find this debate interesting. Sometimes I'm not sure it matters, but sometimes I do.

I think matters when the perception of what you do will affect your ability to perform and progress in you career.

But, academically, I've always considered these titles differently. To me the difference is in how you approach a problem.

An engineer should approach problems by evaluating risk, cost, feasibility, etc. They should also be concerned with the design and how it affects the rest of the system.

A developer may be given smaller problems, and sometimes in isolation from the rest of the system, for right or wrong. They may also design and build at the same time and be more concerned about implementing.

Just my take on it. I agree anyone can become an engineer, but it's all about learning how to solve problems, which is why doing so for 4 years at a university has an advantage.

Collapse
 
actuallymab profile image
Mehmet Aydin Bahadir

An engineer should approach problems by evaluating risk, cost, feasibility, etc. They should also be concerned with the design and how it affects the rest of the system.

This is pretty much how "Software Engineering at Google" describes a Software Engineer 👍

Collapse
 
manishfoodtechs profile image
manish srivastava

I think you are comparing a subset with its master set. Engineering is master set while software engineering is subset of it. An Engineer need to know more... more means more... In India, First year Computer Engineers have mechanical work shop, chemistry , physics etc. Also , they made to understand process engineering etc. But a Software engineer is limited to languages etc. The wide difference you can see in MCA and B tech Computer Science curriculum.

On Application Part: It depends upon the problem you are solving. If its software related then you are software engineer :). This is my personal view. Yes, your article present the question in very nice manner : Was I a Developer or an Engineer?

Collapse
 
maniflames profile image
Maniflames

I guess this is one of those debate prompts that pops up every now and then. Software Developering might not be a thing, but Software Development definitely is!

I think it's good to keep in mind not everybody who develops software can apply engineering principles. I don't study computer science and my masters also won't be in computer science. However I have worked as webdev at an agency and can apply basic engineering principles. I see myself as a developer because I can create software but lack a lot of the general engineering skills.

A lot of people genuinely don't care about their official title, and to be fair I don't really care either. The difference between development and engineering in software are pretty hard to identify. I think software design, algorithmic thinking and knowledge about performance optimisation are expected of engineers but not always from developers.

Hopefully you're doing great here in holland 😁

Collapse
 
actuallymab profile image
Mehmet Aydin Bahadir

Thanks 😊 I'm doing more than great at the beautiful Netherlands. To be honest, I do not care about the title at all too, but it looks like the industry does.

Collapse
 
bhupesh profile image
Bhupesh Varshney 👾

Well I am confused to but I see this trend that companies do
Hire Software Development Engineers.

I think the meaning is changing with time

Collapse
 
actuallymab profile image
Mehmet Aydin Bahadir

In my point of view, Software Development Engineers stand for Software Engineers. I see that big companies tend to put this title for some of their job postings. TBH I can't see the difference clear enough.

Collapse
 
attkinsonjakob profile image
Jakob Attkinson • Edited

In my country, those that want to pursue a degree have 2 choices: go to a technical university and study computer science for 4 years OR go to the other university and study informatics for 3 years. (both universities are just as good).

The main difference, besides the extra year is that after finishing the technical university you get a digree that says you are an engineer. If your work involves developing code then you are a software engineer.
Someone that finished the other university might be just as good, or even better, but he doesn't hold the Engineering title.

Similar to this situation is the PhD one. No matter how much I study on my own, I can never call myself a doctor if I don't have the degree.

Besides that, when I'm hired I'm usually hired to solve problems by writing code. Nobody cares what my official position is.

Collapse
 
bhupesh profile image
Bhupesh Varshney 👾

Besides that, when I'm hired I'm usually hired to solve problems by writing code. Nobody cares what my official position is.

Agreed.
A similar thing happens in India too

Collapse
 
jankapunkt profile image
Jan Küster

My totally subjective observation of the roles:

Architect - Conceptual, system design, super high level, technological choices on highest level with high impact, strategical (also in combination with higher business goals), sometimes overlapping with higher management, very few actual coding involved, very high / long-term stakes involved (<-- the last is the reason for the high payment)

Engineer - Conceptual on the actual software project (requirements, design pattern, methodology, teams etc.), designs and "lives" the whole development llifecycle, mentoring other developers, strong theoretical (also mathematics, security, algorithms etc.) AND practical (language features, performance etc.) knowledge and skills, high / mid-to-long-term stakes involved, also often makes choices about things like code quality / formatting, test-design, documentation style, variable naming etc., reason for high payment is the overall high level of knowledge and skill in various areas

Developer - Conceptual on parts of the software (designing components and features, may also involve design pattern, algorithmic choices etc.), more focus on the practical side, lot's of implementation of classes, routines, tests etc. but still with principles in mind like kiss/dry/solid etc., mid level stakes, if architects and engineers are on a strategical level then developers are like the "tactical" unit

Programmer - Very few conceptual work, mostly implementing by given requirements, often work that can be outsourced, few to no stakes (component can be broken but also being replaced)

Collapse
 
actuallymab profile image
Mehmet Aydin Bahadir

Thank you very much for helping me to understand differences clearly.