How to get first job in IT? ROADMAP
🌱

How to get first job in IT? ROADMAP

TL;DR

  1. Market research via local job boards. Identifying high-demand niches (AI engineering tools, cloud infra, data backends)
  2. Learn: Language basics, DSA basics, Backend, Git, Frontend, DevOps, Testing, System Design basics
  3. Create opportunities for yourself if none exist
  4. 3-4 projects, READMEs, Design Docs, Video Demos
  5. Document your work. Showcase your projects and artifacts on GitHub/YouTube/LinkedIn.

Step 0: Set goals

Market research via local job boards. Identifying high-demand niches (AI engineering tools, cloud infra, data backends)

Do you want to get your first job during next 1 year? Then create a plan on things you need to do, and follow it, track results monthly, update the plan and continue learning.

Understand the market — what tech stack is in demand now (how? Here. Also here.).

Step 1: Learn

Language basics, Backend, Git, Frontend, DevOps, Testing, DSA fundamentals, AI agent workflows/auditing, System Design basics (caching, queues, indexing)

CS Basics and System Fundamentals

  • Data Structures & Algorithms (DSA): core CS fundamentals (arrays, hash maps, trees, linked list, graphs, Big-O time/space complexity)

Follow my Backend roadmap

Spend 2 years working hard.

MY ROADMAP: 🌱How to learn programming? 0 → MIDDLE engineer ROADMAP

How to start learning programming on your own?

Learning plan:

  1. Learn Backend: After learning programming with any language, then start in backend (this is what I did; you may need to change programming language to Python/Java/JS, understand how to build REST APIs, understand how to build databases the right way and understand how they work, understand how web works, how HTTP works). Why start with backend? To build strong fundamentals, to understand how data and logic works. Check https://roadmap.sh/backend.
  2. Learn debugging, learn setting logging and error tracing with Sentry
  3. Learn Git, and learn using GitHub.
  4. Learn frontend. Why? To have basic knowledge in frontend is nice, because in the end you are a software engineer in the end — problem solver/builder/contributor).
  5. Learn DevOps tech stack (basically, understand how to deploy your app in cloud — Digital Ocean, AWS, how to set up CI/CD with GitHub Actions, GitLab, Jenkins, containerization).
  6. Learn testing (unit, integration, end-to-end UI testing with tools like PlayWrite, learn mocking/patching).
  7. System Design Basics for Juniors: foundational concepts like database indexing, caching strategies (Redis), REST vs. gRPC/GraphQL, and basic asynchronous execution (message queues like RabbitMQ/Kafka/Celery)
Here’s what I did back in 2021.
Here’s what I did back in 2021.
Updated version.
Updated version.

But first, learn how to learn (watch video tutorial, read article/documentation, read a book about it).

Leveraging AI Tools & Modern Workflows

Juniors need to know how to use AI coding agents (Claude Code, GitHub Copilot, Cursor, MCP integrations) as productivity multipliers while maintaining deep critical thinking.

Emphasize the skill of auditing AI-generated code. A junior who can review, debug, and test generated code effectively is much more valuable than one who blindly relies on it.

Step 2: Build and Share

3-4 projects, READMEs, Design Docs, Video Demos

Build projects (not from book/tutorial), participate in hackathons and startup competitions — basically, create any opportunity for yourself (for example, my friend and I, started our company 🤣 and started building our own projects and participated in hackathons).

So, build 3–4 projects, could be a web app, some framework and library, CLI tool.

For each project, follow these steps:

  1. Write a good README: Make sure your GitHub README is clear and detailed.
  2. Create a design document: This should include:
    • The problem you’re solving and the requirements.
    • Your approach to solving the problem.
    • The challenges you faced and how you overcame them.
    • How the project works (data models, algorithms, and why you chose them).
    • Deployment details and how to set it up.
    • Testing strategies (types of tests you wrote).
    • The tech stack you used.
  3. Publish your project:
    • Record a short demo (max 5 minutes) showing the project in action. Upload this demo to YouTube, then reference it in GitHub.
    • Ensure all project files, including code, documentation, and any additional resources, are available on GitHub.

Here is what I did: https://www.linkedin.com/in/rustam-z/details/projects/

Here are the project ideas: 🌱Coding project ideas for learning & leveling up programming skills

Step 3: Apply

Resume, Cold outreach template. Referral networking, interview preparation pipelines (DSA + System Design + STAR behavioral), take-home project best practices.

Create a resume, read my notes on creating resumes.

Cracking MAANG: How to write resume?Cracking MAANG: How to write resume?

Use any opportunity you have; create the opportunity if you don’t have it (how? Hackathon, competitions).

Join local tech communities, attending meetups, and asking engineers for 15-minute informal chats/referrals.

Modern recruiters often look for direct value propositions. While messaging something reference something specific about the engineering team's current stack or tech blog post.

So, when you're confident, write a resume — including the projects you've completed as part of your experience — and start applying for jobs. Grow your network, participate in tech events to meet new people and show yourself, and prove your experience with your GitHub. Use the template below, created by Jahongir Rakhmonov, when reaching out to recruiters or engineers:

Hello,

My name is <NAME>, and I am an entry-level Software Engineer. My primary focus is on backend development, and I have worked on the following projects:

1. Rockets Game – A solo game where you avoid obstacles by dodging them or destroying them with your rockets.

2. E-Commerce – An online shop where people can buy groceries. It also includes a full-featured admin panel for managing all aspects of the store.

3. Telegram Bot – A bot that allows users to order groceries using the APIs of the e-commerce project mentioned above.

I am interested in an entry-level position at your company. While my current expertise is primarily in Python and its ecosystem, I am eager to learn new technologies. I am open to learning Java (or any other language) if that is what your company uses.

I am confident that I will grow quickly and contribute to your company's success in the near future.

SuperMade with Super