My Master Roadmap

Software Engineer → Security Engineer → AI Security Engineer

Build deep software and systems knowledge, learn how systems fail, and apply that knowledge to secure applications, infrastructure, and AI-enabled systems.

Primary goal

Become a capable security engineer who can design, build, test, and secure real systems, including AI applications and agents.

Career strategy

Pursue Software Engineering, Application Security, Cloud Security, Security Engineering, and AI Security opportunities as your skills and evidence support them.

Operating principle

Learn a concept → implement it → test it → attack it → fix it → document it → publish the evidence.

1. The rules that keep you focused

These rules are part of the plan, not optional extras.

  1. One primary learning phase at a time. You can maintain your existing software engineering responsibilities, but don't run several major courses in parallel.

  2. Every phase produces evidence. A course completion certificate is not the definition of progress.

  3. Books are references, not obligations. Read the sections needed to understand and implement the work.

  4. Labs beat passive consumption. Spend substantial time writing code, debugging, testing, and investigating failures.

  5. Don't collect technologies. Learn a tool when it helps you understand a principle, build a project, or meet a real job requirement.

  6. Apply for opportunities before you finish the curriculum. You do not need to wait 18 months to start applying.

  7. Don't restart the plan because of a new idea. Put new ideas in a backlog and review them at a scheduled checkpoint.

  8. Use AI as an accelerator, not a substitute for understanding. You must be able to explain, debug, test, and defend the code you ship.

Definition of done for every phase

2. The complete 18-month curriculum

Stage 1 — Programming and computer systems

Months 1–3 · C, memory, operating systems, Linux

Establish the foundations that make you better at understanding software failures and security boundaries.

Stage 2 — Automation and infrastructure programming

Months 4–5 · Python and Go

Build practical tools, network services, automation, and security infrastructure.

Stage 3 — Networking, identity and cryptography

Months 6–7 · Protocols, authentication, authorization

Understand how applications communicate, establish trust, and enforce access.

Stage 4 — Application and systems security

Months 8–10 · Web security, vulnerability research

Learn to find, explain, reproduce, and remediate real vulnerabilities.

Stage 5 — Cloud, DevSecOps and threat modeling

Months 11–12 · AWS, containers, CI/CD

Learn to deploy and operate systems with defensible security controls.

Stage 6 — AI engineering and AI security

Months 13–16 · LLMs, RAG, agents, security controls

Build AI systems and learn how to test and secure their data flows, tools, and permissions.

Stage 7 — AI red teaming, research and portfolio

Months 17–18 · Evaluation, reporting, professional evidence

Demonstrate that you can evaluate AI security problems methodically and communicate defensible findings.

3. Phase-by-phase plan

Phase 0 — Environment and workflow

Week 1

Foundation

Objective: establish a repeatable learning and engineering workflow without wasting time configuring tools you already know.

Resources

Work to complete

Deliverable: a usable workspace and a short document describing your workflow.

Since you already have Linux, Git, and Neovim experience, don't spend the week relearning basic tooling. Finish the setup quickly and move on.

Phase 1 — C and computer science fundamentals

Weeks 2–8

Current main learning phase

Objective: understand memory, data representation, pointers, processes, and the programming mistakes that create security vulnerabilities.

Primary resources

Use the C-focused material from CS50, particularly its work on algorithms, memory, data structures, and debugging. Do not feel obliged to complete unrelated material merely to claim completion.

Learn

Tools

Build: Unix utilities and a mini shell

Implement simplified versions of:

Then build a small shell that supports commands, arguments, cd, pipes, redirection, and eventually background processes.

Understand fork(), exec(), wait(), pipe() and dup2() rather than merely copying an implementation.

Security exercises

Deliverable: a tested C repository with a mini shell, design notes, debugging examples, and a security lessons document.

Definition of done: you can explain pointers and memory ownership, debug a crash, and trace how a shell launches a process.

Phase 2 — Operating systems and Linux internals

Weeks 9–12

Objective: understand what happens below an application and how operating-system boundaries affect security.

Primary resources

Study in this order

  1. Processes, system calls, and context switching.

  2. Virtual memory and page tables.

  3. Traps, interrupts, and privilege boundaries.

  4. Copy-on-write and memory isolation.

  5. Locks, concurrency, and race conditions.

  6. File systems and file permissions.

