Data Science & Developer Roadmaps with Chat & Free Learning Resources

Software Engineer Roadmap

Before picking any programming language it is good to have a good understanding of the basics of programming and software developement. Most programming languages have quite some similarities but also some important differences that make these languages unique and more suitable for specific tasks and environments.

This roadmap covers the fundamentals of Software Engineering, Data Structures, Object-Orientated-Programming (OOP), Methologies and Deployement. Study this roadmap before moving to the Python Roadmap or Java Roadmap.

All boxes are clickable and provide you with AI-powered explanations and free learning resources. You can also chat with our 🤖 bot when you have any question about the topics on this roadmap.

Data Structures & AlgorithmsSyntax and SemanticsBasic Data StructuresArraysLinked ListsSoftware Development FundamentalsData Types and VariablesControl StructuresFunctionsAdvanced Data StructuresAlgorithmsStacksQueuesSorting and SearchingRecursionDynamic ProgrammingComplexity AnalysisOOPPrinciplesEncapsulationAbstractionDesign PatternsInheritancePolymorphismSoftware Development MethodologiesVersion ControlGitAgile MethodologyTestingCI/CDDevOps BasicsGitHubWebDevelopmentFrontend BasicsBackend BasicsAPIsWeb SecurityDatabasesRelational DatabasesNoSQL DatabasesDatabase DesignCloud DeploymentCloud ProvidersContainerizationServerless ArchitectureIDEs and EditorsPackage ManagersBuild ToolsDebugging ToolsChoose your language!