Someone in plebdevs asked me this question recently I'm writing a longer form post with a lot of grueling detail about my specific path but I'll drop some high level thoughts here and would love to hear some anecdotes from the stackers.
All in all it took me about 10 months to land my first programming job out of my fullstack bootcamp. Over these ten months I applied to 250+ positions. I didn't start with the best resume/portfolio/process for the job hunt but I learned over time through trial and error.
If I could go back in time with the knowledge I have now I feel like I could have cut it down to 2-3 months max, but hey that's not life works right.
For someone whose starting fresh I would begin with the mindset and understanding that this might take a very long time. Of course once you land your first position it is way easier to get another. It's always the zero-to-one that's the real barrier to entry.

From my experience I suggest you focus on these 4 things:

1. History of Work

2. Resume

3. Portfolio

4. Job hunt system

History of Work:

Create history of work that shows you have the skills to be a developer. Use Github, portfolio, and deployed projects to show this off. Make sure the biggest and the best are front and center on your portfolio website. Push code everyday if you can. Build a personal project that solves some kind of problem for yourself or someone else. Contribute to open source, do example projects from YouTube tutorials, build free websites for your friends lawnmowing business, etc. Literally just push as much relevant work as you can.
  • Push commits on github everyday if you can. Build up as long/strong of a history of work on github as you can.
  • Create "Side projects" that solve some kind of problem for yourself or someone else. The more niche/specific/unique the better. If you are able to get ANY users for this project that is the best case scenario. Be sure to make it clear your project has users on your portfolio. -
  • If it was YOUR unique creation and you built it from scratch and especially if you had any users than this is some of the highest signal work you can ship (as far as landing a job).
  • Create "Example projects" following a tutorial. Frame it as "Example" not a tutorial project, and you don't need to mention you took a tutorial to build it. These example projects are best when you take one to learn a new tool such as tailwind. You might build a whole todo list app or netflix clone following a tutorial just to pick up tailwind and have an example of it. That's perfect as an example project.
  • Create "Freelance projects". This can be any kind of programming related task or project that you do for someone else or some company/startup. Does your friend have a lawn mowing business? Build a website for it and put it on your portfolio! Does your brother cut hair? Build him a badass barber website. Put these projects on your portfolio and frame them as "freelance" work.
  • Contribute to open source. Find an open source project that you love or are familiar with and scour their github issues for a "good first issue" tag (this is the best place to start). Any contribution you make to an open source project is a huge green flag for recruiters and will help you stand out from other candidates.

Resume:

Build a developer resume that frames your journey, shows off your relevant experience/skills, and passes all pre-screening steps whether it be automated CV scanning software or an HR lady without her coffee.
  • Look at developer resume's online and copy the format/structure for your own.
  • Create a short contact section with your name, email, location, and link to your portfolio website.
  • Create an about section that is short and concise but at the same time tells your story and frames yourself as a fast learner who is passionate about becoming a developer
  • Don't call it "Work" or "Projects" on your resume frame it as "Experience" and under the experience section you can put your biggest and best dev projects as well as any actual work experience you have.
  • Add a skills section that is 2-3 lines in total and lists out technologies you know and utilize in your projects such as JavaScript, Tailwind, Git, C++, etc. This will serve you by helping your resume pass keyword scans that HR will run every resume through (bigger companies and some startups do this)
  • The experience section should take up most of your resume, the skills should take up 2-3 lines, you should have contact info at the top, the about me below that. At the very bottom you can put an "Education" section. Keep yours as short as you want (mine was incredibly short cause all I had was a GED)

Portfolio:

