The Untold Story of a Software Engineer at Meta

Introduction

Welcome to “Developer Stories” – where every line of code tells a story of a software engineer.

A developer setup

Each story is unique and full of challenges, triumphs, and insights, offering a rare glimpse into the personal and professional lives of people who write the software that shapes our world.


Why You Should Read This Story?

Whether you’re a new or an experienced dev, these stories offer a wealth of inspiration and motivation.

It’s not just about code; It’s about the people behind it – their struggles, their victories, and their lessons learned.

Every developer’s path has unique obstacles and achievements.

These stories remind us that behind every app, website, or software, there’s a human story, a set of hands typing away at a keyboard, fueled by dreams and determination.

Their stories are more than just narratives; they are sources of inspiration, learning, and connection in the ever-evolving world of tech. 

A final reason is that by sharing these stories, I offer a learning platform not found in textbooks or any online courses.

In today’s story, let’s meet Joe “Developer, Dreamer, Doer”.

joe

So let’s jump in. Today, we cover:

  1. What is the background and motivation Joe had to become a developer?
  2. Challenges and how did he overcome them?
  3. Tech stack and technical expertise.
  4. How has being part of a developer community benefited his career?
  5. A practical advice for aspiring developers.
  6. What does he believe about work-life balance?
  7. His tech salaries and compensation over the years.
  8. What are his thoughts on job security in the tech field?
  9. Has he ever had whimsical thoughts of trading code for crops and venturing into organic farming 😉 or any other offbeat path?

From here on, Joe discusses his career journey. Each question is followed by answers from Joe.

1. Background and Motivation


What motivated you to become a developer? 

How did you get Into Computer Science, what was the struggle with learning the programming language and dealing with any initial setbacks, was learning to code hard or it was natural to you when you started a job as a software developer?

Joe : 

It was 2016. I graduated with my bachelor’s degree and jumped straight into a master’s degree at Cal State Long Beach in Italian Linguistics and Literature.

At the time, I planned to get a master’s degree so I could then pursue a PhD in second language acquisition.

A semester into my master’s program, I was second-guessing my career path. It seemed like folks a couple of years ahead of me were struggling to make ends meet in the field of linguistics.

I had a serious girlfriend at the time and was worried about my future abilities to support her and a family. So I started looking at alternatives.

I had worked at startups before but never on the tech side.

I saw an ad on Facebook for a coding bootcamp. After hearing the price point, I quickly googled “learn to code free” and found freeCodeCamp.

I started doing it but quickly realized this could be it. Before any rushed decisions, I decided to do #100DaysOfCode and see if I was serious about coding.

A month in, I was hooked. I loved being able to build. So I decided to drop out of my master’s program and move back to Arizona where I found an internship at a WordPress agency.

I eventually landed a full-time job as an engineer at another local company in March 2018.

Since then I’ve worked at a handful of companies including Facebook/Meta.

Now I work at a startup called Mercury as a Senior Full-Stack Engineer.

Joe- Meta-Developer

What were some defining moments that shaped your career? or were there any individuals or experiences that significantly influenced your career?

Joe : 

Meta

I landed a developer advocate role on the open source team at Facebook and moved my family to Seattle for that role.

Ultimately it didn’t work out in the long term but it was a wonderful experience and we ended up loving Seattle that now we try to visit multiple times per year.

I realized I like working with people in person, but I love the freedom a remote job gives you.

Any old desk/office pic or any memory from the past which you’re comfortable sharing in public?

Joe : 

software engineer meta

This photo is from January 2017. I had an 11-inch Macbook Air and made a stand out of cardboard lol.

Another photo from March 2018 when I started my first full-time job in person as a Front End Engineer. I eventually got a monitor 😂

software engineer

2. Challenges and how did Joe overcome them

Any challenging project or situation in your career, and how you navigated through it. Any story you could recall from the past?

Joe : 

An interesting project I worked on early in my career was building a jQuery plugin.

It was my first full-time job as an engineer.

The PM wanted to give customers (car dealerships) a way to collect leads through our API but on their sites. So the plugin would embed a button under each car card and say “get information” and they’d fill out their information.

My mentor at the time, Mitch, coached me through it by breaking it down into small steps.

The first step was to write an Express server with a single endpoint that delivered the plugin (kinda like a CDN).

