DEV Community

## Skills Required to Become a Cyber Security Professional: A Developer’s Hands‑On Roadmap

Skills Required to Become a Cyber Security Professional: A Developer’s Hands‑On Roadmap

If you’re a developer eyeing cyber security, you don’t need to start from zero. You already speak code, understand systems, and can automate. This tutorial turns those strengths into a practical, project‑driven path to become a security professional—complete with labs, GitHub examples, and troubleshooting tips you can actually use. eccu
 Developer working on cybersecurity skills with code, security logs, and network diagram on a dark-themed laptop screen.


Why This Guide Is Different

Most “skills” lists read like job descriptions. This one is built for builders. You’ll:

  • Map your dev skills to security roles
  • Set up a home lab that doesn’t break your laptop
  • Ship small, portfolio‑ready projects each week
  • Learn the exact tools hiring managers in Bangalore and beyond look for in 2026

We’ll keep marketing out of it. No “guaranteed placement.” Just the work.


Step 1 — Pick Your Security Lane (Based on Your Dev Superpowers)

Cyber security isn’t one job. It’s a family of roles. As a developer, some paths will feel natural.

If you enjoy… Try this role Why it fits devs Starter project idea
Building APIs, debugging auth flows AppSec / Secure Code Review You already read code and think in edge cases Add security headers, fix OWASP Top 10 in a sample app
Infrastructure, Docker, CI/CD DevSecOps / Cloud Security You automate deploys and care about pipelines Build a GitHub Actions pipeline with SAST, SCA, secret scanning
Networks, logs, “what happened?” SOC Analyst / Detection Engineering You like tracing requests and reading logs Spin up a SIEM lab, write detections for SSH brute force
Breaking things (ethically) Penetration Tester / Red Team You love finding why code fails under weird input Run a local vulnerable app, document findings, propose fixes

Pick one lane for the next 8–12 weeks. You can pivot later, but focus wins. certcompass


Step 2 — Set Up Your Security Lab (Without Wrecking Your Machine)

You need a safe place to break things. Here’s a minimal, repeatable setup.

Prerequisites

  • A laptop with at least 16 GB RAM (8 GB works, but 16 is smoother)
  • Virtualization enabled in BIOS
  • ~40 GB free disk

Install the Core Stack

  1. Virtualization

    • Install VirtualBox or VMware Workstation Player.
    • Create two VMs:
      • kali-linux (attacker)
      • ubuntu-server (target)
  2. Networking

    • Set both VMs to “Host‑only Adapter” so they can talk to each other but not your home network.
    • Note their IPs (e.g., 192.168.56.101, 192.168.56.102).
  3. Target App

    On ubuntu-server, deploy a deliberately vulnerable app for practice:

   # On ubuntu-server VM
   sudo apt update
   sudo apt install -y docker.io docker-compose
   sudo systemctl enable --now docker

   # Clone a vulnerable app (e.g., OWASP Juice Shop)
   git clone https://github.com/juice-shop/juice-shop.git
   cd juice-shop
   docker-compose up -d
Enter fullscreen mode Exit fullscreen mode

Access it from Kali at http://<ubuntu-ip>:3000. github

  1. SIEM Option (for SOC path) If you’re leaning SOC/detection, spin up a lightweight SIEM in another VM or container (e.g., Wazuh or Elastic Security). Many Bangalore training programs now include SIEM labs because it’s a core 2026 skill. tutorsbot

Troubleshooting tip: If Docker containers won’t start inside the VM, ensure nested virtualization is allowed (for VMware: virtualhw.version = "19" and vhv.enable = "TRUE" in .vmx).


Step 3 — Build the Core Skills (With Code, Not Just Theory)

You don’t need to memorize every RFC. You do need working fluency in a few areas. Treat each as a mini‑project.

3.1 Networking Fundamentals (Dev‑Style)

You already call APIs. Now see how packets move.

Exercise: Map an HTTP request to TCP/IP layers.

  1. On Kali, install tcpdump and wireshark (GUI optional).
  2. From Kali, hit the Juice Shop:
   curl -v http://<ubuntu-ip>:3000
Enter fullscreen mode Exit fullscreen mode
  1. In another terminal, capture traffic:
   sudo tcpdump -i any -n host <ubuntu-ip> and port 3000 -w js-shop.pcap
Enter fullscreen mode Exit fullscreen mode
  1. Open js-shop.pcap in Wireshark. Identify:
    • Ethernet → IP → TCP → HTTP
    • Source/dest ports, sequence numbers, SYN/ACK handshake

Why this matters: Network fluency is non‑negotiable for security roles in 2026, from SOC to pentesting. scaler


3.2 Linux & Scripting for Security

