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
-
Virtualization
- Install VirtualBox or VMware Workstation Player.
- Create two VMs:
-
kali-linux(attacker) -
ubuntu-server(target)
-
-
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).
Target App
Onubuntu-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
Access it from Kali at http://<ubuntu-ip>:3000. github
- 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.
- On Kali, install
tcpdumpandwireshark(GUI optional). - From Kali, hit the Juice Shop:
curl -v http://<ubuntu-ip>:3000
- In another terminal, capture traffic:
sudo tcpdump -i any -n host <ubuntu-ip> and port 3000 -w js-shop.pcap
- Open
js-shop.pcapin 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)
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.")
Run:
python log_analyzer.py
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"));
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
helmetbreaks your app (e.g., CORS issues), configure it selectively:
app.use(helmet({ crossOriginResourcePolicy: false }));
- If rate limiting feels too strict in dev, increase
maxor 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
This pipeline:
- Runs static analysis (CodeQL)
- Blocks high‑severity vulnerable dependencies
- Scans for accidentally committed secrets
Common errors & fixes:
-
trufflehogfails on false positives: add.trufflehog.ymlto 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
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
.envto.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)