diff --git a/English/Graph/roadmap.graphml b/English/Graph/roadmap.graphml index aa07dfc..6e83b27 100644 --- a/English/Graph/roadmap.graphml +++ b/English/Graph/roadmap.graphml @@ -18,10 +18,10 @@ - + - C++ developer + C++ developer @@ -30,10 +30,10 @@ - + - Soft skills + Soft skills @@ -42,10 +42,10 @@ - + - Hard skills + Hard skills @@ -53,10 +53,10 @@ - + - At first, some of the skills may seem impossible to + At first, some of the skills may seem impossible to develop. However, we think differently. It is possible to work on each of the skills. Everything depends on your desire and internal blocks. Everything is individual, and @@ -68,10 +68,10 @@ it's up to you to decide. :) - + - Ability to learn + Ability to learn @@ -79,10 +79,10 @@ it's up to you to decide. :) - + - Manage mistakes + Manage mistakes @@ -90,10 +90,10 @@ it's up to you to decide. :) - + - Thinking + Thinking @@ -101,10 +101,10 @@ it's up to you to decide. :) - + - Responsibility + Responsibility @@ -112,10 +112,10 @@ it's up to you to decide. :) - + - Manage resources + Manage resources @@ -123,10 +123,10 @@ it's up to you to decide. :) - + - Communication + Communication @@ -134,10 +134,10 @@ it's up to you to decide. :) - + - Team work + Team work @@ -145,10 +145,10 @@ it's up to you to decide. :) - + - Emotional intelligence + Emotional intelligence @@ -156,10 +156,10 @@ it's up to you to decide. :) - + - Understanding the development context + Understanding the development context @@ -167,10 +167,10 @@ it's up to you to decide. :) - + - Customer focus + Customer focus @@ -178,10 +178,10 @@ it's up to you to decide. :) - + - Technology + Technology @@ -189,10 +189,10 @@ it's up to you to decide. :) - + - Trends + Trends @@ -200,10 +200,10 @@ it's up to you to decide. :) - + - Empathy + Empathy @@ -211,10 +211,10 @@ it's up to you to decide. :) - + - Concentration + Concentration @@ -222,10 +222,10 @@ it's up to you to decide. :) - + - Open-mindedness + Open-mindedness @@ -233,10 +233,10 @@ it's up to you to decide. :) - + - Adaptability + Adaptability @@ -244,10 +244,10 @@ it's up to you to decide. :) - + - Stress resistance + Stress resistance @@ -255,10 +255,10 @@ it's up to you to decide. :) - + - Working in uncertainty + Working in uncertainty @@ -266,10 +266,10 @@ it's up to you to decide. :) - + - Understanding the distribution of roles in a team + Understanding the distribution of roles in a team @@ -277,10 +277,10 @@ it's up to you to decide. :) - + - Support team members + Support team members @@ -288,10 +288,10 @@ it's up to you to decide. :) - + - Work in a distributed team + Work in a distributed team @@ -299,10 +299,10 @@ it's up to you to decide. :) - + - Providing feedback + Providing feedback @@ -310,10 +310,10 @@ it's up to you to decide. :) - + - Leadership + Leadership @@ -321,10 +321,10 @@ it's up to you to decide. :) - + - Mentoring + Mentoring @@ -332,10 +332,10 @@ it's up to you to decide. :) - + - Delegation + Delegation @@ -343,10 +343,10 @@ it's up to you to decide. :) - + - Assigning and clarifying tasks to employees + Assigning and clarifying tasks to employees @@ -354,10 +354,10 @@ it's up to you to decide. :) - + - Planning and goal setting + Planning and goal setting @@ -365,10 +365,10 @@ it's up to you to decide. :) - + - Negotiation + Negotiation @@ -376,10 +376,10 @@ it's up to you to decide. :) - + - English + English @@ -387,10 +387,10 @@ it's up to you to decide. :) - + - Presentation + Presentation @@ -398,10 +398,10 @@ it's up to you to decide. :) - + - Written communication skill + Written communication skill @@ -409,10 +409,10 @@ it's up to you to decide. :) - + - Networking + Networking @@ -420,10 +420,10 @@ it's up to you to decide. :) - + - Ability to listen + Ability to listen @@ -431,10 +431,10 @@ it's up to you to decide. :) - + - Persuasion + Persuasion @@ -442,10 +442,10 @@ it's up to you to decide. :) - + - Ability to communicate ideas and thoughts within the team + Ability to communicate ideas and thoughts within the team @@ -453,10 +453,10 @@ it's up to you to decide. :) - + - Finding compromises + Finding compromises @@ -464,10 +464,10 @@ it's up to you to decide. :) - + - Dispute resolution + Dispute resolution @@ -475,10 +475,10 @@ it's up to you to decide. :) - + - Providing information to people outside the team + Providing information to people outside the team @@ -486,10 +486,10 @@ it's up to you to decide. :) - + - Time management + Time management @@ -497,10 +497,10 @@ it's up to you to decide. :) - + - Prioritization + Prioritization @@ -508,10 +508,10 @@ it's up to you to decide. :) - + - Taking decisions + Taking decisions @@ -519,10 +519,10 @@ it's up to you to decide. :) - + - Blind typing + Blind typing @@ -530,10 +530,10 @@ it's up to you to decide. :) - + - Multitasking + Multitasking @@ -541,10 +541,10 @@ it's up to you to decide. :) - + - Discipline + Discipline @@ -552,10 +552,10 @@ it's up to you to decide. :) - + - Persistence + Persistence @@ -563,10 +563,10 @@ it's up to you to decide. :) - + - Initiative + Initiative @@ -574,10 +574,10 @@ it's up to you to decide. :) - + - Independence + Independence @@ -585,10 +585,10 @@ it's up to you to decide. :) - + - Problem solving + Problem solving @@ -596,10 +596,10 @@ it's up to you to decide. :) - + - Logical + Logical @@ -607,10 +607,10 @@ it's up to you to decide. :) - + - Critical + Critical @@ -618,10 +618,10 @@ it's up to you to decide. :) - + - Creative + Creative @@ -629,10 +629,10 @@ it's up to you to decide. :) - + - Strategic + Strategic @@ -640,10 +640,10 @@ it's up to you to decide. :) - + - Systems + Systems @@ -651,10 +651,10 @@ it's up to you to decide. :) - + - Accept criticism + Accept criticism @@ -662,10 +662,10 @@ it's up to you to decide. :) - + - Notify about mistakes in time + Notify about mistakes in time @@ -673,10 +673,10 @@ it's up to you to decide. :) - + - Admitting your mistakes + Admitting your mistakes @@ -684,10 +684,10 @@ it's up to you to decide. :) - + - Analyze mistakes + Analyze mistakes @@ -695,10 +695,10 @@ it's up to you to decide. :) - + - Ask the right questions + Ask the right questions @@ -706,10 +706,10 @@ it's up to you to decide. :) - + - Experimenting + Experimenting @@ -717,10 +717,10 @@ it's up to you to decide. :) - + - Manage knowledge + Manage knowledge @@ -728,10 +728,10 @@ it's up to you to decide. :) - + - Process information + Process information @@ -739,10 +739,10 @@ it's up to you to decide. :) - + - Ability to gather, analyze, evaluate + Ability to gather, analyze, evaluate information and make decisions based on it. @@ -752,10 +752,10 @@ based on it. - + - Reflection + Reflection @@ -763,10 +763,10 @@ based on it. - + - Calmly react to what people say. Most likely that they + Calmly react to what people say. Most likely that they only consider their own context when they try to prove something. This is fine. Evaluate the usefulness of their point of view. @@ -777,10 +777,10 @@ point of view. - + - Take challenging tasks in order to develop your skills and + Take challenging tasks in order to develop your skills and competencies, even when there is not enough knowledge/experience (skills will develop much faster through such tasks). The main thing is to distinguish a @@ -793,10 +793,10 @@ skills from a dumb task that requires a scapegoat. - + - You should be responsible for your professional development. Don't wait + You should be responsible for your professional development. Don't wait for the team lead to decide for you what to study. Do not forget that blind adherence to someone else's plan will sharpen your skills according to requirements of a particular company. It is better to discuss and build in @@ -811,10 +811,10 @@ will be created for you. - + - Self-organization + Self-organization @@ -822,10 +822,10 @@ will be created for you. - + - The ability to provide the amount of information that is + The ability to provide the amount of information that is necessary to communicate to people with different backgrounds. @@ -835,10 +835,10 @@ backgrounds. - + - Conflict solving + Conflict solving @@ -846,10 +846,10 @@ backgrounds. - + - If you read this it means you already understand why it is so + If you read this it means you already understand why it is so important :) Usually, it is required at least to read because you would need to @@ -862,10 +862,10 @@ ladder, you will need to speak and write more confidently in English. - + - Look for like-minded people and join/create a community for + Look for like-minded people and join/create a community for experience exchange. @@ -874,10 +874,10 @@ experience exchange. - + - You should study and observe contemporary trends to be + You should study and observe contemporary trends to be competitive, as well as being able to adapt to them. @@ -886,10 +886,10 @@ competitive, as well as being able to adapt to them. - + - Experienced developers should develop management skills and business + Experienced developers should develop management skills and business communication skills to complete tasks efficiently. It is easier to do if you have developed emotional intelligence. For a junior developer, the skill is also useful to better interact with colleagues. @@ -903,14 +903,14 @@ also useful to better interact with colleagues. - + - 1 step + 1 step - + @@ -929,10 +929,10 @@ also useful to better interact with colleagues. - + - Basic operations + Basic operations @@ -940,10 +940,10 @@ also useful to better interact with colleagues. - + - Arithmetic operations + Arithmetic operations @@ -951,10 +951,10 @@ also useful to better interact with colleagues. - + - Loops: for/while + Loops: for/while @@ -962,10 +962,10 @@ also useful to better interact with colleagues. - + - Logical operations + Logical operations @@ -973,10 +973,10 @@ also useful to better interact with colleagues. - + - Bitwise operations + Bitwise operations @@ -984,10 +984,10 @@ also useful to better interact with colleagues. - + - Functions + Functions @@ -995,10 +995,10 @@ also useful to better interact with colleagues. - + - lambda + lambda @@ -1006,10 +1006,10 @@ also useful to better interact with colleagues. - + - Operators + Operators @@ -1017,10 +1017,10 @@ also useful to better interact with colleagues. - + - Data types + Data types @@ -1028,10 +1028,10 @@ also useful to better interact with colleagues. - + - Dynamic typing + Dynamic typing @@ -1039,10 +1039,10 @@ also useful to better interact with colleagues. - + - Static typing + Static typing @@ -1050,10 +1050,10 @@ also useful to better interact with colleagues. - + - RTTI + RTTI @@ -1061,10 +1061,10 @@ also useful to better interact with colleagues. - + - Pointers & References + Pointers & References @@ -1072,10 +1072,10 @@ also useful to better interact with colleagues. - + - Codebase structuring + Codebase structuring @@ -1083,10 +1083,10 @@ also useful to better interact with colleagues. - + - References + References @@ -1094,10 +1094,10 @@ also useful to better interact with colleagues. - + - Memory model + Memory model @@ -1105,10 +1105,10 @@ also useful to better interact with colleagues. - + - Smart pointer + Smart pointer @@ -1116,10 +1116,10 @@ also useful to better interact with colleagues. - + - Raw pointers + Raw pointers @@ -1127,10 +1127,10 @@ also useful to better interact with colleagues. - + - Code splitting into headers/cpp files + Code splitting into headers/cpp files @@ -1138,10 +1138,10 @@ also useful to better interact with colleagues. - + - Scope + Scope @@ -1149,10 +1149,10 @@ also useful to better interact with colleagues. - + - Memory leakage + Memory leakage @@ -1160,10 +1160,10 @@ also useful to better interact with colleagues. - + - Forward declaration + Forward declaration @@ -1171,10 +1171,10 @@ also useful to better interact with colleagues. - + - unique_ptr + unique_ptr @@ -1182,10 +1182,10 @@ also useful to better interact with colleagues. - + - shared_ptr + shared_ptr @@ -1193,10 +1193,10 @@ also useful to better interact with colleagues. - + - Lifetime of objects + Lifetime of objects @@ -1204,10 +1204,10 @@ also useful to better interact with colleagues. - + - new/delete operators + new/delete operators @@ -1215,10 +1215,10 @@ also useful to better interact with colleagues. - + - weak_ptr + weak_ptr @@ -1226,10 +1226,10 @@ also useful to better interact with colleagues. - + - Namespaces + Namespaces @@ -1237,10 +1237,10 @@ also useful to better interact with colleagues. - + - The overloading of regular set of operators for + The overloading of regular set of operators for regular or custom types (structures/classes). @@ -1249,11 +1249,11 @@ regular or custom types (structures/classes). - + - To prevent memory leakage problems it is better to use -smart pointers rather than raw pointers. + To prevent memory leakage problems it is better +to use smart pointers rather than raw pointers. @@ -1266,14 +1266,14 @@ smart pointers rather than raw pointers. - + - 2 step + 2 step - + @@ -1292,10 +1292,10 @@ smart pointers rather than raw pointers. - + - Structures and classes + Structures and classes @@ -1303,10 +1303,10 @@ smart pointers rather than raw pointers. - + - Exception handling + Exception handling @@ -1314,10 +1314,10 @@ smart pointers rather than raw pointers. - + - Overloading of functions + Overloading of functions @@ -1325,10 +1325,10 @@ smart pointers rather than raw pointers. - + - Virtual table (vtbl) + Virtual table (vtbl) @@ -1336,10 +1336,10 @@ smart pointers rather than raw pointers. - + - Object Oriented programming (OOP) + Object Oriented programming (OOP) @@ -1347,10 +1347,10 @@ smart pointers rather than raw pointers. - + - Exceptions + Exceptions @@ -1358,10 +1358,10 @@ smart pointers rather than raw pointers. - + - Access violation + Access violation @@ -1369,10 +1369,10 @@ smart pointers rather than raw pointers. - + - Dynamic polymorphism + Dynamic polymorphism @@ -1380,10 +1380,10 @@ smart pointers rather than raw pointers. - + - Virtual methods + Virtual methods @@ -1391,10 +1391,10 @@ smart pointers rather than raw pointers. - + - The rule of zero/three/five + The rule of zero/three/five @@ -1402,10 +1402,10 @@ smart pointers rather than raw pointers. - + - Static polymorphism + Static polymorphism @@ -1413,10 +1413,10 @@ smart pointers rather than raw pointers. - + - Multiple inheritance + Multiple inheritance @@ -1424,10 +1424,10 @@ smart pointers rather than raw pointers. - + - Diamond inheritance + Diamond inheritance @@ -1435,10 +1435,10 @@ smart pointers rather than raw pointers. - + - Error codes + Error codes @@ -1446,10 +1446,10 @@ smart pointers rather than raw pointers. - + - It's preferred to avoid multiple inheritance + It's preferred to avoid multiple inheritance (excepting abstract classes) to prevent runtime issues @@ -1464,14 +1464,14 @@ runtime issues - + - 3 step + 3 step - + @@ -1490,10 +1490,10 @@ runtime issues - + - auto (automatic type deduction) + auto (automatic type deduction) @@ -1501,10 +1501,10 @@ runtime issues - + - Language concepts + Language concepts @@ -1512,10 +1512,10 @@ runtime issues - + - type casting + type casting @@ -1523,10 +1523,10 @@ runtime issues - + - static_cast + static_cast @@ -1534,10 +1534,10 @@ runtime issues - + - const_cast + const_cast @@ -1545,10 +1545,10 @@ runtime issues - + - dynamic_cast + dynamic_cast @@ -1556,10 +1556,10 @@ runtime issues - + - reinterpret_cast + reinterpret_cast @@ -1567,10 +1567,10 @@ runtime issues - + - Undefined Behavior (UB) + Undefined Behavior (UB) @@ -1578,10 +1578,10 @@ runtime issues - + - Argument-dependent lookup (ADL) + Argument-dependent lookup (ADL) @@ -1589,10 +1589,10 @@ runtime issues - + - Macros + Macros @@ -1600,10 +1600,10 @@ runtime issues - + - Name mangling + Name mangling @@ -1611,10 +1611,10 @@ runtime issues - + - Standard library + Standard library @@ -1622,10 +1622,10 @@ runtime issues - + - iostream + iostream @@ -1633,10 +1633,10 @@ runtime issues - + - Algorithms + Algorithms @@ -1644,10 +1644,10 @@ runtime issues - + - Iterators + Iterators @@ -1655,10 +1655,10 @@ runtime issues - + - Containers + Containers @@ -1666,10 +1666,10 @@ runtime issues - + - Date/time + Date/time @@ -1677,10 +1677,10 @@ runtime issues - + - Multithreading + Multithreading @@ -1688,10 +1688,10 @@ runtime issues - + - Some of language constructions have non-declared behavior according to + Some of language constructions have non-declared behavior according to the ISO standard. In case of any error, it's not possible to predict further behavior. It depends on a platform environment, runtime context, etc. @@ -1706,10 +1706,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - 4 step + 4 step @@ -1732,10 +1732,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - Templates + Templates @@ -1743,10 +1743,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - Variadic templates + Variadic templates @@ -1754,10 +1754,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - The template specialization + The template specialization @@ -1765,10 +1765,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - type traits + type traits @@ -1776,10 +1776,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - SFINAE + SFINAE @@ -1787,10 +1787,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - The full template specialization + The full template specialization @@ -1798,10 +1798,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - The partial template specialization + The partial template specialization @@ -1809,10 +1809,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - RAII + RAII @@ -1820,10 +1820,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - pimpl + pimpl @@ -1831,10 +1831,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - Erase-Remove + Erase-Remove @@ -1842,10 +1842,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - Non-Copyable/Non-Moveable + Non-Copyable/Non-Moveable @@ -1853,10 +1853,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - Copy and swap + Copy and swap @@ -1864,10 +1864,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - Copy on write + Copy on write @@ -1875,10 +1875,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - CRTP + CRTP @@ -1886,10 +1886,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - Standards + Standards @@ -1897,10 +1897,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - C++11/14 + C++11/14 @@ -1908,10 +1908,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - C++17 + C++17 @@ -1919,10 +1919,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - C++20 + C++20 @@ -1930,10 +1930,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - newest + newest @@ -1941,10 +1941,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - C++0x + C++0x @@ -1952,10 +1952,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - Idioms + Idioms @@ -1968,11 +1968,11 @@ behavior. It depends on a platform environment, runtime context, etc. - + - 1 step - + 1 step + @@ -1983,7 +1983,7 @@ behavior. It depends on a platform environment, runtime context, etc. - + @@ -2002,10 +2002,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - Working with source code + Working with source code @@ -2013,10 +2013,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - Text editors + Text editors @@ -2024,10 +2024,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - IDE + IDE @@ -2035,10 +2035,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - Code editors + Code editors @@ -2046,10 +2046,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - Debugger + Debugger @@ -2057,10 +2057,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - Linters + Linters @@ -2068,10 +2068,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - Knowledge of features and abilities (shortcuts, tools, plugins) + Knowledge of features and abilities (shortcuts, tools, plugins) @@ -2079,10 +2079,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - Understanding of debugger messages + Understanding of debugger messages @@ -2090,10 +2090,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - Debugging symbols + Debugging symbols @@ -2101,10 +2101,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - WinDbg + WinDbg @@ -2112,10 +2112,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - GDB + GDB @@ -2123,10 +2123,10 @@ behavior. It depends on a platform environment, runtime context, etc. - + - Choose one of the popular IDEs and study it well: + Choose one of the popular IDEs and study it well: Eclipse, MS Visual Studio, Qt Creator, JetBrains Clion, XCode, etc. @@ -2136,10 +2136,10 @@ XCode, etc.< - + - Study how to use a debugger and all its features + Study how to use a debugger and all its features @@ -2147,10 +2147,10 @@ XCode, etc.< - + - Choose one of the popular editors and study it well. + Choose one of the popular editors and study it well. For example: Notepad++, Atom, etc. @@ -2159,10 +2159,10 @@ For example: Notepad++, Atom, etc. - + - The ability to work with a debugger via command line is a not + The ability to work with a debugger via command line is a not common skill. It's sufficient to work with it via IDE. For example: set conditional breakpoints, etc. @@ -2172,10 +2172,10 @@ set conditional breakpoints, etc. - + - Learn about common errors (segfault, out of memory, + Learn about common errors (segfault, out of memory, access violation) and undefined behavior concept. @@ -2184,10 +2184,10 @@ access violation) and undefined behavior concept. - + - Choose one of the popular editors and study it well. For + Choose one of the popular editors and study it well. For example: Visual Code, Atom, Sublime Text, etc. @@ -2201,14 +2201,14 @@ example: Visual Code, Atom, Sublime Text, etc. - + - 3 step + 3 step - + @@ -2227,10 +2227,10 @@ example: Visual Code, Atom, Sublime Text, etc. - + - Compilers + Compilers @@ -2238,10 +2238,10 @@ example: Visual Code, Atom, Sublime Text, etc. - + - Basic understanding of compilers stages + Basic understanding of compilers stages @@ -2249,10 +2249,10 @@ example: Visual Code, Atom, Sublime Text, etc. - + - Compilation of sources to object files (compilation) + Compilation of sources to object files (compilation) @@ -2260,10 +2260,10 @@ example: Visual Code, Atom, Sublime Text, etc. - + - The object files linkage (linking) + The object files linkage (linking) @@ -2271,10 +2271,10 @@ example: Visual Code, Atom, Sublime Text, etc. - + - Working stages of compilers + Working stages of compilers @@ -2282,10 +2282,10 @@ example: Visual Code, Atom, Sublime Text, etc. - + - Platform dependent compilers + Platform dependent compilers @@ -2293,10 +2293,10 @@ example: Visual Code, Atom, Sublime Text, etc. - + - Each platform-dependent compiler has its nuances. It's + Each platform-dependent compiler has its nuances. It's good to know about them to prevent getting any trap:  Clang++/LLVM, Intel C++, MSVS C++, GCC, MinGW @@ -2306,10 +2306,10 @@ Clang++/LLVM, Intel C++, MSVS C++, GCC, MinGW - + - The compiler performs several stages of code compilation. + The compiler performs several stages of code compilation. It's good to know about all of them to better understand compilation issues. Deep knowledge is needed for compiler creators only. @@ -2325,14 +2325,14 @@ creators only. - + - 5 step + 5 step - + @@ -2351,10 +2351,10 @@ creators only. - + - Build systems + Build systems @@ -2362,10 +2362,10 @@ creators only. - + - CMake + CMake @@ -2373,10 +2373,10 @@ creators only. - + - Makefile + Makefile @@ -2384,10 +2384,10 @@ creators only. - + - ninja + ninja @@ -2395,10 +2395,10 @@ creators only. - + - Package managers + Package managers @@ -2406,10 +2406,10 @@ creators only. - + - vcpkg + vcpkg @@ -2417,10 +2417,10 @@ creators only. - + - spack + spack @@ -2428,10 +2428,10 @@ creators only. - + - Conan + Conan @@ -2439,10 +2439,10 @@ creators only. - + - nuget + nuget @@ -2450,10 +2450,10 @@ creators only. - + - Libraries + Libraries @@ -2461,10 +2461,10 @@ creators only. - + - boost + boost @@ -2472,10 +2472,10 @@ creators only. - + - opencv + opencv @@ -2483,10 +2483,10 @@ creators only. - + - poco + poco @@ -2494,10 +2494,10 @@ creators only. - + - Libraries inclusion + Libraries inclusion @@ -2505,10 +2505,10 @@ creators only. - + - protobuf + protobuf @@ -2516,10 +2516,10 @@ creators only. - + - gRPC + gRPC @@ -2527,10 +2527,10 @@ creators only. - + - fmt + fmt @@ -2538,10 +2538,10 @@ creators only. - + - pybindll + pybindll @@ -2549,10 +2549,10 @@ creators only. - + - spdlog + spdlog @@ -2560,10 +2560,10 @@ creators only. - + - ranges_v3 + ranges_v3 @@ -2571,10 +2571,10 @@ creators only. - + - tensorflow + tensorflow @@ -2582,10 +2582,10 @@ creators only. - + - opencl + opencl @@ -2593,10 +2593,10 @@ creators only. - + - Frameworks + Frameworks @@ -2604,10 +2604,10 @@ creators only. - + - gtest/gmock + gtest/gmock @@ -2615,10 +2615,10 @@ creators only. - + - Qt + Qt @@ -2626,10 +2626,10 @@ creators only. - + - catch2 + catch2 @@ -2637,10 +2637,10 @@ creators only. - + - google profiler + google profiler @@ -2648,10 +2648,10 @@ creators only. - + - pytorch c++ + pytorch c++ @@ -2664,14 +2664,14 @@ creators only. - + - 1 step + 1 step - + @@ -2690,10 +2690,10 @@ creators only. - + - Computers Science + Computers Science @@ -2701,10 +2701,10 @@ creators only. - + - Data structures + Data structures @@ -2712,10 +2712,10 @@ creators only. - + - Algorithms + Algorithms @@ -2723,10 +2723,10 @@ creators only. - + - Boolean algebra + Boolean algebra @@ -2734,10 +2734,10 @@ creators only. - + - Finite-state machines + Finite-state machines @@ -2745,10 +2745,10 @@ creators only. - + - It's also good to know how to calculate algorithm complexity + It's also good to know how to calculate algorithm complexity and memory consumption. @@ -2762,14 +2762,14 @@ and memory consumption. - + - 4 step + 4 step - + @@ -2788,10 +2788,10 @@ and memory consumption. - + - Version control software + Version control software @@ -2799,10 +2799,10 @@ and memory consumption. - + - Distributed + Distributed @@ -2810,10 +2810,10 @@ and memory consumption. - + - Centralized + Centralized @@ -2821,10 +2821,10 @@ and memory consumption. - + - SVN + SVN @@ -2832,10 +2832,10 @@ and memory consumption. - + - git + git @@ -2843,10 +2843,10 @@ and memory consumption. - + - Mercurial + Mercurial @@ -2854,10 +2854,10 @@ and memory consumption. - + - Best practices + Best practices @@ -2865,10 +2865,10 @@ and memory consumption. - + - Code quality + Code quality @@ -2876,10 +2876,10 @@ and memory consumption. - + - Code guidelines + Code guidelines @@ -2887,10 +2887,10 @@ and memory consumption. - + - Principles of development + Principles of development @@ -2898,10 +2898,10 @@ and memory consumption. - + - KISS (Keep It Simple, Stupid) + KISS (Keep It Simple, Stupid) @@ -2909,10 +2909,10 @@ and memory consumption. - + - DRY (Don't Repeat Yourself) + DRY (Don't Repeat Yourself) @@ -2920,10 +2920,10 @@ and memory consumption. - + - YAGNI (You Aren't Gonna Need It) + YAGNI (You Aren't Gonna Need It) @@ -2931,10 +2931,10 @@ and memory consumption. - + - APO (Avoid Premature Optimization) + APO (Avoid Premature Optimization) @@ -2942,10 +2942,10 @@ and memory consumption. - + - BDUF (Big Design Up Front) + BDUF (Big Design Up Front) @@ -2953,10 +2953,10 @@ and memory consumption. - + - Composition is preferably than the inheritance + Composition is preferably than the inheritance @@ -2964,10 +2964,10 @@ and memory consumption. - + - Occam's razor + Occam's razor @@ -2975,10 +2975,10 @@ and memory consumption. - + - Divide and Conquer + Divide and Conquer @@ -2986,10 +2986,10 @@ and memory consumption. - + - Logging and telemetry + Logging and telemetry @@ -2997,10 +2997,10 @@ and memory consumption. - + - Code review + Code review @@ -3008,10 +3008,10 @@ and memory consumption. - + - Skill to read existing code sources + Skill to read existing code sources @@ -3019,10 +3019,10 @@ and memory consumption. - + - Skill to review code + Skill to review code @@ -3030,10 +3030,10 @@ and memory consumption. - + - Lifecycle stages of a software + Lifecycle stages of a software @@ -3041,10 +3041,10 @@ and memory consumption. - + - Implementation + Implementation @@ -3052,10 +3052,10 @@ and memory consumption. - + - Testing + Testing @@ -3063,10 +3063,10 @@ and memory consumption. - + - Maintanance + Maintanance @@ -3074,10 +3074,10 @@ and memory consumption. - + - Versioning + Versioning @@ -3085,10 +3085,10 @@ and memory consumption. - + - Unit tests + Unit tests @@ -3096,10 +3096,10 @@ and memory consumption. - + - Integration tests + Integration tests @@ -3107,10 +3107,10 @@ and memory consumption. - + - Functional tests + Functional tests @@ -3118,10 +3118,10 @@ and memory consumption. - + - Performance tests + Performance tests @@ -3129,10 +3129,10 @@ and memory consumption. - + - Software architecture and components design + Software architecture and components design @@ -3140,10 +3140,10 @@ and memory consumption. - + - Components integration + Components integration @@ -3151,10 +3151,10 @@ and memory consumption. - + - Deployment + Deployment @@ -3162,10 +3162,10 @@ and memory consumption. - + - Collecting requirements + Collecting requirements @@ -3173,10 +3173,10 @@ and memory consumption. - + - End of a software lifecycle + End of a software lifecycle @@ -3184,10 +3184,10 @@ and memory consumption. - + - Code analyzers + Code analyzers @@ -3195,10 +3195,10 @@ and memory consumption. - + - Static analyzers + Static analyzers @@ -3206,10 +3206,10 @@ and memory consumption. - + - Dynamic analyzers + Dynamic analyzers @@ -3217,10 +3217,10 @@ and memory consumption. - + - Profilers + Profilers @@ -3228,10 +3228,10 @@ and memory consumption. - + - C++ core guidelines + C++ core guidelines @@ -3239,10 +3239,10 @@ and memory consumption. - + - Industrial standards + Industrial standards @@ -3250,10 +3250,10 @@ and memory consumption. - + - MISRA + MISRA @@ -3261,10 +3261,10 @@ and memory consumption. - + - Autosar + Autosar @@ -3272,10 +3272,10 @@ and memory consumption. - + - Command line + Command line @@ -3283,10 +3283,10 @@ and memory consumption. - + - batch + batch @@ -3294,10 +3294,10 @@ and memory consumption. - + - Powershell + Powershell @@ -3305,10 +3305,10 @@ and memory consumption. - + - bash + bash @@ -3316,10 +3316,10 @@ and memory consumption. - + - CI/CD + CI/CD @@ -3327,10 +3327,10 @@ and memory consumption. - + - Trunk Based Development + Trunk Based Development @@ -3338,10 +3338,10 @@ and memory consumption. - + - Zero downtime deployment + Zero downtime deployment @@ -3349,10 +3349,10 @@ and memory consumption. - + - Creation of a software deployment package + Creation of a software deployment package @@ -3360,10 +3360,10 @@ and memory consumption. - + - Documentation + Documentation @@ -3371,10 +3371,10 @@ and memory consumption. - + - Installer package + Installer package @@ -3382,10 +3382,10 @@ and memory consumption. - + - Usage of other programming languages + Usage of other programming languages @@ -3393,10 +3393,10 @@ and memory consumption. - + - Language interoperability + Language interoperability @@ -3404,10 +3404,10 @@ and memory consumption. - + - Naming conventions, tabs vs spaces, etc. + Naming conventions, tabs vs spaces, etc. @@ -3415,10 +3415,10 @@ and memory consumption. - + - To configure automated code formatting verification with one of + To configure automated code formatting verification with one of the suitable utilities: clang-format, Resharper - code style, MSVS - code style. @@ -3428,10 +3428,10 @@ MSVS - code style. - + - - Scripting + - Scripting - Functional - SQL like - NoSQL @@ -3442,10 +3442,10 @@ MSVS - code style. - + - Sometimes it's needed to provide an ability to reuse a library written in + Sometimes it's needed to provide an ability to reuse a library written in a different language from another one. For example: to call C++ libraries in C#. @@ -3455,10 +3455,10 @@ libraries in C#. - + - Backward compatibility + Backward compatibility @@ -3468,10 +3468,10 @@ libraries in C#. - + - Software design + Software design @@ -3479,10 +3479,10 @@ libraries in C#. - + - Architecture styles + Architecture styles @@ -3490,10 +3490,10 @@ libraries in C#. - + - Component-based + Component-based @@ -3501,10 +3501,10 @@ libraries in C#. - + - Monolithic application + Monolithic application @@ -3512,10 +3512,10 @@ libraries in C#. - + - Layered + Layered @@ -3523,10 +3523,10 @@ libraries in C#. - + - Client-server + Client-server @@ -3534,10 +3534,10 @@ libraries in C#. - + - Microservices architecture + Microservices architecture @@ -3545,10 +3545,10 @@ libraries in C#. - + - Event-driven + Event-driven @@ -3556,10 +3556,10 @@ libraries in C#. - + - Plug-ins + Plug-ins @@ -3567,10 +3567,10 @@ libraries in C#. - + - REST + REST @@ -3578,10 +3578,10 @@ libraries in C#. - + - Service-oriented architecture + Service-oriented architecture @@ -3592,10 +3592,10 @@ libraries in C#. - + - 2 step + 2 step @@ -3618,10 +3618,10 @@ libraries in C#. - + - Design Patters (GoF) + Design Patters (GoF) @@ -3629,10 +3629,10 @@ libraries in C#. - + - Behavioral + Behavioral @@ -3640,10 +3640,10 @@ libraries in C#. - + - Structural + Structural @@ -3651,10 +3651,10 @@ libraries in C#. - + - Creational + Creational @@ -3662,10 +3662,10 @@ libraries in C#. - + - OOP + OOP @@ -3673,10 +3673,10 @@ libraries in C#. - + - SOLID + SOLID @@ -3684,10 +3684,10 @@ libraries in C#. - + - UML + UML @@ -3697,10 +3697,10 @@ libraries in C#. - + - Architecture patterns + Architecture patterns @@ -3708,10 +3708,10 @@ libraries in C#. - + - MVC + MVC @@ -3719,10 +3719,10 @@ libraries in C#. - + - MVVM + MVVM @@ -3730,10 +3730,10 @@ libraries in C#. - + - Three-tier + Three-tier @@ -3741,10 +3741,10 @@ libraries in C#. - + - Onion + Onion @@ -3752,10 +3752,10 @@ libraries in C#. - + - Hexagon + Hexagon @@ -3763,10 +3763,10 @@ libraries in C#. - + - Methodologies of development + Methodologies of development @@ -3774,10 +3774,10 @@ libraries in C#. - + - Test Driven Development + Test Driven Development @@ -3785,10 +3785,10 @@ libraries in C#. - + - Behavior Driven Development + Behavior Driven Development @@ -3796,10 +3796,10 @@ libraries in C#. - + - Domain Driven Design + Domain Driven Design @@ -3807,10 +3807,10 @@ libraries in C#. - + - Memory + Memory @@ -3818,10 +3818,10 @@ libraries in C#. - + - Memory abstractions + Memory abstractions @@ -3829,10 +3829,10 @@ libraries in C#. - + - Memory alignment + Memory alignment @@ -3840,10 +3840,10 @@ libraries in C#. - + - Memory management + Memory management @@ -3851,10 +3851,10 @@ libraries in C#. - + - Binary units + Binary units @@ -3862,10 +3862,10 @@ libraries in C#. - + - Executable file + Executable file @@ -3873,10 +3873,10 @@ libraries in C#. - + - Static library + Static library @@ -3884,10 +3884,10 @@ libraries in C#. - + - Dynamic library + Dynamic library @@ -3895,10 +3895,10 @@ libraries in C#. - + - Stack + Stack @@ -3906,10 +3906,10 @@ libraries in C#. - + - Global memory + Global memory @@ -3917,10 +3917,10 @@ libraries in C#. - + - Heap + Heap @@ -3928,10 +3928,10 @@ libraries in C#. - + - Application memory + Application memory @@ -3939,10 +3939,10 @@ libraries in C#. - + - Virtual memory + Virtual memory @@ -3950,10 +3950,10 @@ libraries in C#. - + - Operating systems + Operating systems @@ -3961,10 +3961,10 @@ libraries in C#. - + - Multithreading + Multithreading @@ -3972,10 +3972,10 @@ libraries in C#. - + - Errors + Errors @@ -3983,10 +3983,10 @@ libraries in C#. - + - Dead lock + Dead lock @@ -3994,10 +3994,10 @@ libraries in C#. - + - Race condition + Race condition @@ -4005,10 +4005,10 @@ libraries in C#. - + - Live lock + Live lock @@ -4016,10 +4016,10 @@ libraries in C#. - + - Starvation + Starvation @@ -4027,10 +4027,10 @@ libraries in C#. - + - Threads + Threads @@ -4038,10 +4038,10 @@ libraries in C#. - + - Concurrency + Concurrency @@ -4049,10 +4049,10 @@ libraries in C#. - + - Mutexes + Mutexes @@ -4060,10 +4060,10 @@ libraries in C#. - + - Semaphores + Semaphores @@ -4071,10 +4071,10 @@ libraries in C#. - + - lock-free + lock-free @@ -4082,10 +4082,10 @@ libraries in C#. - + - Event handling + Event handling @@ -4093,10 +4093,10 @@ libraries in C#. - + - Sync + Sync @@ -4104,10 +4104,10 @@ libraries in C#. - + - Async + Async @@ -4115,10 +4115,10 @@ libraries in C#. - + - Process + Process @@ -4126,10 +4126,10 @@ libraries in C#. - + - Interprocess communication + Interprocess communication @@ -4137,10 +4137,10 @@ libraries in C#. - + - Shared memory + Shared memory @@ -4148,10 +4148,10 @@ libraries in C#. - + - Pipes + Pipes @@ -4159,10 +4159,10 @@ libraries in C#. - + - Serialization + Serialization @@ -4170,10 +4170,10 @@ libraries in C#. - + - json + json @@ -4181,10 +4181,10 @@ libraries in C#. - + - XML + XML @@ -4192,10 +4192,10 @@ libraries in C#. - + - Network + Network @@ -4203,10 +4203,10 @@ libraries in C#. - + - TCP/IP + TCP/IP @@ -4214,10 +4214,10 @@ libraries in C#. - + - OSI + OSI @@ -4225,10 +4225,10 @@ libraries in C#. - + - Sockets + Sockets @@ -4236,10 +4236,10 @@ libraries in C#. - + - HTTP + HTTP @@ -4247,10 +4247,10 @@ libraries in C#. - + - TCP + TCP @@ -4258,10 +4258,10 @@ libraries in C#. - + - UDP + UDP @@ -4269,10 +4269,10 @@ libraries in C#. - + - File system + File system @@ -4280,10 +4280,10 @@ libraries in C#. - + - Task scheduler + Task scheduler @@ -4291,10 +4291,10 @@ libraries in C#. - + - Virtualization + Virtualization @@ -4302,10 +4302,10 @@ libraries in C#. - + - VirtualBox + VirtualBox @@ -4313,10 +4313,10 @@ libraries in C#. - + - VMware Workstation + VMware Workstation @@ -4324,10 +4324,10 @@ libraries in C#. - + - Containers + Containers @@ -4335,10 +4335,10 @@ libraries in C#. - + - Hyper-V + Hyper-V @@ -4346,10 +4346,10 @@ libraries in C#. - + - Docker + Docker @@ -4357,10 +4357,10 @@ libraries in C#. - + - Cloud Services + Cloud Services @@ -4368,10 +4368,10 @@ libraries in C#. - + - Kubernetes + Kubernetes @@ -4379,10 +4379,10 @@ libraries in C#. - + - Security + Security @@ -4390,10 +4390,10 @@ libraries in C#. - + - Encryption + Encryption @@ -4401,10 +4401,10 @@ libraries in C#. - + - MultiCPU systems + MultiCPU systems @@ -4412,10 +4412,10 @@ libraries in C#. - + - Multicore CPU + Multicore CPU @@ -4423,10 +4423,10 @@ libraries in C#. - + - NUMA + NUMA @@ -4434,10 +4434,10 @@ libraries in C#. - + - Input/output + Input/output @@ -4445,10 +4445,10 @@ libraries in C#. - + - Drivers + Drivers @@ -4456,10 +4456,10 @@ libraries in C#. - + - Audio + Audio @@ -4467,10 +4467,10 @@ libraries in C#. - + - Graphics + Graphics @@ -4478,10 +4478,10 @@ libraries in C#. - + - Printers (printing) + Printers (printing) @@ -4489,10 +4489,10 @@ libraries in C#. - + - DirectSound + DirectSound @@ -4500,10 +4500,10 @@ libraries in C#. - + - OpenAL + OpenAL @@ -4511,10 +4511,10 @@ libraries in C#. - + - DirectX + DirectX @@ -4522,10 +4522,10 @@ libraries in C#. - + - Vulkan + Vulkan @@ -4533,10 +4533,10 @@ libraries in C#. - + - OpenGL + OpenGL @@ -4544,10 +4544,10 @@ libraries in C#. - + - CUDA + CUDA @@ -4555,10 +4555,10 @@ libraries in C#. - + - Common skills + Common skills @@ -4566,10 +4566,10 @@ libraries in C#. - + - Language tools + Language tools @@ -4577,10 +4577,10 @@ libraries in C#. - + - Language syntax + Language syntax @@ -4588,10 +4588,10 @@ libraries in C#. - + - C++ Developer Roadmap + C++ Developer Roadmap @@ -4599,10 +4599,10 @@ libraries in C#. - + - About: + About: @@ -4610,10 +4610,10 @@ libraries in C#. - + - C ++ is still one of the most popular development languages. There is quite a number of people that want to start learning it + C ++ is still one of the most popular development languages. There is quite a number of people that want to start learning it and become a C++ developer. They face questions like: "Where should I start? What and in what order should I study? What books should I read?" @@ -4628,10 +4628,10 @@ materials. It will help you to master C++ at the level that is used in many comm - + - How to use: + How to use: @@ -4639,10 +4639,10 @@ materials. It will help you to master C++ at the level that is used in many comm - + - If you have any feedback or remarks don't hesitate to contact us. + If you have any feedback or remarks don't hesitate to contact us. We really appreciate it. :) To contact us choose one of the following Github approaches: @@ -4656,10 +4656,10 @@ Requests and submit a new one - + - Feedback: + Feedback: @@ -4667,10 +4667,10 @@ Requests and submit a new one - + - Optional + Optional @@ -4678,10 +4678,10 @@ Requests and submit a new one - + - Junior + Junior @@ -4689,10 +4689,10 @@ Requests and submit a new one - + - Middle + Middle @@ -4700,10 +4700,10 @@ Requests and submit a new one - + - Senior + Senior @@ -4711,10 +4711,10 @@ Requests and submit a new one - + - The middle developer has the + The middle developer has the skills to create a design for new functionality as a part of a component/application if @@ -4728,10 +4728,10 @@ presented. - + - The senior developer has the + The senior developer has the skills to create a design and make decisions for a solution/component taking @@ -4744,10 +4744,10 @@ context. - + - The junior must acquire the + The junior must acquire the following skill as soon as possible: to write easy-readable and @@ -4759,10 +4759,10 @@ well-structured code. - + - The juniors should be aware + The juniors should be aware of middle/senior skills. It's enough to have a basic understanding of them. @@ -4773,10 +4773,10 @@ understanding of them. - + - The "steps" are presented on + The "steps" are presented on this map. They're intended to show an easy for newbies to be able to get confident base @@ -4789,10 +4789,10 @@ at the beginning. - + - Repository: + Repository: @@ -4801,10 +4801,10 @@ at the beginning. - + - https://github.com/salmer/CppDeveloperRoadmap + https://github.com/salmer/CppDeveloperRoadmap @@ -4812,7 +4812,7 @@ at the beginning. - + @@ -4822,7 +4822,7 @@ at the beginning. - + @@ -4832,7 +4832,7 @@ at the beginning. - + @@ -4841,7 +4841,7 @@ at the beginning. - + @@ -4851,7 +4851,7 @@ at the beginning. - + @@ -4860,7 +4860,7 @@ at the beginning. - + @@ -4871,7 +4871,7 @@ at the beginning. - + @@ -4881,7 +4881,7 @@ at the beginning. - + @@ -4892,7 +4892,7 @@ at the beginning. - + @@ -4911,7 +4911,7 @@ at the beginning. - + @@ -4921,7 +4921,7 @@ at the beginning. - + @@ -4930,7 +4930,7 @@ at the beginning. - + @@ -4939,7 +4939,7 @@ at the beginning. - + @@ -4948,7 +4948,7 @@ at the beginning. - + @@ -4957,7 +4957,7 @@ at the beginning. - + @@ -4966,7 +4966,7 @@ at the beginning. - + @@ -4975,7 +4975,7 @@ at the beginning. - + @@ -4988,7 +4988,7 @@ at the beginning. - + @@ -5001,7 +5001,7 @@ at the beginning. - + @@ -5014,7 +5014,7 @@ at the beginning. - + @@ -5027,7 +5027,7 @@ at the beginning. - + @@ -5040,7 +5040,7 @@ at the beginning. - + @@ -5053,7 +5053,7 @@ at the beginning. - + @@ -5066,7 +5066,7 @@ at the beginning. - + @@ -5079,7 +5079,7 @@ at the beginning. - + @@ -5092,7 +5092,7 @@ at the beginning. - + @@ -5105,7 +5105,7 @@ at the beginning. - + @@ -5118,7 +5118,7 @@ at the beginning. - + @@ -5131,7 +5131,7 @@ at the beginning. - + @@ -5144,7 +5144,7 @@ at the beginning. - + @@ -5157,7 +5157,7 @@ at the beginning. - + @@ -5167,7 +5167,7 @@ at the beginning. - + @@ -5180,7 +5180,7 @@ at the beginning. - + @@ -5193,7 +5193,7 @@ at the beginning. - + @@ -5203,7 +5203,7 @@ at the beginning. - + @@ -5216,7 +5216,7 @@ at the beginning. - + @@ -5229,7 +5229,7 @@ at the beginning. - + @@ -5239,7 +5239,7 @@ at the beginning. - + @@ -5252,7 +5252,7 @@ at the beginning. - + @@ -5265,7 +5265,7 @@ at the beginning. - + @@ -5278,7 +5278,7 @@ at the beginning. - + @@ -5291,7 +5291,7 @@ at the beginning. - + @@ -5304,7 +5304,7 @@ at the beginning. - + @@ -5317,7 +5317,7 @@ at the beginning. - + @@ -5330,7 +5330,7 @@ at the beginning. - + @@ -5343,7 +5343,7 @@ at the beginning. - + @@ -5356,7 +5356,7 @@ at the beginning. - + @@ -5369,7 +5369,7 @@ at the beginning. - + @@ -5382,7 +5382,7 @@ at the beginning. - + @@ -5395,7 +5395,7 @@ at the beginning. - + @@ -5408,7 +5408,7 @@ at the beginning. - + @@ -5421,7 +5421,7 @@ at the beginning. - + @@ -5434,7 +5434,7 @@ at the beginning. - + @@ -5447,7 +5447,7 @@ at the beginning. - + @@ -5460,7 +5460,7 @@ at the beginning. - + @@ -5473,7 +5473,7 @@ at the beginning. - + @@ -5483,7 +5483,7 @@ at the beginning. - + @@ -5496,7 +5496,7 @@ at the beginning. - + @@ -5509,7 +5509,7 @@ at the beginning. - + @@ -5519,9 +5519,9 @@ at the beginning. - - - + + + @@ -5532,7 +5532,7 @@ at the beginning. - + @@ -5542,9 +5542,9 @@ at the beginning. - - - + + + @@ -5555,7 +5555,7 @@ at the beginning. - + @@ -5568,7 +5568,7 @@ at the beginning. - + @@ -5578,7 +5578,7 @@ at the beginning. - + @@ -5591,7 +5591,7 @@ at the beginning. - + @@ -5604,7 +5604,7 @@ at the beginning. - + @@ -5614,7 +5614,7 @@ at the beginning. - + @@ -5627,7 +5627,7 @@ at the beginning. - + @@ -5640,7 +5640,7 @@ at the beginning. - + @@ -5653,7 +5653,7 @@ at the beginning. - + @@ -5666,7 +5666,7 @@ at the beginning. - + @@ -5679,7 +5679,7 @@ at the beginning. - + @@ -5692,7 +5692,7 @@ at the beginning. - + @@ -5705,7 +5705,7 @@ at the beginning. - + @@ -5718,7 +5718,7 @@ at the beginning. - + @@ -5731,7 +5731,7 @@ at the beginning. - + @@ -5744,7 +5744,7 @@ at the beginning. - + @@ -5757,7 +5757,7 @@ at the beginning. - + @@ -5770,7 +5770,7 @@ at the beginning. - + @@ -5783,7 +5783,7 @@ at the beginning. - + @@ -5796,7 +5796,7 @@ at the beginning. - + @@ -5809,7 +5809,7 @@ at the beginning. - + @@ -5819,9 +5819,9 @@ at the beginning. - - - + + + @@ -5832,9 +5832,9 @@ at the beginning. - - - + + + @@ -5845,9 +5845,9 @@ at the beginning. - - - + + + @@ -5858,9 +5858,9 @@ at the beginning. - - - + + + @@ -5871,7 +5871,7 @@ at the beginning. - + @@ -5884,7 +5884,7 @@ at the beginning. - + @@ -5897,7 +5897,7 @@ at the beginning. - + @@ -5907,9 +5907,9 @@ at the beginning. - - - + + + @@ -5920,7 +5920,7 @@ at the beginning. - + @@ -5930,9 +5930,9 @@ at the beginning. - - - + + + @@ -5943,9 +5943,9 @@ at the beginning. - - - + + + @@ -5956,9 +5956,9 @@ at the beginning. - - - + + + @@ -5969,7 +5969,7 @@ at the beginning. - + @@ -5979,7 +5979,7 @@ at the beginning. - + @@ -5989,9 +5989,9 @@ at the beginning. - - - + + + @@ -6002,9 +6002,9 @@ at the beginning. - - - + + + @@ -6015,9 +6015,9 @@ at the beginning. - - - + + + @@ -6028,9 +6028,9 @@ at the beginning. - - - + + + @@ -6041,9 +6041,9 @@ at the beginning. - - - + + + @@ -6054,7 +6054,7 @@ at the beginning. - + @@ -6064,9 +6064,9 @@ at the beginning. - - - + + + @@ -6077,9 +6077,9 @@ at the beginning. - - - + + + @@ -6090,9 +6090,9 @@ at the beginning. - - - + + + @@ -6103,9 +6103,9 @@ at the beginning. - - - + + + @@ -6116,9 +6116,9 @@ at the beginning. - - - + + + @@ -6129,9 +6129,9 @@ at the beginning. - - - + + + @@ -6142,9 +6142,9 @@ at the beginning. - - - + + + @@ -6155,9 +6155,9 @@ at the beginning. - - - + + + @@ -6168,7 +6168,7 @@ at the beginning. - + @@ -6181,7 +6181,7 @@ at the beginning. - + @@ -6191,7 +6191,7 @@ at the beginning. - + @@ -6204,7 +6204,7 @@ at the beginning. - + @@ -6217,7 +6217,7 @@ at the beginning. - + @@ -6230,7 +6230,7 @@ at the beginning. - + @@ -6243,7 +6243,7 @@ at the beginning. - + @@ -6256,7 +6256,7 @@ at the beginning. - + @@ -6269,7 +6269,7 @@ at the beginning. - + @@ -6282,10 +6282,7 @@ at the beginning. - - - - + @@ -6295,7 +6292,7 @@ at the beginning. - + @@ -6308,7 +6305,7 @@ at the beginning. - + @@ -6321,7 +6318,7 @@ at the beginning. - + @@ -6334,7 +6331,7 @@ at the beginning. - + @@ -6347,7 +6344,7 @@ at the beginning. - + @@ -6360,7 +6357,7 @@ at the beginning. - + @@ -6373,7 +6370,7 @@ at the beginning. - + @@ -6386,7 +6383,7 @@ at the beginning. - + @@ -6399,7 +6396,7 @@ at the beginning. - + @@ -6412,7 +6409,7 @@ at the beginning. - + @@ -6425,7 +6422,7 @@ at the beginning. - + @@ -6438,7 +6435,7 @@ at the beginning. - + @@ -6451,9 +6448,9 @@ at the beginning. - - - + + + @@ -6464,9 +6461,9 @@ at the beginning. - - - + + + @@ -6477,9 +6474,9 @@ at the beginning. - - - + + + @@ -6490,9 +6487,9 @@ at the beginning. - - - + + + @@ -6503,9 +6500,9 @@ at the beginning. - - - + + + @@ -6516,9 +6513,9 @@ at the beginning. - - - + + + @@ -6529,9 +6526,9 @@ at the beginning. - - - + + + @@ -6542,9 +6539,9 @@ at the beginning. - - - + + + @@ -6555,7 +6552,7 @@ at the beginning. - + @@ -6565,7 +6562,7 @@ at the beginning. - + @@ -6578,7 +6575,7 @@ at the beginning. - + @@ -6588,7 +6585,7 @@ at the beginning. - + @@ -6601,9 +6598,9 @@ at the beginning. - - - + + + @@ -6614,9 +6611,9 @@ at the beginning. - - - + + + @@ -6627,9 +6624,9 @@ at the beginning. - - - + + + @@ -6640,9 +6637,9 @@ at the beginning. - - - + + + @@ -6653,7 +6650,7 @@ at the beginning. - + @@ -6663,9 +6660,9 @@ at the beginning. - - - + + + @@ -6676,9 +6673,9 @@ at the beginning. - - - + + + @@ -6689,9 +6686,9 @@ at the beginning. - - - + + + @@ -6702,7 +6699,7 @@ at the beginning. - + @@ -6715,7 +6712,7 @@ at the beginning. - + @@ -6728,7 +6725,7 @@ at the beginning. - + @@ -6741,7 +6738,7 @@ at the beginning. - + @@ -6754,7 +6751,7 @@ at the beginning. - + @@ -6767,7 +6764,7 @@ at the beginning. - + @@ -6780,7 +6777,7 @@ at the beginning. - + @@ -6793,7 +6790,7 @@ at the beginning. - + @@ -6806,7 +6803,7 @@ at the beginning. - + @@ -6819,7 +6816,7 @@ at the beginning. - + @@ -6832,7 +6829,7 @@ at the beginning. - + @@ -6845,7 +6842,7 @@ at the beginning. - + @@ -6858,7 +6855,7 @@ at the beginning. - + @@ -6871,7 +6868,7 @@ at the beginning. - + @@ -6884,7 +6881,7 @@ at the beginning. - + @@ -6897,7 +6894,7 @@ at the beginning. - + @@ -6910,7 +6907,7 @@ at the beginning. - + @@ -6923,7 +6920,7 @@ at the beginning. - + @@ -6933,7 +6930,7 @@ at the beginning. - + @@ -6946,7 +6943,7 @@ at the beginning. - + @@ -6959,7 +6956,7 @@ at the beginning. - + @@ -6972,7 +6969,7 @@ at the beginning. - + @@ -6985,7 +6982,7 @@ at the beginning. - + @@ -6998,7 +6995,7 @@ at the beginning. - + @@ -7011,7 +7008,7 @@ at the beginning. - + @@ -7024,7 +7021,7 @@ at the beginning. - + @@ -7037,7 +7034,7 @@ at the beginning. - + @@ -7050,7 +7047,7 @@ at the beginning. - + @@ -7060,7 +7057,7 @@ at the beginning. - + @@ -7073,7 +7070,7 @@ at the beginning. - + @@ -7086,7 +7083,7 @@ at the beginning. - + @@ -7096,7 +7093,7 @@ at the beginning. - + @@ -7109,9 +7106,9 @@ at the beginning. - - - + + + @@ -7122,9 +7119,9 @@ at the beginning. - - - + + + @@ -7135,7 +7132,7 @@ at the beginning. - + @@ -7148,7 +7145,7 @@ at the beginning. - + @@ -7161,7 +7158,7 @@ at the beginning. - + @@ -7174,7 +7171,7 @@ at the beginning. - + @@ -7187,9 +7184,9 @@ at the beginning. - - - + + + @@ -7200,7 +7197,7 @@ at the beginning. - + @@ -7210,9 +7207,9 @@ at the beginning. - - - + + + @@ -7223,7 +7220,7 @@ at the beginning. - + @@ -7236,7 +7233,7 @@ at the beginning. - + @@ -7246,7 +7243,7 @@ at the beginning. - + @@ -7259,7 +7256,7 @@ at the beginning. - + @@ -7269,9 +7266,9 @@ at the beginning. - - - + + + @@ -7282,9 +7279,9 @@ at the beginning. - - - + + + @@ -7295,9 +7292,9 @@ at the beginning. - - - + + + @@ -7308,9 +7305,9 @@ at the beginning. - - - + + + @@ -7321,7 +7318,7 @@ at the beginning. - + @@ -7331,9 +7328,9 @@ at the beginning. - - - + + + @@ -7344,9 +7341,9 @@ at the beginning. - - - + + + @@ -7357,9 +7354,9 @@ at the beginning. - - - + + + @@ -7370,9 +7367,9 @@ at the beginning. - - - + + + @@ -7383,7 +7380,7 @@ at the beginning. - + @@ -7396,9 +7393,9 @@ at the beginning. - - - + + + @@ -7409,9 +7406,9 @@ at the beginning. - - - + + + @@ -7422,7 +7419,7 @@ at the beginning. - + @@ -7432,9 +7429,9 @@ at the beginning. - - - + + + @@ -7445,9 +7442,9 @@ at the beginning. - - - + + + @@ -7458,7 +7455,7 @@ at the beginning. - + @@ -7471,9 +7468,9 @@ at the beginning. - - - + + + @@ -7484,7 +7481,7 @@ at the beginning. - + @@ -7494,9 +7491,9 @@ at the beginning. - - - + + + @@ -7507,7 +7504,7 @@ at the beginning. - + @@ -7520,7 +7517,7 @@ at the beginning. - + @@ -7533,7 +7530,7 @@ at the beginning. - + @@ -7546,7 +7543,7 @@ at the beginning. - + @@ -7559,7 +7556,7 @@ at the beginning. - + @@ -7572,7 +7569,7 @@ at the beginning. - + @@ -7582,7 +7579,7 @@ at the beginning. - + @@ -7595,9 +7592,9 @@ at the beginning. - - - + + + @@ -7608,9 +7605,9 @@ at the beginning. - - - + + + @@ -7621,9 +7618,9 @@ at the beginning. - - - + + + @@ -7634,9 +7631,9 @@ at the beginning. - - - + + + @@ -7647,7 +7644,7 @@ at the beginning. - + @@ -7660,7 +7657,7 @@ at the beginning. - + @@ -7673,7 +7670,7 @@ at the beginning. - + @@ -7686,7 +7683,7 @@ at the beginning. - + @@ -7699,7 +7696,7 @@ at the beginning. - + @@ -7712,7 +7709,7 @@ at the beginning. - + @@ -7725,7 +7722,7 @@ at the beginning. - + @@ -7738,7 +7735,7 @@ at the beginning. - + @@ -7751,7 +7748,7 @@ at the beginning. - + @@ -7761,7 +7758,7 @@ at the beginning. - + @@ -7774,7 +7771,7 @@ at the beginning. - + @@ -7784,7 +7781,7 @@ at the beginning. - + @@ -7797,7 +7794,7 @@ at the beginning. - + @@ -7810,7 +7807,7 @@ at the beginning. - + @@ -7823,7 +7820,7 @@ at the beginning. - + @@ -7836,7 +7833,7 @@ at the beginning. - + @@ -7849,7 +7846,7 @@ at the beginning. - + @@ -7862,9 +7859,9 @@ at the beginning. - - - + + + @@ -7875,7 +7872,7 @@ at the beginning. - + @@ -7885,9 +7882,9 @@ at the beginning. - - - + + + @@ -7898,7 +7895,7 @@ at the beginning. - + @@ -7908,9 +7905,9 @@ at the beginning. - - - + + + @@ -7921,9 +7918,9 @@ at the beginning. - - - + + + @@ -7934,7 +7931,7 @@ at the beginning. - + @@ -7947,7 +7944,7 @@ at the beginning. - + @@ -7960,7 +7957,7 @@ at the beginning. - + @@ -7973,7 +7970,7 @@ at the beginning. - + @@ -7986,7 +7983,7 @@ at the beginning. - + @@ -7999,7 +7996,7 @@ at the beginning. - + @@ -8012,7 +8009,7 @@ at the beginning. - + @@ -8025,7 +8022,7 @@ at the beginning. - + @@ -8038,7 +8035,7 @@ at the beginning. - + @@ -8051,7 +8048,7 @@ at the beginning. - + @@ -8064,7 +8061,7 @@ at the beginning. - + @@ -8077,7 +8074,7 @@ at the beginning. - + @@ -8090,7 +8087,7 @@ at the beginning. - + @@ -8100,9 +8097,9 @@ at the beginning. - - - + + + @@ -8113,7 +8110,7 @@ at the beginning. - + @@ -8123,9 +8120,9 @@ at the beginning. - - - + + + @@ -8136,9 +8133,9 @@ at the beginning. - - - + + + @@ -8149,9 +8146,9 @@ at the beginning. - - - + + + @@ -8162,9 +8159,9 @@ at the beginning. - - - + + + @@ -8175,9 +8172,9 @@ at the beginning. - - - + + + @@ -8188,7 +8185,7 @@ at the beginning. - + @@ -8201,7 +8198,7 @@ at the beginning. - + @@ -8214,7 +8211,7 @@ at the beginning. - + @@ -8227,7 +8224,7 @@ at the beginning. - + @@ -8240,9 +8237,9 @@ at the beginning. - - - + + + @@ -8253,8 +8250,8 @@ at the beginning. - - + + @@ -8265,9 +8262,9 @@ at the beginning. - - - + + + @@ -8278,9 +8275,9 @@ at the beginning. - - - + + + @@ -8291,9 +8288,9 @@ at the beginning. - - - + + + @@ -8304,9 +8301,9 @@ at the beginning. - - - + + + @@ -8317,9 +8314,9 @@ at the beginning. - - - + + + @@ -8330,9 +8327,9 @@ at the beginning. - - - + + + @@ -8343,9 +8340,9 @@ at the beginning. - - - + + + @@ -8356,9 +8353,9 @@ at the beginning. - - - + + + @@ -8369,7 +8366,7 @@ at the beginning. - + @@ -8382,7 +8379,7 @@ at the beginning. - + @@ -8395,7 +8392,7 @@ at the beginning. - + @@ -8408,7 +8405,7 @@ at the beginning. - + @@ -8421,7 +8418,7 @@ at the beginning. - + @@ -8434,7 +8431,7 @@ at the beginning. - + @@ -8447,7 +8444,7 @@ at the beginning. - + @@ -8460,7 +8457,7 @@ at the beginning. - + @@ -8473,7 +8470,7 @@ at the beginning. - + @@ -8486,7 +8483,7 @@ at the beginning. - + @@ -8499,7 +8496,7 @@ at the beginning. - + @@ -8512,7 +8509,7 @@ at the beginning. - + @@ -8525,7 +8522,7 @@ at the beginning. - + @@ -8538,7 +8535,7 @@ at the beginning. - + @@ -8551,7 +8548,7 @@ at the beginning. - + @@ -8564,7 +8561,7 @@ at the beginning. - + @@ -8577,7 +8574,7 @@ at the beginning. - + @@ -8590,7 +8587,7 @@ at the beginning. - + @@ -8603,7 +8600,7 @@ at the beginning. - + @@ -8616,7 +8613,7 @@ at the beginning. - + @@ -8629,7 +8626,7 @@ at the beginning. - + @@ -8642,7 +8639,7 @@ at the beginning. - + @@ -8655,7 +8652,7 @@ at the beginning. - + @@ -8668,7 +8665,7 @@ at the beginning. - + @@ -8681,7 +8678,7 @@ at the beginning. - + @@ -8694,7 +8691,7 @@ at the beginning. - + @@ -8704,7 +8701,7 @@ at the beginning. - + @@ -8713,9 +8710,7 @@ at the beginning. - - - + @@ -8724,8 +8719,8 @@ at the beginning. - - + + @@ -8735,7 +8730,7 @@ at the beginning. - + @@ -8744,8 +8739,8 @@ at the beginning. - - + + @@ -8755,7 +8750,7 @@ at the beginning. - + @@ -8764,7 +8759,7 @@ at the beginning. - + @@ -8773,7 +8768,7 @@ at the beginning. - + @@ -8782,7 +8777,7 @@ at the beginning. - + @@ -8791,7 +8786,7 @@ at the beginning. - + @@ -8800,7 +8795,7 @@ at the beginning. - + @@ -8809,7 +8804,7 @@ at the beginning. - + @@ -8818,7 +8813,7 @@ at the beginning. - + @@ -8829,7 +8824,7 @@ at the beginning. - + @@ -8840,7 +8835,7 @@ at the beginning. - + @@ -8849,7 +8844,7 @@ at the beginning. - + @@ -8860,7 +8855,7 @@ at the beginning. - + @@ -8873,7 +8868,7 @@ at the beginning. - + @@ -8886,7 +8881,7 @@ at the beginning. - + @@ -8899,7 +8894,7 @@ at the beginning. - + @@ -8912,7 +8907,7 @@ at the beginning. - + @@ -8925,7 +8920,7 @@ at the beginning. - + @@ -8938,9 +8933,9 @@ at the beginning. - - - + + + @@ -8951,9 +8946,9 @@ at the beginning. - - - + + + @@ -8964,7 +8959,7 @@ at the beginning. - + @@ -8974,9 +8969,9 @@ at the beginning. - - - + + + @@ -8987,9 +8982,9 @@ at the beginning. - - - + + + @@ -9000,7 +8995,7 @@ at the beginning. - + @@ -9013,7 +9008,7 @@ at the beginning. - + @@ -9023,7 +9018,7 @@ at the beginning. - + @@ -9036,7 +9031,7 @@ at the beginning. - + @@ -9046,7 +9041,7 @@ at the beginning. - + @@ -9055,7 +9050,7 @@ at the beginning. - + @@ -9068,7 +9063,9 @@ at the beginning. - + + + @@ -9077,9 +9074,9 @@ at the beginning. - - - + + + @@ -9090,9 +9087,9 @@ at the beginning. - - - + + + @@ -9103,9 +9100,9 @@ at the beginning. - - - + + + @@ -9116,9 +9113,9 @@ at the beginning. - - - + + + @@ -9129,9 +9126,9 @@ at the beginning. - - - + + + @@ -9142,9 +9139,9 @@ at the beginning. - - - + + + @@ -9155,9 +9152,9 @@ at the beginning. - - - + + + @@ -9168,9 +9165,9 @@ at the beginning. - - - + + + @@ -9181,9 +9178,9 @@ at the beginning. - - - + + + @@ -9194,9 +9191,9 @@ at the beginning. - - - + + + @@ -9207,7 +9204,7 @@ at the beginning. - + @@ -9259,7 +9256,7 @@ at the beginning. - + @@ -9268,9 +9265,7 @@ at the beginning. - - - + @@ -9280,7 +9275,7 @@ at the beginning. - + @@ -9316,7 +9311,7 @@ at the beginning. - + @@ -9329,7 +9324,7 @@ at the beginning. - + @@ -9342,7 +9337,7 @@ at the beginning. - + @@ -9355,7 +9350,7 @@ at the beginning. - + @@ -9368,7 +9363,7 @@ at the beginning. - + @@ -9381,7 +9376,7 @@ at the beginning. - + @@ -9469,7 +9464,7 @@ at the beginning. - + @@ -9480,8 +9475,8 @@ at the beginning. - - + + @@ -9493,8 +9488,8 @@ at the beginning. - - + + @@ -9506,8 +9501,8 @@ at the beginning. - - + + @@ -9519,8 +9514,8 @@ at the beginning. - - + + @@ -9532,8 +9527,8 @@ at the beginning. - - + + @@ -9545,8 +9540,8 @@ at the beginning. - - + + @@ -9567,9 +9562,7 @@ at the beginning. - - - + @@ -9578,7 +9571,7 @@ at the beginning. - + diff --git a/English/Graph/roadmap.svg b/English/Graph/roadmap.svg index ad8eb9f..bb06826 100644 --- a/English/Graph/roadmap.svg +++ b/English/Graph/roadmap.svg @@ -1,6638 +1,6638 @@ - + - + - + - - + + - - + + - - C++ developer + + C++ developer - - + + - - Soft skills + + Soft skills - - + + - - Hard skills + + Hard skills - - + + - - + + - - At first, some of the skills may seem impossible to - develop. However, we think differently. It is possible to - work on each of the skills. Everything depends on your - desire and internal blocks. Everything is individual, and - it's up to you to decide. :) + + At first, some of the skills may seem impossible to + develop. However, we think differently. It is possible to + work on each of the skills. Everything depends on your + desire and internal blocks. Everything is individual, and + it's up to you to decide. :) - - + + - - + + - - Ability to learn + + Ability to learn - - + + - - + + - - Manage mistakes + + Manage mistakes - - + + - - + + - - Thinking + + Thinking - - + + - - + + - - Responsibility + + Responsibility - - + + - - + + - - Manage resources + + Manage resources - - + + - - + + - - Communication + + Communication - - + + - - + + - - Team work + + Team work - - + + - - + + - - Emotional intelligence + + Emotional intelligence - - + + - - + + - - Understanding the development context + + Understanding the development context - - + + - - + + - - Customer focus + + Customer focus - - + + - - + + - - Technology + + Technology - - + + - - + + - - Trends + + Trends - - + + - - + + - - Empathy + + Empathy - - + + - - + + - - Concentration + + Concentration - - + + - - + + - - Open-mindedness + + Open-mindedness - - + + - - + + - - Adaptability + + Adaptability - - + + - - + + - - Stress resistance + + Stress resistance - - + + - - + + - - Working in uncertainty + + Working in uncertainty - - + + - - + + - - Understanding the distribution of roles in a team + + Understanding the distribution of roles in a team - - + + - - + + - - Support team members + + Support team members - - + + - - + + - - Work in a distributed team + + Work in a distributed team - - + + - - + + - - Providing feedback + + Providing feedback - - + + - - + + - - Leadership + + Leadership - - + + - - + + - - Mentoring + + Mentoring - - + + - - + + - - Delegation + + Delegation - - + + - - + + - - Assigning and clarifying tasks to employees + + Assigning and clarifying tasks to employees - - + + - - + + - - Planning and goal setting + + Planning and goal setting - - + + - - + + - - Negotiation + + Negotiation - - + + - - + + - - English + + English - - + + - - + + - - Presentation + + Presentation - - + + - - + + - - Written communication skill + + Written communication skill - - + + - - + + - - Networking + + Networking - - + + - - + + - - Ability to listen + + Ability to listen - - + + - - + + - - Persuasion + + Persuasion - - + + - - + + - - Ability to communicate ideas and thoughts within the team + + Ability to communicate ideas and thoughts within the team - - + + - - + + - - Finding compromises + + Finding compromises - - + + - - + + - - Dispute resolution + + Dispute resolution - - + + - - + + - - Providing information to people outside the team + + Providing information to people outside the team - - + + - - + + - - Time management + + Time management - - + + - - + + - - Prioritization + + Prioritization - - + + - - + + - - Taking decisions + + Taking decisions - - + + - - + + - - Blind typing + + Blind typing - - + + - - + + - - Multitasking + + Multitasking - - + + - - + + - - Discipline + + Discipline - - + + - - + + - - Persistence + + Persistence - - + + - - + + - - Initiative + + Initiative - - + + - - + + - - Independence + + Independence - - + + - - + + - - Problem solving + + Problem solving - - + + - - + + - - Logical + + Logical - - + + - - + + - - Critical + + Critical - - + + - - + + - - Creative + + Creative - - + + - - + + - - Strategic + + Strategic - - + + - - + + - - Systems + + Systems - - + + - - + + - - Accept criticism + + Accept criticism - - + + - - + + - - Notify about mistakes in time + + Notify about mistakes in time - - + + - - + + - - Admitting your mistakes + + Admitting your mistakes - - + + - - + + - - Analyze mistakes + + Analyze mistakes - - + + - - + + - - Ask the right questions + + Ask the right questions - - + + - - + + - - Experimenting + + Experimenting - - + + - - + + - - Manage knowledge + + Manage knowledge - - + + - - + + - - Process information + + Process information - - + + - - + + - - Ability to gather, analyze, evaluate - information and make decisions - based on it. + + Ability to gather, analyze, evaluate + information and make decisions + based on it. - - + + - - + + - - Reflection + + Reflection - - + + - - + + - - Calmly react to what people say. Most likely that they - only consider their own context when they try to prove - something. This is fine. Evaluate the usefulness of their - point of view. + + Calmly react to what people say. Most likely that they + only consider their own context when they try to prove + something. This is fine. Evaluate the usefulness of their + point of view. - - + + - - + + - - Take challenging tasks in order to develop your skills and - competencies, even when there is not enough - knowledge/experience (skills will develop much faster - through such tasks). The main thing is to distinguish a - really useful complex task that will help you to boost your - skills from a dumb task that requires a scapegoat. + + Take challenging tasks in order to develop your skills and + competencies, even when there is not enough + knowledge/experience (skills will develop much faster + through such tasks). The main thing is to distinguish a + really useful complex task that will help you to boost your + skills from a dumb task that requires a scapegoat. - - + + - - + + - - You should be responsible for your professional development. Don't wait - for the team lead to decide for you what to study. Do not forget that blind - adherence to someone else's plan will sharpen your skills according to - requirements of a particular company. It is better to discuss and build in - your interests into the plan. If this is not done, there is a high risk of getting - irrelevant skills, which will hit career opportunities. But don't overdo it: don't - study absolutely everything or don't passively wait until a development plan - will be created for you. + + You should be responsible for your professional development. Don't wait + for the team lead to decide for you what to study. Do not forget that blind + adherence to someone else's plan will sharpen your skills according to + requirements of a particular company. It is better to discuss and build in + your interests into the plan. If this is not done, there is a high risk of getting + irrelevant skills, which will hit career opportunities. But don't overdo it: don't + study absolutely everything or don't passively wait until a development plan + will be created for you. - - + + - - + + - - Self-organization + + Self-organization - - + + - - + + - - The ability to provide the amount of information that is - necessary to communicate to people with different - backgrounds. + + The ability to provide the amount of information that is + necessary to communicate to people with different + backgrounds. - - + + - - + + - - Conflict solving + + Conflict solving - - + + - - + + - - If you read this it means you already understand why it is so - important :) - - Usually, it is required at least to read because you would need to - understand technical documentation. But as you move up the career - ladder, you will need to speak and write more confidently in English. + + If you read this it means you already understand why it is so + important :) + + Usually, it is required at least to read because you would need to + understand technical documentation. But as you move up the career + ladder, you will need to speak and write more confidently in English. - - + + - - + + - - Look for like-minded people and join/create a community for - experience exchange. + + Look for like-minded people and join/create a community for + experience exchange. - - + + - - + + - - You should study and observe contemporary trends to be - competitive, as well as being able to adapt to them. + + You should study and observe contemporary trends to be + competitive, as well as being able to adapt to them. - - + + - - + + - - Experienced developers should develop management skills and business - communication skills to complete tasks efficiently. It is easier to do if you - have developed emotional intelligence. For a junior developer, the skill is - also useful to better interact with colleagues. + + Experienced developers should develop management skills and business + communication skills to complete tasks efficiently. It is easier to do if you + have developed emotional intelligence. For a junior developer, the skill is + also useful to better interact with colleagues. - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - 1 step + + 1 step - - + + - - + + - - + + - - Basic operations + + Basic operations - - + + - - + + - - Arithmetic operations + + Arithmetic operations - - + + - - + + - - Loops: for/while + + Loops: for/while - - + + - - + + - - Logical operations + + Logical operations - - + + - - + + - - Bitwise operations + + Bitwise operations - - + + - - + + - - Functions + + Functions - - + + - - + + - - lambda + + lambda - - + + - - + + - - Operators + + Operators - - + + - - + + - - Data types + + Data types - - + + - - + + - - Dynamic typing + + Dynamic typing - - + + - - + + - - Static typing + + Static typing - - + + - - + + - - RTTI + + RTTI - - + + - - + + - - Pointers & References + + Pointers & References - - + + - - + + - - Codebase structuring + + Codebase structuring - - + + - - + + - - References + + References - - + + - - + + - - Memory model + + Memory model - - + + - - + + - - Smart pointer + + Smart pointer - - + + - - + + - - Raw pointers + + Raw pointers - - + + - - + + - - Code splitting into headers/cpp files + + Code splitting into headers/cpp files - - + + - - + + - - Scope + + Scope - - + + - - + + - - Memory leakage + + Memory leakage - - + + - - + + - - Forward declaration + + Forward declaration - - + + - - + + - - unique_ptr + + unique_ptr - - + + - - + + - - shared_ptr + + shared_ptr - - + + - - + + - - Lifetime of objects + + Lifetime of objects - - + + - - + + - - new/delete operators + + new/delete operators - - + + - - + + - - weak_ptr + + weak_ptr - - + + - - + + - - Namespaces + + Namespaces - - + + - - + + - - The overloading of regular set of operators for - regular or custom types (structures/classes). + + The overloading of regular set of operators for + regular or custom types (structures/classes). - - + + - - + + - - To prevent memory leakage problems it is better to use - smart pointers rather than raw pointers. + + To prevent memory leakage problems it is better + to use smart pointers rather than raw pointers. - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - 2 step + + 2 step - - + + - - + + - - + + - - Structures and classes + + Structures and classes - - + + - - + + - - Exception handling + + Exception handling - - + + - - + + - - Overloading of functions + + Overloading of functions - - + + - - + + - - Virtual table (vtbl) + + Virtual table (vtbl) - - + + - - + + - - Object Oriented programming (OOP) + + Object Oriented programming (OOP) - - + + - - + + - - Exceptions + + Exceptions - - + + - - + + - - Access violation + + Access violation - - + + - - + + - - Dynamic polymorphism + + Dynamic polymorphism - - + + - - + + - - Virtual methods + + Virtual methods - - + + - - + + - - The rule of zero/three/five + + The rule of zero/three/five - - + + - - + + - - Static polymorphism + + Static polymorphism - - + + - - + + - - Multiple inheritance + + Multiple inheritance - - + + - - + + - - Diamond inheritance + + Diamond inheritance - - + + - - + + - - Error codes + + Error codes - - + + - - + + - - It's preferred to avoid multiple inheritance - (excepting abstract classes) to prevent - runtime issues + + It's preferred to avoid multiple inheritance + (excepting abstract classes) to prevent + runtime issues - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - 3 step + + 3 step - - + + - - + + - - + + - - auto (automatic type deduction) + + auto (automatic type deduction) - - + + - - + + - - Language concepts + + Language concepts - - + + - - + + - - type casting + + type casting - - + + - - + + - - static_cast + + static_cast - - + + - - + + - - const_cast + + const_cast - - + + - - + + - - dynamic_cast + + dynamic_cast - - + + - - + + - - reinterpret_cast + + reinterpret_cast - - + + - - + + - - Undefined Behavior (UB) + + Undefined Behavior (UB) - - + + - - + + - - Argument-dependent lookup (ADL) + + Argument-dependent lookup (ADL) - - + + - - + + - - Macros + + Macros - - + + - - + + - - Name mangling + + Name mangling - - + + - - + + - - Standard library + + Standard library - - + + - - + + - - iostream + + iostream - - + + - - + + - - Algorithms + + Algorithms - - + + - - + + - - Iterators + + Iterators - - + + - - + + - - Containers + + Containers - - + + - - + + - - Date/time + + Date/time - - + + - - + + - - Multithreading + + Multithreading - - + + - - + + - - Some of language constructions have non-declared behavior according to - the ISO standard. In case of any error, it's not possible to predict further - behavior. It depends on a platform environment, runtime context, etc. + + Some of language constructions have non-declared behavior according to + the ISO standard. In case of any error, it's not possible to predict further + behavior. It depends on a platform environment, runtime context, etc. - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - 4 step + + 4 step - - + + - - + + - - + + - - Templates + + Templates - - + + - - + + - - Variadic templates + + Variadic templates - - + + - - + + - - The template specialization + + The template specialization - - + + - - + + - - type traits + + type traits - - + + - - + + - - SFINAE + + SFINAE - - + + - - + + - - The full template specialization + + The full template specialization - - + + - - + + - - The partial template specialization + + The partial template specialization - - + + - - + + - - RAII + + RAII - - + + - - + + - - pimpl + + pimpl - - + + - - + + - - Erase-Remove + + Erase-Remove - - + + - - + + - - Non-Copyable/Non-Moveable + + Non-Copyable/Non-Moveable - - + + - - + + - - Copy and swap + + Copy and swap - - + + - - + + - - Copy on write + + Copy on write - - + + - - + + - - CRTP + + CRTP - - + + - - + + - - Standards + + Standards - - + + - - + + - - C++11/14 + + C++11/14 - - + + - - + + - - C++17 + + C++17 - - + + - - + + - - C++20 + + C++20 - - + + - - + + - - newest + + newest - - + + - - + + - - C++0x + + C++0x - - + + - - + + - - Idioms + + Idioms - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - 1 step + + 1 step - - + + - - + + - - + + - - Working with source code + + Working with source code - - + + - - + + - - Text editors + + Text editors - - + + - - + + - - IDE + + IDE - - + + - - + + - - Code editors + + Code editors - - + + - - + + - - Debugger + + Debugger - - + + - - + + - - Linters + + Linters - - + + - - + + - - Knowledge of features and abilities (shortcuts, tools, plugins) + + Knowledge of features and abilities (shortcuts, tools, plugins) - - + + - - + + - - Understanding of debugger messages + + Understanding of debugger messages - - + + - - + + - - Debugging symbols + + Debugging symbols - - + + - - + + - - WinDbg + + WinDbg - - + + - - + + - - GDB + + GDB - - + + - - + + - - Choose one of the popular IDEs and study it well: - Eclipse, MS Visual Studio, Qt Creator, JetBrains Clion, - XCode, etc. + + Choose one of the popular IDEs and study it well: + Eclipse, MS Visual Studio, Qt Creator, JetBrains Clion, + XCode, etc. - - + + - - + + - - Study how to use a debugger and all its features + + Study how to use a debugger and all its features - - + + - - + + - - Choose one of the popular editors and study it well. - For example: Notepad++, Atom, etc. + + Choose one of the popular editors and study it well. + For example: Notepad++, Atom, etc. - - + + - - + + - - The ability to work with a debugger via command line is a not - common skill. It's sufficient to work with it via IDE. For example: - set conditional breakpoints, etc. + + The ability to work with a debugger via command line is a not + common skill. It's sufficient to work with it via IDE. For example: + set conditional breakpoints, etc. - - + + - - + + - - Learn about common errors (segfault, out of memory, - access violation) and undefined behavior concept. + + Learn about common errors (segfault, out of memory, + access violation) and undefined behavior concept. - - + + - - + + - - Choose one of the popular editors and study it well. For - example: Visual Code, Atom, Sublime Text, etc. + + Choose one of the popular editors and study it well. For + example: Visual Code, Atom, Sublime Text, etc. - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - 3 step + + 3 step - - + + - - + + - - + + - - Compilers + + Compilers - - + + - - + + - - Basic understanding of compilers stages + + Basic understanding of compilers stages - - + + - - + + - - Compilation of sources to object files (compilation) + + Compilation of sources to object files (compilation) - - + + - - + + - - The object files linkage (linking) + + The object files linkage (linking) - - + + - - + + - - Working stages of compilers + + Working stages of compilers - - + + - - + + - - Platform dependent compilers + + Platform dependent compilers - - + + - - + + - - Each platform-dependent compiler has its nuances. It's - good to know about them to prevent getting any trap:  - Clang++/LLVM, Intel C++, MSVS C++, GCC, MinGW + + Each platform-dependent compiler has its nuances. It's + good to know about them to prevent getting any trap:  + Clang++/LLVM, Intel C++, MSVS C++, GCC, MinGW - - + + - - + + - - The compiler performs several stages of code compilation. - It's good to know about all of them to better understand - compilation issues. Deep knowledge is needed for compiler - creators only. + + The compiler performs several stages of code compilation. + It's good to know about all of them to better understand + compilation issues. Deep knowledge is needed for compiler + creators only. - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - + + - - + + - - 5 step + + 5 step - - + + - - + + - - + + - - Build systems + + Build systems - - + + - - + + - - CMake + + CMake - - + + - - + + - - Makefile + + Makefile - - + + - - + + - - ninja + + ninja - - + + - - + + - - Package managers + + Package managers - - + + - - + + - - vcpkg + + vcpkg - - + + - - + + - - spack + + spack - - + + - - + + - - Conan + + Conan - - + + - - + + - - nuget + + nuget - - + + - - + + - - Libraries + + Libraries - - + + - - + + - - boost + + boost - - + + - - + + - - opencv + + opencv - - + + - - + + - - poco + + poco - - + + - - + + - - Libraries inclusion + + Libraries inclusion - - + + - - + + - - protobuf + + protobuf - - + + - - + + - - gRPC + + gRPC - - + + - - + + - - fmt + + fmt - - + + - - + + - - pybindll + + pybindll - - + + - - + + - - spdlog + + spdlog - - + + - - + + - - ranges_v3 + + ranges_v3 - - + + - - + + - - tensorflow + + tensorflow - - + + - - + + - - opencl + + opencl - - + + - - + + - - Frameworks + + Frameworks - - + + - - + + - - gtest/gmock + + gtest/gmock - - + + - - + + - - Qt + + Qt - - + + - - + + - - catch2 + + catch2 - - + + - - + + - - google profiler + + google profiler - - + + - - + + - - pytorch c++ + + pytorch c++ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - 1 step + + 1 step - - + + - - + + - - + + - - Computers Science + + Computers Science - - + + - - + + - - Data structures + + Data structures - - + + - - + + - - Algorithms + + Algorithms - - + + - - + + - - Boolean algebra + + Boolean algebra - - + + - - + + - - Finite-state machines + + Finite-state machines - - + + - - + + - - It's also good to know how to calculate algorithm complexity - and memory consumption. + + It's also good to know how to calculate algorithm complexity + and memory consumption. - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - 4 step + + 4 step - - + + - - + + - - + + - - Version control software + + Version control software - - + + - - + + - - Distributed + + Distributed - - + + - - + + - - Centralized + + Centralized - - + + - - + + - - SVN + + SVN - - + + - - + + - - git + + git - - + + - - + + - - Mercurial + + Mercurial - - + + - - + + - - Best practices + + Best practices - - + + - - + + - - Code quality + + Code quality - - + + - - + + - - Code guidelines + + Code guidelines - - + + - - + + - - Principles of development + + Principles of development - - + + - - + + - - KISS (Keep It Simple, Stupid) + + KISS (Keep It Simple, Stupid) - - + + - - + + - - DRY (Don't Repeat Yourself) + + DRY (Don't Repeat Yourself) - - + + - - + + - - YAGNI (You Aren't Gonna Need It) + + YAGNI (You Aren't Gonna Need It) - - + + - - + + - - APO (Avoid Premature Optimization) + + APO (Avoid Premature Optimization) - - + + - - + + - - BDUF (Big Design Up Front) + + BDUF (Big Design Up Front) - - + + - - + + - - Composition is preferably than the inheritance + + Composition is preferably than the inheritance - - + + - - + + - - Occam's razor + + Occam's razor - - + + - - + + - - Divide and Conquer + + Divide and Conquer - - + + - - + + - - Logging and telemetry + + Logging and telemetry - - + + - - + + - - Code review + + Code review - - + + - - + + - - Skill to read existing code sources + + Skill to read existing code sources - - + + - - + + - - Skill to review code + + Skill to review code - - + + - - + + - - Lifecycle stages of a software + + Lifecycle stages of a software - - + + - - + + - - Implementation + + Implementation - - + + - - + + - - Testing + + Testing - - + + - - + + - - Maintanance + + Maintanance - - + + - - + + - - Versioning + + Versioning - - + + - - + + - - Unit tests + + Unit tests - - + + - - + + - - Integration tests + + Integration tests - - + + - - + + - - Functional tests + + Functional tests - - + + - - + + - - Performance tests + + Performance tests - - + + - - + + - - Software architecture and components design + + Software architecture and components design - - + + - - + + - - Components integration + + Components integration - - + + - - + + - - Deployment + + Deployment - - + + - - + + - - Collecting requirements + + Collecting requirements - - + + - - + + - - End of a software lifecycle + + End of a software lifecycle - - + + - - + + - - Code analyzers + + Code analyzers - - + + - - + + - - Static analyzers + + Static analyzers - - + + - - + + - - Dynamic analyzers + + Dynamic analyzers - - + + - - + + - - Profilers + + Profilers - - + + - - + + - - C++ core guidelines + + C++ core guidelines - - + + - - + + - - Industrial standards + + Industrial standards - - + + - - + + - - MISRA + + MISRA - - + + - - + + - - Autosar + + Autosar - - + + - - + + - - Command line + + Command line - - + + - - + + - - batch + + batch - - + + - - + + - - Powershell + + Powershell - - + + - - + + - - bash + + bash - - + + - - + + - - CI/CD + + CI/CD - - + + - - + + - - Trunk Based Development + + Trunk Based Development - - + + - - + + - - Zero downtime deployment + + Zero downtime deployment - - + + - - + + - - Creation of a software deployment package + + Creation of a software deployment package - - + + - - + + - - Documentation + + Documentation - - + + - - + + - - Installer package + + Installer package - - + + - - + + - - Usage of other programming languages + + Usage of other programming languages - - + + - - + + - - Language interoperability + + Language interoperability - - + + - - + + - - Naming conventions, tabs vs spaces, etc. + + Naming conventions, tabs vs spaces, etc. - - + + - - + + - - To configure automated code formatting verification with one of - the suitable utilities: clang-format, Resharper - code style, - MSVS - code style. + + To configure automated code formatting verification with one of + the suitable utilities: clang-format, Resharper - code style, + MSVS - code style. - - + + - - + + - - - Scripting - - Functional - - SQL like - - NoSQL + + - Scripting + - Functional + - SQL like + - NoSQL - - + + - - + + - - Sometimes it's needed to provide an ability to reuse a library written in - a different language from another one. For example: to call C++ - libraries in C#. + + Sometimes it's needed to provide an ability to reuse a library written in + a different language from another one. For example: to call C++ + libraries in C#. - - + + - - + + - - Backward compatibility + + Backward compatibility - - + + - - + + - - Software design + + Software design - - + + - - + + - - Architecture styles + + Architecture styles - - + + - - + + - - Component-based + + Component-based - - + + - - + + - - Monolithic application + + Monolithic application - - + + - - + + - - Layered + + Layered - - + + - - + + - - Client-server + + Client-server - - + + - - + + - - Microservices architecture + + Microservices architecture - - + + - - + + - - Event-driven + + Event-driven - - + + - - + + - - Plug-ins + + Plug-ins - - + + - - + + - - REST + + REST - - + + - - + + - - Service-oriented architecture + + Service-oriented architecture - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - 2 step + + 2 step - - + + - - + + - - + + - - Design Patters (GoF) + + Design Patters (GoF) - - + + - - + + - - Behavioral + + Behavioral - - + + - - + + - - Structural + + Structural - - + + - - + + - - Creational + + Creational - - + + - - + + - - OOP + + OOP - - + + - - + + - - SOLID + + SOLID - - + + - - + + - - UML + + UML - - + + - - + + - - Architecture patterns + + Architecture patterns - - + + - - + + - - MVC + + MVC - - + + - - + + - - MVVM + + MVVM - - + + - - + + - - Three-tier + + Three-tier - - + + - - + + - - Onion + + Onion - - + + - - + + - - Hexagon + + Hexagon - - + + - - + + - - Methodologies of development + + Methodologies of development - - + + - - + + - - Test Driven Development + + Test Driven Development - - + + - - + + - - Behavior Driven Development + + Behavior Driven Development - - + + - - + + - - Domain Driven Design + + Domain Driven Design - - + + - - + + - - Memory + + Memory - - + + - - + + - - Memory abstractions + + Memory abstractions - - + + - - + + - - Memory alignment + + Memory alignment - - + + - - + + - - Memory management + + Memory management - - + + - - + + - - Binary units + + Binary units - - + + - - + + - - Executable file + + Executable file - - + + - - + + - - Static library + + Static library - - + + - - + + - - Dynamic library + + Dynamic library - - + + - - + + - - Stack + + Stack - - + + - - + + - - Global memory + + Global memory - - + + - - + + - - Heap + + Heap - - + + - - + + - - Application memory + + Application memory - - + + - - + + - - Virtual memory + + Virtual memory - - + + - - + + - - Operating systems + + Operating systems - - + + - - + + - - Multithreading + + Multithreading - - + + - - + + - - Errors + + Errors - - + + - - + + - - Dead lock + + Dead lock - - + + - - + + - - Race condition + + Race condition - - + + - - + + - - Live lock + + Live lock - - + + - - + + - - Starvation + + Starvation - - + + - - + + - - Threads + + Threads - - + + - - + + - - Concurrency + + Concurrency - - + + - - + + - - Mutexes + + Mutexes - - + + - - + + - - Semaphores + + Semaphores - - + + - - + + - - lock-free + + lock-free - - + + - - + + - - Event handling + + Event handling - - + + - - + + - - Sync + + Sync - - + + - - + + - - Async + + Async - - + + - - + + - - Process + + Process - - + + - - + + - - Interprocess communication + + Interprocess communication - - + + - - + + - - Shared memory + + Shared memory - - + + - - + + - - Pipes + + Pipes - - + + - - + + - - Serialization + + Serialization - - + + - - + + - - json + + json - - + + - - + + - - XML + + XML - - + + - - + + - - Network + + Network - - + + - - + + - - TCP/IP + + TCP/IP - - + + - - + + - - OSI + + OSI - - + + - - + + - - Sockets + + Sockets - - + + - - + + - - HTTP + + HTTP - - + + - - + + - - TCP + + TCP - - + + - - + + - - UDP + + UDP - - + + - - + + - - File system + + File system - - + + - - + + - - Task scheduler + + Task scheduler - - + + - - + + - - Virtualization + + Virtualization - - + + - - + + - - VirtualBox + + VirtualBox - - + + - - + + - - VMware Workstation + + VMware Workstation - - + + - - + + - - Containers + + Containers - - + + - - + + - - Hyper-V + + Hyper-V - - + + - - + + - - Docker + + Docker - - + + - - + + - - Cloud Services + + Cloud Services - - + + - - + + - - Kubernetes + + Kubernetes - - + + - - + + - - Security + + Security - - + + - - + + - - Encryption + + Encryption - - + + - - + + - - MultiCPU systems + + MultiCPU systems - - + + - - + + - - Multicore CPU + + Multicore CPU - - + + - - + + - - NUMA + + NUMA - - + + - - + + - - Input/output + + Input/output - - + + - - + + - - Drivers + + Drivers - - + + - - + + - - Audio + + Audio - - + + - - + + - - Graphics + + Graphics - - + + - - + + - - Printers (printing) + + Printers (printing) - - + + - - + + - - DirectSound + + DirectSound - - + + - - + + - - OpenAL + + OpenAL - - + + - - + + - - DirectX + + DirectX - - + + - - + + - - Vulkan + + Vulkan - - + + - - + + - - OpenGL + + OpenGL - - + + - - + + - - CUDA + + CUDA - - + + - - + + - - Common skills + + Common skills - - + + - - + + - - Language tools + + Language tools - - + + - - + + - - Language syntax + + Language syntax - - + + - - + + - - C++ Developer Roadmap + + C++ Developer Roadmap - - + + - - + + - + About: - - + + - - + + - + C ++ is still one of the most popular development languages. There is quite a number of people that want to start learning it and become a C++ developer. They face questions like: "Where should I start? What and in what order should I study? What books should I read?" @@ -6645,27 +6645,27 @@ - - + + - - + + - + How to use: - - + + - - + + - + If you have any feedback or remarks don't hesitate to contact us. We really appreciate it. :) @@ -6676,79 +6676,79 @@ - - + + - - + + - + Feedback: - - + + - - + + - + Optional - - + + - - + + - + Junior - - + + - - + + - + Middle - - + + - - + + - + Senior - - + + - - + + - + The middle developer has the skills to create a design for new functionality as a part of @@ -6760,14 +6760,14 @@ - - + + - - + + - + The senior developer has the skills to create a design and make decisions for a @@ -6778,14 +6778,14 @@ - - + + - - + + - + The junior must acquire the following skill as soon as possible: to write @@ -6795,14 +6795,14 @@ - - + + - - + + - + The juniors should be aware of middle/senior skills. It's enough to have a basic @@ -6811,14 +6811,14 @@ - - + + - - + + - + The "steps" are presented on this map. They're intended to show an easy for newbies to @@ -6829,581 +6829,581 @@ - - + + - - + + - + Repository: - - + + - - + + - + https://github.com/salmer/CppDeveloperRoadmap - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +