I think having a "medium" amount of leverage is just not usually explicitly signaled. But it's definitely there.
An engineer can know they aren't at any risk of being fired barring a huge screwup, and use that leverage to coast (and if they're remote, that means working fewer hours -> getting paid a higher effective wage.)
Coasting means I can spend my best time & effort on stuff that isn't boring. I'm not coasting when it comes to my personal goals and dreams :)
People pursue coasting so they can do other things.
Not everyone is up to writing textbooks and compilers all day.
You are waiting for death. That is the only thing wrong.
It's living.
evidence required.
This is true, but it's important to recognize the huge industry shift that has happened in recent years. There used to be a lot of starting leverage. For folks who remember the early 00s and late 90s, it used to be that just by being a kid who knew stuff about computers, it was assumed by the general public that you were super qualified and possibly more qualified than most people already in the field. You could literally be the "hacker kid" from your high school, and walk into a high-paying software engineering job with a 401k, or become a company's first technical hire. Then as software engineering became more formalized and in-touch with industry on the academic side, people with a CS degree started getting the best entry level positions in the mid 00s. Now things are shifting again, as frontend and backend frameworks have increased exponentially in complexity, recent CS grads often no longer have the domain knowledge to jump into the field without prior experience, so we're seeing a shift towards bootcamp grads, who have some actual practical experience in developing software.
The value prop of getting a CS degree is rapidly diminishing at least in a short-term, start-of-career sense, and I say this as someone with undergrad and grad degrees in CS. At the same time, if you manage to get a CS degree _and_ be a major open source contributor or graduate from a bootcamp, you'll beat out most of the competition, and this will also be a benefit later in your career when you are vying for CTO positions.
Is this true? I have nothing against bootcamp grads and have known a few great ones, but anecdotally people who graduated from CS degrees are much better at adopting to software engineering roles than bootcamp grads.
And I think the reason is the fundamentals. People with CS degree know about concepts like contention, memory models and the difference between pass by reference and value. These things take a while to grasp for someone that just went through the firehose that is the bootcamp.
I think one contributing factor to this is it has become increasingly easy to be a math major and easily get a CS degree by dipping into a few CS courses at a lot of schools.
Talk to business people about their business and you'll be talking their language. The technology is just a tool. Your job is to use the right tech to keep costs down, while keeping agility and reliability up. Do this and you'll have more leverage compared to the competition.
You have to port it to some other framework, and usually I ended up wanting to clean up a few things in the process (or in Kindle's case, I needed to, because it had so many constraints), or have to add new features for new expectations (480P->720P->1080P->1440P resolution, 2D->3D, add online multiplayer, streaming features, maybe the market shifted to expecting mobile apps to be free so now you need to rework the design, etc).
When you're working on it in your spare time, sometimes those things happen before you get a chance to finish the project and get it out there.
Do you actually think so? I'm actually feeling that compared to other professions domain knowledge and specialization is less valued and searched for, since more companies look for generalists and operate on higher levels of the stack.
My personal experience is I get 99% of linkedin messages for generic "React" or "Java" jobs, where leverage would certainly be low. That is despite having a huge amount of expertise in fundamental technologies that these companies are using (and sometimes even having written the code for those). But those are not the immediate problem for the recruiter and manager, so they usually don't care.
A skilled engineer starting out in their career will begin with zero leverage, but ideally will possess the means to increase it substantially over time.
Software engineers on average have tons of leverage, but the distribution underneath that probably looks like a bathtub. On one end you have a pit of despair, confusion and failed business, and on the other you have the likes of Linux kernel maintainers, Microsoft Distinguished Engineers, et. al. Remember, this is the leverage distribution, not perceived skill/experience distribution - I have never really seen someone with a "medium" amount of leverage in the business. You are either the manager or the managed.
If you want to quickly move from one side to the other, the best way I have observed is to relentlessly chase the end business value and make it clear that you can deliver something that people with $$$ or power care about. Whether this means actual customers that pay you, or your open source community, it doesn't really matter. Everyone knows the skills transfer almost universally between styles of project.
Spending a majority of your time chasing shiny technology just for the sake of cool new things is how you stay on the drain-side of the software engineering leverage bathtub curve.