Most servers run Linux. Most security tooling is CLI‑first.

Exercise: Write a Python script to parse auth logs and flag suspicious IPs.

On ubuntu-server:

# Simulate some SSH logs (or use /var/log/auth.log if SSH is enabled)
sudo apt install -y openssh-server
# Generate some failed logins from Kali:
# ssh nonexist@<ubuntu-ip> (repeat with wrong password)
Enter fullscreen mode Exit fullscreen mode

Python script (log_analyzer.py) on Kali or your host:

import re
from collections import Counter

LOG_FILE = "auth.log"  # copy from ubuntu-server if needed

FAILED_PATTERN = re.compile(r"Failed password for .* from (?P<ip>\d+\.\d+\.\d+\.\d+)")

def analyze_log(path: str, threshold: int = 5):
    ips = []
    with open(path) as f:
        for line in f:
            m = FAILED_PATTERN.search(line)
            if m:
                ips.append(m.group("ip"))
    counts = Counter(ips)
    suspects = [ip for ip, c in counts.items() if c >= threshold]
    return suspects

if __name__ == "__main__":
    suspects = analyze_log(LOG_FILE)
    if suspects:
        print("🚨 Suspicious IPs:")
        for ip in suspects:
            print("-", ip)
    else:
        print("No obvious brute-force patterns found.")
Enter fullscreen mode Exit fullscreen mode

Run:

python log_analyzer.py
Enter fullscreen mode Exit fullscreen mode

Extend it:

  • Output JSON for a SIEM ingest
  • Add a simple alert (email/Slack webhook) when threshold is crossed

This is exactly the kind of automation SOC and detection engineers build. jobaajlearnings


3.3 Secure Coding & OWASP Top 10 (AppSec Path)

You don’t need to be a crypto expert, but you must stop common mistakes.

Exercise: Harden a small Node/Express app against OWASP Top 10 issues.

Sample app.js:

const express = require("express");
const helmet = require("helmet");
const rateLimit = require("express-rate-limit");
const { body, validationResult } = require("express-validator");

const app = express();
app.use(express.json());
app.use(helmet()); // Security headers

// Rate limit login attempts
const loginLimiter = rateLimit({
  windowMs: 15 * 60 * 1000, // 15 minutes
  max: 5, // 5 attempts
  message: "Too many login attempts, try again later.",
});

app.post(
  "/login",
  loginLimiter,
  body("email").isEmail().normalizeEmail(),
  body("password").isLength({ min: 8 }),
  (req, res) => {
    const errors = validationResult(req);
    if (!errors.isEmpty()) {
      return res.status(400).json({ errors: errors.array() });
    }
    // TODO: real auth logic here (with hashed passwords, not plaintext!)
    res.json({ ok: true });
  }
);

app.listen(3001, () => console.log("Secure-ish app on http://localhost:3001"));
Enter fullscreen mode Exit fullscreen mode

Key practices embedded:

  • Input validation with express-validator
  • Security headers via helmet
  • Rate limiting to slow brute force
  • Server‑side validation only (no trusting the frontend)

Common dev mistakes this avoids: trusting user input, missing security headers, no rate limiting, and weak auth patterns. datacentre

Troubleshooting:

  • If helmet breaks your app (e.g., CORS issues), configure it selectively:
  app.use(helmet({ crossOriginResourcePolicy: false }));
Enter fullscreen mode Exit fullscreen mode
  • If rate limiting feels too strict in dev, increase max or whitelist your IP.

3.4 Cloud & DevSecOps Basics (If You Like Pipelines)

Cloud security is a default requirement in 2026 roles. You don’t need multi‑cloud mastery; start with one provider and CI/CD security. ascentcourses

Exercise: Add security checks to a GitHub Actions pipeline.

.github/workflows/ci-security.yml:

name: CI with Security Gates

on:
  push:
    branches: [main]
  pull_request:

jobs:
  build-and-scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: "20"

      - name: Install deps
        run: npm ci

      - name: SAST (CodeQL)
        uses: github/codeql-action/init@v3
        with:
          languages: javascript
      - uses: github/codeql-action/analyze@v3

      - name: Dependency scan (npm audit)
        run: npm audit --audit-level=high

      - name: Secret scan (truffleHog example)
        run: |
          pip install truffleHog
          trufflehog filesystem . --regex --entropy=False --fail
Enter fullscreen mode Exit fullscreen mode

This pipeline:

  • Runs static analysis (CodeQL)
  • Blocks high‑severity vulnerable dependencies
  • Scans for accidentally committed secrets

Common errors & fixes:

  • trufflehog fails on false positives: add .trufflehog.yml to ignore known safe patterns.
  • CodeQL seems slow on first run: that’s normal; subsequent runs are faster due to caching.

