I came to the comments to see if anyone had already commented on the engineer vs technician aspect of this. My experience is that the divide is much more established in the Mechanical Engineering world, where the difference in what you learn in school and the role that you play in industry is much more pronounced as a result of having e.g. a B.S. in ME vs an associates degree in something like Engineering Tech.
My understanding of the divide is roughly, "I may not understand all of the theory, but I have a practical understanding of the formulas and how/where to use them to get the job done" vs "I can design a Turbofan engine from scratch".
Since moving to software, it seems there's little preventing anyone who can sling some code from calling themselves Software Engineers, for better or for worse. Personally, since my programming skills are all self-taught, I feel like a technician in my day-to-day work, but I also feel the pressure to present myself as a software engineer for cultural and professional reasons.
Unfortunately, it seems the closest term we seem have to describe something like a "software technician" is the pejorative "code monkey", which doesn't do justice to the actual role of technician.
> Since moving to software, it seems there's little preventing anyone who can sling some code from calling themselves Software Engineers
In many countries to do that, you need to have a certified degree by the Engineers association (or whatever is called), otherwise you can be charged for doing so.
My understanding of the divide is roughly, "I may not understand all of the theory, but I have a practical understanding of the formulas and how/where to use them to get the job done" vs "I can design a Turbofan engine from scratch".
Since moving to software, it seems there's little preventing anyone who can sling some code from calling themselves Software Engineers, for better or for worse. Personally, since my programming skills are all self-taught, I feel like a technician in my day-to-day work, but I also feel the pressure to present myself as a software engineer for cultural and professional reasons.
Unfortunately, it seems the closest term we seem have to describe something like a "software technician" is the pejorative "code monkey", which doesn't do justice to the actual role of technician.