Practical work

Deliverable: a systems notebook containing diagrams, experiments, and explanations of process isolation, memory protection, and synchronization.

Do not publish course solutions as your own portfolio work. Your original experiments and explanations are the evidence.

Phase 3 — Python for security automation

Month 4

Objective: become productive at automating investigations, testing, and repetitive security work.

Resources

Learn

Build a sec-toolkit

  1. TCP port scanner for authorized targets.

  2. DNS lookup and enumeration tool.

  3. HTTP security-header checker.

  4. TLS certificate inspection tool.

  5. Log analyzer.

  6. Report generator.

Quality requirements

Deliverable: a reusable Python toolkit with tests and example reports.

Phase 4 — Go for security infrastructure

Month 5

Objective: write maintainable, concurrent tools and services suitable for infrastructure and security engineering.

Resources

Learn

Build

Security emphasis: timeouts, cancellation, resource limits, input validation, race detection, fuzzing, and safe error handling.

Deliverable: a tested Go service and a separate concurrent tool, with benchmarks or profiling where useful.

Don't learn Go merely to add another language to your CV. Learn to use it to build software whose behavior you understand under concurrency and failure.

Phase 5 — Networking and protocol security

Month 6

Objective: understand the communication paths attackers exploit and defenders must protect.

Primary resource

Learn

Tools

Wireshark, tcpdump, curl, dig, ss, ip, and netcat.

Build: a client-server service using TLS, authentication, authorization and audit logging.

Experiments

Deliverable: a networked application, packet captures, and a protocol explanation.

You can start using these networking concepts during earlier phases; this month consolidates them rather than prohibiting earlier exposure.

Phase 6 — Authentication, authorization and cryptography

Months 6–7

Objective: understand how systems establish identity, decide what identities can do, and protect data.

Resources

Authentication

Authorization

Cryptography

Build: a small application with registration, secure sessions, role-based access, object-level authorization, digital signatures, and audit logs.

Then attack your own implementation.

Deliverable: working software plus an authentication and authorization test suite and a cryptography design note.

Never invent your own production cryptographic protocol. Learn the underlying concepts, then use established libraries and vetted protocols.

Phase 7 — Application security

Months 8–9

First major security specialization

Objective: learn to assess real web applications and APIs systematically.

Primary resource

Study priority

  1. HTTP, Burp Suite, encoding, and request manipulation.

  2. SQL injection.

  3. Authentication and session weaknesses.

  4. Access control, IDOR/BOLA, and privilege escalation.

  5. Path traversal, command injection, and information disclosure.

  6. File-upload security, SSRF, and XXE.

  7. Business logic flaws and API security.

  8. XSS, CSRF, CORS and browser security.

  9. JWT and OAuth weaknesses, race conditions, and more advanced topics.

Use these references alongside the labs:

Main project: VeriDoc security assessment

VeriDoc is an existing project in your software engineering portfolio. Instead of immediately building another generic application, use it to demonstrate that you can review a real system from both an engineering and security perspective.

Create a dedicated assessment repository or directory containing:

Investigate

Important: verify each finding through tests or reproducible evidence. A suspected weakness is not a confirmed vulnerability. Record the impact, reproduction steps, remediation, and retest results.

Deliverable: a professional security assessment with prioritized findings, remediation patches, regression tests, and a clear account of the assessment's scope and limitations.

This is where your software engineering background starts producing security-specific evidence. It does not replace the C, operating-systems, or networking phases.

Phase 8 — Systems security and vulnerability research

Months 9–10

Objective: develop a deeper understanding of how implementation errors become exploitable behavior.

Resources

Prioritize

Build: a controlled vulnerability lab containing small vulnerable programs, reproduction steps, root-cause explanations, mitigations, and fixed versions.

Deliverable: several complete vulnerability case studies following this sequence:

Vulnerable code → Reproduction → Root cause → Impact → Mitigation → Regression test

Keep the experiments in controlled environments. The goal is understanding vulnerability mechanics and defenses, not accumulating exploit tricks.

Phase 9 — Cloud security

