It’s never been easier to learn how to code.
It’s never been more powerful to learn how to code.
It’s never been more profitable to learn how to code.
The tech industry is reaching a level of maturity that spells exponential growth for engineers who ship products. More and more, the software engineer and the product manager are merging into a single, powerhouse archetype - the product engineer.
Becoming a Product Engineer is Easy (enough)
In the old days of software, the only people who could code were the nerds and the geeks. Ideas were gated behind months of development and years of experience. The community was helpful but small, at least compared to what’s available today. Deep technical knowledge was required to ship products, and the abstractions available to product engineers were low level and immature.
Frameworks changed all of this. Frameworks are opinionated bundles of abstractions that give you structures out of the box - this might be React, NextJS, Ruby on Rails, Django, etc. Developers have spent the last 20+ years building better and better meta-structures for web development and developing opinions on how to increase product velocity and ease of use. We’ve watched these frameworks duel it out on the fronts of performance, developer productivity, and community support.
How does this affect you? Well, if you want to learn how to code, you can set up a full stack web application this afternoon. You can stand on the shoulders of all of the web developers who came before you, and have spent the last 30 years arguing about how best to build and scale web applications. Not only are these opinions thoroughly written and talked about, most of them are actually baked into the frameworks.
And the community is larger than ever. There are more than 4.4 million software engineers in the United States. Many of them give back to the community, providing documentation, contributing to open source, and answering questions. Software engineers are notoriously positive-sum, helping each other out with free mentorship and career advice and job placement. There are also tons of random meetups in every city for very niche topics - my friends recently went to an in person meetup with over 30 people about a niche full-stack clojure framework called “Electric Clojure”.
AI is helping to lower the barrier to entry, too. ChatGPT is a valuable tool for answering questions, and can help you debug your code or solve a problem fast, even if you have limited experience. Github’s IDE1-integrated AI agent, Copilot, is proving to be a really powerful tool for engineers at all skill levels. Drawing on knowledge of a bunch of open source2 code, Copilot basically autocompletes code, generates tests, and explains your teammates’ confusing tech debt.
It’s never been easier to become a software engineer.
Becoming a Product Engineer is Powerful
The speed at which an engineer can ship today is incredible.
For example, I can create an entire, functioning full-stack application on my local computer with one line of code.
npx create-remix
I can then deploy it to production with another line of code (one word, actually).
vercel
I now have an application that I can share with users, live on the internet.
Now it’s time to add functionality to my application. Here’s a list of things I don’t have to code myself, and instead can simply “plug in” via an API integration to my application:
Advanced Large Language Model (LLM) capabilities: OpenAI API
Advanced Image Generation capabilities: OpenAI API
Transcription and Translation: OpenAI API
Payments and Subscriptions: Stripe API
Email, Text, and Marketing Communications: Twilio, SendGrid, Mailgun APIs
Banking: Plaid, Modern Treasury, Column APIs
Social: Tiktok, Instagram, Twitter, Snapchat (and so many more) APIs
Analytics: Google Analytics, CustomerIO, Mixpanel APIs
A/B Testing: Hubspot, LaunchDarkly APIs
Geo Mapping and Address Data: Google Maps API
And more…
Dream big dreams - whatever you want to do, it is likely that you can bring existing software tools together to do it pretty quickly. And the best part of it? Most of these software services have generous free tiers - meaning you can integrate with them and it doesn’t cost you anything unless people use your software.
There are increasingly out-of-the-box integrations with new physical technologies as well.
Apple and Meta have rapidly maturing AR/VR platforms for their headsets, which make it really easy to spin up entire new 3D worlds. Two years ago, my friend and I built out an AR Jenga Tower game in an afternoon without ever having touched swift, the application language, or AR technology before in our lives. Things have only gotten easier since then.
The Internet-of-Things (IoT) is rapidly coming online. New software is being written in order to orchestrate physical assets in our environment - anything from our kitchen appliances to smart street lights to our electrical grid. The ability to write software to control the behavior of the physical things around us is tantamount to magic.
The product engineer is also becoming a magician thanks to AI. AI is turbocharging the average developer by making them roughly 50% faster and automating most of the boring, repetitive code that they have to write. More than that - it’s resulting in fundamental shifts with respect to what we’re able to do with software. What can we build with real time translation? Real time object detection? What creativity can we unlock with generative art and music?
Massive progress has been made in the field of robotics thanks to AI and LLMs. It’s likely that we’ll have viable humanoid robots soonish, and some software engineer is going to need to build a TaskRabbit for these guys!
Becoming a Product Engineer is Profitable
Software engineering pays well, but it also keeps paying better. Software engineering salaries are up about 50% over the last 10 years, and are expected to keep rising.
Demand is still strong, too - layoffs have been common, especially in big tech, over the last year, but it looks like this was mostly a reaction to interest rate hikes (which have now stabilized), bloated ZIRP salaries, and low-productivity remote work. In fact, most of the companies that did mass layoffs are now rehiring again, but primarily in-person and with recalibrated compensation packages3. Only ~5% of Meta’s 2000+ job postings are remote and ~4% of the 1500+ at Google. Out of 1700+ open positions for software engineers at Amazon, only 2 are remote.
Here in New York City, all of the founders I know are hiring in-person only and struggling to fill software engineer openings with high quality candidates. I ran over 400 interviews for software engineers over the last 2 years, and I had to hire most of my team remotely, even with a strong preference for in-person. The engineers are strong, but there’s not enough talent in NYC to go around. For people willing to show up and put the work in, there’s a lot of opportunity in the market right now.
If instead you wanted to go the self-employed route, it’s easier than ever to monetize software on your own. More and more app platforms, like Stripe Marketplace and Shopify App Store, are popping up that allow you to distribute software directly to consumers. Shopify doesn’t charge anything for the first million dollars that you make on their app store. Platforms handle the marketing and make it easy for consumers to discover and pay for your software.
More and more marketplaces for indie creators are popping up, too, like itch.io, which lets you sell games you’ve developed, or gumroad, which lets you sell pretty much anything. These platforms know that helping developers and creators make money is a good business, and everybody wins.
Wrapping Up
Software engineering is a powerful skill, and it’s only getting more powerful. We need more software engineers (especially in NYC!), because we need more people solving problems and building products. The tides in tech are shifting with AI, which is unlocking an entire new frontier of things to build - it’s also making it easier than ever to learn software engineering and ship products fast.
If the wizards and witches are achieving record breaking levels of magic, why would you stay a muggle?
PS - We work closely with NYC startups to train founding engineers @ Fractal Bootcamp. If that’s interesting to you, come chat with us.
An IDE, or Integrated Development Environment, is a software that you use for writing software. You can think of it like Google Docs for your source code.
Open Source means that it’s in the public domain - anybody can look up an Open Source project and see, modify, and contribute to it. This is actually a great way for beginners to see what good code looks like, and get some experience contributing to a team!
ZIRP (Zero Interest Rate Policy) Era compensation packages were impressive. It was not uncommon for senior engineers at big tech companies to make 400-500k, and principal engineers at Meta were making over 1M.