Then the next step was embedding a button on the page which opened a modal with a form. Then the next was using query params to change the colours of the modal.

It set the foundation for how I solved problems (both then and now).

Have you faced any failures or setbacks, and what did you learn from them?

Joe : 

Yeah, one of my biggest failures was when I left my first full-time job and almost burned a bridge.

I wanted to be “the good guy” and decided to write a Glassdoor review about my experience after I left.

I ended up saying how I wished management gave front-end engineers more resources to level up and go full-stack.

It ended up backfiring and getting my old boss, the CTO, in some trouble (after all that he had done for me).

I ended up apologizing years later and repaired that relationship but it was a tough lesson for me to learn.

3. Technical Expertise

Any one project on which you were particularly proud and what were the key learnings and outcomes?

Joe : 

One particular thing I’m proud of is being the lead maintainer for the code-server project during my 2 years at Coder.

It’s still one of the Top 100 most-starred projects on GitHub and has over 50M monthly downloads.

One key learning was figuring out to not break things with each release.

I ended up adding end-to-end testing coverage with Playwright during my time there which decreased the number of bugs per release.

The biggest thing I was proud of though was decreasing release time from 12hrs to 2hrs.

Describe a time when you had to make a critical decision during a project. What was the situation, and what was the outcome?

Joe : 

Once I was working at this crypto company and hackers started spamming our site, specifically a WebSocket endpoint that didn’t have any rate limiting on it.

My boss was on PTO, skiing in the mountains when he pinged us on Discord.

We had to stop them and didn’t have much time.

We ended up adding a socket rate limiting package quickly.

It stopped the problem temporarily but we later had to go with a better solution, which was setting up rate limiting at the Cloudflare level.

How do you stay updated with the rapidly evolving tech landscape, and how do you decide on what technologies or frameworks to learn next? Any personal mental models you would like to share in Public?

Joe : 

Twitter/X. I do see a lot of cool, interesting things in my feed each week and I end up staying on top of the industry that way.

I used to jump on tech as soon as it came out.

Now, I kinda wait and see how it plays out before I jump into things. And when I jump on new tech, I try to work it into a project I’m working on or a tutorial I’m teaching.

For instance, at the time of writing, I haven’t yet played with React Server Components.

I used to do a lot of Just In Case learning but now I am more on the Just In Time learning side. So I’ll learn stuff when I need to use it.

4. Community and Collaboration

How has being part of a developer community benefited your career?

Joe : 

I cannot even begin to explain how much being part of the developer community has impacted my career.

Pretty much every single one of my jobs happened because I was involved with the community.

My first full-time job was through a referral of a guy I met at a local meetup/workshop I ran.

Second was through Twitter.

Third was from a conference.

Fourth was through LinkedIn and writing online.

Fifth was through Twitter.

The current was through a friend of a friend of a friend.

So being involved has been super critical in my journey.

Any community work or experiences in collaboration with others in the team and outside the team which you can share with us?

Joe : 

One interesting experience was doing ClojureFam which was a community effort by the Athens Research team to help folks learn Clojure.

We had weekly calls and built a few small things together with folks from the community.

I also participated in Chingu which were cohorts of folks learning how to code through freeCodeCamp.

That was the thing that helped me get past learning barriers and break into the industry.

Do you think being active in an open source community, building a personal brand on social media like X, formerly Twitter is helping you or it’s just an overhead— be honest in your experience?

Joe : 

Without a doubt, yes.

Even when I only had 2,000 followers, I remember meeting someone at the Figma office back in 2018 who was like “You’re JavaScript Joe! I follow you on Twitter!”

Even if I don’t get a lot of engagement these days on Twitter/X, people see follower count as a status symbol and that opens doors to conversations.

So yes, it helps a lot.

5. Advice for new software developers

What advice would you give to aspiring developers or those looking to transition into a tech career?

Joe : 

A while ago, I wrote The Practical Checklist for Getting a Job.

I still believe everything I shared in that helps aspiring developers looking to transition into a tech career.

I won’t repeat all of it here, but I’ll say it’s worth a read.

How did you build your reputation? Should a new developer focus on coding or he/she must build their skills, network, and reputation at the same time?

Joe : 

Talking about something specific for a while (i.e. JavaScript or TypeScript)

When I was first on Twitter, I used to go by JavaScript Joe.