Month 11

Objective: deploy and secure a real application in the cloud.

Start with AWS only. Do not divide your attention across multiple cloud providers at this stage.

Learn

Build: deploy an application with:

Deliverable: deployment documentation, architecture diagram, IAM policy review, threat model, and evidence that the controls work.

Use a budget limit and clean up unused resources. Cloud experiments can create unexpected charges.

Phase 10 — Docker, CI/CD and DevSecOps

Month 12

Objective: incorporate security checks into the software delivery process.

Learn

Tools to become familiar with

Build: a GitHub Actions pipeline that runs tests, static analysis, dependency checks, secret scanning, container builds, and image scanning before deployment.

Deliverable: a working CI pipeline with documented failure conditions and examples of vulnerabilities the checks can catch.

Do not treat green pipeline badges as proof that an application is secure. Explain the coverage and limitations of each check.

Phase 11 — Threat modeling

Month 12

Objective: reason about security before implementation and testing.

Learn

Create threat models for

  1. VeriDoc.

  2. Your cloud-hosted application.

  3. A retrieval-augmented generation (RAG) application.

  4. A tool-using AI agent.

For each, document assets, trust boundaries, threats, existing controls, gaps, mitigations, and residual risk.

Deliverable: four threat models that demonstrate how the same security reasoning applies to conventional software and AI-enabled systems.

Phase 12 — AI engineering fundamentals

Months 13–14

Objective: understand enough AI engineering to build and test the systems you eventually want to secure.

Primary resource

Learn

You do not need to become a machine-learning researcher before starting AI security. Learn the mathematical and ML concepts needed to understand the behavior and limitations of the systems you build.

Build: a secured RAG application with:

Deliverable: a working application, architecture diagram, threat model, test suite, and security evaluation.

Avoid spending this phase building yet another generic chat-with-PDF demo. The permissions, retrieval behavior, and security testing are what make this project relevant to your target specialization.

Phase 13 — AI and LLM security

Months 14–15

Core specialization

Objective: understand how AI-specific failure modes interact with ordinary software and infrastructure vulnerabilities.

Reference material

Use the relevant current editions when you begin this phase; these resources evolve, so do not freeze the curriculum around an older list.

Learn and test

Build: a deliberately vulnerable AI agent that uses tools in a controlled environment. Give it a limited set of capabilities, such as reading files, querying a test database, or making restricted HTTP requests.

Then test whether adversarial inputs can cause unauthorized actions or data disclosure.

Deliverable: a set of reproducible attack cases, security tests, mitigations, and an evaluation report.

The central principle: a model's instruction-following behavior is not an authorization boundary. Enforce permissions and security policy in ordinary software.

Phase 14 — Agent Security Gateway

Months 15–16

Objective: turn your AI security knowledge into a concrete security engineering project.

Build an Agent Security Gateway, preferably in Go, that mediates between an AI agent and its tools.

AI agent

Requests a tool action

Identity and policy engine

Checks identity, tool, arguments, permissions and context

Allow

Execute an authorized action

Deny

Reject and record the request

Conceptual architecture; implementation and enforcement tests are part of the project.

Implement

Test

Deliverable: a working gateway, policy tests, a threat model, architecture documentation, and a demonstration of attacks blocked and allowed actions correctly executed.

Be precise about the claim: the gateway enforces specific controls and reduces defined risks. It does not eliminate prompt injection or guarantee that an AI agent is safe.

Phase 15 — AI red teaming and security evaluation

Month 16–17

Objective: build a repeatable framework for testing AI-enabled systems rather than relying on a handful of manual prompts.

Resource

Build a test framework with

Test direct and indirect prompt injection, unauthorized tool use, data disclosure, malicious retrieved content, and policy bypass attempts.

Deliverable: a red-team test suite that can run against both the vulnerable agent and the protected version.

Measure results and document the test environment, assumptions, limitations, false positives, and false negatives. A test suite is evidence of evaluation coverage, not proof that all possible attacks have been prevented.

Phase 16 — AI security research

Month 17

Objective: demonstrate that you can investigate a narrow security question with a defensible methodology.

Resource

Choose one small research question, such as:

