Thoughts on Node.js, Deno, and BunIf you started working in the tech industry after 2005, what’s going on now may seem like a shock. Large tech companies continue to lay people off despite record profits. Smaller tech companies are also laying people off, and in some cases, having “quiet layoffs,” where they find other ways to reduce headcount, including offering employees three months of salary to voluntarily leave the job. As a result, there are more software engineers looking for jobs in 2024 than in the past, and there are fewer jobs available. If you’re on Twitter, you may have even seen a bunch of people complaining about not being able to find a job despite multiple rounds of interviews at different companies. Is this the end of software engineering as desirable employment? The great reset. The short answer is no, but that doesn’t mean things aren’t changing. Since recovering from the dot-com crash around 2005, the tech industry has seen massive growth. Venture capitalists shook off their losses and started pouring money back into tech companies. Startups were founded with no plan to make money, only to gain users, and that was enough to pull in millions of dollars in funding. Everyone was hiring and that meant that the hiring criteria was less than competitive. When I worked at Yahoo 2006-2011, I was regularly asked to interview front-end candidates outside of my team, and many of the people I evaluated as “no hire” were hired anyway because the teams just needed people. Take that attitude and multiply it times 10 during the pandemic, when tech companies overhired as the world shifted to online-first. The belief was that the pandemic served as a turbo charger for the already large growth trajectory of the tech industry, but in reality, it was a momentary blip on the radar. Once the world opened back up, growth slowed back down to be inline with its previous trajectory. This is the first “reset” that the tech industry had since the dot-com bubble crashed in 2000, and that necessarily brought changes in staffing. Good engineers are still welcome. I’ve spoken with many folks who are understandably concerned about the state of the tech job market. Many are choosing to stay put at a job that may not be to their liking rather than risk a new opportunity elsewhere. While that’s understandable, good engineers are still finding great opportunities. Yes, companies have raised the bar for who they are hiring, but they are raising it from an absurdly low level. For a long time, the ability to write a “hello world” application was enough for you to be hired somewhere. It may not have been at one of the big tech companies, but there was certainly a smaller company desperate for talent that would hire you. (Or Yahoo circa 2006-2011.) What we are seeing now is a return to more standard hiring practices that you’d see in other industries. Companies are looking to efficiently allocate their salaries to engineers who will make a difference. In the past, every candidate was in a good position to negotiate on salary and job title, whereas now the power is more with the companies. If you’re not at what they consider senior level, then you won’t get a senior title or salary. If you were senior level at a previous job, the likelihood of getting hired at a higher level somewhere else is low. Companies now have more candidates in the hiring pool, so that’s likely to lower offers overall, though a horizontal move to another company isn’t likely to cost you money. Most industries are cyclical. When you keep in mind that most industries go through boom-and-bust cycles, the 20-year hot streak for the tech industry was never meant to last. The internet pushed us forward in the late 1990s and early 2000s, and things would have died down were it not for the invention of mobile phones, and soon thereafter, smartphones. The tech industry has been drafting off the smartphone boom for a while as other innovations such as virtual reality, augmented reality, and the metaverse, never caught on. It’s possible AI will be the next booster engine for the industry, but it’s still too early to tell. In the meantime, the best thing you can do for your career is continue to find ways to improve and separate yourself from other candidates. If your company offers personal development funding, look for ways to use that to better yourself, whether that be through attending classes, going to conferences, or even hiring a coach. Make use of free and low-cost online resources to learn more about the languages and systems you’re using, pick up books on architecture, leadership, and communication to make yourself more marketable. We all have unlimited growth potential and now is a great time to tap into it. Going forward, companies are focused on attracting quality candidates rather than hiring to fill a certain number of positions. Companies will even create jobs for the highest quality candidates when there aren’t predefined positions available. The tech industry is going through a bit of a reset, but there are still plenty of jobs for good engineers. Make sure you’re one of them. Key Takeaways
Stuff I've Enjoyed this Month🎬 CrowdStrike IT outage explained by a Windows developers by Dave's Garage 📝CrowdStrike Post Incident Review by CrowdStrike 📚 Scaling People by Claire Hughes-Johnson 🎬 Freeze screen and inspect disappearing elements by Chrome for Developers 📚 Million-Dollar Weekend by Noah Kagan 📝What we got wrong about HTTP imports by Ryan Dahl What I'm Working On🏠 Real Estate: I got some bad news: one of my properties has a lead paint issue and the department of health got involved. Apparently, there was some old lead paint under the newer paint, and when the newer paint pealed, it revealed some lead paint. So at the moment I'm looking at $2,500 in remediation costs. Follow my Instagram for real estate photos. 🎧 Podcasts: I was recently on the devtools.fm podcast where we went deep into some of ESLint's design decisions. Why not rewrite in TypeScript? Why not rewrite in Rust? Why has ESLint remained popular for so long? Listen now 💻 Open Source: I released a humanfs Box implementation, which is the first humanfs implementation for a cloud drive. 💻 ESLint: I finished up the language plugins work and created the official JSON plugin. I'm currently working on a Markdown plugin, too. |
A once-per-month newsletter discussing topics important to senior-level software engineers, with a particular focus on frontend technology and leadership.
Thoughts on Return-to-Office If you’ve been following tech news in the past month, you’ve likely heard about Amazon’s strict return-to-office policy, which will require employees into the office five days per week beginning in January 2025. The climate for tech workers has changed dramatically over the past three years, and Amazon, along with other companies, now shows no fear of losing employees with strict return-to-office mandates. For the first time in a long time, tech companies aren’t...
Thoughts on Weaponizing Open Source When you think of open source software, you might think of it as a gift from someone to the world. They’ve written something of value, and instead of trying to make money off of it, they’ve posted it online for anyone to use (and potentially make money off of) for free. While many projects start that way (Linux, ESLint, etc.), there’s another way open source comes into being: as a weapon against a company’s competition. Android. Perhaps the best example of...
Thoughts on Rates of Change One of the first things I realized about working in codebases is that different parts of the codebase change at different rates. There are some files that are touched very frequently while others can go months, or even years, without being touched. This fascinated me, partly because it reminded me of my closet (why do I even still have those jean shorts?), and partly because people seemed to put such little thought into optimizing their projects to reflect this...