That helped me piggyback off JavaScript and build a small reputation.

I later started talking about TypeScript and publishing articles.

That helped me extend my reputation into the TypeScript world.

Now, I don’t know what kind of reputation I have lol but I’ve learned that if you put yourself out there, you can build a brand and attract like-minded people.

It’s worth focusing on in parallel with your coding skills.

In your personal opinion especially looking at this AI wave, Where do you see the industry heading in the next 5-10 years, and how should developers prepare for it?

Joe : 

I’ll be honest. I think I’m terrible at questions like these.

I don’t know where we’ll be and what role AI will play.

You see tools like ChatGPT, Copilot, Cody and v0 changing the way we write code today. And most of this has been in 2023, right? Will we be coding from VR headsets and talking to AI kinda like Jarvis from Ironman? I hope so.

As for preparing, I think understanding how languages work and being able to problem-solve will still be valuable skills so I’d invest my time there.

6. Work-Life Balance

Do you believe in work-life balance? If yes, How do you maintain a healthy work-life balance, especially during challenging times or side projects or any tight deadlines?

Joe : 

As someone with a family (wife, daughter and dogs), yes.

I try to stick to the 9-5 at my full-time job.

Sometimes fires happen and you have late nights but that shouldn’t happen often.

For me, doing side projects is my hobby so I don’t count it as “work”.

I try to get enough sleep and find time here and there for side projects, like when my daughter is napping or when everyone goes to bed.

We all have some hobbies or interests outside of coding that contribute to our well-being or creativity in our work. Would you like to share mental models to keep up with hobbies as sometimes I see many developers skip spending time on their well-being and lose interest in their hobbies.

Joe : 

“Do what you love and the money will follow”.

Wish I could tell you where that came from, but I’ve been leaning into this mental model a lot lately.

I’m passionate about languages, like Spanish, so I’ve been leaning toward that as my hobby.

I started a newsletter and I can say without a doubt, I’m much happier working on a project like this than some of my previous projects I pursued only for financial reasons.

Many developers venture into indie hacking, side projects, or even launching their startups while maintaining a full-time job.

Have you ever explored such entrepreneurial paths alongside your day job? If so, could you share your experiences and the challenges you faced?

If not, what keeps you fulfilled in your current role, and have you ever considered taking a more entrepreneurial route in the future?

Joe : 

Yes! I consider myself an indiehacker and am constantly thinking about that kind of stuff.

I’ve had some success but it hasn’t been consistent. Out of the past 3 years or so of indiehacking, I’ve only had one month where my side income surpassed my full-time income.

Most months, it’s only $100-$200. I’m still figuring out how to do it while working full-time but I know I’ll get there one day.

The biggest challenge though is finding something that has the potential to replace your full-time job.

7. Salary and Compensation

If you are comfortable sharing a range of your salary or compensation over the years? How do you feel it reflects on the value of your work or the industry standards?

Joe : 

I’ll share that my first full-time role paid $65k, which felt like a lot of money at the time. I left a marketing role that paid $40k so it was a huge jump for me.

Over the years, my salary has increased. I think I’ve been very fortunate to be able to showcase the value I can offer to a company and get a salary that matches that.

It’ll be interesting to see the industry standards change over time, especially with inflation continuing to increase each year.

My only fear is how AI will affect that i.e. a company paying a US engineer $180k vs an overseas engineer $65k plus a Copilot subscription.

In your opinion, is there a wage gap in the tech industry? If so, how have you navigated it or witnessed others navigating it? As it’s a very common practice in tech, companies underpay developers, how did you overcome this— Do you have any interesting take you have or any stories about how you handled this over the period?

Joe : 

It varies. At my first job, I got hired at $65k. Then a couple of months later, two other guys joined at the same level but were paid $85k.

In my most recent job hunt this year, I interviewed for Senior Full Stack roles and salaries ranged from $110k-$220k. So yeah, it feels like it varies quite a bit.

I think talking to coworkers has helped or asking other friends in the industry to know if you’re being paid fairly.

That’s what I would recommend doing.

8. Burnout Job Security and Mental Health

What are your thoughts on job security in the tech field?

Joe : 

I used to think we were safe. Then I got laid off twice in one year 😂 So for me, I think you can’t assume you’ll always have a job.