This is the kind of “DevSecOps” skill many Bangalore teams now expect alongside basic cloud knowledge. devopstraininginstitute


Step 4 — Turn Skills Into Portfolio Projects (GitHub‑Ready)

Hiring managers want evidence, not just certificates. Ship small, focused repos with clear READMEs.

Project Ideas by Path

AppSec / Secure Code

  • Repo: secure-express-starter
    • Express template with helmet, rate limiting, input validation, CSP, and secure cookie flags.
    • README: “How I hardened this app against OWASP Top 10.”
    • Link to a short blog post explaining each control. dev

SOC / Detection Engineering

  • Repo: ssh-bruteforce-detection-lab
    • Terraform or manual steps to spin up a Linux VM.
    • Log collection config (e.g., Wazuh agent or Elastic agent).
    • KQL/Sigma rules to detect repeated failed SSH logins.
    • Screenshots of alerts and a simple dashboard. linkedin

DevSecOps / Cloud Security

  • Repo: ci-security-gates-node
    • Sample Node app + GitHub Actions pipeline with SAST, SCA, secret scanning.
    • A “Security.md” explaining each gate and how to tune it.
    • Optional: add container scanning (Trivy) if you Dockerize the app. devopstraininginstitute

Penetration Testing (Ethical)

  • Repo: juice-shop-findings
    • Document 5–10 vulnerabilities you found in a local vulnerable app.
    • For each: description, steps to reproduce, impact, and remediation.
    • Emphasize responsible, lab‑only testing. github

Structure each repo like this:

repo/
  README.md        # What, why, how to run, what you learned
  docs/            # Architecture diagrams, threat model (optional)
  src/             # Code, configs, rules
  scripts/         # Automation (log parser, scan wrappers)
  SECURITY.md      # How you approached security
Enter fullscreen mode Exit fullscreen mode

Aim for 3–4 solid repos over 2–3 months. That’s enough to show range without burning out.


Step 5 — Learn the Tools That Actually Show Up in Jobs

You don’t need every tool, but you should be comfortable with a few in each category.

Category Starter tools Why they matter
SIEM / Log analysis Wazuh, Elastic Security, Azure Sentinel (labs) Core for SOC and incident response roles cambridgeinfotech
Vulnerability scanning OWASP ZAP, Burp Community, Trivy (containers) AppSec and DevSecOps basics
Network analysis Wireshark, tcpdump, Nmap Understand traffic, services, and exposure scaler
Secure coding ESLint + security plugins, CodeQL, Semgrep Catch issues before merge
Secrets management dotenv (dev), AWS Secrets Manager / Vault (prod concepts) Stop API keys in code dev

Practical exercise: Pick one tool per week. Install it in your lab, run it against your target app or VM, and write a 300–500 word note: what it found, what was noise, how you’d tune it.


Step 6 — Fix the Common Errors Developers Hit in Security

These show up again and again in 2026 code reviews and breach post‑mortems.

1) Trusting User Input

Mistake: Validating only in the frontend or assuming “my users won’t do that.”

Fix:

  • Validate on the server with schemas (e.g., Zod, Pydantic, express-validator).
  • Reject unexpected fields; don’t silently ignore them. appsecengineer

2) Hardcoding Secrets

Mistake: API keys, DB passwords, and tokens in source code or .env committed to Git.

Fix:

  • Use environment variables; add .env to .gitignore.
  • For production, use a secrets manager (AWS Secrets Manager, Vault, Doppler).
  • Rotate any key that ever touched Git history. dev

3) Weak Password Storage

Mistake: Storing plaintext passwords or using MD5/SHA1.

Fix:

  • Use bcrypt or Argon2id with a proper work factor.
  • Never design your own crypto. skillstuff

4) No HTTPS / Missing Security Headers

Mistake: Running HTTP in prod, or ignoring headers like HSTS, CSP.

Fix:

  • Enforce HTTPS (Let’s Encrypt + redirect).
  • Set Strict-Transport-Security, Content-Security-Policy, etc. (Helmet makes this easy). dev

5) Client‑Only Authorization

Mistake: Hiding buttons in the UI and calling that “security.”

Fix:

  • Enforce authorization on the server for every resource access.
  • Use RBAC/ABAC and deny‑by‑default logic. datacentre

Troubleshooting pattern: When you’re unsure, ask: “If I curl this endpoint directly, without the frontend, is it still safe?” If not, fix it.


Step 7 — Performance Tips: Learn Faster Without Burning Out

