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
Interview prep