Build a personal website / portfolio that shows off EVERYTHING you have but is still easy to read and scroll through. Recruiters, hiring managers, or lead engineers will be looking at this as you're applying. They will only give you seconds of their time, make sure what they see in those seconds gets you to the next round.
  • Create a personal website/portfolio with a domain name that is close to your name/nym online
  • Look at as many dev portfolio website examples as you can for examples on how you should structure yours.
  • Keep it dead simple at first.
  • Make sure it renders fast (within 3 seconds MAX)
  • If you're a frontend dev it has to look pretty (on every viewport size!). If you're a backend dev just make it simple/clean
  • Put your name / contact / about section at the top (don't take up too much space)
  • Put your project section right at eye level as soon as it renders.
  • Link to each projects repo and deployment (if it has one)

Job hunt system:

the job hunt is a grind. Create a system for consistently finding jobs, applying to jobs, improving your career artifacts, and shipping new work. If you do these 4 things: (find, apply, improve, ship) then winning is inevitable it's just a question of how long it will take.
  • Create a spreadsheet listing out positions you're going to apply for and those that you have applied for.
  • Search for positions on typical job boards like indeed/zip recruiter but also look on the angel list job board, YCombinator job board, and of course all of the Bitcoin specific job boards (Bitcoiner jobs, SN, Bitcointalentco)
  • Create a cover letter for positions you're very interested in or that look like a perfect fit.
  • The first cover letter is hardest to make but once you have it you can pretty easily refactor it for new positions. As you continue to refactor it with more and more positions you will refine and improve it over time.
  • Take ANY feedback you get from companies you apply to, list it on your spreadsheet and learn from it.
  • As you get past the first round with any positions look up the company on glassdoor or similar resources and see if you can figure out what their technical interview is like. Practice any specific algo problems, take home projects, or technologies they use for their technical interviews.
  • Practice doing technical interviews by yourself. roleplay as if you are in the interview, verbalize your thought process, turn zoom/screenshare on, get comfortable trying to solve hard problems with silent observers.
  • Watch YouTube tutorials for developer job hunting and technical interview practices
This is great advice generally. I'll add my .02 to one part of it as someone who has hired a bunch:
Having a portfolio is great, much better than not having one. But I am very little impressed by toy projects where you built a CRUD app or whatever. Again, I'm happy to see that you've done it vs not doing it, but you know what I really want? A real project where you built something that you cared about and that solved your own problem.
This is, even today, differentiating. So many toy projects, so many class projects! At best, you will convince me that you adequately learned how to do thing x but I come away knowing nothing else about you. On the other hand, if you show me the app you wrote to track your D&D sessions, and you excitedly explain why you had a need for it and how it fulfills that need, I will straighten up in my chair and pay close attention.
The nice thing about this advice is that it is a) universally applicable, whatever your level of sophistication, and b) the most humanizing possible strategy. Work on something you care about! Build something awesome that makes you excited! Talking about such a thing lets you showcase your best, most enthusiastic self. I will hire for that all day long. Or at least, I did, when I was doing that.
reply
Amazing advice thanks for sharing!
I do agree that any side project that solves a problem for you or someone else is what you should shoot for as soon as you have the basic skills to build it.
Something that you authored yourself, solves some real problem (no matter how small or niche) and maybe even has some real users will always be a HUGE differentiator
reply
So much useful content in this post. When it comes time to interview…
Interview prep
Useful for other jobs (like product), but I imagine there’s parallels with dev roles too. Have found it’s useful creating a spreadsheet of scenarios/mini-projects where I have dealt with:
  • working with large data sets
  • interacting with 3rd party libraries/complex services
  • running experiments and tests
  • tight deadlines
  • speaking to users or user research
  • solving a complex problem
  • managing many important priorities
  • inspiring colleagues
  • influencing senior colleagues
  • improving development processes
  • when was most happy
  • handling stressful situations
  • how resolved disagreement with designer / other team members
For each scenario, I logged 2+ examples of:
  1. what was the situation
  2. what I did myself
  3. what was the result
Great to have that structure to job your memory when it comes to the interview stage. To have many examples to draw upon. It’s often the format in which many recruiters prefer too. Even if their questions are really generic.
reply
Nice!
This is a great approach. Usually applications will tell you exactly what they want, you can usually search your experience to find an example where you did this exact thing.
Great idea to already have a list of these ready to go though
reply
I'm not sure if it's the same in the US, but here in Europe, it's a positive thing if the interviewee shows interest and asks the interviewer about business prospects and career development within the company.
reply
Yeah I've heard this as well. Sometimes I would blank at the end of an interview when they would ask if I have any questions for them (I usually didn't cause I had already done so much research lol) A good thing to fall back on is "How do I grow here?", "What growth opportunities do you have?", etc
reply
reply
It's been a few years since I last updated my CV, but I've always made sure to keep it concise and engaging for the reader. The CV itself is only one page, followed by a two-page portfolio as an annex. I don't include everything I've done, just the most relevant projects.
reply
For sure! I like to have most everything I've done on my portfolio but only latest/greatest shown by default (or at the top)
reply
Having a strong portfolio to me works best as you show on the spot or during the interview what you have done. They was a year where job seekers where making reels of their work and displaying during interviews.
reply
Epic post, thanks for sharing!
reply
My portfolio used to be 2-3 business cards for the companies that I founded & grew, then 2020 changed all of that...
These days I've been out of that micro-entrepreneurial game for too long, also I am not interested in ever going back into the fiat mines if it can be avoided!
Since I'm more a creative than pure dev I need a direction, a project where I can build something that has at least a shot of getting real, and this is what I used to find like minded people to do. Not so easy now that meatspace is all still a bit messed up haha, can't count on being able to travel or stay in the same country any longer in order to get a business going the way I used to...
On top of my wishlist is to create & grow zap revenue, next is to take on work paying Bitcoin only :-)
reply
Thanks! Since next year ill be job hunting for my first job after graduated. Reading this tips got me motivated
reply
You make great points, thanks!
I’m a scrum master and I look for EQ on my teams. I don’t care how smart or talented you are if you can’t work on a team we can’t win in business. Full stop!
reply