The key thing that would make things better, is if engineers organized into some sort of professional association or trade union. I don't mean a technology focused organization like the ACM or IEEE, but a politically focused one.

The reason engineers haven't been totally screwed is the explosive growth of the market in general. Engineers haven't been able to capture even a fraction of the value they've created, but fortunately attempts by capital to collude against labor have been undermined by the desperate need for more labor at various inflection points. Google, Apple, Adobe etc all colluded against labor, but then Facebook was desperately trying to catch up to Google and undermined that effort. That forced Google to give everyone an IMMEDIATE 10% pay raise and since then Google has attempted to pay "top of market".

Besides Facebook specifically, people like Paul Graham of Y Combinator tried to sell the startup dream hard, which was hugely helped by huge IPOs of Google and Facebook, and what at the time looked like upcoming huge IPOs of Dropbox and AirBnB (which did eventually IPO but took way longer and were less amazing compared to Google/FB). This forced the big companies to try to improve compensation and work environment. There is a leaked email of Sergey Brin saying, he was concerned about Googlers leaving for Facebook but even more concerned about them leaving to create the next Facebook.

The VCs and founders got, far, far too greedy and used tools like common vs preferred shares, liquidation preferences, delayed IPOs, and short exercise windows to totally eviscerate the very dream they were supposedly selling. It took a bizarrely long time for the labor class to realize that this was going on. People today still comically overvalue the value of their ISOs, and a major role of a startup CEO is to attempt to dupe young engineers into buying that debunked dream. In 2019, I think people are finally "getting it" and flocking to companies like Google and Facebook that are paying huge RSU packages to retain engineers while startups are having trouble hiring.

Both the big companies and the startups were upset and thrown off course by the election of Trump over Clinton. Clinton, whose campaign was hugely influenced by Google/Alphabet chairman Eric Schmidt, was planning on pushing to massively raise the visa limit to flood the labor market with H1B engineering talent. Even if H1B are paid market rate, their influx will of course increase supply and drive down what that market wage is, and of course not being citizens they have very low political power (this is one of the reasons why, I believe to the extent we do let in technology talent, we should offer them a path to citizenship ASAP).

The lobbyists tried to convince Trump on the same thing - if you paid attention, during one of the debates he started talking about the importance of Silicon Valley importing talent. He later backtracked on that point on Facebook, after his campaign advisors pointed out that when one of your central campaign platforms is "build a wall to stop immigration", suddenly pivoting to an open-borders H1B stance is going to hurt your campaign. So the H1B cap has remained relatively untouched for 4 years, which Google/FB/YCombinator/Andreesen Horowitz/Greylock Ventures and the rest of the usual suspects were not planning for.

My prediction is, between the VCs digging in their heels on fixing their equity offers and in general keeping up with Google/FB on liquid compensation, tied to the housing crisis in the Bay Area and other hot tech markets, the consolidation of most top engineering talent to FANG companies and a startup dark ages that's mostly about flipping crappy web/mobile apps to greater fools with little technological value will continue on for a few years.

The two biggest things that will get the pendulum swinging away from that is, if engineers and other tech workers organize into a professional political association, or if there's another huge technological market growth that forces someone to undercut the collusion of capital against labor.

Only the professional association/trade union that can negotiate with the Googles/FBs/Andreesens of the world with some serious bargaining chips (for example, an SRE strike at Google or FB) will offer lasting stability and prosperity to the engineering class. Anything short of that will just be engineers capturing bits of huge bursts of economic growths that come from time to time, and it's very difficult to predict when and where those huge bursts will arrive. It's almost a certainty they will come sooner or later, but they could be much sooner or much later. The safer, smarter bet for the engineer labor class is to organize.