You’re not trying to know everything. You’re trying to be useful, quickly.

  • Timebox labs: 60–90 minutes, then stop. Consistency beats marathons.
  • One concept, one project: Don’t learn “networking” in abstract; learn it by capturing and analyzing traffic for your vulnerable app.
  • Teach as you go: Write short posts (like this) or internal notes. Explaining forces clarity.
  • Reuse, don’t rebuild: Keep a “security snippets” repo: log parsers, Dockerfiles for labs, CI templates.
  • Focus on transferable skills: Scripting, reading logs, threat modeling, and secure design patterns pay off across roles. eccu

Step 8 — Troubleshooting Your Learning Path

“I don’t have time.”

  • Cut scope, not frequency. Two 45‑minute sessions per week beat one 6‑hour weekend crash.
  • Tie learning to your current work: add one security check to your team’s CI, or write a log parser for an app you already maintain.

“My laptop is slow.”

  • Use smaller VMs (1–2 GB RAM each).
  • Prefer containerized labs (Docker) over full VMs when possible.
  • Run only one heavy tool at a time (e.g., SIEM or Burp, not both).

“I’m lost in tools.”

  • Pick one path (AppSec, SOC, DevSecOps, or Pentest) and ignore the rest for 8 weeks.
  • For each tool, ask: “What problem does this solve?” If you can’t answer in one sentence, pause and read the docs’ “why” section first.

“I’m not sure if I’m improving.”

  • Measure output, not hours:
    • Number of labs completed
    • Number of security findings documented
    • Number of CI security gates added
  • Revisit your first repo after a month. You should see clearer READMEs, better structure, and fewer “copy‑paste” configs.

Step 9 — Learning Resources That Don’t Feel Like Marketing

Use these as references, not gospel. Combine with your own labs.

Foundations & Roadmaps

  • “Cybersecurity Career Path 2026 Guide” – role breakdowns, skills, certs unihackers
  • “Skills Required for Cybersecurity Jobs in 2026” – networking, cloud, IR, ethical hacking overview collegesimplified
  • “Developer to Cybersecurity: Realistic Transition Guide 2026” – timeline, specialization, portfolio advice certcompass

Hands‑On Projects & Labs

  • GitHub: CarterPerez-dev/Cybersecurity-Projects – 70 projects from beginner to advanced github
  • GitHub: aw-junaid/cybersec-projects – offensive/defensive tools and simulations github
  • TryHackMe / Hack The Box (free tiers) – guided labs for SOC, network analysis, and pentesting linkedin

Secure Coding & Mistakes

  • “5 Common Security Mistakes Developers Still Make (and How to Fix Them)” – practical Node/Express examples dev
  • “Top 9 Secure Coding Mistakes Developers Still Make” – patterns and checklists you can apply today appsecengineer
  • “10 Security Mistakes Developers Still Make in 2026” – server‑side validation, dependency hygiene, SDLC tips sapnasecurity

Local Context (Bangalore)

If you’re in Bengaluru and considering structured learning, look for programs that emphasize live labs, SIEM, cloud security, and OWASP Top 10 rather than just theory. Many local providers now advertise “cyber security course in bangalore” and “cyber security training in bangalore” with hands‑on components; evaluate them by syllabus and lab access, not just placement claims.
ascent


A Simple 12‑Week Plan (Developer Edition)

Adjust based on your chosen lane.

Weeks 1–2: Foundations + Lab

  • Set up VMs, vulnerable app, and basic networking captures.
  • Complete 2–3 beginner projects from a cybersecurity‑projects repo. github

Weeks 3–5: Core Skills

  • Networking + Linux scripting (log analyzer).
  • Secure coding: harden a small app against OWASP Top 10.
  • Start one tool deep dive (e.g., OWASP ZAP or Wazuh). scaler

Weeks 6–8: Specialization Sprint

  • AppSec: add SAST/SCA to CI, write secure coding guidelines for your team.
  • SOC: build a detection rule set for brute force and suspicious logins.
  • DevSecOps: container scanning, policy‑as‑code basics, secrets management patterns. linkedin

Weeks 9–12: Portfolio & Polish

  • Ship 2–3 GitHub projects with solid READMEs.
  • Write 2–3 short posts (Dev.to, LinkedIn, or internal wiki) explaining what you built and why it matters.
  • Map your experience to job descriptions; tailor your resume around projects, not just courses. eccu

Final Thought: You’re Already Closer Than You Think

Developers bring huge advantages to security: you can read code, automate boring tasks, and think in systems. The gap isn’t “knowing everything”; it’s directing that ability toward threats, logs, and failure modes.

Start small. Break something in your lab. Fix it. Document it. Repeat. That loop—more than any single course or certificate—is what turns a developer into a cyber security professional. eccu

If you want, tell me your current stack (language, cloud, typical apps), and I’ll sketch a customized 4‑week mini‑plan with specific repos and tools to use.

Top comments (0)