In your opinion what's the difference between the two? In my opinion both terms are frequently used interchangeably in the workplace.

But I'd like to consider myself as an engineer, because although I don't consider myself to be good at it, I think I cares about the software that I worked on, its interaction with other services, the big picture, and different kinds of small optimizations.

I mean, what is even engineering?

  • Emma @programming.dev
    ·
    7 months ago

    Well, if I remember my software engineering prof correctly, software engineering is mostly about bringing an engineering mindset to software development. You wouldn't just slapdash an airplane together in a weekend and shove it out on the runway. There's a process for making sure we don't kill people with deadly flying contraptions.

    Software engineering is that same idea applied to software systems. There is a process for making sure we do our job without causing undo harm. You wouldn't want to just slapdash together something that has to be HIPAA compliant and has to meet other security regulations. You plan. You test. You revise. You ensure the product doesn't publish the sensitive medical records of every patient on the front page before it ends up in production. That is the work of a software engineer.

    • lysdexic@programming.dev
      ·
      7 months ago

      That is the work of a software engineer.

      To build upon this, we need to keep in mind that at least in some jurisdictions the role of a certified engineer is only required in projects with relevant size, and the responsibility of that engineer is to ensure the project complies with all requirements and therefore be held responsible for any mishap. This means that it's perfectly fine if non-engineers work independently on complex tasks, provided that an engineer attests that their output is fine and takes responsibility in case it isn't and it causes problems.

  • BatmanAoD@programming.dev
    ·
    7 months ago

    This is probably the most well-researched piece of writing on the matter: https://www.hillelwayne.com/post/are-we-really-engineers/

  • stilgar [he/him] @infosec.pub
    ·
    7 months ago

    IMO an engineer should be able to develop a complex system which an entire company could potentially be based upon.

    A developer who isn't an engineer would focus more on individual libraries, apps or tools that don't necessarily require the mindset of an engineer to design and maintain.

  • NostraDavid@programming.dev
    ·
    7 months ago

    If someone flies the "software engineer" banner seriously, I expect them to have some theoretic knowledge besides the practical one. They would know different programming paradigms (procedural, OOP, FP), know about programming patterns, layers, UML, and at least a programming language or 4 (3 superficial, 1 in-depth).

    A software developer can be any random code-monkey picked up from the street that is self-taught and/or had a boot camp of sorts. Nothing wrong with being self-taught or boot camps, as SDs need to eat, but it lacks a certain level or rigor I would expect from a SE.

    If both had a certain amount of experience the SD would mostly catch up to the SE, in practice. Not sure if on theoretic knowledge too, but that depends.

    • thisisnotgoingwell@programming.dev
      ·
      edit-2
      7 months ago

      I have been a network engineer with no degree for many years, but I did have a lot of certs. It'd be nice if there were something similar for programming. But I've never seen anyone care that much about the engineer title. I've always thought it's someone who understands his craft/engine design in and out, but doesn't design it himself. The architect designs it. The tech can perform documented solutions

  • Zink@programming.dev
    ·
    7 months ago

    I am in my first job that’s a full-on “software engineer” title, which is a move I wanted to make. However, leading up to it I have a 20 year engineering career covering various aspects of electronics as well as software.

    What I work on is C/C++ that runs the company’s main industrial product, and not some more mainstream web or app development. So it’s software work as part of a multidisciplinary team to design or improve a physical product.

    So for those reasons I only think of myself as an “engineer.” But I can totally see how other jobs using similar skills would be more “software dev” or even “I’m in IT.”

  • steventrouble@programming.dev
    ·
    edit-2
    7 months ago

    FWIW, at UCLA, computer engineering was a different degree than just computer science, and had more rigorous courses including electrical engineering and ethics courses. Many people dropped out and switched to the CS degree instead.