How effectively do different controls reduce indirect prompt-injection attacks against tool-using agents in a defined test environment?

Research process

  1. Define the question and scope.

  2. Establish a baseline system.

  3. Build a repeatable attack dataset.

  4. Implement one or more defensive controls.

  5. Run the same tests against each configuration.

  6. Record results and analyze failures.

  7. Explain limitations and threats to validity.

  8. Publish the methodology, test cases, and findings.

Deliverable: a concise research report and reproducible code.

Do not begin with a broad claim such as “solving prompt injection.” A narrow question with clear experiments is more credible than an ambitious claim without convincing evidence.

Month 18

Ship

Objective: turn your work into professional evidence and use it to pursue opportunities.

Your portfolio should tell one coherent story: a software engineer who understands systems, builds tools, assesses security, and can test and secure AI-enabled applications.

Target portfolio

人手不足50.6%が4年連続半数超|飲食・宿泊は改善、情報サービスは高止まり【帝国データバンク2026年4月調査】 | AIとDXの専門家があなたの事業を加速する - GXO

  1. VeriDoc security assessment

Demonstrates application security, threat modeling, access-control testing, cryptographic reasoning, remediation, and regression tests.

Lightweight Nmap Scanner.. Let's start by understanding what Nmap… | by Cecil Boamah-Mensah | Medium

  1. Python security toolkit

Demonstrates scripting, network analysis, automation, testing, and report generation.

Developing Go Apps With Docker | Docker

  1. Go security infrastructure

Demonstrates concurrency, network services, policy enforcement, and systems engineering.

DevSecOps Architecture: CI/CD Pipeline with Security Gates | Harshan Mv posted on the topic | LinkedIn

  1. Cloud and DevSecOps system

Demonstrates least privilege, secure deployment, CI/CD checks, monitoring, and operational security.

  1. AI security platform

Demonstrates a vulnerable agent, a security gateway, red-team tests, and a documented evaluation.

These are five connected projects, not five unrelated applications. Some are extensions of the same system, and that is intentional.

Each major repository should include

At this stage, update your CV, GitHub, LinkedIn, and adnanilyas.dev to reflect demonstrated capability. Don't wait until Month 18 to begin applying.

4. The 18-month execution calendar

This is the month-by-month sequence. Use it to determine your current phase, not as a reason to rush through material you do not understand.

Month Primary focus Required evidence
1 C fundamentals and developer workflow Small C programs, build workflow
2 Memory, data structures, Unix utilities Tested Unix utilities
3 Operating systems and xv6 Systems experiments and mini shell
4 Python sec-toolkit
5 Go Concurrent scanner and network service
6 Networking TLS client-server application
7 Identity, authorization, cryptography Secure application and test suite
8 Application security labs Completed labs and findings
9 VeriDoc security assessment Findings, fixes and regression tests
10 Systems security Vulnerability case studies
11 AWS security Secure cloud deployment
12 Docker, CI/CD, threat modeling Security pipeline and threat models
13 AI engineering Basic AI application and evaluation
14 RAG and AI application security Permission-aware RAG system
15 Vulnerable agent and AI attacks Reproducible attack cases
16 Agent Security Gateway Enforced policies and tests
17 Red teaming and research Test framework and small research report
18 Portfolio and career consolidation Polished evidence and active applications

Reality check: the timeline assumes consistent effort and is not a promise that mastery arrives on schedule. Some phases may take longer. Do not move on simply because the calendar says so; move on when you can meet the phase's definition of done. If you have a relevant job opportunity earlier, prioritize the skills and evidence needed for that opportunity.

5. Your weekly operating schedule

Target 15–20 focused hours per week if your other responsibilities allow it.

Monday

2 hours

Course or textbook

Understand one defined concept

Tuesday

2 hours

Labs and experiments

Reproduce the concept in practice

Wednesday

2 hours

Programming

Implement a working component

Thursday

2 hours

Testing and security

Find failures and explain them

Friday

2 hours

Project integration

Make the project more complete

Saturday

4–6 hours

Deep work

Finish a substantial feature or experiment

Sunday

1–2 hours

Review and documentation

Record evidence and choose next week's task

