<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Ilyas Seisov - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Ilyas Seisov - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Thu, 14 May 2026 22:43:17 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/author/ilyasseisov/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How to Prep for Technical Interviews – A Guide for Web Developers
 ]]>
                </title>
                <description>
                    <![CDATA[ Over the years I've participated in dozens of technical interviews. I've answered technical questions one-on-one with the CTO and in a group with the dev team. I've taken quizzes with a timer and buil ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-prep-for-technical-interviews-guide-for-web-devs/</link>
                <guid isPermaLink="false">69dd2c59217f5dfcbd261b21</guid>
                
                    <category>
                        <![CDATA[ interview ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Technical interview ]]>
                    </category>
                
                    <category>
                        <![CDATA[ jobs ]]>
                    </category>
                
                    <category>
                        <![CDATA[ job search ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Ilyas Seisov ]]>
                </dc:creator>
                <pubDate>Mon, 13 Apr 2026 17:48:09 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/uploads/covers/5e1e335a7a1d3fcc59028c64/b179e59d-bb58-41cb-8191-4e9523412933.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Over the years I've participated in dozens of technical interviews.</p>
<p>I've answered technical questions one-on-one with the CTO and in a group with the dev team. I've taken quizzes with a timer and built features into existing apps in live mode.</p>
<p>I've live coded algorithms, done take home assignments, and demonstrated my system design skills.</p>
<p>And all this has given me a lot of knowledge and experience that I want to share with you now.</p>
<p>In this guide, I'll share my top tips, recommendations, and <a href="https://www.99cards.dev/checklists">checklists</a> to help you prepare for and pass your technical interviews. These will level up your game and increase your chances of getting a job.</p>
<h3 id="heading-what-well-cover">What We'll Cover:</h3>
<ul>
<li><p><a href="#heading-introduction">Introduction</a></p>
</li>
<li><p><a href="#heading-the-secret-that-will-increase-your-interview-performance-by-53-at-least-it-did-for-me">The Secret That Will Increase Your Interview Performance By 53% (at Least It Did For Me)</a></p>
<ul>
<li><p><a href="#heading-1-big-tech-faang-level-companies">1. Big Tech / FAANG-level Companies</a></p>
</li>
<li><p><a href="#heading-2-mid-size-product-companies-saas">2. Mid-size Product Companies / SaaS</a></p>
</li>
<li><p><a href="#heading-3-startups-early-stage">3. Startups (Early-stage)</a></p>
</li>
<li><p><a href="#heading-4-design-agencies-creative-studios">4. Design Agencies / Creative Studios</a></p>
</li>
<li><p><a href="#heading-5-enterprise-corporate-companies">5. Enterprise / Corporate Companies</a></p>
</li>
<li><p><a href="#heading-6-e-commerce-amp-marketing-agencies">6. E-commerce &amp; Marketing Agencies</a></p>
</li>
<li><p><a href="#heading-7-ai-first-modern-tech-companies">7. AI-first / Modern Tech Companies</a></p>
</li>
<li><p><a href="#heading-8-freelance-indie-micro-saas">8. Freelance / Indie / Micro-SaaS</a></p>
</li>
</ul>
</li>
<li><p><a href="#heading-step-1-building-a-strong-foundation-in-core-web-development-concepts">Step 1: Building a Strong Foundation in Core Web Development Concepts</a></p>
</li>
<li><p><a href="#heading-step-2-going-deeper-into-subject-matter">Step 2: Going Deeper Into Subject Matter</a></p>
</li>
<li><p><a href="#heading-interview-preparation-guide">Interview Preparation Guide</a></p>
<ul>
<li><p><a href="#heading-1-answer-technical-questions-1-on-1-many-to-1">1. Answer Technical Questions (1-on-1 / Many-to-1)</a></p>
</li>
<li><p><a href="#heading-2-go-through-quizzes-with-a-timer">2. Go Through Quizzes with a Timer</a></p>
</li>
<li><p><a href="#heading-3-build-features-into-existing-apps-live-mode">3. Build Features into Existing Apps (Live Mode)</a></p>
</li>
<li><p><a href="#heading-4-live-code-algorithms">4. Live Code Algorithms</a></p>
</li>
<li><p><a href="#heading-5-take-home-assignments">5. Take Home Assignments</a></p>
</li>
<li><p><a href="#heading-6-system-design">6. System Design</a></p>
</li>
<li><p><a href="#heading-a-fun-story">A Fun Story</a></p>
</li>
</ul>
</li>
<li><p><a href="#heading-most-important-part">Most Important Part</a></p>
<ul>
<li><a href="#heading-pdca-framework">PDCA Framework</a></li>
</ul>
</li>
<li><p><a href="#heading-conclusion">Conclusion</a></p>
<ul>
<li><a href="#heading-ps">P.S.</a></li>
</ul>
</li>
</ul>
<h2 id="heading-introduction">Introduction</h2>
<p>The technical interview is designed to test how you think, code, and communicate. It's about both explaining your reasoning and showing what you can do. Think of it like a performance: the more you practice, the more natural and confident you’ll feel when you're actually doing it.</p>
<p>You’ll usually go through three main steps:</p>
<ul>
<li><p><strong>Technical screening:</strong> a short 15–30 minute call to check your basics and interest in the role.</p>
</li>
<li><p><strong>Coding challenge:</strong> you’ll solve problems either through a take-home project or a live coding test. This shows how you write, structure, and test your code.</p>
</li>
<li><p><strong>Whiteboard interview:</strong> you solve problems on a shared screen while explaining your thinking out loud. It’s less about being perfect and more about how you approach problems.</p>
</li>
</ul>
<p>During these stages, interviewers focus on a few key areas:</p>
<ul>
<li><p><strong>Data structures:</strong> Ways to organize data (like folders in a filing system).</p>
</li>
<li><p><strong>Algorithms:</strong> Step-by-step methods to solve problems.</p>
</li>
<li><p><strong>System design (for senior roles):</strong> Planning how large systems work, similar to designing a building that supports many users at once.</p>
</li>
</ul>
<p>Overall, they’re looking at how you think, not just what you know.</p>
<h2 id="heading-the-secret-that-will-increase-your-interview-performance-by-53-at-least-it-did-for-me">The Secret That Will Increase Your Interview Performance By 53% (at Least It Did For Me)</h2>
<p>The secret is: <strong>narrow your focus.</strong></p>
<p>Before you spend even one minute preparing, specify exactly what type of company you want to work for.</p>
<p>Why?</p>
<p>Because this choice will reveal what exactly you'll have study and practice before your technical interview.</p>
<p>Let's go over the main categories of companies so you can work on narrowing your focus.</p>
<h3 id="heading-1-big-tech-faang-level-companies">1. Big Tech / FAANG-level Companies</h3>
<p>(Google, Amazon, Meta, Apple, Microsoft)</p>
<p><strong>Core skills:</strong></p>
<ul>
<li><p>Data structures &amp; algorithms</p>
</li>
<li><p>System design (scalability, distributed systems)</p>
</li>
<li><p>Computer science fundamentals (OS, networking)</p>
</li>
</ul>
<h3 id="heading-2-mid-size-product-companies-saas">2. Mid-size Product Companies / SaaS</h3>
<p>(Shopify, Stripe, Notion)</p>
<p><strong>Core skills:</strong></p>
<ul>
<li><p>Strong stack knowledge (React, Next.js, Node.js)</p>
</li>
<li><p>API design &amp; integrations</p>
</li>
<li><p>Database design (SQL/NoSQL)</p>
</li>
</ul>
<h3 id="heading-3-startups-early-stage">3. Startups (Early-stage)</h3>
<p><strong>Core skills:</strong></p>
<ul>
<li><p>Full-stack development</p>
</li>
<li><p>Rapid prototyping</p>
</li>
<li><p>Shipping features end-to-end</p>
</li>
</ul>
<h3 id="heading-4-design-agencies-creative-studios">4. Design Agencies / Creative Studios</h3>
<p><strong>Core skills:</strong></p>
<ul>
<li><p>Advanced HTML, CSS, JavaScript</p>
</li>
<li><p>Animation (GSAP, Framer Motion)</p>
</li>
<li><p>Pixel-perfect implementation</p>
</li>
</ul>
<h3 id="heading-5-enterprise-corporate-companies">5. Enterprise / Corporate Companies</h3>
<p><strong>Core skills:</strong></p>
<ul>
<li><p>Backend development (Java, .NET, and so on)</p>
</li>
<li><p>Databases (SQL, enterprise systems)</p>
</li>
<li><p>APIs &amp; microservices</p>
</li>
</ul>
<h3 id="heading-6-e-commerce-amp-marketing-agencies">6. E-commerce &amp; Marketing Agencies</h3>
<p><strong>Core skills:</strong></p>
<ul>
<li><p>Shopify / WordPress</p>
</li>
<li><p>Frontend development</p>
</li>
<li><p>SEO &amp; performance optimization</p>
</li>
</ul>
<h3 id="heading-7-ai-first-modern-tech-companies">7. AI-first / Modern Tech Companies</h3>
<p>(OpenAI, Anthropic)</p>
<p><strong>Core skills:</strong></p>
<ul>
<li><p>AI API integration (LLMs, embeddings)</p>
</li>
<li><p>Prompt engineering</p>
</li>
<li><p>Backend &amp; data handling</p>
</li>
</ul>
<h3 id="heading-8-freelance-indie-micro-saas">8. Freelance / Indie / Micro-SaaS</h3>
<p><strong>Core skills:</strong></p>
<ul>
<li><p>Full-stack development (Next.js)</p>
</li>
<li><p>Payments &amp; authentication systems</p>
</li>
<li><p>Deployment &amp; basic marketing</p>
</li>
</ul>
<p>Keep in mind that these are just high-level recommendations. There are, of course, other skills you'll need to focus on depending on the role you're hoping to get. This is just a general guideline to get you started.</p>
<p>Also, fun fact: if you ask a top FAANG developer to code an <a href="https://www.awwwards.com/">Awwwards</a>-style landing page, they'll most likely fail. And similarly, an award-winning web designer from a top notch agency will probably perform poorly at an algorithm assignment. Why? Each field requires its own skillset. So make sure you choose and focus on yours.</p>
<h2 id="heading-step-1-building-a-strong-foundation-in-core-web-development-concepts">Step 1: Building a Strong Foundation in Core Web Development Concepts</h2>
<p>So, now I assume that you've decided on the type of company you want to work for.</p>
<p>The next step is check whether you have or need to work on the basic fundamentals. Most candidates fail not because they lack experience, but because their basics are shaky.</p>
<p>A solid foundation makes everything else easier: coding challenges, system design, and even real-world tasks.</p>
<p>Focus on learning the core building blocks:</p>
<ul>
<li><p><strong>HTML &amp; CSS</strong></p>
</li>
<li><p><strong>JavaScript fundamentals</strong></p>
</li>
<li><p><strong>One solid framework:</strong> Get really good at one stack (like React + Next.js).</p>
</li>
<li><p><strong>APIs &amp; backend basics:</strong> Learn how data flows. Understand REST APIs, authentication, and how frontend connects to backend.</p>
</li>
<li><p><strong>Databases:</strong> Know the difference between SQL and NoSQL. Be comfortable with basic queries and data modeling.</p>
</li>
<li><p><strong>Git &amp; workflows:</strong> You should be confident with version control, branching, and collaborating on code.</p>
</li>
</ul>
<p>The goal is not to know everything. The goal is to be clear, confident, and consistent in the fundamentals.</p>
<p>If your basics are strong, you’ll solve problems faster, explain your thinking better, and stand out naturally in interviews.</p>
<p>One of the most effective ways to get better at fundamentals is by practicing with flashcards. I've created a system called the <a href="https://99cards.dev/">99cards app</a> that can help with this if you want to check it out.</p>
<h2 id="heading-step-2-going-deeper-into-subject-matter">Step 2: Going Deeper Into Subject Matter</h2>
<p>By this step, you've chosen the type of company you want to work for and you're confident that you know core web development skills.</p>
<p>Next, you'll need to practice specific skills related to your company and preferred job type (for example algorithms or building features in live mode).</p>
<p>Hint: In about 80% of cases, the first step is an HR interview. This happens before the technical round. Use this opportunity to your advantage.</p>
<p>When I get invited to a technical interview, the first thing I do is ask the HR manager what I should prepare. Just a simple question – and surprisingly, I almost always get a clear answer concerning:</p>
<ul>
<li><p>What topics to focus on</p>
</li>
<li><p>What kind of tasks to expect</p>
</li>
<li><p>Sometimes even tools or formats they’ll use</p>
</li>
</ul>
<p>This gives you a huge advantage. Instead of guessing, you can prepare with intention.</p>
<h2 id="heading-interview-preparation-guide">Interview Preparation Guide</h2>
<h3 id="heading-1-answer-technical-questions-1-on-1-many-to-1">1. Answer Technical Questions (1-on-1 / Many-to-1)</h3>
<p>This is usually a conversation with a CTO or a full dev team. They'll want to understand how you think, not just what you know. Stay calm and treat it like a discussion, not an exam.</p>
<p>Keep your answers simple and structured:</p>
<ul>
<li><p>Explain your thought process step by step</p>
</li>
<li><p>Use real examples from your experience</p>
</li>
<li><p>If you don’t know something, say it and think out loud</p>
</li>
</ul>
<p>In many-to-one interviews, don’t get overwhelmed. Focus on one question at a time and engage with the person speaking.</p>
<p>For example, when I was looking to hire a web developer for my <a href="https://bettter.app/">micro SaaS</a>, I didn't care about algorithms, but I cared deeply that they have thorough Next JS skills.</p>
<p>For that, I tested candidates via flashcards in live mode.</p>
<h4 id="heading-how-to-effectively-prepare">How to effectively prepare</h4>
<p>Practice explaining concepts out loud, not just in your head. Pretend you’re teaching someone.</p>
<p>Do <a href="https://www.freecodecamp.org/news/real-world-coding-interview-for-software-engineering/">mock interviews</a> with a friend or record yourself. Focus on clarity and structure.</p>
<ul>
<li><p>Prepare stories from past projects</p>
</li>
<li><p>Review core concepts (JS, React, APIs)</p>
</li>
<li><p>Practice saying “I don’t know” confidently</p>
</li>
</ul>
<h3 id="heading-2-go-through-quizzes-with-a-timer">2. Go Through Quizzes with a Timer</h3>
<p>Timed quizzes test your speed and basics. These are often multiple-choice or short coding questions. The goal is accuracy under pressure.</p>
<p>A few tips:</p>
<ul>
<li><p>Don’t spend too long on one question. Skip and come back if needed.</p>
</li>
<li><p>Practice common patterns beforehand.</p>
</li>
</ul>
<p>Speed improves with repetition. Train like it’s a game.</p>
<h4 id="heading-how-to-effectively-prepare">How to effectively prepare</h4>
<p>Use platforms with timed tests to simulate pressure. Track your speed and accuracy.</p>
<p>Focus on common topics that appear often.</p>
<ul>
<li><p>JavaScript fundamentals</p>
</li>
<li><p>Basic algorithms</p>
</li>
<li><p>Output-based questions</p>
</li>
</ul>
<p>Practice daily in short sessions. Consistency beats long study sessions.</p>
<h3 id="heading-3-build-features-into-existing-apps-live-mode">3. Build Features into Existing Apps (Live Mode)</h3>
<p>During technical interviews, you’ll often work on a real or mock project. This tests how you read code, understand structure, and make changes safely.</p>
<p>Focus on:</p>
<ul>
<li><p>Understanding the codebase first</p>
</li>
<li><p>Asking clarifying questions</p>
</li>
<li><p>Writing clean, simple solutions</p>
</li>
</ul>
<p>Talk while you work. Explain what you’re doing and why.</p>
<h4 id="heading-how-to-effectively-prepare">How to effectively prepare</h4>
<p>Practice working with someone else's codebase (not your own). Clone open-source projects and explore them, for example.</p>
<p>Train your ability to navigate and understand code quickly.</p>
<ul>
<li><p>Read files before coding</p>
</li>
<li><p>Trace data flow</p>
</li>
<li><p>Make small, safe changes</p>
</li>
</ul>
<p>Also practice explaining your actions while coding.</p>
<h3 id="heading-4-live-code-algorithms">4. Live Code Algorithms</h3>
<p>This is where many developers struggle. You’ll solve problems in real time while explaining your thinking.</p>
<p>Don’t rush to code. First:</p>
<ul>
<li><p>Clarify the problem</p>
</li>
<li><p>Talk through your approach</p>
</li>
<li><p>Start with a simple solution, then improve it</p>
</li>
</ul>
<p>Interviewers care more about your thinking than a perfect answer.</p>
<h4 id="heading-how-to-effectively-prepare">How to effectively prepare</h4>
<p>Practice common algorithm problems regularly. Focus on patterns, not memorization.</p>
<p>Solve problems out loud, as if someone is listening.</p>
<ul>
<li><p>Arrays, strings, hash maps</p>
</li>
<li><p>Sorting and searching</p>
</li>
<li><p>Basic recursion</p>
</li>
</ul>
<p>Time yourself and review your solutions after.</p>
<h3 id="heading-5-take-home-assignments">5. Take Home Assignments</h3>
<p>These simulate real work. You get time to build something properly. This is your chance to stand out.</p>
<p>What matters most:</p>
<ul>
<li><p>Clean, readable code</p>
</li>
<li><p>Good structure and naming</p>
</li>
<li><p>Clear README with your decisions</p>
</li>
</ul>
<p>Don’t overbuild. Focus on quality, not quantity. A smaller, more focused take-home project that's done is better than an overly complex or overly ambitious one that's incomplete.</p>
<h4 id="heading-how-to-effectively-prepare">How to effectively prepare</h4>
<p>Build small projects with real-world structure. Practice finishing, not just starting.</p>
<p>Pay attention to presentation and clarity.</p>
<ul>
<li><p>Write clean commits</p>
</li>
<li><p>Add a clear README</p>
</li>
<li><p>Handle edge cases</p>
</li>
</ul>
<p>Think like you’re submitting work to a real client.</p>
<h3 id="heading-6-system-design">6. System Design</h3>
<p>This is common for mid to senior roles. You’ll design a system from scratch or improve an existing one.</p>
<p>Start simple, then expand:</p>
<ul>
<li><p>Define the requirements</p>
</li>
<li><p>Sketch a basic architecture</p>
</li>
<li><p>Discuss scaling, performance, and trade-offs</p>
</li>
</ul>
<p>Think like a builder, not just a programmer. Show how you make decisions.</p>
<h4 id="heading-how-to-effectively-prepare">How to effectively prepare</h4>
<p>Study common <a href="https://www.freecodecamp.org/news/learn-system-design-principles/">system design patterns</a> and real-world architectures. Start with simple systems.</p>
<p>Practice breaking problems into parts.</p>
<ul>
<li><p>APIs and data flow</p>
</li>
<li><p>Databases and caching</p>
</li>
<li><p>Scaling basics</p>
</li>
</ul>
<p>Watch system design interviews and practice explaining your ideas clearly.</p>
<p>For each of these interviews you can use my free <a href="https://99cards.dev/checklists">checklists</a> to prepare even more effectively.</p>
<h3 id="heading-a-fun-story">A Fun Story</h3>
<p>Once I applied to a front-end web developer job at company that focuses on building Awwwards-style websites. The tech interview was take home assignment: I had to rebuild Figma design into a modern GSAP-animated website. I failed to do that.</p>
<p>In 18 months, the same company had an open position. I applied. Can you guess what the tech assignment was? 😄</p>
<p>It was the same.</p>
<p>Draw your own conclusions.</p>
<h2 id="heading-most-important-part">Most Important Part</h2>
<p>Here's a helpful framework to keep in mind when you're going through this process:</p>
<h3 id="heading-pdca-framework">PDCA Framework</h3>
<p>P - plan<br>D - do<br>C - check<br>A- act</p>
<p>It's my go to framework for every subject I want to get better at. Let me explain how to apply this to tech interviews.</p>
<p><strong>Plan:</strong> in this stage, you plan your preparation routine and work on your interview performance game.</p>
<p><strong>Do:</strong> in this stage, you're actually trying to do what you have planned.</p>
<p><strong>Check:</strong> here, you compare your Plan and Do stages. Analyze the difference and see what you can improve.</p>
<p><strong>Act:</strong> finally, make adjustments that will help improve Plan 2.0.</p>
<p>Repeat until you get the desired result.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Technical interviews are not about being perfect. They’re about showing how you think, communicate, and solve problems under pressure. The more you practice the <em>right way</em>, the more confident and natural you’ll feel.</p>
<p>Focus on the basics, prepare for your target company, and train in real interview conditions. If you do that, you’ll already be ahead of most candidates.</p>
<h3 id="heading-ps">P.S.</h3>
<p>If you want to speed up your prep and stop guessing, I put together a complete toolkit for you.</p>
<p>It contains:</p>
<ul>
<li><p>Interview Checklists</p>
</li>
<li><p>CV Template</p>
</li>
<li><p>Cover Letter Template</p>
</li>
<li><p>List of Top 50 Remote-First Companies</p>
</li>
<li><p>Job Application Tracker Spreadsheet</p>
</li>
</ul>
<p>You can find it here: <a href="http://99cards.dev/toolkit"><strong>99cards.dev/toolkit</strong></a></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ The Ultimate Web Developer Job Search Handbook ]]>
                </title>
                <description>
                    <![CDATA[ Getting a web developer job today is hard. In 2021, I got my first developer job by sending one direct email and then doing a single live call. That was enough. Later the same year, I found my second  ]]>
                </description>
                <link>https://www.freecodecamp.org/news/the-ultimate-web-developer-job-search-handbook/</link>
                <guid isPermaLink="false">699f5dc4c9015c37f6bc8f92</guid>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ jobs ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career ]]>
                    </category>
                
                    <category>
                        <![CDATA[ handbook ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Ilyas Seisov ]]>
                </dc:creator>
                <pubDate>Wed, 25 Feb 2026 20:38:28 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/uploads/covers/5fc16e412cae9c5b190b6cdd/2362ab0d-419d-4add-8228-9788e5a58d0f.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Getting a web developer job today is hard.</p>
