this post was submitted on 24 Sep 2023
459 points (95.4% liked)
Programmer Humor
32453 readers
620 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
What’s the difference?
Programmer just writes code.
Software engineer designs the system that is to be coded.
It’s like the difference between an architect and a construction worker.
Edit: or maybe structural engineer and construction worker would be better. Architect may be more like a UX designer.
Speaking of which, systems architect is something else a programmer can be.
My work says I'm a, "security architect II". I believe he physical world manifestation of that would be... the guy that plans where the security guards should stand? Actually, I'm "II" so I'm probably more like the guy who gets escalated to when the guys that do do that need help 🤷
Programming is just one part of the whole process of creating software. There's more than just writing code. There's also planning, design, architecture, testing, deployment, maintenance, etc. All that is engineering. Unsurprisingly, people with software engineering training tend to have a more complete idea as to what goes into it all.
Calling yourself "engineer" impresses more people and gets you higher wages.
Let’s say I’m a carpenter, and occasionally I open up a cad program and draw up a wrench or lathe chuck and have it cut out of sheet steel. Yes, I did some engineering but I’m not really an engineer.
Likewise let’s say I’m an artist. Maybe I write code now and then to program my automatic paint mixer or whatever.
Code to build something: engineer
Code to use something: programmer
To me, if you wrote/maintain/design a scaled system with uptime and latency requirements, that's a software engineer.
If you're laying out buttons and implementing business logic, you're a programmer. (This was me).