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?

  • fubo@lemmy.world
    link
    fedilink
    arrow-up
    17
    ·
    edit-2
    9 months ago

    In the tech industry, “software engineer” is mostly a job title for people who spend much of their workday writing code, and much of the rest of it in meetings talking about what code needs to be rewritten to meet new business goals.

    Most of the people with “software engineer” titles are not advancing the state of the art in any field; rather, they are applying known programming and systems-design techniques to solve problems that arise from business decisions and circumstances. They are doing so with diligence and care, using skills that most people don’t have. But building a new user interface, or a new HTTPS load balancer, out of existing parts, requires very little invention and quite a lot of attention to detail.

    Caring about the quality of your work is not unique to people who call themselves “engineers”. A car mechanic can pride themselves on doing good work, even if they never design an original car. Being able to accurately diagnose problems by listening to a weird noise is a valuable skill!

    Quite a lot of people who work on software could be fairly described as technicians or craftspeople – competent practitioners of a skilled trade, who make the systems they work on perform better and more reliably, refit them to the needs of the moment, repair them when they’ve exhibited problems.

    I had an “engineer” title (Software Engineer or Site Reliability Engineer) for a decade, and I think almost all use of the “E” word is a silly pretense. I was an internet systems technician and occasionally a web backend programmer. My job wasn’t to design new machinery; it was to adapt and fiddle with existing machinery to make it work right, to plan deployments, to measure performance and tweak it until it was adequate.