Don't call yourself a programmer, and other career advice (2011)
kalzumeus.com
kalzumeus.com
Note also that playing a game for a long time you forget that you are playing a game, and you start incorporating the rules of the game into your mind. Some people are more resistant to this effect than others, and some people share the same values in the first place. Others dislike who they become and either quit or become resentful.
A big pile of money looks like the best thing in the world to a college grad. Playing a game you aren’t passionate about can be a worthwhile compromise, especially if you don’t have much financial safety. But never let anyone else tell you what game to play, that is your choice alone.
If you have the privilege to choose what game to play, I recommend picking not by the rewards of the game – but based on how you like the rules of the game.
I make open source software and give it away for free in my spare time because of passion. The fact that my job and my hobby are very similar is merely incidental.
What I would add is: sometimes the thing which you want to do can't be done without some engagement in a game you don't like. It doesn't mean you have to give in and lose yourself entirely to the game, but you need at least pay enough attention to understand what's going on. The world is full of gatekeepers, often where you least expect it. Trying to avoid that reality can sometimes lead you to a worse place than just sucking it up and putting on a smile to get where you want to be.
At the end of the day, your life happiness will not be dominated by your career. Either talk to older people or trust the social scientists who have: family, faith, hobbies, etc etc generally swamp career achievements and money in terms of things which actually produce happiness. Optimize appropriately. Your career is important, and right now it might seem like the most important thing in your life, but odds are that is not what you’ll believe forever. Work to live, don’t live to work.
I paraphrase the article as: (1) these are the real rules, (2) you must know and internalise these rules because playing the game is compulsory if you “choose” to work, (3) you must not fall for fairytales.> playing the career game
The audience for this article is engineering graduates starting a career, not artists searching for meaning. “Programmer” is right there in the title. Whether you want to play the career game or not, it is one of the few games most of us will play, unfortunately. Totally agree that the game has its compromises.
The pursuit of money isn't what makes people happy, but a lack of money definitely stops people being happy.
Totally agree, I understand how it could sound irrelevant or pretentious. There are a couple of reasons why I wrote this comment, and I assure you it’s all in good spirit:
First, some young people who love programming don’t want to play the career came, and there is space for them as well. I read the article as “you must play to get anywhere” (my interpretation). You can do your thing, either alone or at a company, and simply not care.
Secondly, I know many who have more money than they could dream of earlier in their lives, but they’ve readjusted and moved the goalpost, and keep grinding seemingly because of peer pressure and habit alone. Some of them are miserable for no reason.
Third, working in order to play another game that you really like (family, hobbies, travel) is perfectly fine. Many people in my generation think that you must play all games at once, and they get exhausted. But no need – not giving a shit is sometimes the highest virtue.
Don't get distracted by the Lisp lotus-eaters. The future will be built on doing massive array-based computation as fast as possible, as parallel as possible, using as little power as possible.
Knuckle down and do the high-paying work early on, and possibilities will open up as to what game to play in your 30s, 40s, and beyond. Play the tech bohemian in your 20s, and you may find yourself struggling in later life.
Generally you don't get to pick no struggles. If you play the tech game real hard in your 20s, you might have no friends in your 30s, and your struggle might manifest in "Ask HN: How do you make friends after 30?" type posts.
You can always push personal value down the line until you don't remember what it is you truly value. If that's only money and arbitrary success, then great, spend your 20s doing that.
It's not hard to tell.
It's kinda both though isn't it? Sure we all want to play the game with the "right rules", but at the same time I also care deeply about the rewards - I want time with the family, I don't want to worry about money every night, and so on.
But I agree, rules first. You can live on less money, but bad jobs destroy the soul.
I would add this. Wherever you end up, understand that there are rules. They may not be intuitive. They may not be logical. But they exist. Don't assume. If you don't like the rules, or can't do the rules, change the game - you're not going to change the rules (and fighting to do so is exhausting.)
For reference, I've spent my whole career building boring Crud apps in a language you've never heard of. It's not sexy, but it's given me a great life - more than I would have hoped for.
Well now I have to guess. ColdFusion?
You spotted my intentional hyperbole :) I wanted to draw attention to it because it’s underrated, but you’re totally right that it’s always a compromise.
> Wherever you end up, understand that there are rules.
Absolutely. And not only social, but inherent rules in the domain you’re working. For instance, math research has more discontinuous progress than building crud apps.
> When stumped by a life choice, choose “enlargement” over happiness.
The good part is that there‘s still a lot of jobs out there who both enlarge you and make good money. They‘re just harder to find.
https://www.theguardian.com/lifeandstyle/2020/sep/04/oliver-...
Don't Call Yourself A Programmer, And Other Career Advice (2011) - https://news.ycombinator.com/item?id=28234937 - Aug 2021 (89 comments)
Don't Call Yourself a Programmer, and Other Career Advice (2011) - https://news.ycombinator.com/item?id=21303181 - Oct 2019 (307 comments)
Don't Call Yourself A Programmer, And Other Career Advice (2011) - https://news.ycombinator.com/item?id=12548043 - Sept 2016 (147 comments)
Don't call yourself a programmer (2011) - https://news.ycombinator.com/item?id=9015160 - Feb 2015 (84 comments)
Don't Call Yourself A Programmer, And Other Career Advice (2011) - https://news.ycombinator.com/item?id=8147008 - Aug 2014 (44 comments)
Dont call yourself a programmer (2011) - https://news.ycombinator.com/item?id=4822015 - Nov 2012 (46 comments)
Don't Call Yourself a Programmer - https://news.ycombinator.com/item?id=3170766 - Oct 2011 (267 comments)
That's a false dichotomy.
Engineers create value _by_—among other things—programming computers. That's nothing to be ashamed of by trying to elevate your title to some perceived higher status by calling yourself an "engineer".
If anything, I identify more as a programmer, than to the field of engineering.
Sure, there's more to creating value in a company than just programming. A good programmer communicates well, knows when to lead and when to follow, is an insatiable learner, and enjoys understanding how things work.
> "Programmer” sounds like “anomalously high-cost peon who types some mumbo-jumbo into some other mumbo-jumbo.”
Anyone who thinks that doesn't understand programming, and is someone who you probably don't want to work with anyway.
I didn't read the entire article, and there is some good advice there, but I'll give a better advice to new programmers: take any opinion presented in absolutes with a chunk of salt. Follow your passions, and reach your own conclusions, rather than assuming anything a so-called expert says as the absolute truth. And, of course, be open and ready to change your opinion if presented with valid evidence.
"Strong opinions, weakly held."
I agree, and it disqualifies most tech companies.
I generally agree with this point and many others in the article but when looking for a position the tech stack of a company you're interviewing with matters a whole lot.
Using some older/unfashionable languages or maintenance-only frameworks indicates a lack of investment or interest in technology. It probably also indicates a lot as far as what your colleagues would be like and how much you'd learn from them.
Yes, this blog belongs to a (fairly large) class of "career advice the way the author wishes the world was rather than the way it actually is" blogs.
twice
But this isn't a dig at php, just stating chosen languages/frameworks matter a lot. I think it speaks volumes about a company's tech philosophy if they still mainly use php and jquery for web development.
Not necessarily. Although many would consider C an older language, it's often the right language for the right job (e.g. network packet processing).
- There is always a need for low-level programming, and there is not as much development of new languages, abstractions, frameworks, and libraries in the low-level space. Indeed, most of the time you don't want any abstraction, framework or library between you and the low level thing you want to do.
- In the high-level programming space, there is a never ending race to climb higher and higher in the software stack. As such, all frameworks tend to be obsolete faster. Either it is replaced by the new high level hotness, or it gets stuck as a middle-level somewhere, below the new hotness.
Because of that, low level things don't become outdated as fast.
What you’re describing is basically being an employee. When you’re an employee you typically aren’t hired to solve a problem, you’re there to fill a role. To fill the role you will need to fit whatever mold the employer wants, including tech stack.
>Many asked how to know what programming language or stack to study. It doesn’t matter. There you go
And I'm saying the language/stack absolutely does matter when it comes to advice for new developers.
A sample of the email from 2008:
> Company in … is looking for a full time .NET developer to start as soon as possible. M leading edge technologies. This is a great opportunity for someone with strong VB.NET skills to come aboard a fabulous company.
Standard developer - minimum 2 years transactional website development experience on the Microsoft platform (don't need content/marketing web developers) Senior developer - minimum 4 years transactional website development experience on the Microsoft platform Experience with .NET 2.0/3.5 platform Experience with VB.NET and ASP.NET Experience with the AJAX framework Experience with writing SQL (Oracle experience preferred) Experience with data access through ADO.NET Must be willing to follow client's code standards and participate in code reviews Java script skills (basic
Nice to have experience
Telerik controls and other 3rd party software experience Database experience with SQL Server and DB2 databases Web farm experience (deployment and troubleshooting)
Which is to say, they are awful at it and will act like one observation of one characteristic is more than enough data to evaluate complex machineries
it's about what you accomplish.
that's in isolation of pretty much everything, even computers in general.
Not everyone is looking for the same thing. Over interest in new technologies cautions me that a candidate may be more interested in hype than finding suitable technology for a problem, it's a continuum, but sometimes you see a pattern of hit and run, trying new tech and then leaving projects behind (not even them knowing what happened to them, if it turned out to be a good decision long term)... that's not attractive from a business perspective where stability is valued.
At the other end you get people who are not comfortable stepping out of the box they've made for themselves. You want a bit of both, it's good to be interested in new things and even consider them for use in production - but it must be accompanied with a healthy amount of scepticism and keeping your evangelism in check, because technology can be subjective.
Similarly, using a bleeding edge stack indicates the engineers are getting away with resume stacking and you can be pretty sure the product will be late, over budget and developers leave after a year because it turns out using any particular tech stack in and of itself doesn't mean you can create something useful.
I at least glance over all the recruiter spam I get, and not much of it takes the 'language experience doesn't matter, transferable comprehension of fundamentals does' line.
However, if you're maintaining and developing a product that has been successfully growing its customer base for over a decade, then you don't want to be just spinning your wheels rewriting it over and over in the latest hot new fad. That wastes time and money, adds bugs, and annoys the customers.
Integrate new tech as you can, along the way to providing new value or getting new customers, but don't throw the baby out with the bathwater. It's perfectly fine to still have 'older/unfashionable' tech in the system that's still providing value and helping the sales team to close deals.
Software can be so exciting and fun, and this “careerist” perspective really sucks the joy out of it.
If you’re looking for something that is kind of the opposite of this article: https://ferd.ca/the-little-printf.html.
This reminds me of people arguing that scientists miss life’s beauty because they attempt to analysis it. You can enjoy the wonders of programming while still being mindful of your career progression, one does not preclude the other.
Not only for the better equity deal. In an early startup of a handful of people, there's already a power hierarchy and people are still figuring things out.
If a cofounder wants to pull a key decision out of their posterior which they know everyone else would disagree with, or wants a big career-building or fun startup thing to themselves, they still need informed consent of the other cofounders.
This is a time when it might be very convenient for a cofounder to modify their idea of mostly-egalitarian startup team dynamics, to think of employees as, well, only employees. You being cofounder here helps keep everyone honest with themselves and the rest of the company, which can be good for everyone.
But now that nobody is listening, let me tell you my little dirty secret: I can't think of any other occupation label that defines me better. And, it might be silly, but calling myself a programmer makes me really happy.
A few days ago, someone submitted pg's article advising keep your identity small [0], or at least the smallest you can. Being a programmer is part of my minimum set.
But of course, saying the truth about it, like saying the truth about so many things [1], can be very bad for you.
It's true that hirers expect you to sell yourself, beyond just showing that you're qualified for the job. But I don't mind saying I'm a programmer by trade, and good enough for the job you're offering. It's up to my manager whether I add $500,000 to the bottom line; in general, engineers/programmers/technicians don't get to choose what they work on.
Oh boy. Ask for forgiveness later may work at a smaller joint, but willfully and knowingly bypassing existing policies can land you in a heap of trouble at a bigger corporate. The boss may be happy, because he is an idiot with no concern other than getting a bonus all the while security of the product ( and possibly the company itself ) is undermined by one coder.
And I am saying all this as I am trying to convince my boss that Python may be better suited for some tasks than Excel ( long story, some stuff is kinda locked, but not completely ).
Bottom line is.. some rules exist for a reason. Break those only if you understand why they can be broken ( and you are comfortable with explaining stuff should it fail in your lap ).
Edit: Honestly, that one piece of advice makes me really start to appreciate why some things are the way they are.
Interesting. I've found that the bigger the company the more I need to do that. In a small company I can actually discuss things with people and a motivated decision rolls out. In big companies I ran into one of two problems.
1. Many people dare to say no, but few dare say yes. I have seen discussions about spending half a day engineering time kicked up three management layers because it wasn't a pre-approved task. It was obvious to everyone that it needed to be done too.
2. People just not deciding. If you don't keep chasing a decision, nothing will happen.
The political cost of a bad decision grows the higher up it goes. Make a bad decision as a grunt and you get chewed out a bit. As long as you were genuinely trying to help the company, it's nothing you can't get out of with a bit of charm and a willingness to learn. Make a bad decision a bit higher up and people start sharpening their knives. Sometimes it's better to just decide for your manager and give them plausible deniability.
Exactly! I don't mind saying sorry. And as long as you get the results, it turns out that most people that matter don't really care about all the bogus policies you ignored.
The first thing that is outdated, the advice is basically don't be a programmer be an expert in something the company needs. The thing is in the modern world the company often needs programmers more than it needs the other expertise, hence the big salaries we earn getting hired to solve problems.
>There are companies which create software which actually gets used by customers, which describes almost everything that you probably think of when you think of software. It is unlikely that you will work at one unless you work towards making this happen.
I mean, I've never done anything to try to be writing customer facing software but, aside from some international standardization work, that is all I have ever really worked on.
I think between 2011 and now that stuff changed, and maybe it was already very well on the way to changing in 2011 but the person who wrote this wasn't aware it was changing.
I was a boring old “enterprise programmer” from 1996-2016. I belatedly started moving into more “architect” type roles where I was brought in to lead by example and while I was still hands on, I was hired to solve more strategic issues and lead initiatives.
Fast forward to today and now I’m a “cloud architect” working in the consulting department at $BigTech.
Right now I’m working on a “DevOps” project that required a few relatively trivial Python scripts as part of the design. Most of my time has been spent “consulting”.
ChatGPT was able to spit out every Python script that I needed correctly and all I had to do was tell it - this is the input I want and this is the output I need.
It got me 100% there with code that didn’t require the AWS SDK (boto3). It does have some understanding of the boto library. But it isn’t perfect.
Yes I know how to program. But I only started making real money when I could talk to “the business” and know what to program.
The way I typically try to highlight my development contributions - if it isn't direct user-facing feature development - is to portray my software as internal "mini salesforce" for niche high value tasks for other employees. For instance at my first internship I automated manual tasks like thumbnail creation, searching and calculating market share of our company, and other tasks. It's fine to call yourself a programmer, just be sure to emphasize "I program X and Y that are crucial for teams A and B".
This is my advice for young programmers too, but with a different takeaway. Most software will be mind crushingly boring CRUD.
If you do programming for the love of the craft then try to find something that isn’t that. Find something that solves interesting problems in an interesting way. It might pay less and you may not be able to jump jobs every 4 years - but you won’t be bored to death writing code which is basically 90% fluff and plumbing and deployment.
Finding jobs with actual programming joy at the core is like finding gold.
It’s similar to other advice I have heard such as one’s communication and general peoples skills tends to lead to favourable career success after a certain threshold.
A great article on why one should not depend on technical skills alone is https://leveragethoughts.substack.com/p/dont-hinge-your-care...
From Wikipedia: Engineers, as practitioners of engineering, are professionals who invent, design, analyze, build and test machines, complex systems, structures, gadgets and materials to fulfill functional objectives and requirements while considering the limitations imposed by practicality, regulation, safety and cost.
What part of this does not apply to software engineers? They can't go to jail therefore they're not engineers? What bullshit gatekeeping.
I used to work in the semiconductor industry, no one gave a shit about licensing, but I would still call it "real engineering".
Going to jail isn't a prerequisite for something being an engineering discipline. I think software can be "engineering", depending on the process used to develop it. But the "move fast and break stuff" philosophy is pretty anti-engineering, in my opinion.
This becomes almost a philosophical discussion about what engineering entails and the definition of words. Personally, I don't care that much if people call themselves engineers or consider what they are doing engineering. Even if all they do is copy-paste code from SO to glue together npm libraries.
Also not all engineers have licensing requirements and responsibility - chip designers are one example. Engineers in every sense of the word, but no obvious licensing requirements nor responsibility on the scale e.g. civil engineers have. Generally much closer to what we do as software engineers.
Boy this article is old isn’t it.
If you're a specialist that's one thing, but a normal software stack should be generalizable?
I got hired at all of my jobs so far without having major prior experience with the languages they use, and definitely not the frameworks.
If I had a nickel for every time I’ve tried to explain that every new technology I’ve learned I’ve picked up on the job and specific framework experience is largely irrelevant, I’d be a rich man.
For example, I’ve been a software engineer for 27 years using tech stacks primarily within the Java ecosystem but encompassing many different frameworks, languages, databases etc. However, getting a job in a similar or even identical business domains but on the .NET tech stack would be next to impossible.
Im from a small country, so it might just be that the developers have a stronger hand at the negotiation table than elsewhere, since there're fewer competent devs as a result.
In any case, as a programmer I feel like I would always hire someone that demonstrates good programming skills in the "wrong language" over someone who's mediocre in the "right language", so it's sad to hear that's not the case many places. And that might be a lesson I should keep in the back of my mind as well.
disagree completely with this.
I view scientists, engineers, programmers, and system administrators as a part of the profit center because they are intrinsically tied to value creation and value amplification.
For software companies, sure! Unless you're in DevOps or DevTools then you're a cost center again.
For an insurance company or restaurant, not as much. It depends on where the flow of money is.
Things are changing though, so this is less true over time as software continues to eat the world.
Its a perfectly sensible view. unfortunately not one shared by your typical bean counter. MBAs routinely buy out companies and gut the value creation parts to increase valuation for short term gain before pawing off the hollowed out shell to the next owner. its sick but widespread.
well, you're not a MBA or a decision maker so your input here is mute. People are the means of production for a technology company and people cost money. This isn't complicated. And make no mistake, great measures are taken to minimize costs.
Whether you label something a profit center or cost center is irrelevant to the authors point. The significance of the conclusion remains true regardless of the label used.
Conversely, they also tend to believe their value calculations are better than those of dev teams, going as far as to ignore proposals. You think MBAs are able to consistently guess better than someone actively doing the work?
I'd really like to know more about this distinction
Was this the generally the way people thought about it back then? I remember seeing fairly pessimistic valuations around 2013 though, and I see it more like 10-15% chance of big tech salary equivalent, and 1-2% for life changing.
I find that even saying "I'm a programmer" in social settings triggers my counterparty to frantically start scanning the room for anybody else to talk to.
In social situations when that comes up I usually say something like "I work for <employer>" and then immediately try to change the subject.
Not ironic at all. I actually work in machine learning but saying anything close to "AI" is a fatal error.
That served me very well and I remained a programmer for my whole career.
Btw. whatever happened to understatement? Is that not cool anymore?
Oh and Don’t ever call yourself a systems architect unless you want to be ghosted by the programming people.
I've been a programmer, system administrator and a machinist. I've never called myself an engineer, and wouldn't want the criminal liability for doing so.
I wouldn't call myself a "computer doctor" either for similar reasons.
[1] https://www.in.gov/pla/professions/engineering-home/engineer...
* Not legal advice or proposed by a practicing attorney of any U.S. state.
IMO — I’d prefer not to be called engineer but we live in a capitalist world — if someone is willing to pay enough they can call me whatever they want.
You cannot however represent yourself as a licensed professional (engineering or otherwise) without actually having that license. That's what's illegal.
(1) The professional title "engineer" may be held by anyone who
1. has successfully completed a course of study in a technical or natural science subject with a standard period of study of at least six semesters, corresponding to at least 180 ECTS credits, at a German state or state-recognised higher education institution, whereby this course of study must be predominantly in the fields of mathematics, information technology, natural sciences and technology, ... [1]
My own interpretation is that not all of these four aspects need to be included equally in a course of study. If the question is of practical importance to you, you should contact the Chamber of Engineers of the respective (federal) state for an authoritative answer.[1] Original:
(1) Die Berufsbezeichnung »Ingenieurin« oder »Ingenieur« darf führen, wer
1. ein Studium in einer technischen oder naturwissenschaftlichen Fachrichtung mit einer Regelstudienzeit von mindestens sechs Semestern, was mindestens 180 ECTS-Punkten entspricht, an einer deutschen staatlichen oder staatlich anerkannten Hochschule mit Erfolg abgeschlossen hat, wobei dieses Studium überwiegend von den Bereichen Mathematik, Informatik, Naturwissenschaften und Technik geprägt sein muss, ...
Source: https://www.landesrecht-bw.de/jportal/portal/t/3ba/page/bsba... (in German)My translation:
The job title _software developer_ is not a protected job title in Germany and Austria.
According to German law, the job title _software engineer_ may only be used by those who have successfully completed a technical degree. In Austria, the title of engineer can also be acquired through training at an HTL [Höhere Technische Lehranstalt, aprox.: Higher Technical College].
Original: Die Berufsbezeichnung _Softwareentwickler_ ist in Deutschland und Österreich keine geschützte Berufsbezeichnung.
Die Berufsbezeichnung _Softwareingenieur_ darf nach deutschem Recht nur führen, wer ein technisches Studium mit Erfolg abgeschlossen hat. In Österreich kann der Ingenieurstitel auch durch die Ausbildung an einer HTL erworben werden.
Source: https://de.wikipedia.org/wiki/Softwareentwickler#Berufsbezei... (in German)As if Google Deutschland would not hire you as a Software Engineer (or SRE, ..) if you are missing a B.Sc. (or did it in a non-technical field) but everything else is perfect.
Job adverisments in German almost exclusively use the term "Software-Entwickler" ("software developer"), indicating that an IT degree is not necessarily required for the job.
If my job title is Software Engineer, then this is of course what it written on my business card that my employer prints for me.
> Job adverisments in German almost exclusively use the term "Software-Entwickler"
This is just not true.
> If my job title is Software Engineer, then this is of course what it written on my business card that my employer prints for me.
If you are not entitled to do use the title, then it is illegal nevertheless. After all, the law applies regardless of whether it is followed.
>> Job adverisments in German almost exclusively use the term "Software-Entwickler"
> This is just not true.
A search for "Softwareingenieur" or "Software-Ingenieur" on gulp.de, the leading IT freelancer platform in Germany currently gives zero results. If you search for "Software engineer" you get results mixed with "Softwareentwickler". So I went through these results which gave me aprox. 10 cases where they were looking explicitely for an "engineer" ("aprox." because I excluted those where "engineer" was one option among others or were they were mentioning the field "engineering" -- but even those were only a few). In contrast to that, when I searched for "Entwickler" or "developer", I got 275 results.[1] So the proportion of "engineer" is aprox. 3.6 % to that of "developer"/"Entwickler". I think it is okay to call that "almost exclusively".
[1] Some of it are a bit general, so you may not want to count everything. A quick random sample seems to indicate that the number is low nevertheless; so I went with 275, because the end result is unlikely to be significantly different.
Every term that has a legal (or precise subject-specific) definition also has a common-use definition. Engineer is no different, and the law knows and understands this.
This is why the term licensed engineer is a thing.
We are builders, with some amount of analytical ability and creativity. We aren't much different from pipefitters, blacksmiths, or furniture builders, and we aren't any smarter than those people.
I appreciate the bridges and roads, but I will not be told what title I can have just because YOUR industry (and tongue) has been captured.
For example, in Canada, the title "engineer" is reserved for licensed/professional engineers, so it would be misleading to use the title "electrical engineer" if they're not actually licensed.
We are "Framework and API plumbers" by and large, taking existing packages and just hooking them into each other.
We belong with the lawyers, who are working in an entirely human constructed framework but have somehow fucked it up so bad that it has loopholes and undefined/unexpected behavior.
And there's no possible way not to have some leaky abstractions with this in front of us.
But it is less funny if we go with code-plumber, the goal here is to justify trying to steal the protected job title.
Nobody's skirting the law. In most US states, there is a so called "industrial exemption," which allows you to do engineering without a license if you work for certain kinds of employers. I work for such a company, though I don't have an engineering title. But when we do offer a product for sale to the public, it goes to a third party for approval, and the people at that company who conduct the design review all have engineering licenses. The thing that will get you in trouble is offering engineering services directly to the public.
Now in my state, there are only licenses for a small handful of engineering disciplines: Electrical, mechanical, power, etc. I don't know if it means that the rest of us can't call ourselves engineers at all, or if we're just unregulated. I've never tested those waters.
From what I've observed, people with engineering job titles rarely do any hard quantitative engineering. Most of the work consists of organizing and arranging things, fitting things together, troubleshooting, etc.
Imagine a world in which we let the bootcamp grads build our bridges and medical devices (Therac anyone?).
I don’t mean to be a gatekeeper. Keeping someone from practicing medicine if they won’t get a degree is not gatekeeping by anyone’s definition.
„Trust me, I am a software engineer“ just doesn’t have the same ring as „trust me, I’m a doctor“
The risk of criminal liability in many countries is most likely low, as long as you keep the anglicized term and not call yourself Ingenieur (engineer) in Germany or for example 工学者 (こうがくしゃ, kougakusha) in Japan, both of which imply that you have a degree in engineering.
To make things more confusing, the information technology qualification I possess in Japan called 基本情報技術者試験, loosely translated as fundamental information technician, is often translated using engineer instead of technician.
Some countries do over software or information engineering degrees, with a professional body regulating them, but I find that to be the exception.
The battle is already lost.
The original meaning is "someone who builds machines, particularly siege engines, or who constructs defenses against those machines". Is that really what you're complaining about?
Perhaps you're referring to the meaning "a guy who shovels coal into a train engine"?
It's gatekeeping that we all pretty much agree is a good thing, but it's still gatekeeping.
I think what I'd rather like to see is an industry standard professional engineering board for computer science. I think the field could actually do with some minimal barrier to entry even if that sounds like gatekeeping.
Not having a professional software engineering license wouldn't prohibit you from taking jobs or practicing software development, but it would help to guarantee a certain level of fundamental grounding in computer science that certain employers might desire in their prospective employees.
I never have. I've always advertised myself as a guy who designs and develop products. Not always pure software for that matter.