--- import GridItem from '../components/GridItem.astro'; import SimplePageHeader from '../components/SimplePageHeader.astro'; import BaseLayout from '../layouts/BaseLayout.astro'; import { getRoadmapsByTag } from '../lib/roadmap'; const groups = [ { group: 'Absolute Beginners', roadmaps: [ { title: 'Frontend Beginner', link: '/frontend?r=frontend-beginner', }, { title: 'Backend Beginner', link: '/backend?r=backend-beginner', }, { title: 'DevOps Beginner', link: '/devops?r=devops-beginner', }, { title: 'Full-Stack Developer', link: '/fullstack', }, ], }, { group: 'Languages / Platforms', roadmaps: [ { title: 'JavaScript', link: '/javascript', type: 'skill', }, { title: 'TypeScript', link: '/typescript', type: 'skill', }, { title: 'Node.js', link: '/nodejs', type: 'role', }, { title: 'C++', link: '/cpp', type: 'skill', }, { title: 'Go', link: '/golang', type: 'skill', }, { title: 'Rust', link: '/rust', type: 'skill', }, { title: 'Python', link: '/python', type: 'skill', }, { title: 'Java', link: '/java', type: 'skill', }, { title: 'SQL', link: '/sql', type: 'skill', }, ], }, { group: 'Web Development', roadmaps: [ { title: 'Frontend', link: '/frontend', type: 'role', }, { title: 'Backend', link: '/backend', type: 'role', }, { title: 'DevOps', link: '/devops', type: 'role', }, { title: 'Full Stack', link: '/full-stack', type: 'role', }, { title: 'QA', link: '/qa', type: 'role', }, { title: 'GraphQL', link: '/graphql', type: 'role', }, ], }, { group: 'Frameworks', roadmaps: [ { title: 'React', link: '/react', type: 'skill', }, { title: 'Vue', link: '/vue', type: 'skill', }, { title: 'Angular', link: '/angular', type: 'skill', }, { title: 'Spring Boot', link: '/spring-boot', type: 'skill', }, { title: 'ASP.NET Core', link: '/aspnet-core', type: 'skill', }, ], }, { group: 'Mobile Development', roadmaps: [ { title: 'React Native', link: '/react-native', type: 'skill', }, { title: 'Flutter', link: '/flutter', type: 'skill', }, { title: 'Android', link: '/android', type: 'skill', }, ], }, { group: 'Databases', roadmaps: [ { title: 'PostgreSQL', link: '/postgresql-dba', type: 'role', }, { title: 'MongoDB', link: '/mongodb', type: 'skill', }, ], }, { group: 'Computer Science', roadmaps: [ { title: 'Computer Science', link: '/computer-science', type: 'skill', }, { title: 'Data Structures', link: '/data-structures-and-algorithms', type: 'skill', }, { title: 'System Design', link: '/system-design', type: 'skill', }, { title: 'Design and Architecture', link: '/software-design-architecture', type: 'skill', }, { title: 'Software Architect', link: '/software-architect', type: 'role', }, { title: 'Code Review', link: '/code-review', type: 'skill', }, { title: 'Technical Writer', link: '/technical-writer', type: 'skill', }, ], }, { group: 'Machine Learning', roadmaps: [ { title: 'AI and Data Scientist', link: '/ai-data-scientist', type: 'skill', }, { title: 'MLOps', link: '/mlops', type: 'skill', }, { title: 'Prompt Engineering', link: '/prompt-engineering', type: 'skill', }, ], }, { group: 'Game Development', roadmaps: [ { title: 'Client Side Development', link: '/game-developer', type: 'skill', }, { title: 'Server Side Development', link: '/server-side-game-developer', type: 'skill', }, ], }, { group: 'Design', roadmaps: [ { title: 'UX Design', link: '/ux-design', }, { title: 'Design System', link: '/design-system', }, ], }, { group: 'DevOps', roadmaps: [ { title: 'DevOps', link: '/devops', }, { title: 'Docker', link: '/docker', }, { title: 'Kubernetes', link: '/kubernetes', }, { title: 'AWS', link: '/aws', }, ], }, { group: 'Blockchain', roadmaps: [ { title: 'Blockchain', link: '/blockchain', }, ], }, { group: 'Cyber Security', roadmaps: [ { title: 'Cyber Security', link: '/cyber-security', }, ], }, ]; const shownTitles = groups .map((group) => group.roadmaps.map((roadmap) => roadmap.title)) .flat() .concat([ 'Frontend Beginner', 'Backend Beginner', 'DevOps Beginner', 'Full-Stack Developer', 'Data Structures & Algorithms', 'Server Side Game Developer', 'Game Developer', ]); const roleRoadmaps = (await getRoadmapsByTag('role-roadmap')).filter( (roadmap) => !shownTitles.includes(roadmap.frontmatter.briefTitle), ); const skillRoadmaps = (await getRoadmapsByTag('skill-roadmap')).filter( (roadmap) => !shownTitles.includes(roadmap.frontmatter.briefTitle), ); const otherRoadmaps = roleRoadmaps.concat(skillRoadmaps); if (otherRoadmaps.length > 0) { groups.push({ group: 'Uncategorized', roadmaps: otherRoadmaps.map((roadmap) => ({ title: roadmap.frontmatter.briefTitle, link: roadmap.url, })), }); } ---

Developer Roadmaps

Browse ever-growing list of up-to-date, community driven roadmaps

Draw your own roadmap Generate Roadmap with AI

All Roadmaps { groups.map((group) => ( {group.group} )) }
{ groups.map((group) => (

{group.group}

{group.roadmaps.map((roadmap) => ( {roadmap.title} ))}
)) }