• NightAuthor@lemmy.world
      link
      fedilink
      English
      arrow-up
      30
      arrow-down
      3
      ·
      edit-2
      9 months ago

      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.

        • Riskable@programming.dev
          link
          fedilink
          English
          arrow-up
          3
          ·
          9 months ago

          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 🤷

    • herrvogel@lemmy.world
      link
      fedilink
      arrow-up
      13
      ·
      9 months ago

      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.

    • Bye@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      9 months ago

      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

    • eestileib@sh.itjust.works
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      9 months ago

      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).