<p>In 2021, I got my first developer job by sending one direct email and then doing a single live call. That was enough.</p>
<p>Later the same year, I found my second job in about three weeks through LinkedIn. At that point, I mostly knew CSS. No serious JavaScript, no strong portfolio, no polished personal brand. And I was offered a Senior Front End Web Developer position at US-based company.</p>
<p>Then things changed. After COVID, a lot of developers moved to remote work. Local job markets turned global almost overnight. Instead of competing with a handful of people nearby, you were suddenly up against hundreds of developers from everywhere.</p>
<p>By 2023, I had real experience. I’d worked at two companies – one in Europe and one in the US. I knew JavaScript, had a proper frontend portfolio, and a personal website. Finding a job should’ve been easier. Instead, I spent 18 months struggling to land a role that actually fit me. The competition was simply on another level.</p>
<p>Now, in 2026, it’s even tougher. AI tools have made it easier to apply, build, and present yourself, which also means companies are flooded with candidates. Things like a decent CV or a basic project don’t stand out anymore. A lot of common advice still sounds good, but it doesn’t work the way it used to.</p>
<p>This guide is based on what actually helped me. I’ll walk through the full process – from preparation to interviews to offers – and explain what matters today, and where most developers lose time without realizing it.</p>
<p>I’ve prepared for you a Dev Job Application Toolkit. By my calculation it can save you 40-60 hours.</p>
<p>This toolkit includes:</p>
<ul>
<li><p>CV and cover letter templates</p>
</li>
<li><p>Eight interview checklists</p>
</li>
<li><p>List of top 50 remote-first companies</p>
</li>
<li><p>Job application tracker spreadsheet</p>
</li>
</ul>
<p>You can get it here: <a href="https://99cards.dev/toolkit">99cards.dev/toolkit</a></p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<ul>
<li><p><a href="#heading-1-mindset-amp-strategy-before-you-start-applying">1. Mindset &amp; Strategy (Before You Start Applying)</a></p>
<ul>
<li><p><a href="#heading-choosing-a-clear-position">Choosing a clear position</a></p>
</li>
<li><p><a href="#heading-deciding-on-the-work-format">Deciding on the work format</a></p>
</li>
<li><p><a href="#heading-picking-the-right-company-type">Picking the right company type</a></p>
</li>
<li><p><a href="#heading-understanding-the-product-youll-work-on">Understanding the product you’ll work on</a></p>
</li>
<li><p><a href="#heading-real-story-from-my-experience">Real story from my experience</a></p>
</li>
<li><p><a href="#heading-creating-a-job-search-plan">Creating a job search plan</a></p>
</li>
</ul>
</li>
<li><p><a href="#heading-2-skill-readiness-and-gap-analysis">2. Skill Readiness and Gap Analysis</a></p>
<ul>
<li><a href="#heading-real-story-from-my-experience-1">Real story from my experience</a></li>
</ul>
</li>
<li><p><a href="#heading-3-portfolio-preparation-critical-stage">3. Portfolio Preparation (Critical Stage)</a></p>
</li>
<li><p><a href="#heading-4-cv-resume-preparation">4. CV / Resume Preparation</a></p>
<ul>
<li><p><a href="#heading-header-make-it-obvious-who-you-are">Header: make it obvious who you are</a></p>
</li>
<li><p><a href="#heading-summary-your-short-positioning-statement">Summary: your short positioning statement</a></p>
</li>
<li><p><a href="#heading-work-experience-results-over-responsibilities">Work experience: results over responsibilities</a></p>
</li>
<li><p><a href="#heading-optional-sections-only-if-relevant">Optional sections (only if relevant)</a></p>
</li>
<li><p><a href="#heading-length-and-customization">Length and customization</a></p>
</li>
<li><p><a href="#heading-format-and-tools">Format and tools</a></p>
</li>
</ul>
</li>
<li><p><a href="#heading-5-cover-letter">5. Cover Letter</a></p>
<ul>
<li><p><a href="#heading-what-a-cover-letter-is-and-isnt">What a cover letter is (and isn’t)</a></p>
</li>
<li><p><a href="#heading-step-1-research-before-writing-anything">Step 1: Research before writing anything</a></p>
</li>
<li><p><a href="#heading-step-2-header-and-greeting">Step 2: Header and greeting</a></p>
</li>
<li><p><a href="#heading-step-3-strong-short-introduction">Step 3: Strong, short introduction</a></p>
</li>
<li><p><a href="#heading-step-4-the-body-tell-a-clear-story">Step 4: The body — tell a clear story</a></p>
</li>
<li><p><a href="#heading-step-5-adjust-for-your-role-level">Step 5: Adjust for your role level</a></p>
</li>
<li><p><a href="#heading-step-6-closing-call-to-action">Step 6: Closing + call to action</a></p>
</li>
<li><p><a href="#heading-step-7-formatting-and-final-checks">Step 7: Formatting and final checks</a></p>
</li>
</ul>
</li>
<li><p><a href="#heading-6-linkedin-turn-your-profile-into-a-recruiter-magnet">6. LinkedIn (Turn Your Profile Into a Recruiter Magnet)</a></p>
<ul>
<li><p><a href="#heading-step-1-get-the-basics-right">Step 1: Get the Basics Right</a></p>
</li>
<li><p><a href="#heading-step-2-linkedin-seo-so-recruiters-can-find-you">Step 2: LinkedIn SEO (So Recruiters Can Find You)</a></p>
</li>
<li><p><a href="#heading-step-3-treat-your-profile-like-a-landing-page">Step 3: Treat Your Profile Like a Landing Page</a></p>
</li>
<li><p><a href="#heading-step-4-show-proof-this-is-huge-for-developers">Step 4: Show Proof (This Is Huge for Developers)</a></p>
</li>
<li><p><a href="#heading-step-5-get-more-visible">Step 5: Get More Visible</a></p>
</li>
</ul>
</li>
<li><p><a href="#heading-7-job-search-amp-application-strategy">7. Job Search &amp; Application Strategy</a></p>
<ul>
<li><p><a href="#heading-1-job-boards-fast-but-competitive">1. Job Boards (Fast but Competitive)</a></p>
</li>
<li><p><a href="#heading-2-company-career-pages-often-overlooked">2. Company Career Pages (Often Overlooked)</a></p>
</li>
<li><p><a href="#heading-3-startups-agencies-amp-communities-hidden-gold">3. Startups, Agencies &amp; Communities (Hidden Gold)</a></p>
</li>
<li><p><a href="#heading-application-strategies-choose-wisely">Application Strategies (Choose Wisely)</a></p>
</li>
<li><p><a href="#heading-track-everything-very-important">Track Everything (Very Important)</a></p>
</li>
</ul>
</li>
<li><p><a href="#heading-8-technical-interview-preparation">8. Technical Interview Preparation</a></p>
<ul>
<li><p><a href="#heading-step-1-strong-technical-foundation">Step 1: Strong Technical Foundation</a></p>
</li>
<li><p><a href="#heading-step-2-pre-interview-strategy-once-interview-is-scheduled">Step 2: Pre-Interview Strategy (Once Interview Is Scheduled)</a></p>
</li>
<li><p><a href="#heading-step-3-how-to-act-during-the-technical-interview">Step 3: How to Act During the Technical Interview</a></p>
</li>
<li><p><a href="#heading-step-4-closing-the-interview-strong">Step 4: Closing the Interview Strong</a></p>
</li>
</ul>
</li>
<li><p><a href="#heading-9-hr-and-behavioral-interview">9. HR and Behavioral Interview</a></p>
<ul>
<li><p><a href="#heading-step-1-pre-interview-research-do-your-homework">Step 1: Pre-Interview Research (Do Your Homework)</a></p>
</li>
<li><p><a href="#heading-step-2-use-the-star-method-always">Step 2: Use the STAR Method (Always)</a></p>
</li>
<li><p><a href="#heading-step-3-common-hr-questions-how-to-answer">Step 3: Common HR Questions (How to Answer)</a></p>
</li>
<li><p><a href="#heading-step-4-teamwork-conflict-amp-feedback">Step 4: Teamwork, Conflict &amp; Feedback</a></p>
</li>
<li><p><a href="#heading-step-5-closing-the-interview-salary-questions">Step 5: Closing the Interview + Salary Questions</a></p>
</li>
<li><p><a href="#heading-step-6-after-the-interview-dont-skip-this">Step 6: After the Interview (Don’t Skip This)</a></p>
</li>
</ul>
</li>
<li><p><a href="#heading-9-salary-negotiation-and-job-offers">9. Salary Negotiation and Job Offers</a></p>
<ul>
<li><p><a href="#heading-1-when-you-receive-an-offer-pause-first">1. When You Receive an Offer: Pause First</a></p>
</li>
<li><p><a href="#heading-2-look-at-total-compensation-not-just-salary">2. Look at Total Compensation (Not Just Salary)</a></p>
</li>
<li><p><a href="#heading-3-salary-negotiation-rules-very-important">3. Salary Negotiation Rules (Very Important)</a></p>
</li>
<li><p><a href="#heading-4-advanced-negotiation-tips-most-devs-skip-this">4. Advanced Negotiation Tips (Most Devs Skip This)</a></p>
</li>
<li><p><a href="#heading-5-final-step-close-everything-properly">5. Final Step: Close Everything Properly</a></p>
</li>
</ul>
</li>
<li><p><a href="#heading-conclusion">Conclusion</a></p>
</li>
</ul>
<h2 id="heading-1-mindset-amp-strategy-before-you-start-applying">1. Mindset &amp; Strategy (Before You Start Applying)</h2>
<p>Before you apply anywhere, you need to decide what you actually want. This sounds obvious, but <strong>it’s one of the most skipped steps</strong> – especially by junior developers. I know this because I skipped it myself.</p>
<p>When you have little or no experience, it’s tempting to think: <em>I’ll apply everywhere and take whatever I get.</em> That approach feels safe, but it’s risky. You can easily end up in a role you don’t enjoy, working on things you don’t care about, and burning out much faster than you expect. A bad first or second job can slow you down more than having no job for a bit longer.</p>
<p>This stage is about setting boundaries before desperation sets in.</p>
<h3 id="heading-choosing-a-clear-position">Choosing a clear position</h3>
<p>First, be honest about the role you’re targeting. UI/UX, frontend, backend, full-stack, mobile – these are not just labels. Companies hire for specific problems, and they want people who are focused, not “a jack of all trades“.</p>
<p>If you present yourself as a generalist without real depth, recruiters don’t see flexibility. Instead, they see risk. Being specific increases your chances, especially for junior and mid-level roles.</p>
<h3 id="heading-deciding-on-the-work-format">Deciding on the work format</h3>
<p>Next, decide how you want to work: remote, on-site, or hybrid.</p>
<p>This matters more than people admit. I personally dislike office work, so remote roles are my only option. That decision alone filters out a huge number of jobs – and that’s a good thing. You should make the same call based on how you work best, not on what sounds impressive.</p>
<h3 id="heading-picking-the-right-company-type">Picking the right company type</h3>
<p>Company type affects your daily life more than the tech stack.</p>
<p>Startups, agencies, and large enterprises all work differently. Startups move fast and expect long hours. Enterprises are more structured and predictable. Agencies juggle multiple clients and deadlines. None is inherently better than the others, but one will fit you better than the others.</p>
<h3 id="heading-understanding-the-product-youll-work-on">Understanding the product you’ll work on</h3>
<p>Finally, think about what kind of product you want to build.</p>
<p>Some roles mean jumping between projects. Others mean working on one large product for years. Some outsource companies throw dozens of small, unrelated tasks at you. These are very different work styles.</p>
<h3 id="heading-real-story-from-my-experience">Real story from my experience</h3>
<p>I once interviewed for a role where the team lead casually mentioned they build Shopify plugins. I immediately knew it wasn’t for me. I’m interested in web applications, not plugins – and no salary would’ve changed that. I applied anyway because I was desperate, which was a mistake.</p>
<p>Defining your criteria early saves you from this.</p>
<p><strong>Practical checkpoint</strong>: if you can’t clearly describe the role, work format, company type, and product you want, you’re not ready to apply yet.</p>
<h3 id="heading-creating-a-job-search-plan">Creating a job search plan</h3>
<p>Once you know your direction, turn the job search into something structured. Without a plan, it becomes emotional and inconsistent.</p>
<p>A search plan is just a set of rules you follow regardless of mood.</p>
<p>Plan weekly, then break it into daily goals. For example: apply six days a week, with a target of 90 applications per week. That’s 15 per day.</p>
<p>At first, these numbers are guesses. That’s normal. After a week or two, you’ll see what’s realistic. Maybe 15 quality applications is too much, and 6–8 is sustainable. That’s not failure, that’s data. Adjust and keep going.</p>
<p><strong>Remember</strong>: the goal isn’t to hit an impressive number. It’s to stay consistent without burning out.</p>
<p>The second part of the plan is tracking. Use something simple, like a spreadsheet. For each application, note the date, the company, and the current status: sent, rejected, HR interview, technical interview, offer.</p>
<img src="https://cdn.hashnode.com/uploads/covers/67627cb961d18dd5c352d933/b7f84450-fc63-458e-a6f8-8ad7001028aa.png" alt="b7f84450-fc63-458e-a6f8-8ad7001028aa" style="display:block;margin:0 auto" width="600" height="400" loading="lazy">

