In your opinion what’s the difference between the two? In my opinion both terms are frequently used interchangeably in the workplace.
But I’d like to consider myself as an engineer, because although I don’t consider myself to be good at it, I think I cares about the software that I worked on, its interaction with other services, the big picture, and different kinds of small optimizations.
I mean, what is even engineering?
A dev work on some code. It works, great, job done.
An engineer comes to see this work. It hasn’t been thoroughly tested, it only works on the dev computer in his coding environment. There is no documentation. There is no comments in the code. Half the features are missing because the story didn’t talk about them. Installing the “software” is made by hand and only one person knows how to do that. Some libraries are used with various licences, some are outdated, some can’t be maintained, some will download stuff on their own. Performances are shit. I certainly forget a lot of stuff.
Now the engineer will work to solve all these non code problems.
Now the problem is that software companies don’t care about engineers because they have managers. Managers will consider engineers like developers and ask them to work like developers. They will also tell the engineer that his lunacies are too time consuming, which means too expensive, so they will go in the backlog and be forgotten.
Yes I’m disillusioned and depressed about working in software development. It’s not like this everywhere. Some companies have an engineering culture. Especially when they come from older industries, like electronics or car etc. But I haven’t had the chance to work in one for 5 years now.
In my company everyone is called Software Development Engineer 🤷♂️
a dev can build a thing, an engineer can build a distributed modular thing with more complexity around non programming parts like infrastructure. Take the thing and design a machine of parts and each can be maintained, observed, and optimized as needed. For example we can use topics for backpressure and consumer lag for auto scaling pods, but then you have to consider the distributed processing for duplication, out of order, throughput… there is no exact line in the sand between dev and engineer but that’s how I think of it.