Old, but fun read that argues that today’s programmers are not like typical Engineers and shouldn’t really call themselves that as Engineering requires certification, is subject to government regulation, bear a burden to the public, etc.
Well… I did write an engineering thesis and later got a diploma, so I think I will call myself an engineer.
In Germany engineer is a regulated term. Computer scientists wanting to call themselves engineer or software engineer need to complete certain higher education programs. A B.Sc. program in CS is enough for example.
The people doing software engineering without such a degree in the US are definitely in the minority, so there’s not much point to the hand-wringing generally speaking.
As a software engineer, I think there are many places where there is a big difference between a SWE and a programmer/developer based around how active you are in designing the architecture, algorithms, and other systems of the software you’re working on.
That being said, people who try to exclude SWEs from engineering are just gatekeeping for gatekeeping’s sake. Up until COVID, you could be a PE in software engineering, they only stopped it because the field was changing too fast for the tests to keep up.
All the major engineering disciplines do the same basic formulas with different concepts. Fluid flow, mass flow, electrical ‘flow’. Are all the same basic equations. Software engineers don’t need to do that, they are further away from the actual math which is what makes engineering, engineering.
Tech bros have ruined the prestige of a lot of titles. Software “Engineer”, Systems “Architect”, Data “Scientist”, Computer “Wizard”, etc.
It’s not just tech bros, it’s the whole approach - weird names, version numbers turning into marketing tool instead of just numbers, attempts to hype up things that shouldn’t be hyped up.
When I was a kid in Russia in year 2003 (suppose), it was associated with everything Chinese. But then Windows Vista and iPhone and what not … came into normality. And now everything, not just toys produced in China, is something made of plastic and intended to break next day and be unfixable.
I’m torn between two things - one is to accept life as it is, because that’s truth, and another is that in future of my dreams we’d have good, reliable things, their price and availability helped by scientific and industrial development.
I guess what one can wish is for the developing world to finally develop in all its parts sufficiently to make the current paradigm of a few manufacturing countries making everything for the rest of the world, but using IP of a few designing countries, unworkable.
Decentralization and competitiveness help everyone.
I think IP and patent laws have been a tool to create stagnation. You won’t make Spectrum-like machines for kids in school, when you can have something from the Intel+AMD/ARM-ASML-TSMC ecosystem. And if you don’t accept US and EU and in general European world’s IP and patent laws, you’ll get practically embargoed. And those are close to legalized monopoly. And without breaking a lot of patents, even trying to build a competition to ASML and TSMC in like 40 years is going to be a few orders of magnitude less possible than with breaking them (still not very likely).
So what I’m trying to say - Speccy is probably not something to aim for now, it’s not problematic, just no demand. But aiming for something like Sun equipment of year 1997 would be a good idea. If hardware of that level were produced on scale in a few bigger countries, like Brazil or India or even China, it would make a lot of difference. I know China has Loongson. On scale.
And job listings, I had a longshot hope of getting into product development/product design. But 99.8% of job listings using those terms are for code monkeys.
Code monkey is the appropriate term
I don’t control the job title my company gives me.
I know this is from 2015, but even then, it was a bit late to make this argument. This was already mainstream enough in the 90s to be the punchline in syndicated comic strips. By 2015, we already had “customer experience engineers” (i.e. tier-1 helpdesk). The ship has not only sailed, it has sunk.
Anyway, the phrase originated in an era when programming was very different from what it is today, when most programmers came from a background in electrical engineering or something along those lines.
There is a big difference between a software engineer and a software developer/programmer. In the same way there is a difference between a civil engineer and a builder.
A software engineer is the one who scopes the project. They define the feasibility, the limitation and exeptions, the tools to use, as well as costing and time planning and management.
The programmers are the ones who work to this scope and utilise the specified tools and technologies to create the product.
I have a degree in software engineering and all of this was covered. From writing scoping documentation, to time and costing with Gantt charts. This is the actual difference.
As someone who has a formal education in Computer Engineering, I can attest that the degree is essentially a combination of modern Electrical Engineering and Computer Science degrees. In other words it is a dual major without any of the benefits.
Not all Software Engineers do actual engineering and that’s okay. The only problems I’ve seen with this in my time in the tech industry is when you have someone who can talk the talk, but when it comes time to do the difficult mental work, they fold like a deck of cards, or worse release a product that’s half-baked. You will see this a lot when a boot camp churns out talent hoping to make a quick buck and then they are given a truly important and hard problem to solve, such as healthcare or military applications.
For that reason, many SWE roles require education to be specified on resumes, rather than certifications as a hoop you have to jump through. If your job did not question your education when you were interviewing then that is usually a good indicator of the kinds of people you will be working with. With all of that said I’ve worked with many engineers that did not have a formal education and were very talented, some of which lied about their education to get where they are today. This happens frequently across all industries however, and isn’t unique to software.
I am an engineer, just not of programming
If they didn’t make you put a ring on it, you’re not an engineer. Simple as.
Not a simplistic definition at all…
why do you think a title should be coopted by a bunch of developers?
No, go engineer yourself
I think software is still engineered.
Perhaps as a compromise, non-software engineers could call themselves hardware engineers, or hard engineers for short.
Should bridge that gap in terminology. And ofc assumption should be “engineer” means “hard engineer” and software engineers should always specify they’re software engineers and not call themselves just engineers.
Wait, not “software engineer”, just “engineer”? That’s definitely bullshit.
Even “software engineer” is a bit sketchy. Should testers start calling themselves “Software doctors”? Lol
I’m ambivalent. I don’t really care about titles generally, but at least software engineer clearly isn’t anything else.
That said, while the term software engineer is a lost cause, I wouldn’t be opposed to some comparable, regulated title where the person has to sign off on code bases and is responsible for major flaws. Obviously you wouldn’t use that as a barrier for every piece of code, but as a requirement for handling personal information on a certain scale? (Obviously it would be pointless until you also regulated intentional sharing of information a hell of a lot better, but still.)
Yeah! My job is to triage, diagnose and remedy. Don’t confuse the two!
No worries. Think I’ll call myself an author as the source code is a text that can amount to a copyrighted work.
Hopefully this will not conflict with another field and and we can put this issue to rest.
It’s literally common practice to refer to the person who wrote some code as the author of it.