It’s worth it to keep your skills up to date and be prepared for the worst.

Never burn any bridges.

Give 100% effort in your full-time job, but know that layoffs can happen without warning.

Both of my layoffs hit me by surprise.

Have you ever experienced burnout? How did you manage it and what steps do you think every developer must take to get out of burnout or even don’t get trapped in a never-ending work cycle? Basically, How do you manage the stress and high demands often associated with a tech career?

Joe : 

Not at a job but with side projects yes. I’ve had side projects that I’ve worked on for a year straight without much to show and that led to burnout.

For me, I took a break from those projects and did other things.

Now I try to keep the scope small and stop working on things when I no longer feel the joy.

That has helped me with burnout.

9. Workplace Dynamics and Ethics

In your view, how does the tech industry fare in terms of diversity and inclusion? Have you ever faced gatekeeping personally in your career growth be it internal people or external people?

I don’t have much experience in other industries to compare it to.

I do think the tech industry does a great job trying to be more diverse and inclusive though.

Most companies I’ve worked at have had diversity and inclusion programs and done a great job educating employees on their importance and value them.

Ankur:

It was very insightful to have a chat with you Joe before wrapping up I had a last question.

As we both know the tech industry offers a wide array of work environments, from bustling big tech firms and innovative startups to the entrepreneurial adventure of launching your own business. And as we know coding is a high-paying, intellectually challenging, creatively rewarding field. There is a clear career progression ahead of you: senior developer, tech lead, engineering manager, CTO, and perhaps even CEO or On a lighter note, some even fantasize about leaving the digital realm for a peaceful life on an organic farm 😀

Where do you see yourself thriving the most and why? Have you ever had whimsical thoughts of trading code for crops and venturing into organic farming or any other offbeat path?

Joe:

That’s a great question…I’ve had thoughts of being a CEO or CTO one day.

It’s hard to say though because I think I would miss coding a lot.

I love building and I wouldn’t want to give that up.

At the same time, I care a lot about execution and getting things done.

Maybe one day I’ll explore another role but for now, I’m happy being a Senior Full Stack Engineer.

Thank you very much, Joe for sharing your career journey and learnings with me.


Takeaways and things I’ve learned from Joe’s story include

  • He started learning coding through free resources and committed to #100DaysOfCode.
  • Dropping out of his master’s program, he moved to an internship and eventually landed a job at Facebook/Meta, now working at Mercury.
  • Joe’s move to Facebook as a developer advocate was significant, highlighting the value of in-person work balanced with the freedom of remote jobs.
  • Early career challenges included building a jQuery plugin with mentorship and learning to approach problems in small steps.
  • A personal setback was a poorly received Glassdoor review that taught Joe the importance of maintaining professional relationships.
  • Active community involvement was crucial for job opportunities.
  • Being recognized as “JavaScript Joe” on social media helped build his reputation and opened professional doors.
  • Joe emphasizes the importance of learning on a needs basis and networking.
  • He suggests focusing on building a brand alongside coding skills.
  • Joe sticks to a 9-5 schedule, balancing work with family life and hobbies.
  • He encourages finding hobbies that align with personal passions for greater fulfilment.
  • Having been laid off twice, Joe advises developers to keep their skills up-to-date and to be prepared for unexpected changes.
  • Joe advises taking breaks from projects that no longer bring joy to avoid burnout.

This story is a great reminder that success in tech is not just about technical skills but also about adaptability, continuous learning, and community involvement.

Thanks for reading! I hope you enjoyed Joe’s career story. We put a lot of effort into making it as actionable and high quality as possible. If you have any questions for Joe feel free to drop a comment for him here and If you found value in this blog, I’d be grateful if you shared it with colleagues, batchmates, new grads, managers, friends and even your parents.

If you’re eager to share your journey, please don’t hesitate to reach out to me at hello@theankurtyagi.com

Together, we can continue to build a community of learning and growth.


Stay in Touch

That was it for this blog.

I hope you learned something new today.

If you did, please like/share so that it reaches others as well.

Connect with me on Twitter

If you like this. I encourage you all to sign up for my newsletter. It’s free.

Check out old editions here: ByteSizedBets Newsletter by Ankur

Want to read more interesting blog posts

✅ Here are some of my most popular posts that you might be interested in.


Leave a Comment

Your email address will not be published. Required fields are marked *