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.
Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
I typically tell people that engineering is applying physics. If you aren't directly interacting with the physical world, you are most likely a developer.
Working on an app, no matter how complex (or unessarily convoluted) generally makes you a developer. If you aren't thinking about impact of clock cycles, actuation/hardware interfaces or sensing, there is a high chance that the work you do has little to no risk or a chance of failure that is governed by the physical world. As said in other comments, engineers design and sign off on things. There is an implication that there is an unknown constraint, unlike a fully observable software environment.