One of my engineering lecturers said something like, "You will find many people through your travels who can design and build the sort of things things that you will in your career, but it is the engineer who can do them safely, to a known quality, budget and schedule". (Usually)
To me engineer is anyone that counts before the implementation. Even if it is back of the envelope calculations.
Two developers came requesting a Kafka partition topic scale-up. One of them knew how many jobs per second his workers consume, how many messages per second were going thorough the cluster, etc. The other did not. One acts as an engineer the one does not.
You wanna be an engineer? Easy, learn how to count. And to give a pass to those who don’t, counting is not easy. Most likely you will get it wrong, you might be counting the wrong metrics, etc. But counting makes all the difference in the world.
I tend to look at engineering as encompassing a series of building blocks:
* understand the physics of your discipline at the application scale. By scale I mean that the physics we need to understand are very different for structural engineering to build a steel bridge to the semiconductor atom level design to build a CPU chip. But it is physics in both those examples.
* have a proven model (usually mathematical and/or implemented on a computers) that allows you to understand, analyse and predict the realm of potential designs.
* understand the requirements to a comprehensive level of detail.
* evolve a design, using the models, that will fulfil the above requirements.
* verify through simulation, further analysis, etc that the design is "correct".
* using the blueprints developed in the previous steps, construct the solution.
* operate the solution and verify the accuracy of the model(s). In many fields of engineering, this allows the models to be fine-tuned based on experience.
It is interesting to note that early steel bridges were typically over-engineered compared to those designed today. With experience and more refined modelling the margins for error have been reduced. Sometimes with dire consequences.
Of course, in well established areas of engineering, there are numerous standards and empirical knowledge that makes the design process less demanding than for emergent areas.