You do not need to follow these exact days if your schedule differs. Preserve the balance between learning, implementation, testing, and documentation.

Your weekly review

Answer these questions every Sunday:

If you cannot point to an artifact, test, implementation, or written explanation, be honest about whether the week produced meaningful progress.

6. What you should deliberately postpone

These are not necessarily bad technologies or activities. They are lower priority for your current plan.

Topic Decision Reason
Multiple cloud providers Postpone Learn one provider deeply first
Kubernetes Postpone Learn containers and deployment security first
Deep ML mathematics Selective Learn what your chosen AI work requires
Every AI framework Skip for now Focus on transferable concepts
Generic chatbot projects Avoid Weak differentiation for AI security
Large, unstructured CTF grind Limit Prefer labs tied to specific learning goals
Bug bounty as your main education Avoid It can be useful, but it is not a complete curriculum
Collecting certifications Low priority Skills and evidence come first
Repeatedly rebuilding your roadmap Stop It consumes time without improving capability
Learning new languages for their own sake Stop Each language needs a concrete purpose

Terraform, Kubernetes, MCP, additional cloud platforms, and certifications can enter the plan when a project or a credible job requirement justifies them.

7. Career strategy: don't wait until the curriculum ends

Your target is AI Security / Security Engineering, but you should keep adjacent roles open. Job titles vary, and the best entry point depends on your demonstrated skills and available opportunities.

Role family Evidence to build
Software Engineer / Backend Engineer Architecture, API design, databases, testing, reliability, production-quality code
Application Security Engineer Threat models, web security findings, authorization testing, remediation, secure development
Security Engineer Security tooling, automation, systems knowledge, logging, policy enforcement
Cloud Security / DevSecOps IAM, secure deployments, CI/CD controls, infrastructure security
AI Security Engineer AI threat models, agent permission controls, prompt-injection testing, evaluations and security tooling

Start reviewing actual job postings early. Track the recurring requirements, then compare them with your current evidence. Adjust your CV and build work that closes important gaps; do not assume every advertised requirement deserves equal study time.

Your strongest professional positioning will come from connecting your software engineering ability to demonstrable security work—not from claiming expertise in every area before you have evidence.

8. What to do right now

The immediate plan is intentionally much smaller than the entire curriculum.

Your current execution checklist

0 of 6

Freeze the master roadmap

Save this plan as the current version. Record new ideas in a backlog instead of changing phases.

Complete the Phase 0 setup

Verify your development environment and create your learning workspace. Skip tooling you already know.

Start the C-focused CS50 material

Begin with fundamentals and work through the exercises yourself.

Practice C outside the lectures

Write small programs, compile with warnings, debug failures, and use sanitizers.

Start the Unix utilities project

Begin with mycat, then add tests and error handling before moving to the next utility.

Write a weekly progress note

Record what you implemented, what failed, what you learned, and the next concrete task.

Your first 90 days

Days 1–30: finish the necessary environment setup, work through C fundamentals, and build small programs.

Days 31–60: focus on pointers, memory, algorithms, data structures, debugging, and the Unix utilities project.

Days 61–90: focus on operating systems and xv6, deepen your understanding of processes and system calls, and complete the mini shell to a reasonable standard.

These are targets, not excuses to rush. If you are struggling with memory management or process behavior, spend the time to understand them.

9. The standing rule for future decisions

When you encounter a new course, technology, project idea, security specialization, or career opportunity, ask:

  1. Does it directly support the current phase or a real opportunity?

  2. Will it improve a skill I can demonstrate?

  3. Will it produce evidence that is stronger than what I already have?

  4. What must I postpone to make room for it?

If the idea does not have a compelling answer, put it in the backlog.

We can revisit the roadmap at the end of each phase, or earlier when meaningful new evidence appears. We should not redesign it every time you read an interesting article or discover a new AI security tool.

The immediate priority is Phase 0 followed by Phase 1: C, memory, debugging, and the Unix utilities project. VeriDoc remains an important existing project to assess during the application-security phase. It is not a reason to abandon the curriculum or switch your primary focus today.

Your objective is to reach the end of these 18 months with substantially stronger engineering ability, credible security work, a coherent portfolio, and active professional opportunities—not merely a completed list of courses.