You don't get to call yourself an Engineer because you copy/paste CRUD apps together... or at least you used to not be able to. The engineering has already been done long ago by someone much more talented and knowledgeable.
That is what a programmer or developer does. Engineering implies a lot more than just cobbling together code blocks and libraries. Yet, that's what 99% of Software Engineers spend their days doing.
It would be akin to going out to a construction site and finding people doing rough-ins and roofing with Engineering titles. That is where the software world is currently - "Engineers" in the field doing rough-ins and roofing.
I really appreciated Hillel Wayne's series on this topic [0].
He actually interviewed a number of people who transitioned from a licensed engineering discipline to software, and asked them how they felt about software as an engineering discipline. His insights are a lot more useful than the arguments between only-ever-software people on HN who have inflated perceptions of what "real" engineers do.
The whole series is worth a read, but here's the short version:
> Instead of asking how they felt about certain engineering topics, I just asked them point blank. “Do you consider software engineering actually engineering?”
> Of the 17 crossovers I talked to, 15 said yes.
> That’s not the answer I expected going in. I assumed we weren’t engineers, that we’re actually very far from being engineers. But then again, I was never a “real” engineer. I don’t know what it’s like to be a “real” engineer, and so can’t compare software engineering to other forms. I don’t have the experience. These people did, and they considered software engineering real engineering.
Thank you for sharing this. I’m still reading, but the section about math resonated so much with me.
Just today we looked at a performance problem. CPU/memory usage, DB queries, indexes and joins, size of data, frequency of requests, redundant work, caching, different parts slowing down others...
These things are so ingrained that I don’t think of then as applying math. In my inner eye I see pictures moving around. It’s all familiar and obvious. But thinking about it, there’s always math behind it all in some way. We don’t express it as such but it’s still there.
You do get to call yourself that, though. This is a bit like saying "irregardless is not a word" when it's in the dictionary now. Calling yourself a "programmer" will be detrimental to your career, so why do it?
> Calling yourself a "programmer" will be detrimental to your career,
Ah, yes. There is the crux of the issue, isn't it?
People called themselves Engineers to advance their careers artificially (sounds really nice and impressive, etc).
Now, everyone is an Engineer, making the Engineer word have significantly less meaning. Today, a Software Engineer is largely a Software Developer of 10 years ago.
Just like economic inflation - title inflation devalues titles, which causes people to inflate their own titles further to stand out once again - which becomes a negative feedback loop.
Engineering is definitely not a tribe since that would be a contradiction of values. Anyway we all cobble parts together just at different conceptual levels.
I don't understand your rant, but I do agree that the job titles are probably inappropriate. I've had all kinds of titles to describe what I do and don't really care as long as I get paid to enjoy solving problems.
I also think it's absurd to believe only engineers can understand their own work... wouldn't that just be bad engineering?
Just because they’re doing CRUD app puzzles doesn’t mean they’re not engineers. There’s simply much more of that work than actual engineering. And part of engineering is knowing when you do not have to reinvent the wheel.
I’d like to push back on this a bit. I’m a programmer, but I don’t cobble things together. I talk to customers and collaborators, make plans, find solutions and write code.
It’s not engineering but it’s engaging, good work.
I get what you’re trying to say. But it feels wrong to me personally to describe this work as you did.
I was a consultant at a big engineering organization. They used to huff and puff about the integrity of engineering process etc. but all of the work was done by “engineering technicians“ for 40% of the pay.
You underestimate just how mundane and unchallenging a lot of non software professional engineering is. Depending on circumstances, a professional engineer could just be checking and signing off on endless similar drafting details or technicians calcs. A lot of it is also just looking up numbers in tables too.
That is what a programmer or developer does. Engineering implies a lot more than just cobbling together code blocks and libraries. Yet, that's what 99% of Software Engineers spend their days doing.
It would be akin to going out to a construction site and finding people doing rough-ins and roofing with Engineering titles. That is where the software world is currently - "Engineers" in the field doing rough-ins and roofing.