(How To) Get Your First Coding Job
Ready to get off the bench and learn to code? A 6-figure salary is yours for the taking. There's no easier time in history to start.
Welcome, Avatar!
First off, a special thank you to the readers who pay to make this newsletter possible.
Your kind words, success stories, and support go a long way.
– Fullstack
Last month, another reader got their promotion!
A special congratulations to BowTiedFocus, who joined as a paid sub a few months ago, and just got his next promo faster using the tactics shared in this Substack.
He turned $60 into $10k. What could you turn $60 into?
“(How To) Get Your First Coding Job”
Yes, this post is optionally viewed as a how to guide.
But this also is a command.
Get your first coding job.
You’ve been reading this newsletter long enough.
A strong W2 salary can be the foundation to build wifi-money, and ultimately freedom for yourself and those you love.
It’s time to get off the couch, do some Codecademy & Leetcode, interview, and get your first coding job.
But, is it that easy? Can any anon pick up coding?
Let’s find out.
Learn to Code
While a fitting reply to callous journalists, it also is the starting point for your lucrative career in tech.
We now live in the easiest point in history to self-learn one of the best compensated skills in the market.
Re-read that.
No complaining when the fruits hang so low.
No Easier Time In History
Consider what learning to code and computing paradigms looked like in the past:
pre–1940: Computing theory in universities
1940s: Basic computation without anything you’d call a “programming languages” on room sized computers
1950s: First “business” programming languages on room-sized mainframe computers
1960s: COBOL, Fortran and other “modern” programming languages, still room-sized mainframe computers
1970s: Beginnings of Unix (base for future Linux, macOS) and C language, some “microcomputers” emerge from garages and kits for use in homes
1980s: First GUI (graphical user interface) and PC (personal computer) emerge with Apple Macintosh, growing computer access in universities
1990s: C++, Java languages emerge, PCs go mainstream with IBM OS2, Microsoft Windows, early days of the Internet, HTML, Javascript
2000s: PHP and other web languages/frameworks grow, online documentation and forums start, laptops go mainstream (code anywhere, anytime!), IDEs (integrated development environments) become increasingly powerful tool for programmers over CLI text editors (VIM, emacs)
2010s: Growth of forums like StackOverflow, training sites like Codecademy, extensive online documentation, how-to tutorials on YouTube, more dynamic programmer communities (Twitter, Slack, Discord)
2020s: AI increasingly can answer coding questions, autocomplete, and even write code for you; numerous training videos or resources available for free (past paid ones too if you know where to look), easier languages with simpler syntax go mainstream (Kotlin, Swift, Rust, ES6 Javascript…), M1 and beyond series Macs are a leap forward in laptop compute for IDEs and local AI/ML model training
What does this all really mean? No more complaining.
It is the easiest time in history to learn to code.
Your grandparents would have begged for the opportunity to have the tools, hardware, languages, and resources available to you today.
For many with a decent IQ, the only thing holding you back is motivation.
Fullstack coding is not rocket science or linear algebra. It’s fast feedback loop, iterative building.
Obviously, if you want to jump into the data science AI/ML world you will need a reasonable competency in linear algebra, statistics, and other computational sciences. If you have the leaning and numeracy talent, there’s no better time to lean into that.
But in my experience, fullstack coding is an easier entrypoint to 6-figure salaries. Plus, you can always leverage those base skills into new niches like data science in the future. Any model still needs surrounding fullstack software to pipe around data and access or view the results.
What is Fullstack?
Fullstack programming encompasses the following:
backend: the code that runs on a server (APIs, job processing, database…)
frontend: web or mobile client which talks over the internet to the backend
devops: deploying your backend code to the server, backups, operating and scaling the system
Fundamentally, if you can build a fullstack app yourself, you can be certain that you have the sufficient skills to be paid to code fullstack.
Notably, that means either an employer paying you to do any variety of programming jobs for their systems. Or, you have the skills to build your own SaaS (Software-as-a-Service) business and print wifi-money yourself!
Once you understand the basic patterns of building a basic fullstack app, you can pattern match your way to success in different languages, different companies, both now and into the future.
What’s a stack?
To get started, pick a stack.
A software stack refers to the layers of software you’ve chosen to use to build your full system.
At each layer there are choices you make like whether to choose Kotlin or Rust, Docker Swarm or Kubernetes, DynamoDB or MySQL. And on, and on.
Some programmers get addictive dopamine or cortisol hits from arguing which stack is better online.
At the end of the day, none of it matters.
If it works well enough that customers can use it and you can maintain, scale, and extend it, then god speed; use whatever you want.
That being said, some stacks tend to be popular for good reason, their performance on the above criteria.
Time box some time to research what stack you want to start with. Maybe a couple days of research or 3 hours max. You can easily get stuck in analysis paralysis.
But, again none of this matters. Especially for you. You are going to build a test app to force you to learn the patterns and skills for fullstack development.
You will use many different languages, frameworks, and tools to build fullstack systems across your career.
Say you choose PHP and MySQL today. It won’t easily scale at 100k engineers and 1m QPS (queries per second). But, you’re never going to encounter that limit for your first project.
Facebook hit those limits, and so they had to extend PHP into a new language (Hack) and diversify to C+++ and Rust for performance critical code. But, by that time they were successful enough to pay for teams of engineers to do all that work. There’s a lesson there.
How do I pick a stack?
If you’re reading this, you probably already read some other newsletters, Twitter/X accounts, YouTube channels, subreddits…etc. Ask around and see what stacks people like these days. Every few years a new one is in vogue. The current popular ones could be worth considering.
Better yet, look at job listings.
Look at ones in the salary range you want, the city you want to work (or remote), and build up an aggregate understanding of what stacks are common with employers.
Employers will usually lag the forums since they can’t and won’t switch the stack decision every year. It is exceedingly costly, and unless there are performance or velocity issues rewriting has minimal benefit.
Job listings cut out the guess work. Almost every one will list the tech they use at each layer of their stack. This lets them ideally filter for candidates that already know the tech they use, easier onboarding, and more productive new employees.
For example, if you wanted to work in big tech you’d be looking roughly at the following stacks by company:
Apple: Objective-C, Swift
Meta: PHP/Hack, Rust, C++, React, Python (Instagram), Kotlin (Android), Objective-C or Swift (iOS)
Google: Java, Kotlin, Go, Spanner (database), Angular, gRPC
Microsoft: .NET framework, C#, Typescript
Amazon: Java
Netflix: Java, Typescript, Python
Shopify: Ruby-on-Rails
Obviously, check their job listings for yourself. This is directionally accurate, the job listing is source of truth and can differ by team.
All of this to say, do a bit of research, ask around, choose one, and start learning.
Build Something, Anything
If you find a course for your stack that has a demo app, build that.
Maybe it’s a todo-list app. Or something else.
If you roll your own, then come up with some super basic thing you want to build (todo-list is sufficient complexity), setup a Github repo, and start.
Every time you get stuck is not a sign you can’t succeed in tech.
Use getting stuck as an algorithm for what you need to learn next.
Don’t even worry too much about sticking strictly to online courses.
Focus on building your app. Learn what you need to build the next piece. Get stuck. Learn to get unstuck. Build. Build. Build. Maximum efficiency.
At the end of this process you will both have a working “side project” on Github to point to, and the basic fullstack skills that employers are looking for.
Once you figure out how to get a frontend, backend, and database, all talking to each other, a full working demo? Then, you can be confident that you are more than ready to start interviewing.
I work with some colleagues getting paid juicy salaries who would struggle to build a fullstack app on their own. If you can hit that milestone, you can confidently know you very likely have what it takes to win in the tech industry.
Not everyone will be able to code fullstack.
But, many people who have never coded probably could, and just don’t know it yet. That might describe you well, anon.
Believe in your ability to learn. Crank up your motivation to keep pushing through every road block and bug. And from your new found and growing competence, will come confidence.
Pass Your Coding Interview
Many companies are moving to Pair Programming Interviews. Lucky for you, there’s already an in-depth post waiting for you.
Read it, follow the steps, and you will be acing your interviews and getting job offers.
Just make sure to avoid these pitfalls:
Get Promoted
Obviously, if you’re starting out, your first job offers might be for junior positions.
Go ahead and accept the job offer. Say yes, get some experience on your resume, and then move on to more senior positions.
This whole newsletter started with a focus on tactics to get promoted so any question you have is probably already covered in depth.
The archives are a growing gold mine of tactics that work to get hired and promoted faster than you think is possible. Yours to discover.
If I missed anything, leave a comment or Tweet and it can be covered in an upcoming post.
Case Study: My First Coding Job
Let’s put this all into practice with a case study. How did I get my first coding job?
Keep reading with a 7-day free trial
Subscribe to BowTied Fullstack to keep reading this post and get 7 days of free access to the full post archives.