Programmers are NOT Engineers?!

preview_player
Показать описание
After getting a comment about how software programmers shouldn't call themselves engineers, I decided to revive an old video topic - that I originally trashed - about developer job titles and the differences between them.

------------------------


📓 Learning Resources:

👨‍💻 My Coding Gear:

🔧Coding Tools:
Рекомендации по теме
Комментарии
Автор

I have a BSc in Computer Science and MSc in Computational Technology( Major: Software and Web). My first job title was Software Developer, now it is Software Engineer in a different company. How do I feel about it? nothing. Did the responsibilities change? No, not in a major way, the nature and business model of the companies differ and but the role is pretty much the same with negligible differences. So, call yourself whatever you like, just do the job.

dalcod
Автор

Regardless what you call yourself ultimately the skills you hone is the real definition of you ... I think so...

aer
Автор

I understand that this comment will be, most likely, ignored, but here is my grain of salt to te discussion.

Take the typical steps to build a house from scratch. After getting the lot and construction permits have been obtained, a terrain study must be made to determine the composition of the soil, the geology of the terrain (e.g., stability, soil density, etc.), this study is planned, and analyzed, by a civil engineer. Once the study has been completed, you can talk with an architect to design the house (e.g., number of rooms, amenities, outer structure, etc.), and the blueprints are generated. This blueprints go to a civil engineer who evaluates its feasibility (you don't want to defy the laws of physics) . Once everything is settled, a foreman is hired. A foreman is a person who knows what goes where and has field experience to direct the workers. The workers are the ones who put the house together, i.e., they know how to weld, pour the concrete, cut the wood, etc.

What do they all have in common? They know how to build houses, but their specialty is different. Yes, some of their specialties might overlap, but in essence they perform different parts of the process.

This reasoning can also be applied to a computer scientist vs software engineer vs programmer vs coder. In essence, they must all know how to program, but their roles are essentially different. I will not go into them, but it should be clear what the main differences are and that they all form an essential part of the team.

Andrumen
Автор

As a guy who is fully qualified as three different types of engineer, I can say that an engineer is somebody who solves problems. If you solve problems, especially using processes that ordinary people do not understand, then you are an engineer.

brutuslaurentius
Автор

This is an automated comment to display likes & dislikes for the video you're currently watching, since YouTube decided to disable the dislike count on videos.
Views: 62991
Likes: 3371
Dislikes: 80
Ratio: 97.7%
Last Updated: Dec-29-2021
YouTube, please don't ban or shadowban me. I learned how to do this from your own docs.
Lol thanks.

fknight
Автор

Well, I'm just as confused as ever! I have a degree in Electrical & Electronic Engineering but I write code for industrial automation stuff including PLCs & HMI's. My job title is currently Software Engineer but at my preious employer it was Systems Engineer. I think I'll just go with my mother's description of my job; "works with computers" 🙂

matthewdevalle
Автор

The difference is that the title of "engineer" is actually a regulated thing. I'm not sure how it works in the US, but in Canada the title of "engineer" is a protected title that has a bunch of requirements you need to meet in order to call yourself one.

ryanmah
Автор

Part of the problem with Software 'Engineers' is that there is no regulatory body that sets the standards for what constitutes a 'Software Engineer'. For Electrical Engineers, Mechanical Engineers, (and others) there is an exam that one has to pass before you can legally call yourself an Engineer in those disciplines. Software Engineering is such a continuously evolving field that no standards body has been able to codify who should qualify as a "Software Engineer". This tends to upset those who have more experience or participated in more academic paths of learning that someone fresh out of bootcamp can claim the job title of "Software Engineer".

DonaldLivingston
Автор

Being able to work with Wordpress alone would not make for what I would call a web developer.

If you can understand and work with the associated PHP, JS, HTML - then we’d be looking more at the web developer title.

gregckrause
Автор

AFAIK in many countries someone without an engineering degree can have a job title with a prefix of some sort before the word "engineer, " like _project-engineer_ or _software engineer._ But to _(legally)_ use the profession title of 'engineer, ' one needs to have an engineering degree. My own degree is in ICT engineering with software engineering major, so I while I'm a software developer, I'm also very much an engineer.
There are certain national and international standards for the profession title, while the prefixed non-profession titles don't have those.

Kadotus
Автор

Programming is a skill

Engineering is a discipline.

The difference imo.

zerocnc
Автор

Among my peers, developers take items from the backlog and write code. Software Engineering also involves engineering disciplines, which is project planning, architecture and management. That opinion probably comes from the fact that I have a BSc in Software Engineering, and that those were things we did alongside civil engineers, welfare engineers, robotics engineers and electrical engineers.
As for WordPress developers I think, for me, it mostly boils down to whether they make their own plug-ins and themes to use when building sites for customers, but I don't actually care if they call themselves developers or not 🙂

Автор

As a research engineer, this is how I would distinguish these titles:
- Developer: you are given a task AND the technologies to use to solve it (language, framework, etc.). You don't usually have interactions with stakeholders.
- Engineer: you are given a problem, you have to research (and be knowledgeable about) the frameworks and tools that are suitable to solve that problem, choose the appropriate technology, split the problem into tasks (that you may give to developers or work on by yourself). In addition, you may need to interact with management and stakeholders to understand their needs, their constraints, and also justify your technical choices to them (these latter duties may be done by project managers instead of software engineers in large companies).
- Research engineer: same as above but the tools/frameworks to solve a problem, as well as the solution, are likely not to exist so you'll have to invent that as well, and write patents and/or research papers presenting such solutions in addition to driving the development of the product.

matthieud.
Автор

Software Engineers usually have a minimum of Engineering certification(BEng, Msc, or greater) from a certified Institution. While Software developers may or may not have these certifications.

Again Software Engineers do have the ability to develop Softwares all alone from scratch (Even though they work in a team): System design and Architecture, Programming and Maintenance.

georgeuba
Автор

Someone did said something deep.

You learn to become a programmer.
Then you become a developer.
With addition of knowing how to choose and propose the best architectural solutions means you are now an engineer.


A simple analogie. Developer uses framework. Engineers knows how to build a whole gat damn framework

alexandrodisla
Автор

My degree is in software engineering, so I’m going to call myself a software engineer when I’m done 😂

xSingularity
Автор

I started programming in the mid-90s as what we often call now "citizen developer". I started with MS Access/VBA. Early 2000s got into Classic ASP development with SQL Server. I've been into C# since mid 2000s. I'm not wild about the term "software engineer" even though it's in common use, and it's not exactly wrong. It grates on my ear for two main reasons. 1) Because I think it betrays some status anxiety, a wish to be taken seriously as other "harder" engineering disciplines. 2) Because it denies/downplays creative aspects of software, affecting to be more mechanical and predictable than it is. I hear managers of various stripes use "engineer" as a way of (subtly or not) conveying an expectation that all projects should be reliably estimated and will go well if simply planned well enough. 3) Along these same lines, when developers put a heavy emphasis on the engineering title, I think it signifies a subordination to "design" sensibilities and sort of plays to the stereotype that "developers don't know how to design anything." I didn't watch your whole video yet, but I agree "engineer" and "developer" are interchangeable.

adamoneil
Автор

I remember having classes called software engineering in college but not a single class was called software development. I associate software engineering as the documentation/planning part of software development.

Mister
Автор

My way of thinking:
Coders: write code that is mainly to build designs.
Programmers: write code that involves functions (programs).
Software Engineers: design the way things will work and how functions will process or execute.
Front-End Engineer: designs and builds the way the front end will acquire data and how it will be displayed.
Back-End Engineer: designs and builds the way the back-end will store data and how the front end can access it.
Full-Stack Engineer: Unicorn that eats rainbows and poops magic.
Software Developer: Software engineer that is developing software from ideation to creation. Point to point.

pedro.zurita
Автор

In my country a BSc and/or MSc in "Computer Science" is typically called "Engenharia Informática" which directly translates to "Informatics Engineering".

pedroalbuquerquebs