Can someone who worked in multiple industries clarify: is it only software that has constant identity crisis with "what makes you X" and "what is expected of Y"?
The only thing that makes a senior are years of experience, that's all. You can be a shitty senior if you only do one thing for 10 years, but you're a senior nonetheless.
> The only thing that makes a senior are years of experience
The only thing that makes you a senior in software is whatever titles the companies you've worked for happen to give out (which may be inflated for various political or hiring reasons) while you work there and there are basically completely arbitrary criteria from company to company.
In terms of official job titles, I was a "Senior Software Engineer" like 2-3 years after I started writing code professionally, and I mention this not to toot my own horn in any way but to point out how arbitrary titles can be (and we won't even get into the debate over the 'Engineer' bit).
Actually it's not even years of experience, I've seen grads with 2 yrs experience promoted to Senior with a minor raise because otherwise they might leave the company.
Licensed professionals don't have identity crises, their titles and what is required of them is legally enforced. The software industry has never lobbied for the interests of "engineers", the way other professions have (taxi drivers, barbers, plumbers, real estate agents, etc formed professional groups which lobbied for laws requiring official licensing). I think it's because software developers are the laziest people on the planet, and they are happy to continue doing almost nothing in order to get hired.
Licensing never happened because its effect is to reduce the size of the labor pool and restrict what the labor pool can do as individuals. Barring the very recent abberation of the glut of new grads and not enough junior positions, even without licensing, there haven't been enough engineers to fill all the open senior-level positions. Licensure would make that problem worse.
A licensure board would also get embroiled in political disputes over what is genuinely ethical. Python is a performance nightmare, should engineers be permitted to pick a language with known poor performance characteristics? Electron is a RAM hog and battery-killer, is it an ethical choice? So how could any Python or Electron shop support licensure?
> there haven't been enough engineers to fill all the open senior-level positions. Licensure would make that problem worse
The point of the licensing is to make sure they can do the job; hiring people without the licensing means you're hiring amateurs. It's not a good solution. You need more job-training programs to fix the existing lack of engineers, which still works with licensing. There's no quick fix for a lack of qualified expertise, other than H1-B's.
Sure a board can make things more complicated, but it's because they're trying to improve things. This is a positive.
> should engineers be permitted to pick a language with known poor performance characteristics?
In electrical work, you are restricted to what parts you can use for what work, based on its application/use-case. If it's touching a house or grid it needs to be UL-listed (mandatory testing). If it's outdoor it needs to be NEMA-3 (weather-resistant) or better. If it's direct burial it needs to be UF-B (resists common outdoor issues) or better. More than 3 conductors in a raceway requires derating the condutors. You can't join dissimilar metals (aluminum, copper) without some kind of tin-plated splicer (with oxidation treatment) to prevent corrosion.
I'm sure when these standards were introduced, electricians were annoyed that they were "being limited in choice". Today we take it for granted. Our safety and stability, both as individuals and as a society, is more important than the personal preferences of engineers.
A comp-sci degree is mostly theoretical and academic. Professional licensing (that usually requires apprenticeship) is about hands-on experience, which is what all comp-sci grads lack. It's why grads get paid next to nothing; a grad is essentially an apprentice.
I think you’re being a little pedantic here. Even if we assume "senior" is an arbitrary title, the article is still a useful description for how to be effective as an experienced engineer. The title is the least interesting part of it.
It’s only useful if you consider a single anecdote useful. For every OP’s example I can come up with at least 2 where you follow their advice and it goes south, most likely there are thousands engineers who can do the same.
It’s a typical pat on the back/confirmation bias article so whoever identifies with this specific opinion can feel good and close the tab with “yeah, I’m a real senior”.
Jump ship. You'll forever be bargaining for the pay rise and if you do get it and don't deliver for whatever reason you'll end up shooting yourself in the foot. As the recent justification was for more pay.
If you have contacts on the seniors who have left, call them, ask them if they like the companies they are currently working for, and whether the companies are looking for new hires.
In the job interview, give them the list of responsibilities that you have now. Then ask for a higher salary than you have now.
I was a teacher, and I didn't notice anything similar. It's just a job -- if you can do it, you can do it. You can be more experienced, you can be more comfortable with solving certain problems, you can do it better or worse, but there is not... this.
Some software developers seem to be in a lifelong dick-measuring contest. "You are not a true X unless you know this one important thing that I know." Okay dude, now do you expect Miss Teacher to come and praise you for how clever you are? You know some things that others don't, perhaps the others know some things that you don't, why is the former important for being a true X and the latter is not.
In software engineering, "senior" or not usually means you can be trusted to take on certain problems vs. others.
In US primary school (an industry I've never worked in), this might be close to something like teacher, curriculum planner, assistant principal, principal, district supervisor, etc.
As you progress further in your field and hone your skills and knowledge, the scope and impact of your responsibilities should grow.
The only thing that makes a senior are years of experience, that's all. You can be a shitty senior if you only do one thing for 10 years, but you're a senior nonetheless.