Sometimes I get asked questions that would be more fun to answer in
public. All letters are treated as anonymous unless
permission is otherwise granted.
Responses are based on my experience and opinions.
This is a great question. I've also been thinking of the reverse question a lot lately: do I need to stay in NYC to have a good career?
First off, let's be clear. There are any number of ways to have a great career. I've met many incredible developers and founders who live in the middle of nowhere. Plenty of people have built great careers and companies in small towns and cities.
Moreover, everyone has different family, health, financial, etc. challenges. And of course, it's fine not to want a crazy career either. But that's not what this question is about.
With that said, let's talk about what can improve your chances the most if you're an ambitious developer who wants to work on interesting problems, make decent money, and learn a lot.
Let's get salaries out of the way first. As Gergely Orosz has written, local companies pay relatively poorly (especially non-VC-funded ones, and especially outside of major tech hubs). I say "relatively" because anyone employed as a software engineer is lucky, in the scheme of things.
What he observed in Europe is absolutely my observation in the US as well. My first jobs were in Lancaster, PA and the nearer suburbs of Philadelphia, PA. I've been through this tri-modal experience. And there's not much to add to what Gergely wrote.
The summary would be: try to find a company where you get equity or stock. This normally precludes purely local bootstrapped companies.
Tech hubs are dominated by companies building CRUD apps. And yes, you can find companies with interesting challenges outside of tech hubs. But within tech hubs there is a higher concentration of companies with interesting challenges.
Now these days, startups are getting more and more willing to hire strong developers wherever they are. But there still are a contingent not really willing to hire remotely.
So if you want the most options among the most interesting companies, it might be a good idea to move to NYC or the Bay Area.
And among companies with hard tech problems, the bulk are in the Bay Area. NYC is a somewhat distant second. Seattle, Boston, Austin, Atlanta, Minneapolis, Miami, Denver, LA, and likely others are other good choices beyond the Bay and NYC.
But remember, the more in-demand your skills are and/or the more experience you have, the more willing companies are to let you work from wherever. I know many developers who live in random cities throughout the US and work for major tech companies. Building your network to find these opportunities can help.
And although some job postings say they are for a specific location, it's always worth applying anyway for a position you're interested in. Some companies are flexible. Some aren't. Unless the company is famously on-prem only (like Apple or many banks), you won't know if you can work remotely until and unless you apply and talk to them.
I have huge respect for people who run meetups. But I've been to a number of meetups and most of them are mediocre. It takes a lot of effort to keep identifying good speakers. And if you don't put that extra effort in, the meetups end up with poorly disguised product ads, demos, and pitches.
At the same time, everything is marketing. So you can't, nor should you necessarily try, to avoid pitches. But you can at least reward the companies who try hard to teach the community something. You can do this by attending the best meetups.
In NYC, the best meetups (before COVID) were Papers We Love and the Linux User Group.
Unfortunately both of these almost completely shut down since COVID. Papers We Love has had one meetup this year (fantastic!) but overall nowhere near the old frequency yet.
While in-person meetups have struggled, there have been more meetups and discussion groups going online.
And then there's the broader community on Twitter, LinkedIn (catching up recently as people are driven off Twitter), Hacker News, select subreddits.
Obviously, these are available to you no matter where you live.
There are some interesting things that can happen in person besides meetups though. I started an in-person book club in NYC this summer and it was a lot of fun. After so many years "hiding" at home, I was very happy to meet up with real people again and make new IRL connections.
Another thing that started happening recently for me (since trying to start a company in 2021) was VC dinners. VCs in the areas occasionally invite founders and developers (among others, I'm sure) to networking dinners. Quite interesting. Just another chance to meet more local peers.
Finally, I meet a lot of random people in tech for coffee. No reason other than that it's fun to meet people! I'd have a harder time doing that if I lived in a smaller city or a place with fewer people in tech. Or people in more traditional tech jobs where they can't easily meet me for coffee.
There's more to a city than being the biggest tech hub in the US. For example, housing.
After 5-10 years of working for a tech company in Philly, Chicago, Austin, Minneapolis, Atlanta, or Denver, you can probably buy a house or family-size apartment in a walkable part of the city.
NYC and the Bay Area are incredibly expensive. Buying a place on the same budget as the above cities, in a walkable area, would get you a studio.
The Bay Area is often considered monocultural. Everywhere you go, you hear people talking about startups.
NYC in contrast has major industries aside from tech. And many other major US cities listed above are dominated by finance, healthcare, or manufacturing.
First, try to join a company where you'll feel like an idiot. Find a place where you'll be challenged.
Especially early on in your career, you don't know what you don't know. And your habits and thoughts will be heavily influenced by those around you.
So find a company with smart developers. FAANG is great but this goes beyond FAANG.
For me, the folks I look up to typically work at Internet infrastructure companies like Fly.io, CloudFlare, Cockroach, Fastly, AWS, Digital Ocean, Jet Brains, DataDog, ClickHouse. Cloud compute companies, security companies, database companies, developer tool companies, etc.
And many interesting companies hire remotely. But if they don't and you get an offer, they'll normally pay for you to move anyway. If you're ready to move, go for it!
Second, join an online community or two. Even if you can't work at companies where you feel challenged, you can challenge yourself online. Networks are useful as you grow them. And the best time to start is now.
Third, look around for the interesting companies in your area already! Ask a developer to get coffee with you. Encourage interesting local companies to host meetups or speak at them.
Our communities are what we make of them.
It was a big deal for my career to move to NYC. But that was before I tried to find or start good online communities.
So my ultimate answer to your question is emphatically: no, you do not need to move to NYC or the Bay Area to get good opportunities in tech.
But doing so may make it easier for you. And I certainly have a lot of fun living in NYC.
Wrote a response to a developer asking "do I need to move to NYC or the Bay Area for good opportunities"?
— Phil Eaton (@eatonphil) October 13, 2023
Moving to a major tech hub can be huge for your career. It was for mine. But you can also often find interesting remote companies and communities.https://t.co/Ug6le3xv4W pic.twitter.com/HpS0MntHpA