<p>This gives you two benefits. First, you don’t lose track of where you’ve applied. Second, over time, you start seeing patterns. You can tell how many applications turn into interviews, where things usually break down, and what might need fixing – your CV, your targeting, or your interview prep.</p>
<p>You can download my free job application tracker spreadsheet <a href="https://www.99cards.dev/job-application-tracker-spreadsheet">here</a>.</p>
<p><strong>Practical checkpoint:</strong> if you can’t say how many applications you send per day or where they usually fail, you’re guessing – not managing – your job search.</p>
<h2 id="heading-2-skill-readiness-and-gap-analysis">2. Skill Readiness and Gap Analysis</h2>
<p>Before you send your first application, you need to make sure your skills actually line up with what companies are hiring for right now. This stage is about facing reality – not in a negative way, but in a useful one. You’re trying to match your current level to the level the market expects for the role you want.</p>
<p>A good place to start is job descriptions. Pick a few major job boards and scan real openings for your target position. What matters is volume and focus. Look at 10, 20, or even 30 listings for the same role, not random ones. Specificity is critical here.</p>
<p>As you read through them, patterns start to show up. The same technologies appear again and again. At this stage, using AI to summarize requirements can save time, as long as you’re still doing the thinking. The goal is to spot common ground faster, not to outsource judgment.</p>
<p>What you’re looking for is a simple structure.</p>
<p>First, identify the core skills. These are non-negotiable. For a frontend role, that’s usually JavaScript, a framework like React, and a styling solution such as Tailwind. If you’re weak in one of these, that’s a real blocker, not something to “fix later.”</p>
<p>Next, identify two or three nice-to-have skills. These depend on the role and the company type. Agencies often value things like Framer Motion for polished UI work. Product companies may care more about performance or accessibility. These skills won’t always block you, but they can separate you from similar candidates.</p>
<p>Finally, choose at least one adjacent skill. Something that isn’t your main focus but is expected in any professional setup. Git is the most common example. Missing these often leads to quiet rejections – no feedback, just silence.</p>
<p>Once you have this list, it’s time for an honest audit. Don’t rely on passive learning or gut feeling. Test yourself. Use flashcards for concrete concepts (you can this tool for flashcards: <a href="https://99cards.dev/">99cards.dev</a>). Answer open-ended questions without notes. Build a small, focused project that forces you to use the skill without guidance.</p>
<p>The outcome of this stage should be clear. You’ll know where you’re solid, where you’re shaky, and where you’re not ready at all. From there, the job is simple: strengthen weak spots until you’re roughly at market level for your target role.</p>
<h3 id="heading-real-story-from-my-experience">Real story from my experience</h3>
<p>I once saw an attractive front-end web developer/web designer position that required Tailwind CSS for styling. In application company required to list two websites with Tailwind CSS in use. At that moment I had none. And I couldn’t apply. Pity.</p>
<p><strong>Practical checkpoint:</strong> if you can’t clearly name your <strong>core skills</strong>, <strong>nice-to-haves</strong>, and <strong>weakest areas</strong>, you’re guessing where you stand – and the market won’t guess in your favor.</p>
<h2 id="heading-3-portfolio-preparation-critical-stage">3. Portfolio Preparation (Critical Stage)</h2>
<p>Your portfolio is simply a list of projects you’ve completed. But where and how you present that list matters a lot more than most developers think.</p>
<p>In my experience, the best place for a portfolio is a <strong>personal website</strong> (here is mine: <a href="https://ilyasseisov.com/">https://ilyasseisov.com/</a>). It gives you full control. You decide the structure, the wording, the tone, and the visuals.</p>
<p>Some developers prefer a very minimal setup. Others go for something more visual, with motion and modern UI. Both approaches are fine. What matters is that the site reflects how you think and what you care about building.</p>
<p>On that website, you should showcase only your best work. Not everything you’ve ever built. <strong>One, two, or at most three projects</strong> is enough. These should represent what you can do right now, not what you could do a year ago. More projects don’t make you look better – they usually make it harder for someone to see your strengths.</p>
<p>Choosing the right projects is where many people go wrong. Your portfolio projects should be directly related to the role you want.</p>
<p>When I was focusing on building modern, animated websites, I showed projects with strong visuals, animations, and micro-interactions. When I shifted toward SaaS and web applications, I replaced those with real app-style projects. The portfolio should follow your direction, not your history.</p>
<p>Avoid tutorial clones. Even well-made ones. Recruiters see them immediately, and they don’t tell much about how you think or make decisions. Personal or slightly imperfect projects are usually far more interesting than something copied step by step from a course.</p>
<p>For each project, a simple <strong>case-study structure</strong> works best. Explain what the project is, why it exists, and how you approached it. Show the final result with a <strong>live link</strong>, so people can actually use it. Code access is optional. Sometimes you don’t want to make everything public, and that’s fine. If a recruiter asks, you can always give access privately to a small group.</p>
<p>Here is example of my case study page: <a href="https://ilyasseisov.com/projects/99films/">ilyasseisov.com/projects/99films/</a></p>
<p><strong>Practical checkpoint:</strong> if your portfolio doesn’t clearly show what kind of work you want to be hired for, it’s not helping you – no matter how polished it looks.</p>
<h2 id="heading-4-cv-resume-preparation">4. CV / Resume Preparation</h2>
<p>Your CV is not a biography. It’s a filtering document. Its job is to help a recruiter understand, in under a minute, who you are, what role you fit, and whether it’s worth moving you forward. Structure and clarity matter more than clever wording.</p>
<h3 id="heading-header-make-it-obvious-who-you-are">Header: make it obvious who you are</h3>
<p>At the very top, include your full name, your role, and your main technologies. Be specific.<br>For example: <em>Frontend Web Developer (React, Next JS)</em>.</p>
<p>This saves time for recruiters and helps with automated filtering. I also include my email address, and sometimes – in smaller, low-opacity text – my years of experience (for example, <em>10+ years</em>). It’s a quick signal, not a headline.</p>
<h3 id="heading-summary-your-short-positioning-statement">Summary: your short positioning statement</h3>
<p>Think of the summary as an elevator pitch with context. This is where you explain what you do well and what kind of problems you’re best at solving. Keep it focused. Avoid vague statements like “passionate developer” or “team player.” Say what you build and where you add value.</p>
<h3 id="heading-work-experience-results-over-responsibilities">Work experience: results over responsibilities</h3>
<p>This is the most important section.</p>
<p>For each role, include the company name, time period, and position. If it helps, add a link to the company’s website.</p>
<p>When describing your work, focus on accomplishments, not duties. What did you change? What improved because of your work? Metrics matter here.</p>
<p>For example:</p>
<blockquote>
<p>Redesigned and coded the UI of a 20+ page web application, resulting in a <strong>16.7% increase in user engagement</strong> and a <strong>21.4% reduction in page load time</strong>. Worked closely with backend and QA teams. Designed in Figma, implemented with Tailwind CSS and React.</p>
</blockquote>
<p>This tells a much clearer story than listing tasks.</p>
<h3 id="heading-optional-sections-only-if-relevant">Optional sections (only if relevant)</h3>
<p>You don’t need to include everything — only what <strong>supports your candidacy</strong>.</p>
<ul>
<li><p><strong>Education</strong>: useful if it’s related (computer science, software engineering, and so on)</p>
</li>
<li><p><strong>Personal projects</strong>: include only if they align with the role you’re applying for</p>
</li>
<li><p><strong>Interests or hobbies</strong>: optional, but can create a human connection if they’re meaningful</p>
</li>
<li><p><strong>Languages</strong>: valuable in a global job market</p>
</li>
</ul>
<p>If a section doesn’t strengthen your position, leave it out.</p>
<h3 id="heading-length-and-customization">Length and customization</h3>
<p>A rough rule: around one page per 10 years of experience.</p>
<p>More important than length is relevance. Ideally, you should have a solid base version of your CV, then slightly adjust it for specific roles. This small effort often leads to a much higher response rate.</p>
<h3 id="heading-format-and-tools">Format and tools</h3>
<p>Don’t add a photo. It doesn’t help, and in many cases, it hurts.</p>
<p>Always send your CV as a PDF. This avoids layout issues and font problems.<br>For tools, I prefer Figma because it gives full control over layout and visuals. If that feels like overkill, Google Docs works just fine.</p>
<p>Create a first version, then iterate over time. Add new skills, remove outdated ones. This is normal. My current CV is version six – and it took years to get there.</p>
<p>Before sending your CV, run it through an <strong>ATS checker</strong>. Many companies use automated systems before a human ever sees your résumé. If the machine can’t read it properly, it won’t matter how good the content is.</p>
<p>You can check out my proven CV template <a href="https://www.99cards.dev/cv">here</a>. It's free to download.</p>
<p><strong>Practical checkpoint:</strong> if a recruiter can’t understand your role, level, and strengths in 30–60 seconds, your CV needs simplification – not more detail.</p>
<h2 id="heading-5-cover-letter">5. Cover Letter</h2>
<p>A cover letter is short, focused, and very intentional. It’s not a repeat of your CV – it’s your chance to explain <strong>why you’re a great fit for this specific role and this specific company</strong>.</p>
<h3 id="heading-what-a-cover-letter-is-and-isnt">What a cover letter is (and isn’t)</h3>
<p>A web developer cover letter should be 200–300 words max. Its main goal is to connect your skills and experience to the company’s needs in a more personal way than a résumé can.</p>
<p>Think of it as a bridge between:</p>
<ul>
<li><p>what you can do (CV)</p>
</li>
<li><p>and <strong>why they should care</strong></p>
</li>
</ul>
<h3 id="heading-step-1-research-before-writing-anything">Step 1: Research before writing anything</h3>
<p>Never write a generic cover letter.</p>
<p>Before you start:</p>
<ul>
<li><p>Read the job description carefully</p>
</li>
<li><p>Look up the company, their product, and their values</p>
</li>
<li><p>Try to find the recruiter or hiring manager’s name (LinkedIn helps a lot)</p>
</li>
</ul>
<p>Then:</p>
<ul>
<li>Pick one strong “crowning achievement” – a project or result that clearly shows your value</li>
</ul>
<h3 id="heading-step-2-header-and-greeting">Step 2: Header and greeting</h3>
<p>Keep it clean and professional.</p>
<p><strong>Header should include:</strong></p>
<ul>
<li><p>Full name</p>
</li>
<li><p>Email + phone</p>
</li>
<li><p>Location (city, country/state)</p>
</li>
<li><p>Link to your portfolio or personal website (very important for devs)</p>
</li>
</ul>
<p><strong>Greeting:</strong></p>
<ul>
<li><p>Use <em>“Dear [Name]”</em> or <em>“Dear [Team Name] Team”</em></p>
</li>
<li><p>Avoid <em>“To whom it may concern”</em> — it feels lazy and generic</p>
</li>
</ul>
<h3 id="heading-step-3-strong-short-introduction">Step 3: Strong, short introduction</h3>
<p>Your intro should be 2 sentences max.</p>
<p>Include the exact role you’re applying for and a quick hook – why this company or product caught your attention.</p>
<p>Example ideas:</p>
<ul>
<li><p>A product they built</p>
</li>
<li><p>A mission you align with</p>
</li>
<li><p>A tech stack you’re excited about</p>
</li>
</ul>
<h3 id="heading-step-4-the-body-tell-a-clear-story">Step 4: The body — tell a clear story</h3>
<p>This is the core of your cover letter.</p>
<p>Focus on technical skills (HTML, CSS, JavaScript, React, Node.js, and so on) and real impact, not just tools.</p>
<p>Use numbers whenever possible:</p>
<ul>
<li><p>“Improved performance by 30%”</p>
</li>
<li><p>“Reduced load time by 2 seconds”</p>
</li>
</ul>
<p>A great structure here is: <strong>Problem → Solution → Impact</strong></p>
<p>Also don’t forget that soft skills matter: communication, problem-solving, teamwork are important. Companies hire people, not just code writers.</p>
<h3 id="heading-step-5-adjust-for-your-role-level">Step 5: Adjust for your role level</h3>
<p>What you emphasize depends on your profile:</p>
<ul>
<li><p><strong>Front-end</strong> → UI, UX, responsiveness, animations, browser support</p>
</li>
<li><p><strong>Back-end</strong> → APIs, databases, scalability, performance</p>
</li>
<li><p><strong>Full-stack</strong> → end-to-end ownership, deployment, architecture</p>
</li>
<li><p><strong>Entry-level / junior</strong> → personal projects, bootcamps, learning speed, motivation</p>
</li>
</ul>
<p>If you lack experience, that’s okay. Show potential and direction.</p>
<h3 id="heading-step-6-closing-call-to-action">Step 6: Closing + call to action</h3>
<p>Wrap it up confidently. Reconfirm your interest in the role, briefly restate the value you bring, and add a <strong>soft CTA</strong> like being open to an interview or discussion.</p>
<p>End with:</p>
<ul>
<li><p>“Sincerely” or “Best regards”</p>
</li>
<li><p>Your name</p>
</li>
</ul>
<h3 id="heading-step-7-formatting-and-final-checks">Step 7: Formatting and final checks</h3>
<p>Details matter here.</p>
<ul>
<li><p>Use the same font as your CV</p>
</li>
<li><p>Stick to clean, modern fonts (Plus Jakarta Sans, Inter, DM Sans, etc.)</p>
</li>
<li><p>Keep margins simple and spacing readable</p>
</li>
<li><p>Always send as a PDF</p>
</li>
<li><p><strong>Proofread carefully</strong> – mistakes here hurt more than missing skills</p>
</li>
</ul>
<p><strong>Practical checkpoint:</strong> If your cover letter could be sent to 10 different companies without changes, it’s not good enough.</p>
<p>You can check out my cover letter template <a href="https://www.99cards.dev/cover-letter">here</a>. You can have it for free.</p>
<h2 id="heading-6-linkedin-turn-your-profile-into-a-recruiter-magnet">6. LinkedIn (Turn Your Profile Into a Recruiter Magnet)</h2>
<p>LinkedIn shouldn’t be just an online CV. For a web developer, it should work like a high-converting landing page that brings recruiters to you, even while you sleep.</p>
<p>Below is a practical, step-by-step approach, from fixing the basics to getting real inbound opportunities.</p>
<h3 id="heading-step-1-get-the-basics-right">Step 1: Get the Basics Right</h3>
<p>Before optimizing content, make sure your profile looks clean and professional.</p>
<ul>
<li><p><strong>Turn off profile update notifications:</strong> Go to <em>Settings &amp; Privacy</em> and disable updates before editing. No one needs to see you fixing typos.</p>
</li>
<li><p><strong>Create a custom LinkedIn URL:</strong> Use something like linkedin.com/in/yourname-dev. It helps with SEO, looks cleaner on your CV, and improves response rates.</p>
</li>
<li><p><strong>Profile photo matters a lot:</strong> Use a <strong>clear, recent headshot</strong>. Face should take ~60% of the frame, clean background, friendly expression.</p>
</li>
<li><p><strong>Add a custom banner:</strong> Don’t leave the gray default. Use Canva to add something simple: your tech stack, role, or personal brand.</p>
</li>
</ul>
<h3 id="heading-step-2-linkedin-seo-so-recruiters-can-find-you">Step 2: LinkedIn SEO (So Recruiters Can Find You)</h3>
<p>If you’re not optimized for keywords, you’re basically invisible.</p>
<p>Pick your target role – for example, <em>Frontend Developer</em>, <em>React Engineer</em>, <em>Full-Stack Developer</em></p>
<p>Then repeat that keyword in 4 places:</p>
<ul>
<li><p>Headline</p>
</li>
<li><p>About section</p>
</li>
<li><p>Job titles</p>
</li>
<li><p>Experience descriptions</p>
</li>
</ul>
<p>Then make sure you write a strong headline (this is very important). Here's the formula:<br>[Role] + [Main Tech] + [Value]</p>
<p>Example:<br><em>Full-Stack Developer | React, Next.js | Building scalable web apps for startups</em></p>
<h3 id="heading-step-3-treat-your-profile-like-a-landing-page">Step 3: Treat Your Profile Like a Landing Page</h3>
<p>Once someone clicks your profile, you need to convert that visit.</p>
<h4 id="heading-about-section-your-story">About section = your story</h4>
<p>Write like a human, not a robot. Explain why you code, what problems you solve, your experience level, and your core stack</p>
<h4 id="heading-experience-impact-not-duties">Experience = impact, not duties</h4>
<p>Don’t list responsibilities. Show results with numbers.</p>
<p>❌ “Built dashboards”<br>✅ “Built a React dashboard that reduced load time by 30% for 5,000 users”</p>
<h4 id="heading-skills-section-matters-more-than-you-think">Skills section matters more than you think</h4>
<p>Add at least 5 relevant skills (JavaScript, React, Git, TypeScript, and so on). Profiles with multiple skills get way more profile views and connections.</p>
<h3 id="heading-step-4-show-proof-this-is-huge-for-developers">Step 4: Show Proof (This Is Huge for Developers)</h3>
<p>Words are good – but proof is better. Here's how you can show proof:</p>
<h4 id="heading-use-the-featured-section">Use the Featured section</h4>
<p>Add your portfolio website, a linke to your GitHub profile, and live projects or demos.</p>
<h4 id="heading-ask-for-recommendations">Ask for recommendations</h4>
<p>These can be really helpful, and some companies require them. You can reach out to tech leads, managers you've worked with, or clients (among others).</p>
<p>Recommendations add massive trust.</p>
<p>Pro tip: offer to write one in return.</p>
<h3 id="heading-step-5-get-more-visible">Step 5: Get More Visible</h3>
<p>This is how you go from “searching” to being approached.</p>
<h4 id="heading-post-occasionally">Post occasionally</h4>
<p>You don’t need to be an influencer. But post something once a month could invite some people to see your page.</p>
<h4 id="heading-network-with-intention">Network with intention</h4>
<p>Networking is a skill. Follow devs and tech creators, engage with posts (comments &gt; likes), and connect with engineers inside companies you like.</p>
<h4 id="heading-turn-on-open-to-work">Turn on “Open to Work”</h4>
<p>You can make it visible <strong>only to recruiters</strong>. This is a strong signal that you’re ready for interviews.</p>
<p><strong>Practical checkpoint:</strong> If your LinkedIn profile still looks like a copied résumé, you’re leaving opportunities on the table. Treat it like a product page – clear message, strong proof, and easy next step.</p>
<p>And here's a tips: Make sure all information you list at your LinkedIn profile is true. Especially your full name and location. Sometimes LinkedIn admins may ask you to verify it with your real ID.</p>
<h2 id="heading-7-job-search-amp-application-strategy">7. Job Search &amp; Application Strategy</h2>
<p>Up to this point, everything you’ve done was preparation. Now you’re ready for the real game: finding jobs and applying the smart way.</p>
<p>Let's start with where to find Developer Jobs.</p>
<p>There isn’t just one correct source. The best strategy is to combine several.</p>
<h3 id="heading-1-job-boards-fast-but-competitive">1. Job Boards (Fast but Competitive)</h3>
<p>There are two main types of job boards:</p>
<h4 id="heading-open-job-boards"><strong>Open Job Boards</strong></h4>
<p>Examples: LinkedIn, Indeed.</p>
<ul>
<li><p>✅ You can apply immediately</p>
</li>
<li><p>❌ Competition is extremely high</p>
</li>
<li><p>❌ Many applications never get seen</p>
</li>
</ul>
<p>These are good for volume, but don’t expect miracles.</p>
<h4 id="heading-vetted-platforms"><strong>Vetted Platforms</strong></h4>
<p>Examples: Turing.com, similar invite-only platforms</p>
<p>How it usually works:</p>
<ol>
<li><p>Application review</p>
</li>
<li><p>Automated tests or questionnaires</p>
</li>
<li><p>Timed live task (90–120 minutes)</p>
</li>
</ol>
<ul>
<li><p>❌ Takes time and effort upfront</p>
</li>
<li><p>✅ Much lower competition afterward</p>
</li>
<li><p>✅ Higher chance of real interviews</p>
</li>
</ul>
<p>If you pass, you enter a smaller talent pool, which is a big advantage.</p>
<div>
<div>💡</div>
<div>I was often invited to interviews by companies at Turing.com</div>
</div>

<h3 id="heading-2-company-career-pages-often-overlooked">2. Company Career Pages (Often Overlooked)</h3>
<p>Many companies hire directly through their own websites. Big companies often have dedicated career pages. These may have fewer applicants compared to job boards, and they're usually more serious about hiring.</p>
<p>If you already like a company, check their site first.</p>
<h3 id="heading-3-startups-agencies-amp-communities-hidden-gold">3. Startups, Agencies &amp; Communities (Hidden Gold)</h3>
<p>This is where many developers get jobs without competing with hundreds of applicants.</p>
<h4 id="heading-agencies">Agencies</h4>
<p>Find them on award sites, directories, or portfolios.</p>
<ul>
<li><p>Visit their websites</p>
</li>
<li><p>Collect emails</p>
</li>
<li><p>Send direct, personalized messages</p>
</li>
</ul>
<h4 id="heading-startups">Startups</h4>
<p>Use platforms like Product Hunt.</p>
<ul>
<li><p>Find early-stage startups</p>
</li>
<li><p>Reach out directly via email or LinkedIn</p>
</li>
</ul>
<h4 id="heading-telegram-groups-very-underrated">Telegram Groups (Very Underrated)</h4>
<p>Many dev job groups exist but aren’t publicized much.</p>
<ul>
<li><p>Jobs are posted directly by founders or managers</p>
</li>
<li><p>You can <strong>DM the person first</strong>, ask if you’re a fit</p>
</li>
<li><p>Attach CV + portfolio</p>
</li>
<li><p>If they say yes, then apply</p>
</li>
</ul>
<p>This alone can save you weeks of wasted applications.</p>
<p><a href="https://www.99cards.dev/top-50-remote-first-companies">Here</a> is a list top 50 remote first companies. These establishments always in search of great talent.</p>
<h3 id="heading-application-strategies-choose-wisely">Application Strategies (Choose Wisely)</h3>
<p>There are three main approaches.</p>
<h4 id="heading-1-mass-application-spray-amp-pray">1. Mass Application (Spray &amp; Pray)</h4>
<ul>
<li><p>Easy Apply, Easy Apply, Easy Apply</p>
</li>
<li><p>20–30 applications per hour</p>
</li>
</ul>
<p><strong>Reality check:</strong></p>
<ul>
<li><p>❌ Massive competition</p>
</li>
<li><p>❌ Very low response rate</p>
</li>
</ul>
<p>Good for filling numbers – not great for quality.</p>
<h4 id="heading-2-sniper-application-high-conversion">2. Sniper Application (High-Conversion)</h4>
<p>This is the most effective method.</p>
<p>How it works:</p>
<ul>
<li><p>Pick a specific company and role</p>
</li>
<li><p>Research:</p>
<ul>
<li><p>Product</p>
</li>
<li><p>Team</p>
</li>
<li><p>Tech stack</p>
</li>
</ul>
</li>
<li><p>Customize:</p>
<ul>
<li><p>CV</p>
</li>
<li><p>Cover letter</p>
</li>
</ul>
</li>
<li><p>Try to:</p>
<ul>
<li><p>Talk to employees</p>
</li>
<li><p>Ask for a referral</p>
</li>
</ul>
</li>
<li><p>❌ Slower (1–2 applications/day)</p>
</li>
<li><p>✅ Much higher response rate</p>
</li>
<li><p>✅ Often leads directly to interviews</p>
</li>
</ul>
<p>If you want fewer rejections and better offers, this is it.</p>
<h4 id="heading-3-networking-warm-opportunities">3. Networking (Warm Opportunities)</h4>
<p>This is the most natural and underrated approach, and there are a couple ways of going about it.</p>
<p>You can focus on offline experience, like:</p>
<ul>
<li><p>Local meetups</p>
</li>
<li><p>Developer groups</p>
</li>
<li><p>Tech events</p>
</li>
</ul>
<p>When people know you personally, jobs often come to you.</p>
<p>You can also try online methods, like:</p>
<ul>
<li><p>Discord communities</p>
</li>
<li><p>Reddit</p>
</li>
<li><p>Twitter / LinkedIn tech circles</p>
</li>
</ul>
<p>You can share that you’re job hunting, DM people directly and get referrals without formal applications.</p>
<p>This is <strong>warm outreach</strong>, not cold applying.</p>
<h3 id="heading-track-everything-very-important">Track Everything (Very Important)</h3>
<p>Just like mentioned earlier:</p>
<ul>
<li><p>Set weekly &amp; daily application goals</p>
</li>
<li><p>Adjust them to your real pace</p>
</li>
</ul>
<p>Make sure you track the date, company, and status (sent, rejected, interview, offer). A simple spreadsheet is more than enough.</p>
<p><strong>Practical checkpoint:</strong> Don’t rely on just one channel. Combine job boards + direct outreach + networking, track your efforts, and focus more on quality than pure volume.</p>
<p>There is a very useful job application tracker I use when applying to jobs. It helps you to see the entire picture of your progress. You can download it <a href="https://www.99cards.dev/job-application-tracker-spreadsheet">here</a>.</p>
<h2 id="heading-8-technical-interview-preparation">8. Technical Interview Preparation</h2>
<p>The technical interview is not a normal conversation — it’s closer to an exam + live performance. You’re not just talking about your skills; you’re expected to prove them in real time.</p>
<h3 id="heading-step-1-strong-technical-foundation">Step 1: Strong Technical Foundation</h3>
<h4 id="heading-1-master-one-programming-language">1. Master One Programming Language</h4>
<p>Pick one main language (JavaScript, Python, Java, C++, and so on) and know it really well.</p>
<ul>
<li><p>Syntax should be automatic</p>
</li>
<li><p>You shouldn’t struggle with basics during interviews</p>
</li>
<li><p>This lets you focus on <strong>problem-solving</strong>, not syntax</p>
</li>
</ul>
<h4 id="heading-2-data-structures-amp-algorithms-must-have">2. Data Structures &amp; Algorithms (Must-Have)</h4>
<p>You should clearly understand:</p>
<ul>
<li><p>Arrays &amp; strings</p>
</li>
<li><p>Hash tables</p>
</li>
<li><p>Stacks &amp; queues</p>
</li>
<li><p>Linked lists</p>
</li>
<li><p>Trees &amp; graphs</p>
</li>
<li><p>Heaps</p>
</li>
</ul>
<p>Important: don’t just know how, know <strong>why</strong>. For example: <em>why a hash table gives average O(1) lookup time</em>.</p>
<h4 id="heading-3-real-side-projects">3. Real Side Projects</h4>
<p>Have projects that match the level of the job you want, that are built from scratch, that use real logic, not tutorial clones, and be ready to walk through architecture, decisions, and trade-offs.</p>
<p>This often shifts the interview from grilling to conversation.</p>
<h3 id="heading-step-2-pre-interview-strategy-once-interview-is-scheduled">Step 2: Pre-Interview Strategy (Once Interview Is Scheduled)</h3>
<p>Now it’s about targeted prep.</p>
<h4 id="heading-resume-deep-dive">Résumé Deep-Dive</h4>
<p>Be ready to explain <strong>everything</strong> on your CV.</p>
<ul>
<li><p>Every framework</p>
</li>
<li><p>Every project</p>
</li>
<li><p>Every tool</p>
</li>
</ul>
<p>If you listed it, you must defend it.</p>
<h4 id="heading-behavioral-answers-star-method">Behavioral Answers (STAR Method)</h4>
<p>Use <strong>STAR</strong>:</p>
<ul>
<li><p>Situation</p>
</li>
<li><p>Task</p>
</li>
<li><p>Action (most important – what <em>you</em> did)</p>
</li>
<li><p>Result</p>
</li>
</ul>
<p>Use it for bugs you fixed, conflicts in teams, technical challenges, and failures and lessons learned.</p>
<h3 id="heading-step-3-how-to-act-during-the-technical-interview">Step 3: How to Act During the Technical Interview</h3>
<p>This part matters as much as the solution itself.</p>
<h4 id="heading-1-read-amp-rephrase">1. Read &amp; Rephrase</h4>
<p>Read the task and <strong>repeat it in your own words</strong>. This shows clarity and avoids misunderstandings.</p>
<h4 id="heading-2-clarify-everything">2. Clarify Everything</h4>
<p>Ask about:</p>
<ul>
<li><p>Input format</p>
</li>
<li><p>Output format</p>
</li>
<li><p>Constraints</p>
</li>
<li><p>Edge cases</p>
</li>
</ul>
<p>Good engineers never assume.</p>
<h4 id="heading-3-think-out-loud">3. Think Out Loud</h4>
<p>Before coding, explain your approach, start with a brute-force solution, then optimize it. Interviewers care about <strong>how you think</strong>, not just the final answer.</p>
<h4 id="heading-4-code-like-a-professional">4. Code Like a Professional</h4>
<p>While coding, speak your thoughts, use clear variable names, and teat it like pair programming, not an interrogation</p>
<h4 id="heading-5-test-your-code">5. Test Your Code</h4>
<p>When finished, walk through the code step by step, use example inputs, and try to catch bugs yourself. Debugging your own code is a huge positive signal.</p>
<h4 id="heading-6-explain-complexity"><strong>6. Explain Complexity</strong></h4>
<p>Always finish with time complexity and space complexity.</p>
<p>Short, clear, confident.</p>
<h3 id="heading-step-4-closing-the-interview-strong">Step 4: Closing the Interview Strong</h3>
<h4 id="heading-ask-smart-questions">Ask Smart Questions</h4>
<p>When you're wrapping up, make sure you ask smart questions to show your genuine interest and thoughtfulness.</p>
<p>Ask about:</p>
<ul>
<li><p>Tech stack</p>
</li>
<li><p>Architecture</p>
</li>
<li><p>Development process</p>
</li>
<li><p>Team collaboration</p>
</li>
</ul>
<p>Avoid salary or benefits here – that’s for HR.</p>
<h4 id="heading-send-a-follow-up">Send a Follow-Up</h4>
<p>Within 24 hours, thank them and show appreciation.</p>
<p>If you realized you made a mistake, you can briefly explain the correct approach – this shows growth mindset.</p>
<h4 id="heading-learn-from-every-interview">Learn From Every Interview</h4>
<p>Even failed interviews are data. After each one, ask yourself:</p>
<ul>
<li><p>Where did I get stuck?</p>
</li>
<li><p>What topic do I need to improve?</p>
</li>
</ul>
<div>
<div>💡</div>
<div>Interviewing is a <strong>skill</strong>. The more reps you do, the better you get.</div>
</div>

<p><strong>Practical checkpoint:</strong> You don’t pass technical interviews by luck. You pass them by deep fundamentals, structured thinking, and practice.</p>
<h2 id="heading-9-hr-and-behavioral-interview">9. HR and Behavioral Interview</h2>
<p>The HR / behavioral interview is not just a formality. Very often, this round decides whether you move forward or not.<br>Unlike technical interviews, this one is about who you are, how you communicate, and whether the team can work with you long-term.</p>
<h3 id="heading-step-1-pre-interview-research-do-your-homework">Step 1: Pre-Interview Research (Do Your Homework)</h3>
<p>Before the interview, go deeper than your CV.</p>
<h4 id="heading-research-the-company">Research the company</h4>
<p>Learn about their mission and values, their product or service, and any recent news, releases, or updates involving them.</p>
<p>This helps you sound intentional, not generic.</p>
<h4 id="heading-study-the-job-description">Study the job description</h4>
<p>Make sure you highlight your soft skills and responsibilities, and then prepare <strong>2–3 real examples</strong> that match those requirements.</p>
<h4 id="heading-build-a-story-bank">Build a story bank</h4>
<p>Prepare 8–10 short stories from your experience that demonstrate:</p>
<ul>
<li><p>Solving a problem</p>
</li>
<li><p>Working in a team</p>
</li>
<li><p>Handling conflict</p>
</li>
<li><p>Taking ownership</p>
</li>
</ul>
<p>These stories are your proof. Much better than buzzwords.</p>
<h3 id="heading-step-2-use-the-star-method-always">Step 2: Use the STAR Method (Always)</h3>
<p>Remember the STAR method we talked about above? Use it here, too.</p>
<p>Also, <strong>think out loud</strong>. HR wants to hear how you reason, not just the final answer.</p>
<p>And practice explaining technical things without jargon. HR people are usually non-technical.</p>
<h3 id="heading-step-3-common-hr-questions-how-to-answer">Step 3: Common HR Questions (How to Answer)</h3>
<h4 id="heading-tell-me-about-yourself">“Tell me about yourself”</h4>
<p>Keep it to ~2 minutes.</p>
<p>Focus on your current role or level, your main tech stack (for example, JavaScript, React, SQL), and where you want to grow next.</p>
<p>Skip personal life unless asked.</p>
<h4 id="heading-strengths">Strengths</h4>
<p>Pick <strong>role-relevant strengths</strong> here and back each one with a quick example.</p>
<p>Example:</p>
<blockquote>
<p>“I’m strong at ownership. In my last role, I took responsibility for…”</p>
</blockquote>
<h4 id="heading-weaknesses">Weaknesses</h4>
<p>This is a tough one. So be honest, but smart. Show <strong>self-awareness + improvement</strong>, and avoid clichés like “I’m a perfectionist”.</p>
<p>Good structure:</p>
<ul>
<li><p>Real weakness</p>
</li>
<li><p>What you’re doing to improve it</p>
</li>
</ul>
<h3 id="heading-step-4-teamwork-conflict-amp-feedback">Step 4: Teamwork, Conflict &amp; Feedback</h3>
<p>Web development is teamwork-heavy, so expect these.</p>
<ul>
<li><p><strong>Conflicts</strong></p>
<ul>
<li><p>Don’t blame others</p>
</li>
<li><p>Focus on communication and resolution</p>
</li>
<li><p>Show maturity and accountability</p>
</li>
</ul>
</li>
<li><p><strong>Code reviews &amp; feedback</strong></p>
<ul>
<li><p>Treat feedback as growth</p>
</li>
<li><p>Show you don’t take criticism personally</p>
</li>
</ul>
</li>
<li><p><strong>Mistakes</strong></p>
<ul>
<li><p>Admit them</p>
</li>
<li><p>Explain how you fixed the issue</p>
</li>
<li><p>Share what you learned</p>
</li>
</ul>
</li>
</ul>
<p>This signals professionalism and emotional intelligence.</p>
<h3 id="heading-step-5-closing-the-interview-salary-questions">Step 5: Closing the Interview + Salary Questions</h3>
<h4 id="heading-always-ask-questions">Always ask questions</h4>
<p>Good examples:</p>
<ul>
<li><p>What does success look like in the first 3 months?</p>
</li>
<li><p>How does the team collaborate?</p>
</li>
<li><p>What do you personally enjoy about working here?</p>
</li>
</ul>
<p>Saying “I have no questions” is a bad signal.</p>
<h4 id="heading-salary-expectations">Salary expectations</h4>
<p>If possible, avoid giving a number too early.</p>
<p>If pushed, give a <strong>range</strong>, not a single number. And make sure you base it on market research. Also, say it’s negotiable. All this keeps leverage on your side.</p>
<h3 id="heading-step-6-after-the-interview-dont-skip-this">Step 6: After the Interview (Don’t Skip This)</h3>
<p>Similar strategies here:</p>
<ul>
<li><p>Send a thank-you email within 24 hours</p>
</li>
<li><p>Thank them for their time</p>
</li>
<li><p>Reconfirm your interest</p>
</li>
</ul>
<p>Simple, polite, professional.</p>
<p><strong>Practical checkpoint:</strong> Technical skills get you noticed. Behavior, communication, and attitude get you hired.</p>
<p><strong>Tip</strong>: Before EVERY interview even a first one I always contact HR or recruiter and ask what should I prepare for the interview round. Surprisingly, almost every time I get specific directions.</p>
<p>I always use interview checklist when I prepare for one. It helps you remember all critical points. You can download it <a href="https://www.99cards.dev/checklists">here</a>.</p>
<h2 id="heading-9-salary-negotiation-and-job-offers">9. Salary Negotiation and Job Offers</h2>
<p>Congrats — getting an offer means you already won half the battle. Now comes the part where many developers make costly mistakes: accepting too fast or negotiating poorly.</p>
<p>Let’s break this down step by step.</p>
<h3 id="heading-1-when-you-receive-an-offer-pause-first">1. When You Receive an Offer: Pause First</h3>
<p>When you hear <em>“We’d like to make you an offer”</em>:</p>
<ul>
<li><p><strong>Say thank you</strong></p>
</li>
<li><p>Show excitement</p>
</li>
<li><p><strong>Do NOT accept immediately</strong></p>
</li>
</ul>
<p>This is very important.</p>
<p>What to say instead:</p>
<ul>
<li><p>Ask for the offer in writing</p>
</li>
<li><p>Request 24–48 hours (sometimes up to a week) to review it</p>
</li>
</ul>
<p>This is completely normal and professional. The pause helps you move from emotions to logic.</p>
<h3 id="heading-2-look-at-total-compensation-not-just-salary">2. Look at Total Compensation (Not Just Salary)</h3>
<p>Many developers only look at base salary, but that’s a mistake.</p>
<p>Check the full package for things like:</p>
<ul>
<li><p>Base salary</p>
</li>
<li><p>Health insurance (medical, dental, vision)</p>
</li>
<li><p>Retirement plans (401k, matching, vesting period)</p>
</li>
<li><p>Equity (stock options / RSUs)</p>
</li>
<li><p>Bonuses (sign-on or performance)</p>
</li>
<li><p>Remote / hybrid flexibility</p>
</li>
<li><p>Equipment budget</p>
</li>
<li><p>Learning budget</p>
</li>
</ul>
<p>Sometimes a lower salary + great benefits is actually the better deal.</p>
<h3 id="heading-3-salary-negotiation-rules-very-important">3. Salary Negotiation Rules (Very Important)</h3>
<h4 id="heading-rule-1-dont-give-the-first-number">Rule #1: Don’t Give the First Number</h4>
<p>If possible, avoid saying a salary number first.</p>
<p>Why? Because employers will anchor low, and you lose leverage immediately.</p>
<p>If asked early, say something like:</p>
<blockquote>
<p>“Right now I’m focused on finding a strong mutual fit. I’m open to a fair market offer once we’re aligned.”</p>
</blockquote>
<h4 id="heading-if-you-must-give-a-number">If You MUST Give a Number</h4>
<p>Give a range, not a single number. Your <em>ideal salary</em> should be at the lower end of that range</p>
<h3 id="heading-4-advanced-negotiation-tips-most-devs-skip-this">4. Advanced Negotiation Tips (Most Devs Skip This)</h3>
<h4 id="heading-negotiation-is-expected">Negotiation Is Expected</h4>
<p>About 80%+ of companies expect negotiation. It doesn’t make you difficult – it makes you look confident.</p>
<h4 id="heading-use-other-offers-if-you-have-them">Use Other Offers (If You Have Them)</h4>
<p>If you have another offer, be honest and respectful about it.</p>
<p>Example:</p>
<blockquote>
<p>“You’re my top choice, but I have another offer that’s slightly higher. Is there room to adjust?”</p>
</blockquote>
<h4 id="heading-negotiate-non-money-items">Negotiate Non-Money Items</h4>
<p>If salary is capped, try asking instead for extra vacation days, a sign-on bonus, a learning budget, or a faster salary review (after 6 months).</p>
<p>Managers often have more flexibility here.</p>
<h3 id="heading-5-final-step-close-everything-properly">5. Final Step: Close Everything Properly</h3>
<p>Before accepting:</p>
<ul>
<li><p><strong>Get everything in writing</strong></p>
</li>
<li><p>Read the contract carefully</p>
</li>
<li><p>Check:</p>
<ul>
<li><p>Job title</p>
</li>
<li><p>Salary &amp; bonuses</p>
</li>
<li><p>Notice period</p>
</li>
<li><p>Non-compete clauses</p>
</li>
</ul>
</li>
</ul>
<p>In many countries, verbal acceptance can be legally binding. Don't say “yes” unless you are 100% sure.</p>
<p>If you reject an offer:</p>
<ul>
<li><p>Be polite</p>
</li>
<li><p>Thank them</p>
</li>
<li><p>Keep the relationship open</p>
</li>
</ul>
<p>You never know when paths cross again.</p>
<p>Practical checkpoint: Your first offer sets the baseline for your future career. Take your time, stay professional, and don’t be afraid to negotiate.</p>
<p><strong>Real story:</strong> In 2021 I received a very nice job offer. I liked it. The CEO said: “Here is the salary range: A to B. What would you like?“. I said let’s go with middle point. I always prefer win-win situations.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Getting a web developer job today is not about luck – it’s about <strong>strategy, preparation, and consistency</strong>. The market has changed. Competition is higher, expectations are clearer, and companies are more selective than ever. But the good news is that developers who approach the process the right way still get hired, again and again.</p>
<p>In this guide, you’ve seen the full journey: defining your direction, preparing your skills, building a strong portfolio, crafting a clear CV and cover letter, optimizing LinkedIn, applying smart, preparing for technical and HR interviews, and finally negotiating your offer with confidence. Each stage matters, and skipping even one can significantly lower your chances.</p>
<p>Remember: job searching itself is a <strong>skill</strong>. The more intentional you are, the better your results will be. Track your progress, learn from rejections, improve weak spots, and don’t rush the process. One strong offer is worth more than a hundred rushed applications.</p>
<p>Most importantly, don’t underestimate your value. If you’ve put in the work, you deserve a role that fits your skills, goals, and lifestyle.</p>
<p>I wish you the best of luck on your journey. Stay consistent, stay confident, and go get that job 🚀</p>
<p>p.s. if you still haven’t you can get Dev Job Application Toolkit here: <a href="https://www.99cards.dev/toolkit">99cards.dev/toolkit</a></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Prepare for Technical Job Interviews –  Based on My Experience Landing a Job ]]>
                </title>
                <description>
                    <![CDATA[ Hi, I’m Ilyas. I’m a web developer, and this is my story about how I struggled with interviews for a long time and what finally helped me break through. I’ll talk about what failing basic interview questions taught me about recall, preparation, and s... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-prepare-for-technical-job-interviews-based-on-my-experience-landing-a-job/</link>
                <guid isPermaLink="false">694c23da6c9dee59dd506fea</guid>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ interview preparations ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Junior developer  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ career advice ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Interview tips ]]>
                    </category>
                
                    <category>
                        <![CDATA[ interview ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Ilyas Seisov ]]>
                </dc:creator>
                <pubDate>Wed, 24 Dec 2025 17:33:14 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1766597367293/515dd71a-fb65-4508-bdd2-39b103ddb438.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Hi, I’m Ilyas. I’m a web developer, and this is my story about how I struggled with interviews for a long time and what finally helped me break through. I’ll talk about what failing basic interview questions taught me about recall, preparation, and smarter job searching.</p>
