Files
developer-roadmap/index.html
Kamran Ahmed d40aa3c581 Updates
2022-02-03 19:58:37 +00:00

6 lines
112 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html><head><meta charSet="UTF-8"/><title>Developer Roadmaps</title><meta name="description" content="Community driven roadmaps, articles, guides, quizzes, tips and resources for developers to learn from, identify their career paths, know what they don&#x27;t know, find out the knowledge gaps, learn and improve."/><meta name="author" content="Kamran Ahmed"/><meta name="keywords" content="roadmap,developer roadmaps,developer roadmap,frontend developer,frontend developer roadmap,frontend,frontend roadmap,backend,backend developer,backend developer roadmap,devops,devops roadmap,fullstack developer roadmap,guide to becoming a developer,sre roadmap,sre,operations roadmap,qa roadmap,android roadmap,android developer roadmap,react roadmap,react developer roadmap,dba roadmap,postgresql dba roadmap"/><meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0, maximum-scale=3.0, minimum-scale=1.0"/><meta http-equiv="Content-Language" content="en"/><meta property="og:title" content="Developer Roadmaps"/><meta property="og:description" content="Community driven roadmaps, articles, guides, quizzes, tips and resources for developers to learn from, identify their career paths, know what they don&#x27;t know, find out the knowledge gaps, learn and improve."/><meta property="og:image" content="https://roadmap.sh/brand-square.png"/><meta property="og:url" content="https://roadmap.sh"/><meta property="og:type" content="website"/><meta property="article:publisher" content="https://facebook.com/kamranahmedse"/><meta property="og:site_name" content="roadmap.sh"/><meta property="article:author" content="Kamran Ahmed"/><meta name="twitter:card" content="summary"/><meta name="twitter:site" content="@kamranahmedse"/><meta name="twitter:title" content="Developer Roadmaps"/><meta name="twitter:description" content="Community driven roadmaps, articles, guides, quizzes, tips and resources for developers to learn from, identify their career paths, know what they don&#x27;t know, find out the knowledge gaps, learn and improve."/><meta name="twitter:image" content="https://roadmap.sh/brand-square.png"/><meta name="twitter:image:alt" content="roadmap.sh"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="apple-touch-icon" sizes="180x180" href="/manifest/apple-touch-icon.png"/><meta name="msapplication-TileColor" content="#101010"/><meta name="theme-color" content="#848a9a"/><link rel="manifest" href="/manifest/manifest.json"/><link rel="icon" type="image/png" sizes="32x32" href="/manifest/icon32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/manifest/icon16.png"/><link rel="shortcut icon" href="/manifest/favicon.ico" type="image/x-icon"/><link rel="icon" href="/manifest/favicon.ico" type="image/x-icon"/><script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-139582634-1"></script><script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-139582634-1');
</script><meta name="next-head-count" content="34"/><link rel="preload" href="/_next/static/css/e04f03d5f7fd936c.css" as="style"/><link rel="stylesheet" href="/_next/static/css/e04f03d5f7fd936c.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-378e68e29c265886.js" defer=""></script><script src="/_next/static/chunks/framework-dc33c0b5493501f0.js" defer=""></script><script src="/_next/static/chunks/main-056d531d8af152ad.js" defer=""></script><script src="/_next/static/chunks/pages/_app-922023ad9bc735f2.js" defer=""></script><script src="/_next/static/chunks/680-f2ef73bf59f135ea.js" defer=""></script><script src="/_next/static/chunks/919-59daa32154b35047.js" defer=""></script><script src="/_next/static/chunks/515-ff9433ec58b1ff02.js" defer=""></script><script src="/_next/static/chunks/pages/index-675e25be654b64d6.js" defer=""></script><script src="/_next/static/AFxJgUqEFEjnCSyhkE4ox/_buildManifest.js" defer=""></script><script src="/_next/static/AFxJgUqEFEjnCSyhkE4ox/_ssgManifest.js" defer=""></script><script src="/_next/static/AFxJgUqEFEjnCSyhkE4ox/_middlewareManifest.js" defer=""></script><style data-styled="" data-styled-version="5.3.3"></style></head><body><div id="__next" data-reactroot=""><style data-emotion="css-global brzcv3">:host,:root{--chakra-ring-inset:var(--chakra-empty,/*!*/ /*!*/);--chakra-ring-offset-width:0px;--chakra-ring-offset-color:#fff;--chakra-ring-color:rgba(66, 153, 225, 0.6);--chakra-ring-offset-shadow:0 0 #0000;--chakra-ring-shadow:0 0 #0000;--chakra-space-x-reverse:0;--chakra-space-y-reverse:0;--chakra-colors-transparent:transparent;--chakra-colors-current:currentColor;--chakra-colors-black:#000000;--chakra-colors-white:#FFFFFF;--chakra-colors-whiteAlpha-50:rgba(255, 255, 255, 0.04);--chakra-colors-whiteAlpha-100:rgba(255, 255, 255, 0.06);--chakra-colors-whiteAlpha-200:rgba(255, 255, 255, 0.08);--chakra-colors-whiteAlpha-300:rgba(255, 255, 255, 0.16);--chakra-colors-whiteAlpha-400:rgba(255, 255, 255, 0.24);--chakra-colors-whiteAlpha-500:rgba(255, 255, 255, 0.36);--chakra-colors-whiteAlpha-600:rgba(255, 255, 255, 0.48);--chakra-colors-whiteAlpha-700:rgba(255, 255, 255, 0.64);--chakra-colors-whiteAlpha-800:rgba(255, 255, 255, 0.80);--chakra-colors-whiteAlpha-900:rgba(255, 255, 255, 0.92);--chakra-colors-blackAlpha-50:rgba(0, 0, 0, 0.04);--chakra-colors-blackAlpha-100:rgba(0, 0, 0, 0.06);--chakra-colors-blackAlpha-200:rgba(0, 0, 0, 0.08);--chakra-colors-blackAlpha-300:rgba(0, 0, 0, 0.16);--chakra-colors-blackAlpha-400:rgba(0, 0, 0, 0.24);--chakra-colors-blackAlpha-500:rgba(0, 0, 0, 0.36);--chakra-colors-blackAlpha-600:rgba(0, 0, 0, 0.48);--chakra-colors-blackAlpha-700:rgba(0, 0, 0, 0.64);--chakra-colors-blackAlpha-800:rgba(0, 0, 0, 0.80);--chakra-colors-blackAlpha-900:rgba(0, 0, 0, 0.92);--chakra-colors-gray-50:#F7FAFC;--chakra-colors-gray-100:#EDF2F7;--chakra-colors-gray-200:#E2E8F0;--chakra-colors-gray-300:#CBD5E0;--chakra-colors-gray-400:#A0AEC0;--chakra-colors-gray-500:#718096;--chakra-colors-gray-600:#4A5568;--chakra-colors-gray-700:#2D3748;--chakra-colors-gray-800:#1A202C;--chakra-colors-gray-900:#171923;--chakra-colors-red-50:#FFF5F5;--chakra-colors-red-100:#FED7D7;--chakra-colors-red-200:#FEB2B2;--chakra-colors-red-300:#FC8181;--chakra-colors-red-400:#F56565;--chakra-colors-red-500:#E53E3E;--chakra-colors-red-600:#C53030;--chakra-colors-red-700:#9B2C2C;--chakra-colors-red-800:#822727;--chakra-colors-red-900:#63171B;--chakra-colors-orange-50:#FFFAF0;--chakra-colors-orange-100:#FEEBC8;--chakra-colors-orange-200:#FBD38D;--chakra-colors-orange-300:#F6AD55;--chakra-colors-orange-400:#ED8936;--chakra-colors-orange-500:#DD6B20;--chakra-colors-orange-600:#C05621;--chakra-colors-orange-700:#9C4221;--chakra-colors-orange-800:#7B341E;--chakra-colors-orange-900:#652B19;--chakra-colors-yellow-50:#FFFFF0;--chakra-colors-yellow-100:#FEFCBF;--chakra-colors-yellow-200:#FAF089;--chakra-colors-yellow-300:#F6E05E;--chakra-colors-yellow-400:#ECC94B;--chakra-colors-yellow-500:#D69E2E;--chakra-colors-yellow-600:#B7791F;--chakra-colors-yellow-700:#975A16;--chakra-colors-yellow-800:#744210;--chakra-colors-yellow-900:#5F370E;--chakra-colors-green-50:#F0FFF4;--chakra-colors-green-100:#C6F6D5;--chakra-colors-green-200:#9AE6B4;--chakra-colors-green-300:#68D391;--chakra-colors-green-400:#48BB78;--chakra-colors-green-500:#38A169;--chakra-colors-green-600:#2F855A;--chakra-colors-green-700:#276749;--chakra-colors-green-800:#22543D;--chakra-colors-green-900:#1C4532;--chakra-colors-teal-50:#E6FFFA;--chakra-colors-teal-100:#B2F5EA;--chakra-colors-teal-200:#81E6D9;--chakra-colors-teal-300:#4FD1C5;--chakra-colors-teal-400:#38B2AC;--chakra-colors-teal-500:#319795;--chakra-colors-teal-600:#2C7A7B;--chakra-colors-teal-700:#285E61;--chakra-colors-teal-800:#234E52;--chakra-colors-teal-900:#1D4044;--chakra-colors-blue-50:#ebf8ff;--chakra-colors-blue-100:#bee3f8;--chakra-colors-blue-200:#90cdf4;--chakra-colors-blue-300:#63b3ed;--chakra-colors-blue-400:#4299e1;--chakra-colors-blue-500:#3182ce;--chakra-colors-blue-600:#2b6cb0;--chakra-colors-blue-700:#2c5282;--chakra-colors-blue-800:#2a4365;--chakra-colors-blue-900:#1A365D;--chakra-colors-cyan-50:#EDFDFD;--chakra-colors-cyan-100:#C4F1F9;--chakra-colors-cyan-200:#9DECF9;--chakra-colors-cyan-300:#76E4F7;--chakra-colors-cyan-400:#0BC5EA;--chakra-colors-cyan-500:#00B5D8;--chakra-colors-cyan-600:#00A3C4;--chakra-colors-cyan-700:#0987A0;--chakra-colors-cyan-800:#086F83;--chakra-colors-cyan-900:#065666;--chakra-colors-purple-50:#FAF5FF;--chakra-colors-purple-100:#E9D8FD;--chakra-colors-purple-200:#D6BCFA;--chakra-colors-purple-300:#B794F4;--chakra-colors-purple-400:#9F7AEA;--chakra-colors-purple-500:#805AD5;--chakra-colors-purple-600:#6B46C1;--chakra-colors-purple-700:#553C9A;--chakra-colors-purple-800:#44337A;--chakra-colors-purple-900:#322659;--chakra-colors-pink-50:#FFF5F7;--chakra-colors-pink-100:#FED7E2;--chakra-colors-pink-200:#FBB6CE;--chakra-colors-pink-300:#F687B3;--chakra-colors-pink-400:#ED64A6;--chakra-colors-pink-500:#D53F8C;--chakra-colors-pink-600:#B83280;--chakra-colors-pink-700:#97266D;--chakra-colors-pink-800:#702459;--chakra-colors-pink-900:#521B41;--chakra-colors-linkedin-50:#E8F4F9;--chakra-colors-linkedin-100:#CFEDFB;--chakra-colors-linkedin-200:#9BDAF3;--chakra-colors-linkedin-300:#68C7EC;--chakra-colors-linkedin-400:#34B3E4;--chakra-colors-linkedin-500:#00A0DC;--chakra-colors-linkedin-600:#008CC9;--chakra-colors-linkedin-700:#0077B5;--chakra-colors-linkedin-800:#005E93;--chakra-colors-linkedin-900:#004471;--chakra-colors-facebook-50:#E8F4F9;--chakra-colors-facebook-100:#D9DEE9;--chakra-colors-facebook-200:#B7C2DA;--chakra-colors-facebook-300:#6482C0;--chakra-colors-facebook-400:#4267B2;--chakra-colors-facebook-500:#385898;--chakra-colors-facebook-600:#314E89;--chakra-colors-facebook-700:#29487D;--chakra-colors-facebook-800:#223B67;--chakra-colors-facebook-900:#1E355B;--chakra-colors-messenger-50:#D0E6FF;--chakra-colors-messenger-100:#B9DAFF;--chakra-colors-messenger-200:#A2CDFF;--chakra-colors-messenger-300:#7AB8FF;--chakra-colors-messenger-400:#2E90FF;--chakra-colors-messenger-500:#0078FF;--chakra-colors-messenger-600:#0063D1;--chakra-colors-messenger-700:#0052AC;--chakra-colors-messenger-800:#003C7E;--chakra-colors-messenger-900:#002C5C;--chakra-colors-whatsapp-50:#dffeec;--chakra-colors-whatsapp-100:#b9f5d0;--chakra-colors-whatsapp-200:#90edb3;--chakra-colors-whatsapp-300:#65e495;--chakra-colors-whatsapp-400:#3cdd78;--chakra-colors-whatsapp-500:#22c35e;--chakra-colors-whatsapp-600:#179848;--chakra-colors-whatsapp-700:#0c6c33;--chakra-colors-whatsapp-800:#01421c;--chakra-colors-whatsapp-900:#001803;--chakra-colors-twitter-50:#E5F4FD;--chakra-colors-twitter-100:#C8E9FB;--chakra-colors-twitter-200:#A8DCFA;--chakra-colors-twitter-300:#83CDF7;--chakra-colors-twitter-400:#57BBF5;--chakra-colors-twitter-500:#1DA1F2;--chakra-colors-twitter-600:#1A94DA;--chakra-colors-twitter-700:#1681BF;--chakra-colors-twitter-800:#136B9E;--chakra-colors-twitter-900:#0D4D71;--chakra-colors-telegram-50:#E3F2F9;--chakra-colors-telegram-100:#C5E4F3;--chakra-colors-telegram-200:#A2D4EC;--chakra-colors-telegram-300:#7AC1E4;--chakra-colors-telegram-400:#47A9DA;--chakra-colors-telegram-500:#0088CC;--chakra-colors-telegram-600:#007AB8;--chakra-colors-telegram-700:#006BA1;--chakra-colors-telegram-800:#005885;--chakra-colors-telegram-900:#003F5E;--chakra-colors-brand-bg:#06020d;--chakra-colors-brand-hero:#06020d;--chakra-colors-brand-footer:#0d041e;--chakra-borders-none:0;--chakra-borders-1px:1px solid;--chakra-borders-2px:2px solid;--chakra-borders-4px:4px solid;--chakra-borders-8px:8px solid;--chakra-fonts-heading:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--chakra-fonts-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--chakra-fonts-mono:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--chakra-fontSizes-xs:0.75rem;--chakra-fontSizes-sm:0.875rem;--chakra-fontSizes-md:1rem;--chakra-fontSizes-lg:1.125rem;--chakra-fontSizes-xl:1.25rem;--chakra-fontSizes-2xl:1.5rem;--chakra-fontSizes-3xl:1.875rem;--chakra-fontSizes-4xl:2.25rem;--chakra-fontSizes-5xl:3rem;--chakra-fontSizes-6xl:3.75rem;--chakra-fontSizes-7xl:4.5rem;--chakra-fontSizes-8xl:6rem;--chakra-fontSizes-9xl:8rem;--chakra-fontWeights-hairline:100;--chakra-fontWeights-thin:200;--chakra-fontWeights-light:300;--chakra-fontWeights-normal:400;--chakra-fontWeights-medium:500;--chakra-fontWeights-semibold:600;--chakra-fontWeights-bold:700;--chakra-fontWeights-extrabold:800;--chakra-fontWeights-black:900;--chakra-letterSpacings-tighter:-0.05em;--chakra-letterSpacings-tight:-0.025em;--chakra-letterSpacings-normal:0;--chakra-letterSpacings-wide:0.025em;--chakra-letterSpacings-wider:0.05em;--chakra-letterSpacings-widest:0.1em;--chakra-lineHeights-3:.75rem;--chakra-lineHeights-4:1rem;--chakra-lineHeights-5:1.25rem;--chakra-lineHeights-6:1.5rem;--chakra-lineHeights-7:1.75rem;--chakra-lineHeights-8:2rem;--chakra-lineHeights-9:2.25rem;--chakra-lineHeights-10:2.5rem;--chakra-lineHeights-normal:normal;--chakra-lineHeights-none:1;--chakra-lineHeights-shorter:1.25;--chakra-lineHeights-short:1.375;--chakra-lineHeights-base:1.5;--chakra-lineHeights-tall:1.625;--chakra-lineHeights-taller:2;--chakra-radii-none:0;--chakra-radii-sm:0.125rem;--chakra-radii-base:0.25rem;--chakra-radii-md:0.375rem;--chakra-radii-lg:0.5rem;--chakra-radii-xl:0.75rem;--chakra-radii-2xl:1rem;--chakra-radii-3xl:1.5rem;--chakra-radii-full:9999px;--chakra-space-1:0.25rem;--chakra-space-2:0.5rem;--chakra-space-3:0.75rem;--chakra-space-4:1rem;--chakra-space-5:1.25rem;--chakra-space-6:1.5rem;--chakra-space-7:1.75rem;--chakra-space-8:2rem;--chakra-space-9:2.25rem;--chakra-space-10:2.5rem;--chakra-space-12:3rem;--chakra-space-14:3.5rem;--chakra-space-16:4rem;--chakra-space-20:5rem;--chakra-space-24:6rem;--chakra-space-28:7rem;--chakra-space-32:8rem;--chakra-space-36:9rem;--chakra-space-40:10rem;--chakra-space-44:11rem;--chakra-space-48:12rem;--chakra-space-52:13rem;--chakra-space-56:14rem;--chakra-space-60:15rem;--chakra-space-64:16rem;--chakra-space-72:18rem;--chakra-space-80:20rem;--chakra-space-96:24rem;--chakra-space-px:1px;--chakra-space-0\.5:0.125rem;--chakra-space-1\.5:0.375rem;--chakra-space-2\.5:0.625rem;--chakra-space-3\.5:0.875rem;--chakra-shadows-xs:0 0 0 1px rgba(0, 0, 0, 0.05);--chakra-shadows-sm:0 1px 2px 0 rgba(0, 0, 0, 0.05);--chakra-shadows-base:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);--chakra-shadows-md:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);--chakra-shadows-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);--chakra-shadows-xl:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);--chakra-shadows-2xl:0 25px 50px -12px rgba(0, 0, 0, 0.25);--chakra-shadows-outline:0 0 0 3px rgba(66, 153, 225, 0.6);--chakra-shadows-inner:inset 0 2px 4px 0 rgba(0,0,0,0.06);--chakra-shadows-none:none;--chakra-shadows-dark-lg:rgba(0, 0, 0, 0.1) 0px 0px 0px 1px,rgba(0, 0, 0, 0.2) 0px 5px 10px,rgba(0, 0, 0, 0.4) 0px 15px 40px;--chakra-sizes-1:0.25rem;--chakra-sizes-2:0.5rem;--chakra-sizes-3:0.75rem;--chakra-sizes-4:1rem;--chakra-sizes-5:1.25rem;--chakra-sizes-6:1.5rem;--chakra-sizes-7:1.75rem;--chakra-sizes-8:2rem;--chakra-sizes-9:2.25rem;--chakra-sizes-10:2.5rem;--chakra-sizes-12:3rem;--chakra-sizes-14:3.5rem;--chakra-sizes-16:4rem;--chakra-sizes-20:5rem;--chakra-sizes-24:6rem;--chakra-sizes-28:7rem;--chakra-sizes-32:8rem;--chakra-sizes-36:9rem;--chakra-sizes-40:10rem;--chakra-sizes-44:11rem;--chakra-sizes-48:12rem;--chakra-sizes-52:13rem;--chakra-sizes-56:14rem;--chakra-sizes-60:15rem;--chakra-sizes-64:16rem;--chakra-sizes-72:18rem;--chakra-sizes-80:20rem;--chakra-sizes-96:24rem;--chakra-sizes-px:1px;--chakra-sizes-0\.5:0.125rem;--chakra-sizes-1\.5:0.375rem;--chakra-sizes-2\.5:0.625rem;--chakra-sizes-3\.5:0.875rem;--chakra-sizes-max:max-content;--chakra-sizes-min:min-content;--chakra-sizes-full:100%;--chakra-sizes-3xs:14rem;--chakra-sizes-2xs:16rem;--chakra-sizes-xs:20rem;--chakra-sizes-sm:24rem;--chakra-sizes-md:28rem;--chakra-sizes-lg:32rem;--chakra-sizes-xl:36rem;--chakra-sizes-2xl:42rem;--chakra-sizes-3xl:48rem;--chakra-sizes-4xl:56rem;--chakra-sizes-5xl:64rem;--chakra-sizes-6xl:72rem;--chakra-sizes-7xl:80rem;--chakra-sizes-8xl:90rem;--chakra-sizes-container-sm:640px;--chakra-sizes-container-md:768px;--chakra-sizes-container-lg:1024px;--chakra-sizes-container-xl:1280px;--chakra-zIndices-hide:-1;--chakra-zIndices-auto:auto;--chakra-zIndices-base:0;--chakra-zIndices-docked:10;--chakra-zIndices-dropdown:1000;--chakra-zIndices-sticky:1100;--chakra-zIndices-banner:1200;--chakra-zIndices-overlay:1300;--chakra-zIndices-modal:1400;--chakra-zIndices-popover:1500;--chakra-zIndices-skipLink:1600;--chakra-zIndices-toast:1700;--chakra-zIndices-tooltip:1800;--chakra-transition-property-common:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;--chakra-transition-property-colors:background-color,border-color,color,fill,stroke;--chakra-transition-property-dimensions:width,height;--chakra-transition-property-position:left,right,top,bottom;--chakra-transition-property-background:background-color,background-image,background-position;--chakra-transition-easing-ease-in:cubic-bezier(0.4, 0, 1, 1);--chakra-transition-easing-ease-out:cubic-bezier(0, 0, 0.2, 1);--chakra-transition-easing-ease-in-out:cubic-bezier(0.4, 0, 0.2, 1);--chakra-transition-duration-ultra-fast:50ms;--chakra-transition-duration-faster:100ms;--chakra-transition-duration-fast:150ms;--chakra-transition-duration-normal:200ms;--chakra-transition-duration-slow:300ms;--chakra-transition-duration-slower:400ms;--chakra-transition-duration-ultra-slow:500ms;--chakra-blur-none:0;--chakra-blur-sm:4px;--chakra-blur-base:8px;--chakra-blur-md:12px;--chakra-blur-lg:16px;--chakra-blur-xl:24px;--chakra-blur-2xl:40px;--chakra-blur-3xl:64px;}</style><style data-emotion="css-global 1jqlf9g">html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;}body{position:relative;min-height:100%;font-feature-settings:'kern';}*,*::before,*::after{border-width:0;border-style:solid;box-sizing:border-box;}main{display:block;}hr{border-top-width:1px;box-sizing:content-box;height:0;overflow:visible;}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1em;}a{background-color:transparent;color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;}abbr[title]{border-bottom:none;-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration:underline dotted;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bold;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible;}button,select{text-transform:none;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0;}fieldset{padding:0.35em 0.75em 0.625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none!important;}input[type="number"]{-moz-appearance:textfield;}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none!important;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:-webkit-box;display:-webkit-list-item;display:-ms-list-itembox;display:list-item;}template{display:none;}[hidden]{display:none!important;}body,blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0;}button{background:transparent;padding:0;}fieldset{margin:0;padding:0;}ol,ul{margin:0;padding:0;}textarea{resize:vertical;}button,[role="button"]{cursor:pointer;}button::-moz-focus-inner{border:0!important;}table{border-collapse:collapse;}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit;}img,svg,video,canvas,audio,iframe,embed,object{display:block;}img,video{max-width:100%;height:auto;}[data-js-focus-visible] :focus:not([data-focus-visible-added]){outline:none;box-shadow:none;}select::-ms-expand{display:none;}</style><style data-emotion="css-global 1baqkrf">body{font-family:var(--chakra-fonts-body);color:var(--chakra-colors-gray-800);background:var(--chakra-colors-white);transition-property:background-color;transition-duration:var(--chakra-transition-duration-normal);line-height:var(--chakra-lineHeights-base);}*::-webkit-input-placeholder{color:var(--chakra-colors-gray-400);}*::-moz-placeholder{color:var(--chakra-colors-gray-400);}*:-ms-input-placeholder{color:var(--chakra-colors-gray-400);}*::placeholder{color:var(--chakra-colors-gray-400);}*,*::before,::after{border-color:var(--chakra-colors-gray-200);word-wrap:break-word;}</style><style data-emotion="css-global 1v09d1a">.js-focus-visible :focus:not([data-focus-visible-added]){outline:none;box-shadow:none;}svg text tspan{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeSpeed;}code{background:#1e1e3f;color:#9efeff;padding:3px 5px;font-size:14px;border-radius:3px;}svg .clickable-group{cursor:pointer;}svg .clickable-group:hover>[fill="rgb(65,53,214)"]{fill:#232381;stroke:#232381;}svg .clickable-group:hover>[fill="rgb(255,255,0)"]{fill:#d6d700;}svg .clickable-group:hover>[fill="rgb(255,229,153)"]{fill:#f3c950;}svg .clickable-group:hover>[fill="rgb(153,153,153)"]{fill:#646464;}svg .clickable-group:hover>[fill="rgb(255,255,255)"]{fill:#d7d7d7;}svg .done rect{fill:#cbcbcb!important;}svg .done text{-webkit-text-decoration:line-through;text-decoration:line-through;}</style><style data-emotion="css gk6shj">.css-gk6shj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;background:var(--chakra-colors-yellow-200);color:var(--chakra-colors-gray-900);position:-webkit-sticky;position:sticky;top:0px;z-index:999;padding-top:8px;padding-bottom:8px;}.css-gk6shj:hover,.css-gk6shj[data-hover]{-webkit-text-decoration:none;text-decoration:none;background:var(--chakra-colors-yellow-400);}</style><style data-emotion="css n1ed3e">.css-n1ed3e{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;background:var(--chakra-colors-yellow-200);color:var(--chakra-colors-gray-900);position:-webkit-sticky;position:sticky;top:0px;z-index:999;padding-top:8px;padding-bottom:8px;}.css-n1ed3e:hover,.css-n1ed3e[data-hover]{-webkit-text-decoration:underline;text-decoration:underline;}.css-n1ed3e:focus,.css-n1ed3e[data-focus]{box-shadow:var(--chakra-shadows-outline);}.css-n1ed3e:hover,.css-n1ed3e[data-hover]{-webkit-text-decoration:none;text-decoration:none;background:var(--chakra-colors-yellow-400);}</style><a target="_blank" class="chakra-link css-n1ed3e" href="https://youtube.com/theroadmap?sub_confirmation=1"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="currentColor" style="height:20px;display:inline-block;margin-right:7px"><path d="M19.615 3.184c-3.604-.246-11.631-.245-15.23 0C.488 3.45.029 5.804 0 12c.029 6.185.484 8.549 4.385 8.816 3.6.245 11.626.246 15.23 0C23.512 20.55 23.971 18.196 24 12c-.029-6.185-.484-8.549-4.385-8.816zM9 16V8l8 3.993L9 16z"></path></svg><style data-emotion="css 17vuvug">.css-17vuvug{font-weight:500;font-size:14px;}</style><span class="chakra-text css-17vuvug"><span class="chakra-text css-0">We now have a YouTube Channel. <style data-emotion="css 13wfqy8">.css-13wfqy8{display:none;}@media screen and (min-width: 30em){.css-13wfqy8{display:inline;}}</style><span class="chakra-text css-13wfqy8">Subscribe for the video content.</span></span></span></a><style data-emotion="css 128re27">.css-128re27{background-color:var(--chakra-colors-brand-bg);background-image:url(/bg.jpg);background-repeat:no-repeat;-webkit-background-size:100%;background-size:100%;width:100%;min-height:100vh;}</style><div class="css-128re27"><style data-emotion="css 147o5ad">.css-147o5ad{background:var(--chakra-colors-transparent);padding:20px 0;}</style><div class="css-147o5ad"><style data-emotion="css nm5t63">.css-nm5t63{width:100%;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;max-width:var(--chakra-sizes-container-md);-webkit-padding-start:1rem;padding-inline-start:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem;}</style><div class="chakra-container css-nm5t63"><style data-emotion="css 1lekzkb">.css-1lekzkb{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}</style><div class="css-1lekzkb"><div class="css-0"><style data-emotion="css 140fodl">.css-140fodl{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:var(--chakra-colors-white);width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:600;font-size:18px;}.css-140fodl:hover,.css-140fodl[data-hover]{-webkit-text-decoration:none;text-decoration:none;}.css-140fodl:focus,.css-140fodl[data-focus]{box-shadow:var(--chakra-shadows-outline);}</style><a class="chakra-link css-140fodl" href="/"><svg width="30" height="30" viewBox="0 0 283 283" fill="none" xmlns="http://www.w3.org/2000/svg" style="height:30px;width:30px;margin-right:10px"><path d="M0 39C0 17.46 17.46 0 39 0h205c21.539 0 39 17.46 39 39v205c0 21.539-17.461 39-39 39H39c-21.54 0-39-17.461-39-39V39Z" fill="#000"></path><path d="M121.215 210.72c-1.867.56-4.854 1.12-8.96 1.68-3.92.56-8.027.84-12.32.84-4.107 0-7.84-.28-11.2-.84-3.174-.56-5.88-1.68-8.12-3.36-2.24-1.68-4.014-3.92-5.32-6.72-1.12-2.987-1.68-6.813-1.68-11.48v-84c0-4.293.746-7.933 2.24-10.92 1.68-3.173 4.013-5.973 7-8.4 2.986-2.427 6.626-4.573 10.92-6.44 4.48-2.053 9.24-3.827 14.28-5.32a106.176 106.176 0 0 1 15.68-3.36 95.412 95.412 0 0 1 16.24-1.4c8.96 0 16.053 1.773 21.28 5.32 5.226 3.36 7.84 8.96 7.84 16.8 0 2.613-.374 5.227-1.12 7.84-.747 2.427-1.68 4.667-2.8 6.72-3.92 0-7.934.187-12.04.56-4.107.373-8.12.933-12.04 1.68-3.92.747-7.654 1.587-11.2 2.52-3.36.747-6.254 1.68-8.68 2.8v95.48Zm45.172-22.4c0-7.84 2.426-14.373 7.28-19.6 4.853-5.227 11.48-7.84 19.88-7.84 8.4 0 15.026 2.613 19.88 7.84 4.853 5.227 7.28 11.76 7.28 19.6 0 7.84-2.427 14.373-7.28 19.6-4.854 5.227-11.48 7.84-19.88 7.84-8.4 0-15.027-2.613-19.88-7.84-4.854-5.227-7.28-11.76-7.28-19.6Z" fill="#fff"></path></svg><style data-emotion="css 1youuz0">.css-1youuz0{display:block;}@media screen and (min-width: 30em){.css-1youuz0{display:none;}}@media screen and (min-width: 48em){.css-1youuz0{display:block;}}</style><span class="chakra-text css-1youuz0">roadmap.sh</span></a></div><style data-emotion="css 1w38872">.css-1w38872{display:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;color:var(--chakra-colors-gray-50);font-size:15px;}.css-1w38872>*:not(style)~*:not(style){margin-top:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:15px;margin-inline-start:15px;}@media screen and (min-width: 30em){.css-1w38872{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}@media screen and (min-width: 48em){.css-1w38872{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}</style><div class="chakra-stack css-1w38872"><style data-emotion="css 1qy82gu">.css-1qy82gu{display:inline-block;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;min-width:0px;}</style><div class="chakra-stack__item css-1qy82gu"><style data-emotion="css lstwx6">.css-lstwx6{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;border-bottom-width:0;border-bottom-color:var(--chakra-colors-gray-500);font-weight:500;}.css-lstwx6:hover,.css-lstwx6[data-hover]{-webkit-text-decoration:none;text-decoration:none;border-bottom-color:var(--chakra-colors-white);}.css-lstwx6:focus,.css-lstwx6[data-focus]{box-shadow:var(--chakra-shadows-outline);}</style><a class="chakra-link css-lstwx6" href="/roadmaps">Roadmaps</a></div><div class="chakra-stack__item css-1qy82gu"><a class="chakra-link css-lstwx6" href="/guides">Guides</a></div><div class="chakra-stack__item css-1qy82gu"><a class="chakra-link css-lstwx6" href="/watch">Videos</a></div><div class="chakra-stack__item css-1qy82gu"><a class="chakra-link css-lstwx6" href="/thanks">Thanks</a></div><div class="chakra-stack__item css-1qy82gu"><style data-emotion="css t88ydv">.css-t88ydv{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;margin-left:10px;background-image:linear-gradient(to left, var(--chakra-colors-yellow-700), var(--chakra-colors-red-600));padding:7px 10px;border-radius:4px;font-weight:500;}.css-t88ydv:hover,.css-t88ydv[data-hover]{-webkit-text-decoration:none;text-decoration:none;background-image:linear-gradient(to left, var(--chakra-colors-red-800), var(--chakra-colors-yellow-700));}.css-t88ydv:focus,.css-t88ydv[data-focus]{box-shadow:var(--chakra-shadows-outline);}</style><a class="chakra-link css-t88ydv" href="/signup">Subscribe</a></div></div><style data-emotion="css lpr56g">.css-lpr56g{display:block;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;white-space:nowrap;vertical-align:middle;outline:2px solid transparent;outline-offset:2px;width:auto;line-height:1.2;border-radius:5px;font-weight:var(--chakra-fontWeights-semibold);transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);height:auto;min-width:var(--chakra-sizes-10);font-size:var(--chakra-fontSizes-md);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);background:var(--chakra-colors-transparent);padding:0px;color:var(--chakra-colors-white);cursor:pointer;}.css-lpr56g:focus,.css-lpr56g[data-focus]{background:var(--chakra-colors-transparent);}.css-lpr56g[disabled],.css-lpr56g[aria-disabled=true],.css-lpr56g[data-disabled]{opacity:0.4;cursor:not-allowed;box-shadow:var(--chakra-shadows-none);}.css-lpr56g:hover,.css-lpr56g[data-hover]{background:var(--chakra-colors-transparent);}.css-lpr56g:active,.css-lpr56g[data-active]{background:var(--chakra-colors-transparent);}@media screen and (min-width: 30em){.css-lpr56g{display:none;}}@media screen and (min-width: 48em){.css-lpr56g{display:none;}}</style><button type="button" class="chakra-button css-lpr56g" aria-label="Menu"><style data-emotion="css 17elikm">.css-17elikm{width:25px;height:25px;display:inline-block;line-height:1em;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;color:var(--chakra-colors-white);vertical-align:middle;}</style><svg viewBox="0 0 24 24" focusable="false" class="chakra-icon css-17elikm" aria-hidden="true"><path fill="currentColor" d="M 3 5 A 1.0001 1.0001 0 1 0 3 7 L 21 7 A 1.0001 1.0001 0 1 0 21 5 L 3 5 z M 3 11 A 1.0001 1.0001 0 1 0 3 13 L 21 13 A 1.0001 1.0001 0 1 0 21 11 L 3 11 z M 3 17 A 1.0001 1.0001 0 1 0 3 19 L 21 19 A 1.0001 1.0001 0 1 0 21 17 L 3 17 z"></path></svg></button></div></div></div><div class="css-0"><style data-emotion="css 1md32su">.css-1md32su{width:100%;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;max-width:var(--chakra-sizes-container-md);-webkit-padding-start:1rem;padding-inline-start:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem;padding-bottom:90px;}</style><div class="chakra-container css-1md32su"><style data-emotion="css 8nm62u">.css-8nm62u{padding-top:23px;padding-bottom:23px;color:var(--chakra-colors-gray-200);}@media screen and (min-width: 30em){.css-8nm62u{padding-top:23px;padding-bottom:23px;}}@media screen and (min-width: 48em){.css-8nm62u{padding-top:35px;padding-bottom:35px;}}</style><div class="css-8nm62u"><style data-emotion="css lp88t">.css-lp88t{font-family:var(--chakra-fonts-heading);font-weight:var(--chakra-fontWeights-bold);font-size:22px;line-height:1.33;color:var(--chakra-colors-gray-50);margin-bottom:8px;}@media screen and (min-width: 30em){.css-lp88t{font-size:22px;margin-bottom:8px;}}@media screen and (min-width: 48em){.css-lp88t{font-size:28px;line-height:1.2;margin-bottom:15px;}}</style><h2 class="chakra-heading css-lp88t">Hey there! 👋</h2><style data-emotion="css r08kmr">.css-r08kmr{font-size:14px;margin-bottom:10px;}@media screen and (min-width: 30em){.css-r08kmr{font-size:14px;}}@media screen and (min-width: 48em){.css-r08kmr{font-size:16px;}}</style><p class="chakra-text css-r08kmr"><style data-emotion="css 10rvbm3">.css-10rvbm3{font-weight:500;}</style><span class="chakra-text css-10rvbm3">roadmap.sh</span> <!-- -->is a community effort to create roadmaps, guides and other educational content to help guide the developers in picking up the path and guide their learnings.</p><style data-emotion="css z5h00y">.css-z5h00y{font-size:14px;}@media screen and (min-width: 30em){.css-z5h00y{font-size:14px;}}@media screen and (min-width: 48em){.css-z5h00y{font-size:16px;}}</style><p class="chakra-text css-z5h00y">We also have a<!-- --> <style data-emotion="css yq7epg">.css-yq7epg{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;outline:2px solid transparent;outline-offset:2px;color:inherit;font-weight:600;}.css-yq7epg:hover,.css-yq7epg[data-hover]{-webkit-text-decoration:underline;text-decoration:underline;}.css-yq7epg:focus,.css-yq7epg[data-focus]{box-shadow:var(--chakra-shadows-outline);}</style><a target="_blank" class="chakra-link css-yq7epg" href="https://youtube.com/theroadmap?sub_confirmation=1">YouTube channel</a> <!-- -->which we hope you are going to love.</p></div><style data-emotion="css 1bz8q1k">.css-1bz8q1k{display:grid;grid-gap:10px;grid-template-columns:repeat(1, minmax(0, 1fr));}@media screen and (min-width: 30em){.css-1bz8q1k{grid-gap:10px;grid-template-columns:repeat(2, minmax(0, 1fr));}}@media screen and (min-width: 48em){.css-1bz8q1k{grid-gap:15px;grid-template-columns:repeat(3, minmax(0, 1fr));}}</style><div class="css-1bz8q1k"><style data-emotion="css 1wo7suq">.css-1wo7suq{-webkit-flex:1;-ms-flex:1;flex:1;box-shadow:var(--chakra-shadows-2xl);background:rgba(255,255,255,.05);color:var(--chakra-colors-white);padding:15px;border-radius:10px;position:relative;}.css-1wo7suq:hover,.css-1wo7suq[data-hover]{-webkit-text-decoration:none;text-decoration:none;background:rgba(255,255,255,.10);}@media (hover: none){.css-1wo7suq:hover{background:rgba(255,255,255,.05);}}</style><style data-emotion="css 1dae5gv">.css-1dae5gv{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;-webkit-flex:1;-ms-flex:1;flex:1;box-shadow:var(--chakra-shadows-2xl);background:rgba(255,255,255,.05);color:var(--chakra-colors-white);padding:15px;border-radius:10px;position:relative;}.css-1dae5gv:hover,.css-1dae5gv[data-hover]{-webkit-text-decoration:underline;text-decoration:underline;}.css-1dae5gv:focus,.css-1dae5gv[data-focus]{box-shadow:var(--chakra-shadows-outline);}.css-1dae5gv:hover,.css-1dae5gv[data-hover]{-webkit-text-decoration:none;text-decoration:none;background:rgba(255,255,255,.10);}@media (hover: none){.css-1dae5gv:hover{background:rgba(255,255,255,.05);}}</style><a class="chakra-link home-roadmap-item css-1dae5gv" href="/frontend"><style data-emotion="css 1cwt919">.css-1cwt919{font-family:var(--chakra-fonts-heading);font-weight:var(--chakra-fontWeights-bold);font-size:17px;line-height:1.33;color:var(--chakra-colors-red-100);margin-bottom:5px;}@media screen and (min-width: 30em){.css-1cwt919{font-size:17px;}}@media screen and (min-width: 48em){.css-1cwt919{font-size:22px;line-height:1.2;}}</style><h2 class="chakra-heading css-1cwt919">Frontend</h2><style data-emotion="css 15pun54">.css-15pun54{color:var(--chakra-colors-gray-200);font-size:13px;}</style><p class="chakra-text css-15pun54">Step by step guide to becoming a frontend developer in 2022</p></a><a class="chakra-link home-roadmap-item css-1dae5gv" href="/backend"><style data-emotion="css 1po24tn">.css-1po24tn{font-family:var(--chakra-fonts-heading);font-weight:var(--chakra-fontWeights-bold);font-size:17px;line-height:1.33;color:var(--chakra-colors-yellow-100);margin-bottom:5px;}@media screen and (min-width: 30em){.css-1po24tn{font-size:17px;}}@media screen and (min-width: 48em){.css-1po24tn{font-size:22px;line-height:1.2;}}</style><h2 class="chakra-heading css-1po24tn">Backend</h2><p class="chakra-text css-15pun54">Step by step guide to becoming a backend developer in 2022</p></a><a class="chakra-link home-roadmap-item css-1dae5gv" href="/devops"><style data-emotion="css uxc48d">.css-uxc48d{font-family:var(--chakra-fonts-heading);font-weight:var(--chakra-fontWeights-bold);font-size:17px;line-height:1.33;color:var(--chakra-colors-green-200);margin-bottom:5px;}@media screen and (min-width: 30em){.css-uxc48d{font-size:17px;}}@media screen and (min-width: 48em){.css-uxc48d{font-size:22px;line-height:1.2;}}</style><h2 class="chakra-heading css-uxc48d">DevOps</h2><p class="chakra-text css-15pun54">Step by step guide for DevOps or operations role in 2022</p></a><a class="chakra-link home-roadmap-item css-1dae5gv" href="/react"><style data-emotion="css nl7z56">.css-nl7z56{font-family:var(--chakra-fonts-heading);font-weight:var(--chakra-fontWeights-bold);font-size:17px;line-height:1.33;color:var(--chakra-colors-teal-200);margin-bottom:5px;}@media screen and (min-width: 30em){.css-nl7z56{font-size:17px;}}@media screen and (min-width: 48em){.css-nl7z56{font-size:22px;line-height:1.2;}}</style><h2 class="chakra-heading css-nl7z56">React</h2><p class="chakra-text css-15pun54">Step by step guide to become a React Developer in 2022</p></a><a class="chakra-link home-roadmap-item css-1dae5gv" href="/angular"><style data-emotion="css 1aedrt9">.css-1aedrt9{font-family:var(--chakra-fonts-heading);font-weight:var(--chakra-fontWeights-bold);font-size:17px;line-height:1.33;color:var(--chakra-colors-blue-200);margin-bottom:5px;}@media screen and (min-width: 30em){.css-1aedrt9{font-size:17px;}}@media screen and (min-width: 48em){.css-1aedrt9{font-size:22px;line-height:1.2;}}</style><h2 class="chakra-heading css-1aedrt9">Angular</h2><p class="chakra-text css-15pun54">Step by step guide to become a Angular Developer in 2022</p></a><a class="chakra-link home-roadmap-item css-1dae5gv" href="/android"><style data-emotion="css 1gf9mpc">.css-1gf9mpc{font-family:var(--chakra-fonts-heading);font-weight:var(--chakra-fontWeights-bold);font-size:17px;line-height:1.33;color:var(--chakra-colors-red-200);margin-bottom:5px;}@media screen and (min-width: 30em){.css-1gf9mpc{font-size:17px;}}@media screen and (min-width: 48em){.css-1gf9mpc{font-size:22px;line-height:1.2;}}</style><h2 class="chakra-heading css-1gf9mpc">Android</h2><p class="chakra-text css-15pun54">Step by step guide to becoming an Android Developer in 2022</p></a><a class="chakra-link home-roadmap-item css-1dae5gv" href="/python"><style data-emotion="css 1idnmit">.css-1idnmit{font-family:var(--chakra-fonts-heading);font-weight:var(--chakra-fontWeights-bold);font-size:17px;line-height:1.33;color:var(--chakra-colors-gray-200);margin-bottom:5px;}@media screen and (min-width: 30em){.css-1idnmit{font-size:17px;}}@media screen and (min-width: 48em){.css-1idnmit{font-size:22px;line-height:1.2;}}</style><h2 class="chakra-heading css-1idnmit">Python</h2><p class="chakra-text css-15pun54">Step by step guide to becoming a Python Developer in 2022</p></a><a class="chakra-link home-roadmap-item css-1dae5gv" href="/golang"><h2 class="chakra-heading css-nl7z56">Go</h2><p class="chakra-text css-15pun54">Step by step guide to becoming a Go developer in 2022</p></a><a class="chakra-link home-roadmap-item css-1dae5gv" href="/java"><h2 class="chakra-heading css-1po24tn">Java</h2><p class="chakra-text css-15pun54">Step by step guide to becoming a Java Developer in 2022</p></a><a class="chakra-link home-roadmap-item css-1dae5gv" href="/postgresql-dba"><h2 class="chakra-heading css-uxc48d">DBA</h2><p class="chakra-text css-15pun54">Step by step guide to become a PostgreSQL DBA in 2022</p></a><a class="chakra-link home-roadmap-item css-1dae5gv" href="/aws"><h2 class="chakra-heading css-1gf9mpc">AWS</h2><p class="chakra-text css-15pun54">Step by step guide to learn AWS in 2022</p><style data-emotion="css zr5nc">.css-zr5nc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;position:absolute;left:0px;right:0px;top:0px;bottom:0px;border-radius:10px;}</style><div class="css-zr5nc"><style data-emotion="css 186xs1j">.css-186xs1j{color:var(--chakra-colors-white);background:var(--chakra-colors-gray-600);z-index:1;font-weight:600;padding:5px 10px;border-radius:10px;}</style><p class="chakra-text css-186xs1j">Upcoming</p><style data-emotion="css ny5zpk">.css-ny5zpk{background:var(--chakra-colors-black);position:absolute;top:0px;left:0px;right:0px;bottom:0px;border-radius:10px;opacity:0.5;}</style><div class="css-ny5zpk"></div></div></a><a class="chakra-link home-roadmap-item css-1dae5gv" href="/qa"><style data-emotion="css g6a5s8">.css-g6a5s8{font-family:var(--chakra-fonts-heading);font-weight:var(--chakra-fontWeights-bold);font-size:17px;line-height:1.33;margin-bottom:5px;}@media screen and (min-width: 30em){.css-g6a5s8{font-size:17px;}}@media screen and (min-width: 48em){.css-g6a5s8{font-size:22px;line-height:1.2;}}</style><h2 class="chakra-heading css-g6a5s8">QA</h2><p class="chakra-text css-15pun54">Step by step guide to becoming a modern QA Engineer in 2022</p><div class="css-zr5nc"><p class="chakra-text css-186xs1j">Upcoming</p><div class="css-ny5zpk"></div></div></a></div></div></div><style data-emotion="css 1vz2rsl">.css-1vz2rsl{background:var(--chakra-colors-white);}</style><div class="css-1vz2rsl"><div class="chakra-container css-nm5t63"><style data-emotion="css 10c4jsu">.css-10c4jsu{padding-top:60px;margin-bottom:10px;}@media screen and (min-width: 30em){.css-10c4jsu{margin-bottom:15px;}}@media screen and (min-width: 48em){.css-10c4jsu{margin-bottom:20px;}}</style><div class="css-10c4jsu"><style data-emotion="css 50t9cx">.css-50t9cx{font-family:var(--chakra-fonts-heading);font-weight:var(--chakra-fontWeights-bold);font-size:20px;line-height:1.33;color:var(--chakra-colors-green-500);margin-bottom:5px;}@media screen and (min-width: 30em){.css-50t9cx{font-size:20px;}}@media screen and (min-width: 48em){.css-50t9cx{font-size:25px;line-height:1.2;}}</style><h2 class="chakra-heading css-50t9cx">Video Explanations</h2></div><style data-emotion="css 1t9xgpu">.css-1t9xgpu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;border-radius:5px;}</style><div class="chakra-stack css-1t9xgpu"><style data-emotion="css 1khst8o">.css-1khst8o{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:var(--chakra-colors-gray-600);font-size:14px;padding-top:9px;padding-bottom:9px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-weight:500;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}.css-1khst8o:hover,.css-1khst8o[data-hover]{-webkit-text-decoration:none;text-decoration:none;color:var(--chakra-colors-blue-400);}.css-1khst8o:hover .list-item-title,.css-1khst8o[data-hover] .list-item-title{-webkit-transform:translateX(10px);-moz-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px);}.css-1khst8o:focus,.css-1khst8o[data-focus]{box-shadow:var(--chakra-shadows-outline);}@media screen and (min-width: 30em){.css-1khst8o{font-size:14px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}}@media screen and (min-width: 48em){.css-1khst8o{font-size:15px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}}@media (hover: none){.css-1khst8o:hover .list-item-title{-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none;}}</style><a target="_blank" class="chakra-link css-1khst8o" href="https://www.youtube.com/watch?v=odW9FU8jPRQ"><style data-emotion="css 1tst3tv">.css-1tst3tv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:200ms;transition:200ms;}</style><div class="list-item-title css-1tst3tv"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg" style="margin-right:7px;width:18px;height:18px;color:#9c9c9c"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M3 3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.445.993.993v16.014a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 20.007V3.993zm7.622 4.422a.4.4 0 0 0-.622.332v6.506a.4.4 0 0 0 .622.332l4.879-3.252a.4.4 0 0 0 0-.666l-4.88-3.252z"></path></g></svg><style data-emotion="css olw45o">.css-olw45o{max-width:345px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}</style><span class="chakra-text css-olw45o">Linked List Data Structure</span></div><style data-emotion="css q9qvgb">.css-q9qvgb{display:none;margin-top:3px;font-size:11px;color:var(--chakra-colors-gray-500);}@media screen and (min-width: 30em){.css-q9qvgb{display:inline;margin-top:0px;font-size:11px;}}@media screen and (min-width: 48em){.css-q9qvgb{font-size:12px;}}</style><span class="chakra-text css-q9qvgb">11 minutes</span></a><style data-emotion="css 19youyy">.css-19youyy{border-width:0;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;border-color:var(--chakra-colors-gray-200);width:auto;height:auto;}.css-19youyy{margin-top:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;border-left-width:0;border-bottom-width:1px;}</style><div class="chakra-stack__divider css-19youyy"></div><a target="_blank" class="chakra-link css-1khst8o" href="https://www.youtube.com/watch?v=QJNwK2uJyGs"><div class="list-item-title css-1tst3tv"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg" style="margin-right:7px;width:18px;height:18px;color:#9c9c9c"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M3 3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.445.993.993v16.014a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 20.007V3.993zm7.622 4.422a.4.4 0 0 0-.622.332v6.506a.4.4 0 0 0 .622.332l4.879-3.252a.4.4 0 0 0 0-.666l-4.88-3.252z"></path></g></svg><span class="chakra-text css-olw45o">All about Array Data Structure</span></div><span class="chakra-text css-q9qvgb">10 minutes</span></a><div class="chakra-stack__divider css-19youyy"></div><a target="_blank" class="chakra-link css-1khst8o" href="https://www.youtube.com/watch?v=9rhT3P1MDHk"><div class="list-item-title css-1tst3tv"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg" style="margin-right:7px;width:18px;height:18px;color:#9c9c9c"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M3 3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.445.993.993v16.014a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 20.007V3.993zm7.622 4.422a.4.4 0 0 0-.622.332v6.506a.4.4 0 0 0 .622.332l4.879-3.252a.4.4 0 0 0 0-.666l-4.88-3.252z"></path></g></svg><span class="chakra-text css-olw45o">What are Data Structures?</span></div><span class="chakra-text css-q9qvgb">1 minute</span></a><div class="chakra-stack__divider css-19youyy"></div><a target="_blank" class="chakra-link css-1khst8o" href="https://www.youtube.com/watch?v=rpqsSkTIdAw"><div class="list-item-title css-1tst3tv"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg" style="margin-right:7px;width:18px;height:18px;color:#9c9c9c"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M3 3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.445.993.993v16.014a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 20.007V3.993zm7.622 4.422a.4.4 0 0 0-.622.332v6.506a.4.4 0 0 0 .622.332l4.879-3.252a.4.4 0 0 0 0-.666l-4.88-3.252z"></path></g></svg><span class="chakra-text css-olw45o">What is Eventual Consistency?</span></div><span class="chakra-text css-q9qvgb">5 minutes</span></a><div class="chakra-stack__divider css-19youyy"></div><a target="_blank" class="chakra-link css-1khst8o" href="https://www.youtube.com/watch?v=k3rFFLmQCuY"><div class="list-item-title css-1tst3tv"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg" style="margin-right:7px;width:18px;height:18px;color:#9c9c9c"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M3 3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.445.993.993v16.014a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 20.007V3.993zm7.622 4.422a.4.4 0 0 0-.622.332v6.506a.4.4 0 0 0 .622.332l4.879-3.252a.4.4 0 0 0 0-.666l-4.88-3.252z"></path></g></svg><span class="chakra-text css-olw45o">SSH vs TLS vs SSL</span></div><span class="chakra-text css-q9qvgb">3 minutes</span></a><div class="chakra-stack__divider css-19youyy"></div><a target="_blank" class="chakra-link css-1khst8o" href="https://www.youtube.com/watch?v=VyIK6SV5f7o"><div class="list-item-title css-1tst3tv"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg" style="margin-right:7px;width:18px;height:18px;color:#9c9c9c"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M3 3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.445.993.993v16.014a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 20.007V3.993zm7.622 4.422a.4.4 0 0 0-.622.332v6.506a.4.4 0 0 0 .622.332l4.879-3.252a.4.4 0 0 0 0-.666l-4.88-3.252z"></path></g></svg><span class="chakra-text css-olw45o">Asynchronous JavaScript</span></div><span class="chakra-text css-q9qvgb">15 minutes</span></a><div class="chakra-stack__divider css-19youyy"></div><a target="_blank" class="chakra-link css-1khst8o" href="https://www.youtube.com/watch?v=nDv3yXdD0rk"><div class="list-item-title css-1tst3tv"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg" style="margin-right:7px;width:18px;height:18px;color:#9c9c9c"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M3 3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.445.993.993v16.014a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 20.007V3.993zm7.622 4.422a.4.4 0 0 0-.622.332v6.506a.4.4 0 0 0 .622.332l4.879-3.252a.4.4 0 0 0 0-.666l-4.88-3.252z"></path></g></svg><span class="chakra-text css-olw45o">Random Number Generators</span></div><span class="chakra-text css-q9qvgb">8 minutes</span></a><div class="chakra-stack__divider css-19youyy"></div><a target="_blank" class="chakra-link css-1khst8o" href="https://www.youtube.com/watch?v=Z0bH0cMY0E8"><div class="list-item-title css-1tst3tv"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg" style="margin-right:7px;width:18px;height:18px;color:#9c9c9c"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M3 3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.445.993.993v16.014a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 20.007V3.993zm7.622 4.422a.4.4 0 0 0-.622.332v6.506a.4.4 0 0 0 .622.332l4.879-3.252a.4.4 0 0 0 0-.666l-4.88-3.252z"></path></g></svg><span class="chakra-text css-olw45o">Big O Notation</span></div><span class="chakra-text css-q9qvgb">8 minutes</span></a><div class="chakra-stack__divider css-19youyy"></div><a target="_blank" class="chakra-link css-1khst8o" href="https://www.youtube.com/watch?v=ImHSpwUlNVc"><div class="list-item-title css-1tst3tv"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg" style="margin-right:7px;width:18px;height:18px;color:#9c9c9c"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M3 3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.445.993.993v16.014a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 20.007V3.993zm7.622 4.422a.4.4 0 0 0-.622.332v6.506a.4.4 0 0 0 .622.332l4.879-3.252a.4.4 0 0 0 0-.666l-4.88-3.252z"></path></g></svg><span class="chakra-text css-olw45o">YAML in Depth</span></div><span class="chakra-text css-q9qvgb">8 minutes</span></a><div class="chakra-stack__divider css-19youyy"></div><a target="_blank" class="chakra-link css-1khst8o" href="https://www.youtube.com/watch?v=RIiq4tTt6rI"><div class="list-item-title css-1tst3tv"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg" style="margin-right:7px;width:18px;height:18px;color:#9c9c9c"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M3 3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.445.993.993v16.014a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 20.007V3.993zm7.622 4.422a.4.4 0 0 0-.622.332v6.506a.4.4 0 0 0 .622.332l4.879-3.252a.4.4 0 0 0 0-.666l-4.88-3.252z"></path></g></svg><span class="chakra-text css-olw45o">Floating Point Arithmetic</span></div><span class="chakra-text css-q9qvgb">4 minutes</span></a><div class="chakra-stack__divider css-19youyy"></div><style data-emotion="css 5jw951">.css-5jw951{position:relative;text-align:center;bottom:20px;}</style><div class="css-5jw951"><style data-emotion="css ghppc9">.css-ghppc9{opacity:1;pointer-events:none;position:absolute;bottom:0px;height:200px;width:100%;background:linear-gradient(180deg, rgb(255 255 255 / 40%), white);}</style><div class="css-ghppc9"></div><style data-emotion="css 1bi2t4z">.css-1bi2t4z{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:var(--chakra-colors-white);border-radius:20px;display:inline;background:var(--chakra-colors-green-600);padding:7px 20px;font-weight:800;font-size:11px;text-transform:uppercase;margin-top:25px;margin-bottom:25px;position:relative;}.css-1bi2t4z:hover,.css-1bi2t4z[data-hover]{-webkit-text-decoration:none;text-decoration:none;}.css-1bi2t4z:hover .forward-arrow,.css-1bi2t4z[data-hover] .forward-arrow{-webkit-transform:translateX(3px);-moz-transform:translateX(3px);-ms-transform:translateX(3px);transform:translateX(3px);}.css-1bi2t4z:focus,.css-1bi2t4z[data-focus]{box-shadow:var(--chakra-shadows-outline);}</style><a class="chakra-link css-1bi2t4z" href="/watch">View all Videos<style data-emotion="css n24rrp">.css-n24rrp{display:inline-block;-webkit-transition:200ms;transition:200ms;margin-left:4px;}</style><span class="chakra-text forward-arrow css-n24rrp"></span></a></div></div></div></div><style data-emotion="css tjxcli">.css-tjxcli{padding-bottom:80px;background:var(--chakra-colors-white);}</style><div class="css-tjxcli"><style data-emotion="css ms16h5">.css-ms16h5{width:100%;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;max-width:var(--chakra-sizes-container-md);-webkit-padding-start:1rem;padding-inline-start:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem;position:relative;}</style><div class="chakra-container css-ms16h5"><style data-emotion="css 108a1e1">.css-108a1e1{padding-top:40px;margin-bottom:20px;}</style><div class="css-108a1e1"><style data-emotion="css jz0gb6">.css-jz0gb6{font-family:var(--chakra-fonts-heading);font-weight:var(--chakra-fontWeights-bold);font-size:25px;line-height:1.33;color:var(--chakra-colors-green-500);margin-bottom:5px;}@media screen and (min-width: 48em){.css-jz0gb6{line-height:1.2;}}</style><h2 class="chakra-heading css-jz0gb6">Visual Guides</h2></div><div class="chakra-stack css-1t9xgpu"><a target="_self" class="chakra-link css-1khst8o" href="/guides/avoid-render-blocking-javascript-with-async-defer"><div class="list-item-title css-1tst3tv"><span class="chakra-text css-olw45o">Async and Defer Script Loading</span></div><style data-emotion="css 185veb6">.css-185veb6{display:inline;margin-top:3px;font-size:11px;color:var(--chakra-colors-gray-500);}@media screen and (min-width: 30em){.css-185veb6{display:inline;margin-top:0px;font-size:11px;}}@media screen and (min-width: 48em){.css-185veb6{font-size:12px;}}</style><span class="chakra-text css-185veb6">September 10, 2021</span></a><div class="chakra-stack__divider css-19youyy"></div><a target="_self" class="chakra-link css-1khst8o" href="/guides/what-are-web-vitals"><div class="list-item-title css-1tst3tv"><span class="chakra-text css-olw45o">What are Web Vitals?</span></div><span class="chakra-text css-185veb6">September 5, 2021</span></a><div class="chakra-stack__divider css-19youyy"></div><a target="_self" class="chakra-link css-1khst8o" href="/guides/what-is-sli-slo-sla"><div class="list-item-title css-1tst3tv"><span class="chakra-text css-olw45o">SLIs, SLOs and SLAs</span></div><span class="chakra-text css-185veb6">August 31, 2021</span></a><div class="chakra-stack__divider css-19youyy"></div><a target="_self" class="chakra-link css-1khst8o" href="/guides/ci-cd"><div class="list-item-title css-1tst3tv"><span class="chakra-text css-olw45o">What is CI and CD?</span></div><span class="chakra-text css-185veb6">July 9, 2021</span></a><div class="chakra-stack__divider css-19youyy"></div><a target="_self" class="chakra-link css-1khst8o" href="/guides/sso"><div class="list-item-title css-1tst3tv"><span class="chakra-text css-olw45o">SSO — Single Sign On</span></div><span class="chakra-text css-185veb6">July 1, 2021</span></a><div class="chakra-stack__divider css-19youyy"></div><a target="_self" class="chakra-link css-1khst8o" href="/guides/oauth"><div class="list-item-title css-1tst3tv"><span class="chakra-text css-olw45o">OAuth — Open Authorization</span></div><span class="chakra-text css-185veb6">June 28, 2021</span></a><div class="chakra-stack__divider css-19youyy"></div><a target="_self" class="chakra-link css-1khst8o" href="/guides/jwt-authentication"><div class="list-item-title css-1tst3tv"><span class="chakra-text css-olw45o">JWT Authentication</span></div><span class="chakra-text css-185veb6">June 20, 2021</span></a><div class="chakra-stack__divider css-19youyy"></div><a target="_self" class="chakra-link css-1khst8o" href="/guides/token-authentication"><div class="list-item-title css-1tst3tv"><span class="chakra-text css-olw45o">Token Based Authentication</span></div><span class="chakra-text css-185veb6">June 2, 2021</span></a><div class="chakra-stack__divider css-19youyy"></div><a target="_self" class="chakra-link css-1khst8o" href="/guides/session-authentication"><div class="list-item-title css-1tst3tv"><span class="chakra-text css-olw45o">Session Based Authentication</span></div><span class="chakra-text css-185veb6">May 26, 2021</span></a><div class="chakra-stack__divider css-19youyy"></div><a target="_self" class="chakra-link css-1khst8o" href="/guides/basic-authentication"><div class="list-item-title css-1tst3tv"><span class="chakra-text css-olw45o">Basic Authentication</span></div><span class="chakra-text css-185veb6">May 19, 2021</span></a><div class="chakra-stack__divider css-19youyy"></div><div class="css-5jw951"><div class="css-ghppc9"></div><a class="chakra-link css-1bi2t4z" href="/guides">View all Guides<span class="chakra-text forward-arrow css-n24rrp"></span></a></div></div></div></div><style data-emotion="css zeuzl6">.css-zeuzl6{background:var(--chakra-colors-white);border-top-width:1px;padding-top:45px;padding-bottom:60px;text-align:center;}@media screen and (min-width: 30em){.css-zeuzl6{padding-top:45px;padding-bottom:60px;}}@media screen and (min-width: 48em){.css-zeuzl6{padding-top:70px;padding-bottom:90px;}}</style><div class="css-zeuzl6"><div class="chakra-container css-nm5t63"><style data-emotion="css 482acf">.css-482acf{font-family:var(--chakra-fonts-heading);font-weight:var(--chakra-fontWeights-bold);font-size:25px;line-height:1.33;margin-bottom:10px;}@media screen and (min-width: 30em){.css-482acf{font-size:25px;margin-bottom:10px;}}@media screen and (min-width: 48em){.css-482acf{font-size:35px;line-height:1.2;margin-bottom:20px;}}</style><h2 class="chakra-heading css-482acf">Open Source</h2><style data-emotion="css tmji1h">.css-tmji1h{line-height:26px;font-size:15px;margin-bottom:20px;}@media screen and (min-width: 30em){.css-tmji1h{font-size:15px;}}@media screen and (min-width: 48em){.css-tmji1h{font-size:16px;}}</style><p class="chakra-text css-tmji1h">The project is OpenSource, <style data-emotion="css 1om4i6h">.css-1om4i6h{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;border-bottom-width:1px;font-weight:600;}.css-1om4i6h:hover,.css-1om4i6h[data-hover]{-webkit-text-decoration:none;text-decoration:none;}.css-1om4i6h:focus,.css-1om4i6h[data-focus]{box-shadow:var(--chakra-shadows-outline);}</style><a target="_blank" class="chakra-link css-1om4i6h" href="https://github.com/search?o=desc&amp;q=stars%3A%3E100000&amp;s=stars&amp;type=Repositories">6th most starred project on GitHub</a> and is visited by hundreds of thousands of developers every month.</p><iframe src="https://ghbtns.com/github-btn.html?user=kamranahmedse&amp;repo=developer-roadmap&amp;type=star&amp;count=true&amp;size=large" frameBorder="0" scrolling="0" width="170" height="30" style="margin:auto;margin-bottom:30px" title="GitHub"></iframe><style data-emotion="css mz2q9v">.css-mz2q9v{line-height:25px;font-size:15px;margin-bottom:15px;}@media screen and (min-width: 30em){.css-mz2q9v{line-height:25px;font-size:15px;}}@media screen and (min-width: 48em){.css-mz2q9v{line-height:26px;font-size:16px;}}</style><p class="chakra-text css-mz2q9v">A considerable amount of my time is spent doing unpaid community work on things that I hope will help humanity in some way. Your sponsorship helps me continue to produce more open-source and free educational material consumed by hundreds of thousands of developers every month.</p><div class="css-0"><iframe src="https://ghbtns.com/github-btn.html?user=kamranahmedse&amp;type=sponsor&amp;size=large" frameBorder="0" scrolling="0" width="260" height="30" title="GitHub" style="margin:auto"></iframe></div></div></div><style data-emotion="css llwly4">.css-llwly4{border-top-width:1px;padding-top:40px;padding-bottom:40px;text-align:left;background:var(--chakra-colors-brand-footer);}@media screen and (min-width: 30em){.css-llwly4{padding-top:40px;padding-bottom:45px;}}@media screen and (min-width: 48em){.css-llwly4{padding-top:70px;padding-bottom:80px;}}</style><div class="css-llwly4"><div class="chakra-container css-nm5t63"><style data-emotion="css 1bjthgu">.css-1bjthgu{font-family:var(--chakra-fonts-heading);font-weight:var(--chakra-fontWeights-bold);font-size:25px;line-height:1.33;color:var(--chakra-colors-gray-100);margin-bottom:5px;}@media screen and (min-width: 30em){.css-1bjthgu{font-size:25px;margin-bottom:5px;}}@media screen and (min-width: 48em){.css-1bjthgu{font-size:35px;line-height:1.2;margin-bottom:15px;}}</style><h2 class="chakra-heading css-1bjthgu">Stay Informed</h2><style data-emotion="css 1ne3i1y">.css-1ne3i1y{color:var(--chakra-colors-gray-400);line-height:26px;font-size:15px;margin-bottom:20px;}@media screen and (min-width: 30em){.css-1ne3i1y{font-size:15px;}}@media screen and (min-width: 48em){.css-1ne3i1y{font-size:16px;}}</style><p class="chakra-text css-1ne3i1y">Subscribe yourself to get updates, new guides, videos and roadmaps in your inbox.</p><style data-emotion="css u91i2o">.css-u91i2o{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}@media screen and (min-width: 30em){.css-u91i2o{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}@media screen and (min-width: 48em){.css-u91i2o{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}}</style><div class="css-u91i2o"><style data-emotion="css bjg6se">.css-bjg6se{margin-right:0px;margin-bottom:15px;}@media screen and (min-width: 30em){.css-bjg6se{margin-right:0px;margin-bottom:15px;}}@media screen and (min-width: 48em){.css-bjg6se{margin-right:20px;margin-bottom:0px;}}</style><div class="css-bjg6se"><style data-emotion="css 6cpjh7">.css-6cpjh7{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;white-space:nowrap;vertical-align:middle;outline:2px solid transparent;outline-offset:2px;width:var(--chakra-sizes-full);line-height:1.2;border-radius:var(--chakra-radii-md);font-weight:var(--chakra-fontWeights-semibold);transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);height:var(--chakra-sizes-10);min-width:var(--chakra-sizes-10);font-size:14px;-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);border:1px solid;border-color:currentColor;color:var(--chakra-colors-green-600);background:var(--chakra-colors-transparent);border-width:2px;}@media screen and (min-width: 30em){.css-6cpjh7{width:auto;font-size:14px;}}.css-6cpjh7:focus,.css-6cpjh7[data-focus]{box-shadow:var(--chakra-shadows-outline);}.css-6cpjh7[disabled],.css-6cpjh7[aria-disabled=true],.css-6cpjh7[data-disabled]{opacity:0.4;cursor:not-allowed;box-shadow:var(--chakra-shadows-none);}.css-6cpjh7:hover,.css-6cpjh7[data-hover]{color:var(--chakra-colors-green-200);-webkit-text-decoration:none;text-decoration:none;}@media screen and (min-width: 48em){.css-6cpjh7{font-size:16px;}}.css-6cpjh7:active,.css-6cpjh7[data-active]{background:var(--chakra-colors-green-100);}</style><style data-emotion="css 198h90r">.css-198h90r{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;white-space:nowrap;vertical-align:middle;outline:2px solid transparent;outline-offset:2px;width:var(--chakra-sizes-full);line-height:1.2;border-radius:var(--chakra-radii-md);font-weight:var(--chakra-fontWeights-semibold);transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);height:var(--chakra-sizes-10);min-width:var(--chakra-sizes-10);font-size:14px;-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);border:1px solid;border-color:currentColor;color:var(--chakra-colors-green-600);background:var(--chakra-colors-transparent);border-width:2px;}.css-198h90r:hover,.css-198h90r[data-hover]{-webkit-text-decoration:underline;text-decoration:underline;}.css-198h90r:focus,.css-198h90r[data-focus]{box-shadow:var(--chakra-shadows-outline);}@media screen and (min-width: 30em){.css-198h90r{width:auto;font-size:14px;}}.css-198h90r:focus,.css-198h90r[data-focus]{box-shadow:var(--chakra-shadows-outline);}.css-198h90r[disabled],.css-198h90r[aria-disabled=true],.css-198h90r[data-disabled]{opacity:0.4;cursor:not-allowed;box-shadow:var(--chakra-shadows-none);}.css-198h90r:hover,.css-198h90r[data-hover]{color:var(--chakra-colors-green-200);-webkit-text-decoration:none;text-decoration:none;}@media screen and (min-width: 48em){.css-198h90r{font-size:16px;}}.css-198h90r:active,.css-198h90r[data-active]{background:var(--chakra-colors-green-100);}</style><a class="chakra-link chakra-button css-198h90r" href="/signup">Subscribe to Updates</a><style data-emotion="css ilygfh">.css-ilygfh{color:var(--chakra-colors-gray-500);font-size:13px;margin-top:5px;}</style><p class="chakra-text css-ilygfh">Free subscription for updates</p></div><div class="css-0"><style data-emotion="css 1o5lodd">.css-1o5lodd{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;white-space:nowrap;vertical-align:middle;outline:2px solid transparent;outline-offset:2px;width:var(--chakra-sizes-full);line-height:1.2;border-radius:var(--chakra-radii-md);font-weight:var(--chakra-fontWeights-semibold);transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);height:var(--chakra-sizes-10);min-width:var(--chakra-sizes-10);font-size:14px;-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);background:var(--chakra-colors-yellow-400);color:var(--chakra-colors-black);}@media screen and (min-width: 30em){.css-1o5lodd{width:auto;font-size:14px;}}.css-1o5lodd:focus,.css-1o5lodd[data-focus]{box-shadow:var(--chakra-shadows-outline);}.css-1o5lodd[disabled],.css-1o5lodd[aria-disabled=true],.css-1o5lodd[data-disabled]{opacity:0.4;cursor:not-allowed;box-shadow:var(--chakra-shadows-none);}.css-1o5lodd:hover,.css-1o5lodd[data-hover]{-webkit-text-decoration:none;text-decoration:none;background:var(--chakra-colors-yellow-500);}@media screen and (min-width: 48em){.css-1o5lodd{font-size:16px;}}.css-1o5lodd:active,.css-1o5lodd[data-active]{background:var(--chakra-colors-yellow-600);}</style><style data-emotion="css 1matfw4">.css-1matfw4{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;white-space:nowrap;vertical-align:middle;outline:2px solid transparent;outline-offset:2px;width:var(--chakra-sizes-full);line-height:1.2;border-radius:var(--chakra-radii-md);font-weight:var(--chakra-fontWeights-semibold);transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);height:var(--chakra-sizes-10);min-width:var(--chakra-sizes-10);font-size:14px;-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);background:var(--chakra-colors-yellow-400);color:var(--chakra-colors-black);}.css-1matfw4:hover,.css-1matfw4[data-hover]{-webkit-text-decoration:underline;text-decoration:underline;}.css-1matfw4:focus,.css-1matfw4[data-focus]{box-shadow:var(--chakra-shadows-outline);}@media screen and (min-width: 30em){.css-1matfw4{width:auto;font-size:14px;}}.css-1matfw4:focus,.css-1matfw4[data-focus]{box-shadow:var(--chakra-shadows-outline);}.css-1matfw4[disabled],.css-1matfw4[aria-disabled=true],.css-1matfw4[data-disabled]{opacity:0.4;cursor:not-allowed;box-shadow:var(--chakra-shadows-none);}.css-1matfw4:hover,.css-1matfw4[data-hover]{-webkit-text-decoration:none;text-decoration:none;background:var(--chakra-colors-yellow-500);}@media screen and (min-width: 48em){.css-1matfw4{font-size:16px;}}.css-1matfw4:active,.css-1matfw4[data-active]{background:var(--chakra-colors-yellow-600);}</style><a target="_blank" class="chakra-link chakra-button css-1matfw4" href="https://github.com/sponsors/kamranahmedse">Updates &amp; Paid Content</a><p class="chakra-text css-ilygfh">Support the project by paying as little as<!-- --> <style data-emotion="css 35ezg3">.css-35ezg3{font-weight:600;}</style><span class="chakra-text css-35ezg3">5$ per month</span></p></div></div></div></div><style data-emotion="css t1u31f">.css-t1u31f{background:var(--chakra-colors-brand-hero);padding:25px 0;}@media screen and (min-width: 30em){.css-t1u31f{padding:25px 0;}}@media screen and (min-width: 48em){.css-t1u31f{padding:40px 0;}}</style><div class="css-t1u31f"><div class="chakra-container css-nm5t63"><style data-emotion="css 1cvpnh4">.css-1cvpnh4{display:none;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;color:var(--chakra-colors-gray-400);font-weight:600;}.css-1cvpnh4>*:not(style)~*:not(style){margin-top:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:30px;margin-inline-start:30px;}@media screen and (min-width: 30em){.css-1cvpnh4{display:none;}}@media screen and (min-width: 48em){.css-1cvpnh4{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}</style><div class="chakra-stack css-1cvpnh4"><style data-emotion="css 1807wg8">.css-1807wg8{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;}.css-1807wg8:hover,.css-1807wg8[data-hover]{color:var(--chakra-colors-white);}.css-1807wg8:focus,.css-1807wg8[data-focus]{box-shadow:var(--chakra-shadows-outline);}</style><a class="chakra-link css-1807wg8" href="/roadmaps">Roadmaps</a><a class="chakra-link css-1807wg8" href="/guides">Guides</a><a class="chakra-link css-1807wg8" href="/watch">Videos</a><a class="chakra-link css-1807wg8" href="/about">About</a><a target="_blank" class="chakra-link css-1807wg8" href="https://youtube.com/theroadmap?sub_confirmation=1">YouTube</a></div><style data-emotion="css 1ehdw1x">.css-1ehdw1x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;color:var(--chakra-colors-gray-400);font-weight:600;}.css-1ehdw1x>*:not(style)~*:not(style){margin-top:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}@media screen and (min-width: 30em){.css-1ehdw1x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}@media screen and (min-width: 48em){.css-1ehdw1x{display:none;}}</style><div class="chakra-stack css-1ehdw1x"><style data-emotion="css vsan9l">.css-vsan9l{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;padding-top:7px;padding-bottom:7px;border-bottom-width:1px;border-bottom-color:var(--chakra-colors-gray-800);}.css-vsan9l:hover,.css-vsan9l[data-hover]{color:var(--chakra-colors-white);}.css-vsan9l:focus,.css-vsan9l[data-focus]{box-shadow:var(--chakra-shadows-outline);}</style><a class="chakra-link css-vsan9l" href="/roadmaps">Roadmaps</a><a class="chakra-link css-vsan9l" href="/guides">Guides</a><a class="chakra-link css-vsan9l" href="/watch">Videos</a><a class="chakra-link css-vsan9l" href="/thanks">Thanks</a><a class="chakra-link css-vsan9l" href="/about">About</a><style data-emotion="css ex4by1">.css-ex4by1{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;padding-top:7px;padding-bottom:7px;}.css-ex4by1:hover,.css-ex4by1[data-hover]{color:var(--chakra-colors-white);}.css-ex4by1:focus,.css-ex4by1[data-focus]{box-shadow:var(--chakra-shadows-outline);}</style><a target="_blank" class="chakra-link css-ex4by1" href="https://youtube.com/theroadmap?sub_confirmation=1">YouTube</a></div><style data-emotion="css opw3zq">.css-opw3zq{margin-top:40px;margin-bottom:40px;max-width:500px;}@media screen and (min-width: 30em){.css-opw3zq{margin-top:40px;}}@media screen and (min-width: 48em){.css-opw3zq{margin-top:50px;}}</style><div class="css-opw3zq"><style data-emotion="css 1r78w6">.css-1r78w6{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--chakra-colors-gray-400);}</style><div spacing="0" class="css-1r78w6"><style data-emotion="css 1cdtrts">.css-1cdtrts{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:600;}.css-1cdtrts:hover,.css-1cdtrts[data-hover]{-webkit-text-decoration:none;text-decoration:none;color:var(--chakra-colors-white);}.css-1cdtrts:focus,.css-1cdtrts[data-focus]{box-shadow:var(--chakra-shadows-outline);}</style><a class="chakra-link css-1cdtrts" href="/"><style data-emotion="css 1l24g6b">.css-1l24g6b{height:25px;width:25px;margin-right:6px;}</style><img alt="" src="/logo.svg" class="chakra-image css-1l24g6b"/>roadmap.sh</a><style data-emotion="css qh3ecy">.css-qh3ecy{-webkit-margin-start:7px;margin-inline-start:7px;-webkit-margin-end:7px;margin-inline-end:7px;}</style><span class="chakra-text css-qh3ecy">by</span><style data-emotion="css 1svda2y">.css-1svda2y{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:var(--chakra-colors-white);background:var(--chakra-colors-blue-500);-webkit-padding-start:6px;padding-inline-start:6px;-webkit-padding-end:6px;padding-inline-end:6px;padding-top:2px;padding-bottom:2px;border-radius:4px;font-weight:600;font-size:13px;}.css-1svda2y:hover,.css-1svda2y[data-hover]{-webkit-text-decoration:none;text-decoration:none;background:var(--chakra-colors-blue-600);}.css-1svda2y:focus,.css-1svda2y[data-focus]{box-shadow:var(--chakra-shadows-outline);}</style><a target="_blank" class="chakra-link css-1svda2y" href="https://twitter.com/kamranahmedse">@kamranahmedse</a></div><style data-emotion="css gp4krv">.css-gp4krv{margin-top:15px;margin-bottom:15px;font-size:14px;color:var(--chakra-colors-gray-500);}</style><p class="chakra-text css-gp4krv">Community created roadmaps, articles, resources and journeys to help you choose your path and grow in your career.</p><style data-emotion="css 1vf9ext">.css-1vf9ext{font-size:14px;color:var(--chakra-colors-gray-500);}</style><p class="chakra-text css-1vf9ext"><style data-emotion="css lvyu5j">.css-lvyu5j{margin-right:10px;}</style><span class="chakra-text css-lvyu5j">© roadmap.sh</span>·<style data-emotion="css q9uhdd">.css-q9uhdd{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:var(--chakra-colors-gray-400);-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px;}.css-q9uhdd:hover,.css-q9uhdd[data-hover]{-webkit-text-decoration:none;text-decoration:none;color:var(--chakra-colors-white);}.css-q9uhdd:focus,.css-q9uhdd[data-focus]{box-shadow:var(--chakra-shadows-outline);}</style><a class="chakra-link css-q9uhdd" href="/about">FAQs</a>·<a class="chakra-link css-q9uhdd" href="/terms">Terms</a>·<a class="chakra-link css-q9uhdd" href="/privacy">Privacy</a></p></div></div><script async="" type="text/javascript" src="//cdn.carbonads.com/carbon.js?serve=CE7DLK3Y&amp;placement=roadmapsh" id="_carbonads_js"></script></div></div><span></span></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"roadmaps":[{"seo":{"title":"Frontend Developer Roadmap: Learn to become a modern frontend developer","description":"Learn to become a modern frontend developer using this roadmap. Community driven, articles, resources, guides, interview questions, quizzes for modern frontend development.","keywords":["javascript roadmap 2022","frontend roadmap 2022","frontend developer roadmap 2022","guide to becoming a developer","guide to becoming a frontend developer","frontend developer","frontend engineer","frontend skills","frontend development","javascript developer","frontend development skills","frontend development skills test","frontend roadmap","frontend engineer roadmap","frontend developer roadmap","become a frontend developer","frontend developer career path","javascript developer","modern javascript developer","node developer","skills for frontend development","learn frontend development","what is frontend development","frontend developer quiz","frontend developer interview questions"]},"title":"Frontend Developer","description":"Step by step guide to becoming a modern frontend developer in 2022","featuredTitle":"Frontend","featuredDescription":"Step by step guide to becoming a frontend developer in 2022","author":{"name":"Kamran Ahmed","url":"https://twitter.com/kamranahmedse"},"featured":true,"imageUrl":"/roadmaps/frontend.png","jsonUrl":"/project/frontend.json","resourcesPath":"/roadmaps/100-frontend/resources.md","pdfUrl":"https://kamranahmedse.gumroad.com/l/frontend-roadmap","contentPathsFilePath":"/roadmaps/100-frontend/content-paths.json","id":"frontend","metaPath":"/roadmaps/100-frontend/meta.json","isUpcoming":false},{"seo":{"title":"Backend Developer Roadmap: Learn to become a modern backend developer","description":"Learn to become a modern backend developer using this roadmap. Community driven, articles, resources, guides, interview questions, quizzes for modern backend development.","keywords":["backend roadmap 2022","backend developer roadmap 2022","guide to becoming a developer","guide to becoming a backend developer","backend roadmap","backend developer","backend engineer","backend skills","backend development","javascript developer","backend development skills","backend development skills test","backend engineer roadmap","backend developer roadmap","become a backend developer","backend developer career path","javascript developer","modern javascript developer","node developer","skills for backend development","learn backend development","what is backend development","backend developer quiz","backend developer interview questions"]},"title":"Backend Developer","description":"Step by step guide to becoming a modern backend developer in 2022","featuredTitle":"Backend","featuredDescription":"Step by step guide to becoming a backend developer in 2022","featured":true,"imageUrl":"/roadmaps/backend.png","jsonUrl":"/project/backend.json","resourcesPath":"/roadmaps/101-backend/resources.md","author":{"name":"Kamran Ahmed","url":"https://twitter.com/kamranahmedse"},"pdfUrl":"https://kamranahmedse.gumroad.com/l/backend-roadmap","contentPathsFilePath":"/roadmaps/101-backend/content-paths.json","id":"backend","metaPath":"/roadmaps/101-backend/meta.json","isUpcoming":false},{"seo":{"title":"DevOps Roadmap: Learn to become a DevOps Engineer or SRE","description":"Community driven, articles, resources, guides, interview questions, quizzes for DevOps. Learn to become a modern DevOps engineer by following the steps, skills, resources and guides listed in this roadmap.","keywords":["devops roadmap 2022","sre roadmap 2022","operations roadmap 2022","guide to becoming a devops enginer","devops roadmap","sre roadmap","site reliability engineer roadmap","operations roles","become devops","devops skills","modern devops skills","devops skills test","skills for devops","learn devops","what is devops","what is sre","devops quiz","devops interview questions"]},"title":"DevOps Roadmap","description":"Step by step guide for DevOps, SRE or any other Operations Role in 2022","featuredTitle":"DevOps","featuredDescription":"Step by step guide for DevOps or operations role in 2022","featured":true,"imageUrl":"/roadmaps/devops.png","jsonUrl":"/project/devops.json","resourcesPath":"/roadmaps/102-devops/resources.md","versions":["latest","2018","2017"],"author":{"name":"Kamran Ahmed","url":"https://twitter.com/kamranahmedse"},"pdfUrl":"https://kamranahmedse.gumroad.com/l/devops-roadmap","id":"devops","metaPath":"/roadmaps/102-devops/meta.json","isUpcoming":false},{"seo":{"title":"React Developer Roadmap: Learn to become a React developer","description":"Community driven, articles, resources, guides, interview questions, quizzes for react development. Learn to become a modern React developer by following the steps, skills, resources and guides listed in this roadmap.","keywords":["react roadmap 2022","react developer roadmap 2022","guide to becoming a react developer","react developer roadmap","react roadmap","become react developer","react developer skills","react skills test","skills for react development","learn react development","what is react","react quiz","react interview questions"]},"title":"React Developer","description":"Everything that is there to learn about React and the ecosystem in 2022.","featuredTitle":"React","featuredDescription":"Step by step guide to become a React Developer in 2022","isTextHeavy":false,"isCommunity":false,"featured":true,"landingPath":"/roadmaps/103-react/landscape.md","resourcesPath":"/roadmaps/103-react/resources.md","jsonUrl":"/project/react.json","versions":["latest","2018","2017"],"author":{"name":"Kamran Ahmed","url":"https://twitter.com/kamranahmedse"},"pdfUrl":"https://kamranahmedse.gumroad.com/l/react-roadmap","id":"react","metaPath":"/roadmaps/103-react/meta.json","isUpcoming":false},{"seo":{"title":"Angular Developer Roadmap: Learn to become a Angular developer","description":"Community driven, articles, resources, guides, interview questions, quizzes for angular development. Learn to become a modern Angular developer by following the steps, skills, resources and guides listed in this roadmap.","keywords":["guide to becoming a angular developer","angular developer roadmap","angular roadmap","become angular developer","angular developer skills","angular skills test","skills for angular development","learn angular development","what is angular","angular quiz","angular interview questions"]},"title":"Angular Developer","description":"Everything that is there to learn about Angular and the ecosystem in 2022.","featuredTitle":"Angular","featuredDescription":"Step by step guide to become a Angular Developer in 2022","isTextHeavy":false,"isCommunity":false,"featured":true,"jsonUrl":"/project/angular.json","landingPath":"/roadmaps/104-angular/landscape.md","resourcesPath":"/roadmaps/104-angular/resources.md","versions":["latest","2018","2017"],"author":{"name":"Kamran Ahmed","url":"https://twitter.com/kamranahmedse"},"pdfUrl":"https://kamranahmedse.gumroad.com/l/angular-roadmap","id":"angular","metaPath":"/roadmaps/104-angular/meta.json","isUpcoming":false},{"seo":{"title":"Android Developer Roadmap: Learn to become an Android developer","description":"Community driven, articles, resources, guides, interview questions, quizzes for android development. Learn to become a modern Android developer by following the steps, skills, resources and guides listed in this roadmap.","keywords":["guide to becoming an android developer","android developer roadmap","android roadmap","become android developer","android developer skills","android skills test","skills for android development","learn android development","what is android","android quiz","android interview questions"]},"title":"Android Developer","description":"Step by step guide to becoming an Android developer in 2022","featuredTitle":"Android","featuredDescription":"Step by step guide to becoming an Android Developer in 2022","isTextHeavy":true,"isCommunity":false,"featured":true,"jsonUrl":"/project/android.json","landingPath":"/roadmaps/105-android/landscape.md","resourcesPath":"/roadmaps/105-android/resources.md","versions":["latest","2018","2017"],"author":{"name":"Kamran Ahmed","url":"https://twitter.com/kamranahmedse"},"id":"android","metaPath":"/roadmaps/105-android/meta.json","isUpcoming":false},{"seo":{"title":"Learn to become a modern Python developer","description":"Community driven, articles, resources, guides, interview questions, quizzes for python development. Learn to become a modern Python developer by following the steps, skills, resources and guides listed in this roadmap.","keywords":["guide to becoming an python developer","python developer roadmap","python roadmap","become python developer","python developer skills","python skills test","skills for python development","learn python development","what is python","python quiz","python interview questions"]},"title":"Python Developer","description":"Step by step guide to becoming a Python developer in 2022","featuredTitle":"Python","featuredDescription":"Step by step guide to becoming a Python Developer in 2022","isTextHeavy":true,"isCommunity":false,"featured":true,"jsonUrl":"/project/python.json","resourcesPath":"/roadmaps/106-python/resources.md","landingPath":"/roadmaps/106-python/landscape.md","pdfUrl":"https://kamranahmedse.gumroad.com/l/python-roadmap","versions":["latest"],"author":{"name":"Kamran Ahmed","url":"https://twitter.com/kamranahmedse"},"id":"python","metaPath":"/roadmaps/106-python/meta.json","isUpcoming":false},{"seo":{"title":"Learn to become a Go developer","description":"Community driven, articles, resources, guides, interview questions, quizzes for react development. Learn to become a modern React developer by following the steps, skills, resources and guides listed in this roadmap.","keywords":["guide to becoming a golang developer","guide to becoming a go developer","golang developer","go developer","guide to golang","guide to go","golang roadmap","go roadmap","golang skills","go skills","golang skills test","go skills test","skills for golang","skills for go","cloud development","what is golang","what is go","golang quiz","go quiz","golang interview questions","go interview questions"]},"title":"Go Developer","description":"Step by step guide to becoming a Go developer in 2022","featuredTitle":"Go","featuredDescription":"Step by step guide to becoming a Go developer in 2022","isTextHeavy":false,"isCommunity":false,"isUpcoming":false,"featured":true,"jsonUrl":"/project/golang.json","landingPath":"/roadmaps/107-golang/landscape.md","resourcesPath":"/roadmaps/107-golang/resources.md","pdfUrl":"https://kamranahmedse.gumroad.com/l/go-roadmap","versions":["latest","2018","2017"],"author":{"name":"Kamran Ahmed","url":"https://twitter.com/kamranahmedse"},"id":"golang","metaPath":"/roadmaps/107-golang/meta.json"},{"seo":{"title":"Learn to become a modern Java developer","description":"Community driven, articles, resources, guides, interview questions, quizzes for react development. Learn to become a modern React developer by following the steps, skills, resources and guides listed in this roadmap.","keywords":["guide to becoming a developer","guide to becoming a java developer","java developer","java engineer","java skills","guide to java","java roadmap","java skills","java skills test","skills for java","cloud development","what is java","java quiz","java interview questions","java engineer roadmap","java developer roadmap","become a java developer","java developer career path","java developer","modern java developer"]},"title":"Java Developer","description":"Step by step guide to becoming a Java developer in 2022","featuredTitle":"Java","featuredDescription":"Step by step guide to becoming a Java Developer in 2022","isTextHeavy":false,"isCommunity":false,"isUpcoming":false,"featured":true,"jsonUrl":"/project/java.json","landingPath":"/roadmaps/108-java/landscape.md","resourcesPath":"/roadmaps/108-java/resources.md","versions":["latest","2018","2017"],"author":{"name":"Kamran Ahmed","url":"https://twitter.com/kamranahmedse"},"pdfUrl":"https://kamranahmedse.gumroad.com/l/java-roadmap","id":"java","metaPath":"/roadmaps/108-java/meta.json"},{"seo":{"title":"DBA Roadmap: Learn to become a database administrator with PostgreSQL","description":"Community driven, articles, resources, guides, interview questions, quizzes for DevOps. Learn to become a modern DevOps engineer by following the steps, skills, resources and guides listed in this roadmap.","keywords":["guide to becoming a database administrator","guide to becoming a DBA","dba roadmap","db administrator roadmap","database administrator roadmap","postgresql roadmap","dba skills","db administrator skills","become dba","postgresql skills","modern dba skills","dba skills test","skills for dba","skills for database administrator","learn dba","what is dba","database administrator quiz","dba interview questions"]},"title":"PostgreSQL DBA","description":"Step by step guide to becoming a modern PostgreSQL DB Administrator in 2022","featuredTitle":"DBA","featuredDescription":"Step by step guide to become a PostgreSQL DBA in 2022","landingPath":"/roadmaps/109-postgresql-dba/landscape.md","resourcesPath":"/roadmaps/109-postgresql-dba/resources.md","author":{"name":"Alexey Lesovsky","url":"https://github.com/lesovsky"},"isCommunity":false,"isTextHeavy":true,"featured":true,"detailed":false,"versions":[],"id":"postgresql-dba","metaPath":"/roadmaps/109-postgresql-dba/meta.json","isUpcoming":false},{"seo":{"title":"AWS Roadmap: Learn to use AWS","description":"Community driven, articles, resources, guides, interview questions, quizzes for react development. Learn to become a modern React developer by following the steps, skills, resources and guides listed in this roadmap.","keywords":["guide to aws","aws roadmap","aws skills","aws skills test","skills for aws","cloud development","what is aws","aws quiz","aws interview questions"]},"title":"AWS","description":"Everything that is there to learn about AWS and the ecosystem in 2022.","featuredTitle":"AWS","featuredDescription":"Step by step guide to learn AWS in 2022","isTextHeavy":false,"isCommunity":false,"isUpcoming":true,"featured":true,"landingPath":"/roadmaps/110-aws/landscape.md","resourcesPath":"/roadmaps/110-aws/resources.md","versions":["latest","2018","2017"],"author":{"name":"Kamran Ahmed","url":"https://twitter.com/kamranahmedse"},"id":"aws","metaPath":"/roadmaps/110-aws/meta.json"},{"seo":{"title":"QA Roadmap: Learn to become a modern QA engineer","description":"Community driven, articles, resources, guides, interview questions, quizzes for modern QA development. Learn to become a modern QA engineer by following the steps, skills, resources and guides listed in this roadmap.","keywords":["guide to becoming a QA engineer","QA engineer","QA skills","QA development skills","QA development skills test","QA engineer roadmap","become a QA engineer","QA engineer career path","skills for QA development","what is QA engineer","QA engineer quiz","QA engineer interview questions"]},"title":"QA Engineer","description":"Steps to follow in order to become a modern QA Engineer in 2022","featuredTitle":"QA","featuredDescription":"Step by step guide to becoming a modern QA Engineer in 2022","isUpcoming":true,"featured":true,"landingPath":"/roadmaps/111-qa/landscape.md","resourcesPath":"/roadmaps/111-qa/resources.md","author":{"name":"Anas Fitiani","url":"https://github.com/anas-qa"},"id":"qa","metaPath":"/roadmaps/111-qa/meta.json"}],"guides":[{"id":"avoid-render-blocking-javascript-with-async-defer","title":"Async and Defer Script Loading","description":"Learn how to avoid render blocking JavaScript using async and defer scripts.","isPro":false,"authorUsername":"kamranahmedse","updatedAt":"2021-09-10T19:59:14.191Z","createdAt":"2021-09-10T19:59:14.191Z","formattedCreatedAt":"September 10, 2021","formattedUpdatedAt":"September 10, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"what-are-web-vitals","title":"What are Web Vitals?","description":"Learn what are the core web vitals and how to measure them.","isPro":false,"authorUsername":"kamranahmedse","updatedAt":"2021-09-05T19:59:14.191Z","createdAt":"2021-09-05T19:59:14.191Z","formattedCreatedAt":"September 5, 2021","formattedUpdatedAt":"September 5, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"what-is-sli-slo-sla","title":"SLIs, SLOs and SLAs","description":"Learn what are different indicators for performance identification of any service.","isPro":false,"authorUsername":"kamranahmedse","updatedAt":"2021-08-31T19:59:14.191Z","createdAt":"2021-08-31T19:59:14.191Z","formattedCreatedAt":"August 31, 2021","formattedUpdatedAt":"August 31, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"ci-cd","title":"What is CI and CD?","description":"Learn the basics of CI/CD and how to implement that with GitHub Actions.","isPro":false,"authorUsername":"kamranahmedse","updatedAt":"2021-07-09T19:59:14.191Z","createdAt":"2021-07-09T19:59:14.191Z","formattedCreatedAt":"July 9, 2021","formattedUpdatedAt":"July 9, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"sso","title":"SSO — Single Sign On","description":"Learn the basics of SAML and understand how does Single Sign On work.","isPro":false,"authorUsername":"kamranahmedse","updatedAt":"2021-07-01T19:59:14.191Z","createdAt":"2021-07-01T19:59:14.191Z","formattedCreatedAt":"July 1, 2021","formattedUpdatedAt":"July 1, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"oauth","title":"OAuth — Open Authorization","description":"Learn and understand what is OAuth and how it works","isPro":false,"authorUsername":"kamranahmedse","updatedAt":"2021-06-28T19:59:14.191Z","createdAt":"2021-06-28T19:59:14.191Z","formattedCreatedAt":"June 28, 2021","formattedUpdatedAt":"June 28, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"jwt-authentication","title":"JWT Authentication","description":"Understand what is JWT authentication and how is it implemented","isPro":false,"authorUsername":"kamranahmedse","updatedAt":"2021-06-20T19:59:14.191Z","createdAt":"2021-06-20T19:59:14.191Z","formattedCreatedAt":"June 20, 2021","formattedUpdatedAt":"June 20, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"token-authentication","title":"Token Based Authentication","description":"Understand what is token based authentication and how it is implemented","isPro":false,"authorUsername":"kamranahmedse","updatedAt":"2021-06-02T20:59:14.191Z","createdAt":"2021-06-02T20:59:14.191Z","formattedCreatedAt":"June 2, 2021","formattedUpdatedAt":"June 2, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"session-authentication","title":"Session Based Authentication","description":"Understand what is session based authentication and how it is implemented","isPro":false,"authorUsername":"kamranahmedse","updatedAt":"2021-05-26T20:59:14.191Z","createdAt":"2021-05-26T20:59:14.191Z","formattedCreatedAt":"May 26, 2021","formattedUpdatedAt":"May 26, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"basic-authentication","title":"Basic Authentication","description":"Understand what is basic authentication and how it is implemented","isPro":false,"authorUsername":"kamranahmedse","updatedAt":"2021-05-19T20:59:14.191Z","createdAt":"2021-05-19T20:59:14.191Z","formattedCreatedAt":"May 19, 2021","formattedUpdatedAt":"May 19, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}}],"videos":[{"id":"linked-list-data-structure","title":"Linked List Data Structure","description":"Learn everything you need to know about linked list data structure","isPro":false,"youtubeLink":"https://www.youtube.com/watch?v=odW9FU8jPRQ","authorUsername":"kamranahmedse","duration":"11 minutes","updatedAt":"2022-01-31T19:59:14.191Z","createdAt":"2022-01-31T19:59:14.191Z","formattedCreatedAt":"January 31, 2022","formattedUpdatedAt":"January 31, 2022","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"array-structure","title":"All about Array Data Structure","description":"Learn everything you need to know about array data structure","isPro":false,"youtubeLink":"https://www.youtube.com/watch?v=QJNwK2uJyGs","authorUsername":"kamranahmedse","duration":"10 minutes","updatedAt":"2022-01-09T19:59:14.191Z","createdAt":"2022-01-09T19:59:14.191Z","formattedCreatedAt":"January 9, 2022","formattedUpdatedAt":"January 9, 2022","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"what-are-data-structures","title":"What are Data Structures?","description":"Learn about the different data structures in this illustrated series","isPro":false,"youtubeLink":"https://www.youtube.com/watch?v=9rhT3P1MDHk","authorUsername":"kamranahmedse","duration":"1 minute","updatedAt":"2021-12-12T19:59:14.191Z","createdAt":"2021-12-12T19:59:14.191Z","formattedCreatedAt":"December 12, 2021","formattedUpdatedAt":"December 12, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"what-is-eventual-consistency","title":"What is Eventual Consistency?","description":"Learn about the different consistency models in distributed systems","isPro":false,"youtubeLink":"https://www.youtube.com/watch?v=rpqsSkTIdAw","authorUsername":"kamranahmedse","duration":"5 minutes","updatedAt":"2021-11-30T19:59:14.191Z","createdAt":"2021-11-30T19:59:14.191Z","formattedCreatedAt":"November 30, 2021","formattedUpdatedAt":"November 30, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"ssh-ssl-tls","title":"SSH vs TLS vs SSL","description":"Learn the difference between SSH, TLS and SSL","isPro":false,"youtubeLink":"https://www.youtube.com/watch?v=k3rFFLmQCuY","authorUsername":"kamranahmedse","duration":"3 minutes","updatedAt":"2021-11-25T19:59:14.191Z","createdAt":"2021-11-25T19:59:14.191Z","formattedCreatedAt":"November 25, 2021","formattedUpdatedAt":"November 25, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"async-javascript","title":"Asynchronous JavaScript","description":"Learn how to write asynchronous JavaScript using Async/Await","isPro":false,"youtubeLink":"https://www.youtube.com/watch?v=VyIK6SV5f7o","authorUsername":"kamranahmedse","duration":"15 minutes","updatedAt":"2021-11-14T19:59:14.191Z","createdAt":"2021-11-14T19:59:14.191Z","formattedCreatedAt":"November 14, 2021","formattedUpdatedAt":"November 14, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"random-number-generators","title":"Random Number Generators","description":"How do random number generators work?","isPro":false,"youtubeLink":"https://www.youtube.com/watch?v=nDv3yXdD0rk","authorUsername":"kamranahmedse","duration":"8 minutes","updatedAt":"2021-11-03T19:59:14.191Z","createdAt":"2021-11-03T19:59:14.191Z","formattedCreatedAt":"November 3, 2021","formattedUpdatedAt":"November 3, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"big-o-notation","title":"Big O Notation","description":"Learn what the Big-O notation is and how to calculate the time complexity of an algorithm.","isPro":false,"youtubeLink":"https://www.youtube.com/watch?v=Z0bH0cMY0E8","authorUsername":"kamranahmedse","duration":"8 minutes","updatedAt":"2021-10-25T19:59:14.191Z","createdAt":"2021-10-25T19:59:14.191Z","formattedCreatedAt":"October 25, 2021","formattedUpdatedAt":"October 25, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"yaml-in-depth","title":"YAML in Depth","description":"Everything you need to know about YAML","isPro":false,"youtubeLink":"https://www.youtube.com/watch?v=ImHSpwUlNVc","authorUsername":"kamranahmedse","duration":"8 minutes","updatedAt":"2021-10-18T19:59:14.191Z","createdAt":"2021-10-18T19:59:14.191Z","formattedCreatedAt":"October 18, 2021","formattedUpdatedAt":"October 18, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}},{"id":"floating-point-arithmetic","title":"Floating Point Arithmetic","description":"Learn how ow the arithmetic operations work on floating-point numbers and why the results might be different from what you may expect.","isPro":false,"youtubeLink":"https://www.youtube.com/watch?v=RIiq4tTt6rI","authorUsername":"kamranahmedse","duration":"4 minutes","updatedAt":"2021-10-10T19:59:14.191Z","createdAt":"2021-10-10T19:59:14.191Z","formattedCreatedAt":"October 10, 2021","formattedUpdatedAt":"October 10, 2021","author":{"username":"kamranahmedse","name":"Kamran Ahmed","twitter":"kamranahmedse","picture":"/authors/kamranahmedse.jpeg","bio":"Lead engineer at Tajawal. Lover of all things web and opensource. Created roadmap.sh to help the confused ones."}}]},"__N_SSG":true},"page":"/","query":{},"buildId":"AFxJgUqEFEjnCSyhkE4ox","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>