<p>If you’re a junior, mid-level, or self-taught developer who keeps getting rejected and you don’t fully understand why, I hope this helps.</p>
<p>Here’s what I’ll cover:</p>
<ol>
<li><p><a class="post-section-overview" href="#heading-my-18-month-job-search-struggle">My 18-Month Job Search Struggle</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-the-interview-problem-i-didnt-expect">The Interview Problem I Didn’t Expect</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-discovering-active-recall-and-flashcards">Discovering Active Recall and Flashcards</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-my-interview-preparation-system">My Interview Preparation System</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-the-results">The Results</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-changing-how-i-looked-for-jobs">Changing How I Looked for Jobs</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-turning-my-system-into-a-small-tool">Turning My System Into a Small Tool</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-lessons-i-learned">Lessons I learned</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-final-thoughts">Final Thoughts</a></p>
</li>
</ol>
<h2 id="heading-my-18-month-job-search-struggle">My 18-Month Job Search Struggle</h2>
<p>For 18 months, I was trying to land a remote or relocation web developer job.</p>
<p>During that time:</p>
<ul>
<li><p>I applied to more than 1,000 positions</p>
</li>
<li><p>I went through around 20–30 interviews</p>
</li>
<li><p>I failed most of them</p>
</li>
</ul>
<p>It was exhausting. I felt like I was putting in a lot of effort but getting almost no results. Over time, I started doubting my skills and wondering whether I would ever find a job I’d actually be satisfied with.</p>
<p>What made this even more confusing was that a few years earlier, in 2021, I had found a remote job at a US company in just three weeks – with almost no experience</p>
<p>Something clearly wasn’t working anymore.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1766404237516/f3465911-0d09-458b-9dd6-a91ee03524cf.jpeg" alt="real screenshot from one my unsuccessful interviews from Turing.com" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<h2 id="heading-the-interview-problem-i-didnt-expect">The Interview Problem I Didn’t Expect</h2>
<p>After dozens of interviews, I noticed a pattern: I wasn’t failing because I couldn’t solve complex algorithm problems or build features under pressure. I was failing on basic technical questions.</p>
<p>Questions like:</p>
<ul>
<li><p><strong>“What are portals in React?”</strong></p>
</li>
<li><p><strong>“Can you explain how an HTTP GET request works?”</strong></p>
</li>
</ul>
<p>These were not hard questions. They were things I had learned before. But during interviews, under pressure, <strong>I just couldn’t recall.</strong> Or simply I skipped it during preparation because there were no systems in place.</p>
<p>That’s when I realized the real issue: I didn’t have a problem understanding concepts. I had a problem recalling them quickly.</p>
<p>My first instinct was to study more. More tutorials, more articles, more videos.</p>
<p>But passive learning didn’t fix the problem. I still froze during interviews. What I actually needed was a way to <strong>train my memory</strong>, not just consume information.</p>
<h2 id="heading-discovering-active-recall-and-flashcards">Discovering Active Recall and Flashcards</h2>
<p>That’s when I came across flashcards and the concept of <strong>active recall</strong>.</p>
<p>Active recall means testing yourself repeatedly on what you’ve learned instead of just rereading material. You try to answer a question from memory first, then check the answer. This approach has been backed by research for more than a century.</p>
<p>I started practicing small, specific concepts this way, like:</p>
<ul>
<li><p>React fundamentals</p>
</li>
<li><p>JavaScript basics</p>
</li>
<li><p>HTTP methods</p>
</li>
<li><p>Browser behavior</p>
</li>
</ul>
<p>I repeated them until recalling the answer felt automatic.</p>
<p>This made a huge difference during interviews.</p>
<p>Flashcards help you cut through the noise and actually learn what matters. It's not just about memorizing facts – it's about really understanding, remembering fast, and building a solid base in every concept you study.</p>
<p>So to help you prepare for your interviews, I’ve taken years of experience and scientific learning methods and turned them into a tool and approach that gives you the right info at the right time.</p>
<h2 id="heading-my-interview-preparation-system">My Interview Preparation System</h2>
<p>Once I found the right learning method, I built a simple system around it.</p>
<h3 id="heading-step-1-ask-what-to-prepare-for">Step 1: Ask What to Prepare For</h3>
<p>Instead of guessing what to study, I started asking recruiters directly:</p>
<blockquote>
<p>“What topics should I prepare for the technical interview?”</p>
</blockquote>
<p>Surprisingly, many of them replied with a clear list, which helped me focus only on what actually mattered and avoid over-preparing random topics. In my experience, many HR reps are quite helpful to job applicants.</p>
<p>For example, when I applied for a position as a Frontend Web Developer in React, the HR specialist advised me to focus mainly on React and JavaScript. So I prepared for all the popular questions around hoisting (JS), the event loop (JS), how react works under the hood, what props are and how they work, and so on.</p>
<p>Overall, that interview went well – but when I got a question on React Portals, I couldn’t explain it properly. And so I didn’t get the position. But I don’t blame myself for this one, as that’s a very rare topic. 😊</p>
<p>I also applied for another Front End Developer role where the HR specialist advised me to prepare mainly for questions about GSAP, Framer Motion, and React/Next JS. This made sense, as the company mainly builds modern animated websites.</p>
<p>In my interview, the theory round went well, but I failed the take home assignment. I realized then that I didn’t have enough skills in these areas.</p>
<p>At another company, I asked HR about the cultural interview, which was the last round. The rep said: ”<em>No worries, all the hard work is done from your side. Prep for just a human dialog.</em>”</p>
<p>And for the last application I submitted (and after which I actually got the job offer), the HR specialist told me to strongly prepare for CSS – especially Flexbox and Grid<strong>.</strong> This made sense, as the position was for an HTML markup developer. And so I practiced all the ins and outs for these topics, even the more rare ones.</p>
<p>I use the same approach for each round of interviews.</p>
<h3 id="heading-step-2-use-flashcards-with-ai-carefully">Step 2: Use Flashcards (With AI Carefully)</h3>
<p>I used ChatGPT to generate flashcards for each topic and reviewed them daily.</p>
<p>One important thing I learned: <strong>AI can be wrong sometimes.</strong> To reduce mistakes, I started adding links to official documentation in my prompts so the answers were grounded in reliable sources.</p>
<p>I kept sessions short and consistent. That consistency mattered more than long study sessions.</p>
<blockquote>
<p><strong>AI mistakes</strong> was the reason I created <a target="_blank" href="https://99cards.dev/">99cards.dev</a></p>
</blockquote>
<p>Here is the prompt I use in ChatGPT:</p>
<p><em>You are a web development expert with 20 years of experience. Your task is to help me to prepare for the interview.</em></p>
<p><em>Prepare 10 flashcards on CSS Flexbox topics. Format one question with four answers. One answer is correct.</em></p>
<p><em>You're going to serve all the questions one by one. After I answer, you give me feedback and then give me the next question.</em></p>
<p>Note that you should tweak your prompts for your needs, and based on what you need to review.</p>
<p>You can experiment with various factors, such as:</p>
<ul>
<li><p><strong>Difficulty:</strong> beginner or advanced</p>
</li>
<li><p><strong>Specificity:</strong> from vague (for example: I want to practice with CSS) to highly specific (for example: I want to practice with the flex property in CSS Flexbox)</p>
</li>
<li><p><strong>Number of questions:</strong> sweet spot is between 10 and 20</p>
</li>
<li><p><strong>Add context:</strong> good practice is to add links to official docs, as it decreases the chances of AI hallucination</p>
</li>
</ul>
<p>Here is a typical flashcard created by ChatGPT:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1766489222813/57a6b0eb-de79-46a3-89d6-aaeeeffdf04e.png" alt="flashcard created with ChatGPT" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<p>If you provide an answer, you’ll get feedback like this:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1766489282577/910c04a0-6f2a-4304-9f39-3644b2c40bd9.png" alt="feedback by ChatGPT" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<h2 id="heading-the-results">The Results</h2>
<p>After a few weeks, interviews felt very different.</p>
<p>I was calmer. I answered basic questions without panicking. I could explain concepts clearly and confidently.</p>
<p>In my final interview process, I passed four rounds in a row and scored 95% on the technical test.</p>
<p>Soon after, I received an offer: $5,500 per month and a paid relocation package for my family and me.</p>
<p>For the first time in a long while, my effort finally matched the results.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1766404662077/70e690b2-6fd0-448c-a83e-456ab1b12555.jpeg" alt="screenshot of job offer" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<h2 id="heading-changing-how-i-looked-for-jobs">Changing How I Looked for Jobs</h2>
<p>About six weeks before getting the offer, I also changed <strong>where</strong> I searched for jobs.</p>
<p>Instead of relying only on large job platforms, I started using smaller communities like Telegram job groups.</p>
<p>This helped for two reasons:</p>
<ol>
<li><p><strong>Less competition</strong>: many smaller companies post roles there with fewer applicants</p>
</li>
<li><p><strong>Direct communication</strong>: I could message recruiters before applying</p>
</li>
</ol>
<p>Before submitting an application, I would ask:</p>
<blockquote>
<p>“I saw this position. Here’s my CV and LinkedIn. Am I a good fit?”</p>
</blockquote>
<p>If the answer was yes, I applied. If not, I moved on immediately.</p>
<p>This saved me a lot of time and energy.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1766404678028/9e6a2452-2c6c-48b8-8494-629742865a70.png" alt="job groups in Telegram" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<h2 id="heading-turning-my-system-into-a-small-tool">Turning My System Into a Small Tool</h2>
<p>While preparing for interviews, I created thousands of flashcards for myself. Managing them in notes became difficult, so I eventually turned them into a small tool called <a target="_blank" href="https://99cards.dev/"><strong>99cards.dev</strong></a>.</p>
<p>It’s simply a collection of fact-checked web development flashcards grouped by topic, based on the same approach that helped me stop failing basic interview questions.</p>
<p>Here are some screenshots from the app:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1766490090653/a54606f6-91d1-4302-8f39-15fa6d2d26a6.png" alt="99cards.dev - UI screenshots" class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<h2 id="heading-lessons-i-learned">Lessons I Learned</h2>
<p>Here are a few takeaways from this experience:</p>
<ul>
<li><p>Failing interviews doesn’t always mean you lack skills</p>
</li>
<li><p>Passive learning is not enough for interview prep</p>
</li>
<li><p>Being able to recall basics quickly matters a lot</p>
</li>
<li><p>Job searching is a skill, not just a numbers game</p>
</li>
<li><p>Consistency beats cramming every time</p>
</li>
</ul>
<h2 id="heading-final-thoughts">Final Thoughts</h2>
<p>If you’re struggling with interviews right now, especially as a junior, mid-level, or self-taught developer, don’t assume you’re bad at what you do.</p>
<p>In my case, the problem wasn’t effort or talent. It was preparation and approach.</p>
<p>I also created a <a target="_blank" href="https://99cards.dev/checklists"><strong>free interview checklist</strong></a> based on my experience, covering HR, technical, behavioral, system design, live coding, take-home tasks, algorithms, and cultural fit.</p>
<p>I hope this story saves you some time and stress.</p>
<p>You’re often just one good interview away.<br>— Ilyas</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
