<!DOCTYPE html><html
lang=en-US><head><meta
charset="UTF-8"><title>
Radar – O’Reilly</title><link
rel=alternate type=application/rss+xml title="Radar All Posts Feed" href=https://www.oreilly.com/radar/feed/index.xml><meta
name='robots' content='max-image-preview:large'><style id=wp-img-auto-sizes-contain-inline-css>img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */</style><style id=wp-emoji-styles-inline-css>img.wp-smiley, img.emoji {
		display: inline !important;
		border: none !important;
		box-shadow: none !important;
		height: 1em !important;
		width: 1em !important;
		margin: 0 0.07em !important;
		vertical-align: -0.1em !important;
		background: none !important;
		padding: 0 !important;
	}
/*# sourceURL=wp-emoji-styles-inline-css */</style><style id=wp-block-library-inline-css>/*<![CDATA[*/:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}.has-text-align-center{text-align:center}.has-text-align-left{text-align:left}.has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}

/*# sourceURL=wp-block-library-inline-css *//*]]>*/</style><style id=wp-block-heading-inline-css>h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}
/*# sourceURL=https://www.oreilly.com/radar/wp-includes/blocks/heading/style.min.css */</style><style id=wp-block-paragraph-inline-css>.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}
/*# sourceURL=https://www.oreilly.com/radar/wp-includes/blocks/paragraph/style.min.css */</style><style id=wp-block-quote-inline-css>.wp-block-quote{box-sizing:border-box;overflow-wrap:break-word}.wp-block-quote.is-large:where(:not(.is-style-plain)),.wp-block-quote.is-style-large:where(:not(.is-style-plain)){margin-bottom:1em;padding:0 1em}.wp-block-quote.is-large:where(:not(.is-style-plain)) p,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) p{font-size:1.5em;font-style:italic;line-height:1.6}.wp-block-quote.is-large:where(:not(.is-style-plain)) cite,.wp-block-quote.is-large:where(:not(.is-style-plain)) footer,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) cite,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) footer{font-size:1.125em;text-align:right}.wp-block-quote>cite{display:block}
/*# sourceURL=https://www.oreilly.com/radar/wp-includes/blocks/quote/style.min.css */</style><style id=classic-theme-styles-inline-css>/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
/*# sourceURL=/wp-includes/css/classic-themes.min.css */</style><style id=global-styles-inline-css>/*<![CDATA[*/:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
/*# sourceURL=global-styles-inline-css *//*]]>*/</style><link
rel=stylesheet id=mytheme-style-css href='https://www.oreilly.com/radar/wp-content/themes/signal/style.css?ver=1774386328' type=text/css media=all> <script src=https://www.oreilly.com/radar/wp-content/cache/minify/3/2b57e.js></script> <link
rel=alternate type=application/rss+xml title="Podcast RSS feed" href=https://www.oreilly.com/radar/feed/podcast><link
rel=icon href=https://www.oreilly.com/radar/wp-content/uploads/sites/3/2025/04/cropped-favicon_512x512-160x160.png sizes=32x32><link
rel=icon href=https://www.oreilly.com/radar/wp-content/uploads/sites/3/2025/04/cropped-favicon_512x512-300x300.png sizes=192x192><link
rel=apple-touch-icon href=https://www.oreilly.com/radar/wp-content/uploads/sites/3/2025/04/cropped-favicon_512x512-300x300.png><meta
name="msapplication-TileImage" content="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2025/04/cropped-favicon_512x512-300x300.png"><meta
http-equiv="X-UA-Compatible" content="IE=edge"><meta
name="viewport" content="width=device-width, initial-scale=1"><meta
name="language_name" content="English"><meta
name="native_language_name" content="English"><meta
name="format-detection" content="telephone=no"><link
rel=icon type=image/png href=//www.oreilly.com/favicon.ico><!--[if lte IE 9]> <script>'article aside footer header main nav section time'.replace(/\w+/g,function(n){document.createElement(n)})</script> <![endif]--><!--[if IE 9]><style>#menu-toggle:checked ~ .mobile-nav { display:block; }
  .mobile-nav { display: none; }</style><![endif]--><meta
property="twitter:card" content="summary_large_image"><meta
property="twitter:site" content="@OReillyMedia"><meta
property="twitter:title" content="Radar - O’Reilly"><meta
property="twitter:description" content="Now, next, and beyond: Tracking need-to-know trends at the intersection of business and technology"><meta
property="twitter:url" content="https://www.oreilly.com/radar"><meta
property="twitter:image" content="https://cdn.oreillystatic.com/oreilly/images/radar-blog-social-1200x630.jpg"><meta
property="og:type" content="article"><meta
property="og:site_name" content="O’Reilly Media"><meta
property="og:title" content="Radar - O’Reilly"><meta
property="og:description" content="Now, next, and beyond: Tracking need-to-know trends at the intersection of business and technology"><meta
property="og:url" content="https://www.oreilly.com/radar/"><meta
property="og:image" content="https://cdn.oreillystatic.com/oreilly/images/radar-blog-social-1200x630.jpg"><meta
name="description" content="Now, next, and beyond: Tracking need-to-know trends at the intersection of business and technology"><meta
name="description:site" content="Now, next, and beyond: Tracking need-to-know trends at the intersection of business and technology"><meta
name="oreilly:content_type" content="text"> <script>loggedInObject = new Object();
  var dataLayer = window.dataLayer || [];

  //Check for O'Reilly Unified logged-in status
  if (document.cookie.split(';').filter(function(item) {
    return item.indexOf('orm-jwt=') >= 0;
  }).length) {
    loggedInObject.loggedIn = 'yes';
    dataLayer.push(loggedInObject);

    //Add 'loggedIn class to html tag
    const htmlTag = document.querySelector('html');
    if (htmlTag !== null) {
      htmlTag.classList.add('loggedIn');
    }
  }</script> <script>dataLayer = [{"content.formatType":"none","content.free":"yes","content.identifier":"none","content.parentTopic":"none","content.publisher":"O'Reilly Media Inc.","content.releaseDate":"none","content.subTopic":"none","content.subdirectory":"radar","content.title":"Radar - O’Reilly","product.identifier":"none","product.title":"none","product.type":"none"}];</script>  <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-5P4V6Z');</script> <link
rel=preconnect href=https://dev.visualwebsiteoptimizer.com> <script id=vwoCode>window._vwo_code || (function() {
var account_id=27087,
version=2.1,
settings_tolerance=2000,
hide_element='body',
hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important',
/* DO NOT EDIT BELOW THIS LINE */
f=false,w=window,d=document,v=d.querySelector('#vwoCode'),cK='_vwo_'+account_id+'_settings',cc={};try{var c=JSON.parse(localStorage.getItem('_vwo_'+account_id+'_config'));cc=c&&typeof c==='object'?c:{}}catch(e){}var stT=cc.stT==='session'?w.sessionStorage:w.localStorage;code={use_existing_jquery:function(){return typeof use_existing_jquery!=='undefined'?use_existing_jquery:undefined},library_tolerance:function(){return typeof library_tolerance!=='undefined'?library_tolerance:undefined},settings_tolerance:function(){return cc.sT||settings_tolerance},hide_element_style:function(){return'{'+(cc.hES||hide_element_style)+'}'},hide_element:function(){if(performance.getEntriesByName('first-contentful-paint')[0]){return''}return typeof cc.hE==='string'?cc.hE:hide_element},getVersion:function(){return version},finish:function(e){if(!f){f=true;var t=d.getElementById('_vis_opt_path_hides');if(t)t.parentNode.removeChild(t);if(e)(new Image).src='https://dev.visualwebsiteoptimizer.com/ee.gif?a='+account_id+e}},finished:function(){return f},addScript:function(e){var t=d.createElement('script');t.type='text/javascript';if(e.src){t.src=e.src}else{t.text=e.text}d.getElementsByTagName('head')[0].appendChild(t)},load:function(e,t){var i=this.getSettings(),n=d.createElement('script'),r=this;t=t||{};if(i){n.textContent=i;d.getElementsByTagName('head')[0].appendChild(n);if(!w.VWO||VWO.caE){stT.removeItem(cK);r.load(e)}}else{var o=new XMLHttpRequest;o.open('GET',e,true);o.withCredentials=!t.dSC;o.responseType=t.responseType||'text';o.onload=function(){if(t.onloadCb){return t.onloadCb(o,e)}if(o.status===200){_vwo_code.addScript({text:o.responseText})}else{_vwo_code.finish('&e=loading_failure:'+e)}};o.onerror=function(){if(t.onerrorCb){return t.onerrorCb(e)}_vwo_code.finish('&e=loading_failure:'+e)};o.send()}},getSettings:function(){try{var e=stT.getItem(cK);if(!e){return}e=JSON.parse(e);if(Date.now()>e.e){stT.removeItem(cK);return}return e.s}catch(e){return}},init:function(){if(d.URL.indexOf('__vwo_disable__')>-1)return;var e=this.settings_tolerance();w._vwo_settings_timer=setTimeout(function(){_vwo_code.finish();stT.removeItem(cK)},e);var t;if(this.hide_element()!=='body'){t=d.createElement('style');var i=this.hide_element(),n=i?i+this.hide_element_style():'',r=d.getElementsByTagName('head')[0];t.setAttribute('id','_vis_opt_path_hides');v&&t.setAttribute('nonce',v.nonce);t.setAttribute('type','text/css');if(t.styleSheet)t.styleSheet.cssText=n;else t.appendChild(d.createTextNode(n));r.appendChild(t)}else{t=d.getElementsByTagName('head')[0];var n=d.createElement('div');n.style.cssText='z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;';n.setAttribute('id','_vis_opt_path_hides');n.classList.add('_vis_hide_layer');t.parentNode.insertBefore(n,t.nextSibling)}var o='https://dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(d.URL)+'&vn='+version;if(w.location.search.indexOf('_vwo_xhr')!==-1){this.addScript({src:o})}else{this.load(o+'&x=true')}}};w._vwo_code=code;code.init();})();</script>  <script type=application/ld+json>{
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "name": "O'Reilly",
            "item": "https://www.oreilly.com/"
        },
        {
            "@type": "ListItem",
            "position": 2,
            "name": "Radar",
            "item": "https://www.oreilly.com/radar/"
        },
        {
            "@type": "ListItem",
            "position": 3,
            "name": "The Cathedral, the Bazaar, and the Winchester Mystery House",
            "item": "https://www.oreilly.com/radar/the-cathedral-the-bazaar-and-the-winchester-mystery-house/"
        }
    ]
}</script> </head><body
class="home blog wp-theme-signal multisite-radar"><noscript><iframe
src="https://www.googletagmanager.com/ns.html?id=GTM-5P4V6Z" height=0 width=0 style=display:none;visibility:hidden></iframe></noscript><a
class=skipToMain id=skipToMain href=#maincontent>Skip to main content</a><header
class=orm-global-site-header--auth id=orm-global-site-banner role=banner data-testid=site-header-auth><nav
id=orm-global-marketing-nav data-hidden=sm><ul
id=orm-global-marketing-nav__list role=menu>
<li
class=orm-global-marketing-nav-list__item role=presentation><a
class=orm-global-marketing-nav-list-item__link role=menuitem data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"for enterprise" }' data-gtm-event=mousedown href=https://www.oreilly.com/online-learning/teams.html>For Enterprise</a></li><li
class=orm-global-marketing-nav-list__item role=presentation><a
class=orm-global-marketing-nav-list-item__link role=menuitem data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"for government" }' data-gtm-event=mousedown href=https://www.oreilly.com/online-learning/government.html>For Government</a></li><li
class=orm-global-marketing-nav-list__item role=presentation><a
class=orm-global-marketing-nav-list-item__link role=menuitem data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"for higher ed" }' data-gtm-event=mousedown href=https://www.oreilly.com/online-learning/academic.html>For Higher Ed</a></li><li
class=orm-global-marketing-nav-list__item role=presentation><a
class=orm-global-marketing-nav-list-item__link role=menuitem data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"for individuals" }' data-gtm-event=mousedown href=https://www.oreilly.com/online-learning/individuals.html>For Individuals</a></li><li
class=orm-global-marketing-nav-list__item role=presentation><a
class=orm-global-marketing-nav-list-item__link role=menuitem data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"for content marketing" }' data-gtm-event=mousedown href=https://www.oreilly.com/content-marketing-solutions.html>For Content Marketing</a></li></ul></nav><div
id=orm-global-site-banner__content><div
class=orm-global-site-banner__block>
<button
aria-expanded=false class=orm-global-mobile-toggle data-mobile-toggle=true data-testid=navigation-toggle id=orm-global-site-menu-toggle aria-label="Toggle site menu" aria-controls=orm-global-mobile-pane--navigation>
<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 16 16" fill=none stroke=var(--orm-modern-dark) data-closed-icon=true>
<path
d="M1 3H15M1 8H15M1 13H15" stroke-width=2 stroke-linecap=round></path>
</svg>
<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 8 8" fill=none data-open-icon=true>
<path
fill-rule=evenodd clip-rule=evenodd d="M0.948112 0C0.408563 0 4.11814e-06 0.431923 4.11814e-06 0.95467C4.11814e-06 1.22411 0.111261 1.45183 0.267234 1.61743L2.58966 4.00047L0.27598 6.37752C0.108619 6.54684 0 6.77982 0 7.04533C0 7.56808 0.408558 8 0.948108 8C1.20588 8 1.43872 7.89659 1.60824 7.73661L1.61715 7.7282L3.99833 5.28676L6.37456 7.71975L6.37891 7.72411C6.5552 7.90088 6.79692 8 7.05189 8C7.59144 8 8 7.56808 8 7.04533C8 6.77589 7.88874 6.54817 7.73277 6.38257L5.41034 3.99953L7.72402 1.62247C7.89138 1.45316 8 1.22017 8 0.95467C8 0.431923 7.59144 0 7.05189 0C6.79412 0 6.56126 0.10342 6.39175 0.263408L6.38285 0.27181L4.00167 2.71324L1.62544 0.280255L1.62109 0.275892C1.4448 0.099117 1.20308 0 0.948112 0Z" fill=var(--orm-modern-r500)></path>
</svg>
</button>
<a
id=orm-global-site-logo-link href=https://www.oreilly.com title="home page" aria-current=page>
<svg
id=orm-global-site-logo viewBox="0 0 137 26" fill=none xmlns=http://www.w3.org/2000/svg>
<path
fill-rule=evenodd clip-rule=evenodd d="M27.2625 6.503C28.875 6.503 30.1875 5.17607 30.1875 3.54584C30.1875 1.91561 28.9125 0.626596 27.2625 0.588684C25.65 0.588684 24.3375 1.91561 24.3375 3.54584C24.3375 5.17607 25.65 6.503 27.2625 6.503ZM3.9375 13.1376C3.9375 10.7871 4.875 8.66399 6.4125 7.10958C7.95 5.55518 10.0125 4.60737 12.3375 4.60737C14.6625 4.60737 16.7625 5.55518 18.3 7.10958C19.8375 8.66399 20.775 10.7871 20.775 13.1376C20.775 15.4882 19.8375 17.5734 18.3375 19.1657C16.8 20.7201 14.7 21.6679 12.375 21.6679C10.05 21.6679 7.95 20.7201 6.4125 19.1657C4.875 17.6113 3.9375 15.4882 3.9375 13.1376ZM12.375 0.626584C5.55 0.626584 0 6.2376 0 13.1376C0 20.0377 5.5125 25.6108 12.375 25.6487C19.2 25.6487 24.75 20.0377 24.75 13.1376C24.75 6.2376 19.2 0.626584 12.375 0.626584ZM36.975 10.9709V4.98079H44.9625C46.6125 4.98079 47.925 6.30772 47.925 7.97586C47.925 9.644 46.6125 10.9709 44.9625 10.9709H36.975ZM46.9125 14.7242C49.7625 13.8523 51.8625 11.1984 51.8625 8.01377C51.8625 4.14672 48.75 1 44.925 1H33V24.9985H36.975V14.9896H42.4875L48.45 24.9985H53.0625L46.9125 14.7242ZM72.375 1V4.98079H59.8125V11.0088H71.7375V14.9896H59.8125V21.0177H72.375V24.9985H55.8375V1H72.375ZM80.475 1H76.5V24.9985H80.475V1ZM84.6 1V24.9985H100.012V21.0177H88.575V1H84.6ZM103.238 24.9985V1H107.175V21.0177H118.613V24.9985H103.238ZM131.437 1H136.237L127.312 14.0797V24.9985H123.375V14.0418L114.45 1H119.25L125.362 9.90939L131.437 1Z"></path>
</svg>
</a><nav
data-hidden=sm><ul
class=orm-global-site-banner__list role=menu id=orm-global-site-navigation-list>
<li
class=orm-global-site-banner__list-item role=presentation id=orm-global-site-menu-item--desktop-explore-skills-0 data-level=0><button
class=orm-global-site-banner__link role=menuitem id=orm-global-site-menu-item-button--desktop-explore-skills-0 data-level=0 data-testid=header-link-0 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-menu-popover--desktop-explore-skills-0>Explore Skills </button><dialog
class=orm-global-site-menu__popover id=orm-global-site-menu-popover--desktop-explore-skills-0 aria-labelledby=orm-global-site-menu-item-button--desktop-explore-skills-0 data-level=1><ul
class=orm-global-site-menu><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-cloud-computing-0 data-level=1><button
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-cloud-computing-0 data-level=1 data-testid=menu-link|parent-header:0|item:0 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-menu-popover--desktop-cloud-computing-0>Cloud Computing <svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><dialog
class=orm-global-site-menu__popover id=orm-global-site-menu-popover--desktop-cloud-computing-0 aria-labelledby=orm-global-site-menu-item-button--desktop-cloud-computing-0 data-level=2><ul
class=orm-global-site-menu><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-microsoft-azure-0 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-microsoft-azure-0 data-testid=menu-link|parent-header:0|item:0 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|cloud computing|microsoft azure" }' data-gtm-event=mousedown href=/search/skills/microsoft-azure/ >Microsoft Azure</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-amazon-web-services-aws-1 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-amazon-web-services-aws-1 data-testid=menu-link|parent-header:0|item:1 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|cloud computing|amazon web services (aws)" }' data-gtm-event=mousedown href=/search/skills/amazon-web-services-aws/ >Amazon Web Services (AWS)</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-google-cloud-2 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-google-cloud-2 data-testid=menu-link|parent-header:0|item:2 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|cloud computing|google cloud" }' data-gtm-event=mousedown href=/search/skills/google-cloud/ >Google Cloud</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-cloud-migration-3 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-cloud-migration-3 data-testid=menu-link|parent-header:0|item:3 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|cloud computing|cloud migration" }' data-gtm-event=mousedown href=/search/skills/cloud-migration/ >Cloud Migration</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-cloud-deployment-4 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-cloud-deployment-4 data-testid=menu-link|parent-header:0|item:4 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|cloud computing|cloud deployment" }' data-gtm-event=mousedown href=/search/skills/cloud-deployment/ >Cloud Deployment</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-cloud-platforms-5 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-cloud-platforms-5 data-testid=menu-link|parent-header:0|item:5 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|cloud computing|cloud platforms" }' data-gtm-event=mousedown href=/search/skills/cloud-platforms/ >Cloud Platforms</a></li></ul><footer
class=orm-global-site-menu__footer><a
role=menuItem class=orm-global-site-menu__view-all data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"topics|view all cloud computing" }' data-gtm-event=mousedown href=/search/skills/cloud-computing/ ><div><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-tvi28v" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></div>View all</a></footer></dialog></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-data-engineering-1 data-level=1><button
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-data-engineering-1 data-level=1 data-testid=menu-link|parent-header:0|item:1 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-menu-popover--desktop-data-engineering-1>Data Engineering <svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><dialog
class=orm-global-site-menu__popover id=orm-global-site-menu-popover--desktop-data-engineering-1 aria-labelledby=orm-global-site-menu-item-button--desktop-data-engineering-1 data-level=2><ul
class=orm-global-site-menu><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-data-warehouse-0 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-data-warehouse-0 data-testid=menu-link|parent-header:1|item:0 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data engineering|data warehouse" }' data-gtm-event=mousedown href=/search/skills/data-warehouse/ >Data Warehouse</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-sql-1 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-sql-1 data-testid=menu-link|parent-header:1|item:1 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data engineering|sql" }' data-gtm-event=mousedown href=/search/skills/sql/ >SQL</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-apache-spark-2 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-apache-spark-2 data-testid=menu-link|parent-header:1|item:2 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data engineering|apache spark" }' data-gtm-event=mousedown href=/search/skills/apache-spark/ >Apache Spark</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-microsoft-sql-server-3 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-microsoft-sql-server-3 data-testid=menu-link|parent-header:1|item:3 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data engineering|microsoft sql server" }' data-gtm-event=mousedown href=/search/skills/microsoft-sql-server/ >Microsoft SQL Server</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-mysql-4 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-mysql-4 data-testid=menu-link|parent-header:1|item:4 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data engineering|mysql" }' data-gtm-event=mousedown href=/search/skills/mysql/ >MySQL</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-kafka-5 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-kafka-5 data-testid=menu-link|parent-header:1|item:5 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data engineering|kafka" }' data-gtm-event=mousedown href=/search/skills/kafka/ >Kafka</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-data-lake-6 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-data-lake-6 data-testid=menu-link|parent-header:1|item:6 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data engineering|data lake" }' data-gtm-event=mousedown href=/search/skills/data-lake/ >Data Lake</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-streaming-messaging-7 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-streaming-messaging-7 data-testid=menu-link|parent-header:1|item:7 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data engineering|streaming &amp; messaging" }' data-gtm-event=mousedown href=/search/skills/streaming-messaging/ >Streaming &amp; Messaging</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-nosql-databases-8 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-nosql-databases-8 data-testid=menu-link|parent-header:1|item:8 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data engineering|nosql databases" }' data-gtm-event=mousedown href=/search/skills/nosql-databases/ >NoSQL Databases</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-relational-databases-9 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-relational-databases-9 data-testid=menu-link|parent-header:1|item:9 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data engineering|relational databases" }' data-gtm-event=mousedown href=/search/skills/relational-databases/ >Relational Databases</a></li></ul><footer
class=orm-global-site-menu__footer><a
role=menuItem class=orm-global-site-menu__view-all data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"topics|view all data engineering" }' data-gtm-event=mousedown href=/search/skills/data-engineering/ ><div><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-tvi28v" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></div>View all</a></footer></dialog></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-data-science-2 data-level=1><button
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-data-science-2 data-level=1 data-testid=menu-link|parent-header:0|item:2 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-menu-popover--desktop-data-science-2>Data Science <svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><dialog
class=orm-global-site-menu__popover id=orm-global-site-menu-popover--desktop-data-science-2 aria-labelledby=orm-global-site-menu-item-button--desktop-data-science-2 data-level=2><ul
class=orm-global-site-menu><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-pandas-0 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-pandas-0 data-testid=menu-link|parent-header:2|item:0 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data science|pandas" }' data-gtm-event=mousedown href=/search/topics/pandas/ >Pandas</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-r-1 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-r-1 data-testid=menu-link|parent-header:2|item:1 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data science|r" }' data-gtm-event=mousedown href=/search/topics/r/ >R</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-matlab-2 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-matlab-2 data-testid=menu-link|parent-header:2|item:2 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data science|matlab" }' data-gtm-event=mousedown href=/search/topics/matlab/ >MATLAB</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-sas-3 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-sas-3 data-testid=menu-link|parent-header:2|item:3 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data science|sas" }' data-gtm-event=mousedown href=/search/topics/sas/ >SAS</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-d3-4 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-d3-4 data-testid=menu-link|parent-header:2|item:4 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data science|d3" }' data-gtm-event=mousedown href=/search/topics/d3/ >D3</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-power-bi-5 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-power-bi-5 data-testid=menu-link|parent-header:2|item:5 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data science|power bi" }' data-gtm-event=mousedown href=/search/topics/power-bi/ >Power BI</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-tableau-6 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-tableau-6 data-testid=menu-link|parent-header:2|item:6 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data science|tableau" }' data-gtm-event=mousedown href=/search/topics/tableau/ >Tableau</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-statistics-7 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-statistics-7 data-testid=menu-link|parent-header:2|item:7 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data science|statistics" }' data-gtm-event=mousedown href=/search/topics/statistics/ >Statistics</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-exploratory-data-analysis-8 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-exploratory-data-analysis-8 data-testid=menu-link|parent-header:2|item:8 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data science|exploratory data analysis" }' data-gtm-event=mousedown href=/search/topics/exploratory-data-analysis/ >Exploratory Data Analysis</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-data-visualization-9 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-data-visualization-9 data-testid=menu-link|parent-header:2|item:9 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|data science|data visualization" }' data-gtm-event=mousedown href=/search/topics/data-visualization/ >Data Visualization</a></li></ul><footer
class=orm-global-site-menu__footer><a
role=menuItem class=orm-global-site-menu__view-all data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"topics|view all data science" }' data-gtm-event=mousedown href=/search/skills/data-science/ ><div><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-tvi28v" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></div>View all</a></footer></dialog></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-ai-ml-3 data-level=1><button
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-ai-ml-3 data-level=1 data-testid=menu-link|parent-header:0|item:3 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-menu-popover--desktop-ai-ml-3>AI &amp; ML <svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><dialog
class=orm-global-site-menu__popover id=orm-global-site-menu-popover--desktop-ai-ml-3 aria-labelledby=orm-global-site-menu-item-button--desktop-ai-ml-3 data-level=2><ul
class=orm-global-site-menu><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-generative-ai-0 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-generative-ai-0 data-testid=menu-link|parent-header:3|item:0 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|ai &amp; ml|generative ai" }' data-gtm-event=mousedown href=/search/skills/generative-ai/ >Generative AI</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-machine-learning-1 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-machine-learning-1 data-testid=menu-link|parent-header:3|item:1 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|ai &amp; ml|machine learning" }' data-gtm-event=mousedown href=/search/skills/machine-learning/ >Machine Learning</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-artificial-intelligence-ai-2 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-artificial-intelligence-ai-2 data-testid=menu-link|parent-header:3|item:2 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|ai &amp; ml|artificial intelligence (ai)" }' data-gtm-event=mousedown href=/search/skills/artificial-intelligence-ai/ >Artificial Intelligence (AI)</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-deep-learning-3 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-deep-learning-3 data-testid=menu-link|parent-header:3|item:3 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|ai &amp; ml|deep learning" }' data-gtm-event=mousedown href=/search/skills/deep-learning/ >Deep Learning</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-reinforcement-learning-4 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-reinforcement-learning-4 data-testid=menu-link|parent-header:3|item:4 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|ai &amp; ml|reinforcement learning" }' data-gtm-event=mousedown href=/search/skills/reinforcement-learning/ >Reinforcement Learning</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-natural-language-processing-5 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-natural-language-processing-5 data-testid=menu-link|parent-header:3|item:5 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|ai &amp; ml|natural language processing" }' data-gtm-event=mousedown href=/search/skills/natural-language-processing/ >Natural Language Processing</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-tensorflow-6 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-tensorflow-6 data-testid=menu-link|parent-header:3|item:6 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|ai &amp; ml|tensorflow" }' data-gtm-event=mousedown href=/search/skills/tensorflow/ >TensorFlow</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-scikit-learn-7 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-scikit-learn-7 data-testid=menu-link|parent-header:3|item:7 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|ai &amp; ml|scikit-learn" }' data-gtm-event=mousedown href=/search/skills/scikit-learn/ >Scikit-Learn</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-hyperparameter-tuning-8 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-hyperparameter-tuning-8 data-testid=menu-link|parent-header:3|item:8 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|ai &amp; ml|hyperparameter tuning" }' data-gtm-event=mousedown href=/search/skills/hyperparameter-tuning/ >Hyperparameter Tuning</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-mlops-9 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-mlops-9 data-testid=menu-link|parent-header:3|item:9 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|ai &amp; ml|mlops" }' data-gtm-event=mousedown href=/search/skills/mlops/ >MLOps</a></li></ul><footer
class=orm-global-site-menu__footer><a
role=menuItem class=orm-global-site-menu__view-all data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"topics|view all ai &amp; ml" }' data-gtm-event=mousedown href=/search/skills/ai-ml/ ><div><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-tvi28v" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></div>View all</a></footer></dialog></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-programming-languages-4 data-level=1><button
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-programming-languages-4 data-level=1 data-testid=menu-link|parent-header:0|item:4 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-menu-popover--desktop-programming-languages-4>Programming Languages <svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><dialog
class=orm-global-site-menu__popover id=orm-global-site-menu-popover--desktop-programming-languages-4 aria-labelledby=orm-global-site-menu-item-button--desktop-programming-languages-4 data-level=2><ul
class=orm-global-site-menu><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-java-0 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-java-0 data-testid=menu-link|parent-header:4|item:0 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|programming languages|java" }' data-gtm-event=mousedown href=/search/skills/java/ >Java</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-javascript-1 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-javascript-1 data-testid=menu-link|parent-header:4|item:1 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|programming languages|javascript" }' data-gtm-event=mousedown href=/search/skills/javascript/ >JavaScript</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-spring-2 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-spring-2 data-testid=menu-link|parent-header:4|item:2 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|programming languages|spring" }' data-gtm-event=mousedown href=/search/skills/spring/ >Spring</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-python-3 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-python-3 data-testid=menu-link|parent-header:4|item:3 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|programming languages|python" }' data-gtm-event=mousedown href=/search/skills/python/ >Python</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-go-4 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-go-4 data-testid=menu-link|parent-header:4|item:4 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|programming languages|go" }' data-gtm-event=mousedown href=/search/skills/go/ >Go</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-c-5 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-c-5 data-testid=menu-link|parent-header:4|item:5 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|programming languages|c#" }' data-gtm-event=mousedown href=/search/skills/c-sharp/ >C#</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-c-6 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-c-6 data-testid=menu-link|parent-header:4|item:6 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|programming languages|c++" }' data-gtm-event=mousedown href=/search/skills/c-plus-plus/ >C++</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-c-7 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-c-7 data-testid=menu-link|parent-header:4|item:7 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|programming languages|c" }' data-gtm-event=mousedown href=/search/skills/c/ >C</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-swift-8 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-swift-8 data-testid=menu-link|parent-header:4|item:8 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|programming languages|swift" }' data-gtm-event=mousedown href=/search/skills/swift/ >Swift</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-rust-9 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-rust-9 data-testid=menu-link|parent-header:4|item:9 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|programming languages|rust" }' data-gtm-event=mousedown href=/search/skills/rust/ >Rust</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-functional-programming-10 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-functional-programming-10 data-testid=menu-link|parent-header:4|item:10 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|programming languages|functional programming" }' data-gtm-event=mousedown href=/search/skills/functional-programming/ >Functional Programming</a></li></ul><footer
class=orm-global-site-menu__footer><a
role=menuItem class=orm-global-site-menu__view-all data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"topics|view all programming languages" }' data-gtm-event=mousedown href=/search/skills/programming-languages/ ><div><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-tvi28v" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></div>View all</a></footer></dialog></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-software-architecture-5 data-level=1><button
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-software-architecture-5 data-level=1 data-testid=menu-link|parent-header:0|item:5 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-menu-popover--desktop-software-architecture-5>Software Architecture <svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><dialog
class=orm-global-site-menu__popover id=orm-global-site-menu-popover--desktop-software-architecture-5 aria-labelledby=orm-global-site-menu-item-button--desktop-software-architecture-5 data-level=2><ul
class=orm-global-site-menu><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-object-oriented-0 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-object-oriented-0 data-testid=menu-link|parent-header:5|item:0 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|software architecture|object-oriented" }' data-gtm-event=mousedown href=/search/skills/object-oriented-architecture/ >Object-Oriented</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-distributed-systems-1 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-distributed-systems-1 data-testid=menu-link|parent-header:5|item:1 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|software architecture|distributed systems" }' data-gtm-event=mousedown href=/search/skills/distributed-systems/ >Distributed Systems</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-domain-driven-design-2 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-domain-driven-design-2 data-testid=menu-link|parent-header:5|item:2 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|software architecture|domain-driven design" }' data-gtm-event=mousedown href=/search/skills/domain-driven-design/ >Domain-Driven Design</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-architectural-patterns-3 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-architectural-patterns-3 data-testid=menu-link|parent-header:5|item:3 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|software architecture|architectural patterns" }' data-gtm-event=mousedown href=/search/skills/architectural-patterns/ >Architectural Patterns</a></li></ul><footer
class=orm-global-site-menu__footer><a
role=menuItem class=orm-global-site-menu__view-all data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"topics|view all software architecture" }' data-gtm-event=mousedown href=/search/skills/software-architecture/ ><div><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-tvi28v" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></div>View all</a></footer></dialog></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-itops-6 data-level=1><button
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-itops-6 data-level=1 data-testid=menu-link|parent-header:0|item:6 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-menu-popover--desktop-itops-6>IT/Ops <svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><dialog
class=orm-global-site-menu__popover id=orm-global-site-menu-popover--desktop-itops-6 aria-labelledby=orm-global-site-menu-item-button--desktop-itops-6 data-level=2><ul
class=orm-global-site-menu><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-kubernetes-0 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-kubernetes-0 data-testid=menu-link|parent-header:6|item:0 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|it/ops|kubernetes" }' data-gtm-event=mousedown href=/search/topics/kubernetes/ >Kubernetes</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-docker-1 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-docker-1 data-testid=menu-link|parent-header:6|item:1 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|it/ops|docker" }' data-gtm-event=mousedown href=/search/topics/docker/ >Docker</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-github-2 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-github-2 data-testid=menu-link|parent-header:6|item:2 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|it/ops|github" }' data-gtm-event=mousedown href=/search/topics/github/ >GitHub</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-terraform-3 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-terraform-3 data-testid=menu-link|parent-header:6|item:3 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|it/ops|terraform" }' data-gtm-event=mousedown href=/search/topics/terraform/ >Terraform</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-continuous-delivery-4 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-continuous-delivery-4 data-testid=menu-link|parent-header:6|item:4 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|it/ops|continuous delivery" }' data-gtm-event=mousedown href=/search/topics/continuous-delivery/ >Continuous Delivery</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-continuous-integration-5 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-continuous-integration-5 data-testid=menu-link|parent-header:6|item:5 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|it/ops|continuous integration" }' data-gtm-event=mousedown href=/search/topics/continuous-integration/ >Continuous Integration</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-database-administration-6 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-database-administration-6 data-testid=menu-link|parent-header:6|item:6 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|it/ops|database administration" }' data-gtm-event=mousedown href=/search/topics/database-administration/ >Database Administration</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-computer-networking-7 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-computer-networking-7 data-testid=menu-link|parent-header:6|item:7 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|it/ops|computer networking" }' data-gtm-event=mousedown href=/search/topics/computer-networking/ >Computer Networking</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-operating-systems-8 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-operating-systems-8 data-testid=menu-link|parent-header:6|item:8 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|it/ops|operating systems" }' data-gtm-event=mousedown href=/search/topics/operating-systems/ >Operating Systems</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-it-certifications-9 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-it-certifications-9 data-testid=menu-link|parent-header:6|item:9 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|it/ops|it certifications" }' data-gtm-event=mousedown href=/search/topics/it-certifications/ >IT Certifications</a></li></ul><footer
class=orm-global-site-menu__footer><a
role=menuItem class=orm-global-site-menu__view-all data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"topics|view all it/ops" }' data-gtm-event=mousedown href=/search/skills/it-operations/ ><div><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-tvi28v" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></div>View all</a></footer></dialog></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-security-7 data-level=1><button
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-security-7 data-level=1 data-testid=menu-link|parent-header:0|item:7 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-menu-popover--desktop-security-7>Security <svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><dialog
class=orm-global-site-menu__popover id=orm-global-site-menu-popover--desktop-security-7 aria-labelledby=orm-global-site-menu-item-button--desktop-security-7 data-level=2><ul
class=orm-global-site-menu><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-network-security-0 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-network-security-0 data-testid=menu-link|parent-header:7|item:0 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|security|network security" }' data-gtm-event=mousedown href=/search/skills/network-security/ >Network Security</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-application-security-1 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-application-security-1 data-testid=menu-link|parent-header:7|item:1 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|security|application security" }' data-gtm-event=mousedown href=/search/skills/application-security/ >Application Security</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-incident-response-2 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-incident-response-2 data-testid=menu-link|parent-header:7|item:2 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|security|incident response" }' data-gtm-event=mousedown href=/search/skills/incident-response/ >Incident Response</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-zero-trust-model-3 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-zero-trust-model-3 data-testid=menu-link|parent-header:7|item:3 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|security|zero trust model" }' data-gtm-event=mousedown href=/search/skills/zero-trust-model/ >Zero Trust Model</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-disaster-recovery-4 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-disaster-recovery-4 data-testid=menu-link|parent-header:7|item:4 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|security|disaster recovery" }' data-gtm-event=mousedown href=/search/skills/disaster-recovery/ >Disaster Recovery</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-penetration-testing-ethical-hacking-5 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-penetration-testing-ethical-hacking-5 data-testid=menu-link|parent-header:7|item:5 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|security|penetration testing / ethical hacking" }' data-gtm-event=mousedown href=/search/skills/penetration-testing-ethical-hacking/ >Penetration Testing / Ethical Hacking</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-governance-6 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-governance-6 data-testid=menu-link|parent-header:7|item:6 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|security|governance" }' data-gtm-event=mousedown href=/search/skills/governance/ >Governance</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-malware-7 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-malware-7 data-testid=menu-link|parent-header:7|item:7 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|security|malware" }' data-gtm-event=mousedown href=/search/skills/malware/ >Malware</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-security-architecture-8 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-security-architecture-8 data-testid=menu-link|parent-header:7|item:8 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|security|security architecture" }' data-gtm-event=mousedown href=/search/skills/security-architecture/ >Security Architecture</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-security-engineering-9 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-security-engineering-9 data-testid=menu-link|parent-header:7|item:9 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|security|security engineering" }' data-gtm-event=mousedown href=/search/skills/security-engineering/ >Security Engineering</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-security-certifications-10 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-security-certifications-10 data-testid=menu-link|parent-header:7|item:10 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|security|security certifications" }' data-gtm-event=mousedown href=/search/skills/security-certifications/ >Security Certifications</a></li></ul><footer
class=orm-global-site-menu__footer><a
role=menuItem class=orm-global-site-menu__view-all data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"topics|view all security" }' data-gtm-event=mousedown href=/search/skills/security/ ><div><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-tvi28v" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></div>View all</a></footer></dialog></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-design-8 data-level=1><button
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-design-8 data-level=1 data-testid=menu-link|parent-header:0|item:8 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-menu-popover--desktop-design-8>Design <svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><dialog
class=orm-global-site-menu__popover id=orm-global-site-menu-popover--desktop-design-8 aria-labelledby=orm-global-site-menu-item-button--desktop-design-8 data-level=2><ul
class=orm-global-site-menu><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-web-design-0 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-web-design-0 data-testid=menu-link|parent-header:8|item:0 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|design|web design" }' data-gtm-event=mousedown href=/search/skills/web-design/ >Web Design</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-graphic-design-1 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-graphic-design-1 data-testid=menu-link|parent-header:8|item:1 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|design|graphic design" }' data-gtm-event=mousedown href=/search/skills/graphic-design/ >Graphic Design</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-interaction-design-2 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-interaction-design-2 data-testid=menu-link|parent-header:8|item:2 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|design|interaction design" }' data-gtm-event=mousedown href=/search/skills/interaction-design/ >Interaction Design</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-film-video-3 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-film-video-3 data-testid=menu-link|parent-header:8|item:3 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|design|film &amp; video" }' data-gtm-event=mousedown href=/search/skills/film-video/ >Film &amp; Video</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-user-experience-ux-4 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-user-experience-ux-4 data-testid=menu-link|parent-header:8|item:4 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|design|user experience (ux)" }' data-gtm-event=mousedown href=/search/skills/user-experience-ux/ >User Experience (UX)</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-design-process-5 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-design-process-5 data-testid=menu-link|parent-header:8|item:5 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|design|design process" }' data-gtm-event=mousedown href=/search/skills/design-process/ >Design Process</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-design-tools-6 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-design-tools-6 data-testid=menu-link|parent-header:8|item:6 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|design|design tools" }' data-gtm-event=mousedown href=/search/skills/design-tools/ >Design Tools</a></li></ul><footer
class=orm-global-site-menu__footer><a
role=menuItem class=orm-global-site-menu__view-all data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"topics|view all design" }' data-gtm-event=mousedown href=/search/skills/design/ ><div><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-tvi28v" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></div>View all</a></footer></dialog></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-business-9 data-level=1><button
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-business-9 data-level=1 data-testid=menu-link|parent-header:0|item:9 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-menu-popover--desktop-business-9>Business <svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><dialog
class=orm-global-site-menu__popover id=orm-global-site-menu-popover--desktop-business-9 aria-labelledby=orm-global-site-menu-item-button--desktop-business-9 data-level=2><ul
class=orm-global-site-menu><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-agile-0 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-agile-0 data-testid=menu-link|parent-header:9|item:0 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|business|agile" }' data-gtm-event=mousedown href=/search/skills/agile/ >Agile</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-project-management-1 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-project-management-1 data-testid=menu-link|parent-header:9|item:1 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|business|project management" }' data-gtm-event=mousedown href=/search/skills/project-management/ >Project Management</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-product-management-2 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-product-management-2 data-testid=menu-link|parent-header:9|item:2 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|business|product management" }' data-gtm-event=mousedown href=/search/skills/product-management/ >Product Management</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-marketing-3 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-marketing-3 data-testid=menu-link|parent-header:9|item:3 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|business|marketing" }' data-gtm-event=mousedown href=/search/skills/marketing/ >Marketing</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-human-resources-4 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-human-resources-4 data-testid=menu-link|parent-header:9|item:4 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|business|human resources" }' data-gtm-event=mousedown href=/search/skills/human-resources/ >Human Resources</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-finance-5 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-finance-5 data-testid=menu-link|parent-header:9|item:5 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|business|finance" }' data-gtm-event=mousedown href=/search/skills/finance/ >Finance</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-team-management-6 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-team-management-6 data-testid=menu-link|parent-header:9|item:6 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|business|team management" }' data-gtm-event=mousedown href=/search/skills/team-management/ >Team Management</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-business-strategy-7 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-business-strategy-7 data-testid=menu-link|parent-header:9|item:7 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|business|business strategy" }' data-gtm-event=mousedown href=/search/skills/business-strategy/ >Business Strategy</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-digital-transformation-8 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-digital-transformation-8 data-testid=menu-link|parent-header:9|item:8 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|business|digital transformation" }' data-gtm-event=mousedown href=/search/skills/digital-transformation/ >Digital Transformation</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-organizational-leadership-9 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-organizational-leadership-9 data-testid=menu-link|parent-header:9|item:9 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|business|organizational leadership" }' data-gtm-event=mousedown href=/search/skills/organizational-leadership/ >Organizational Leadership</a></li></ul><footer
class=orm-global-site-menu__footer><a
role=menuItem class=orm-global-site-menu__view-all data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"topics|view all business" }' data-gtm-event=mousedown href=/search/skills/business/ ><div><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-tvi28v" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></div>View all</a></footer></dialog></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-soft-skills-10 data-level=1><button
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-soft-skills-10 data-level=1 data-testid=menu-link|parent-header:0|item:10 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-menu-popover--desktop-soft-skills-10>Soft Skills <svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><dialog
class=orm-global-site-menu__popover id=orm-global-site-menu-popover--desktop-soft-skills-10 aria-labelledby=orm-global-site-menu-item-button--desktop-soft-skills-10 data-level=2><ul
class=orm-global-site-menu><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-professional-communication-0 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-professional-communication-0 data-testid=menu-link|parent-header:10|item:0 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|soft skills|professional communication" }' data-gtm-event=mousedown href=/search/skills/professional-communication/ >Professional Communication</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-emotional-intelligence-1 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-emotional-intelligence-1 data-testid=menu-link|parent-header:10|item:1 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|soft skills|emotional intelligence" }' data-gtm-event=mousedown href=/search/skills/emotional-intelligence/ >Emotional Intelligence</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-presentation-skills-2 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-presentation-skills-2 data-testid=menu-link|parent-header:10|item:2 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|soft skills|presentation skills" }' data-gtm-event=mousedown href=/search/skills/presentation-skills/ >Presentation Skills</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-innovation-3 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-innovation-3 data-testid=menu-link|parent-header:10|item:3 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|soft skills|innovation" }' data-gtm-event=mousedown href=/search/skills/innovation/ >Innovation</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-critical-thinking-4 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-critical-thinking-4 data-testid=menu-link|parent-header:10|item:4 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|soft skills|critical thinking" }' data-gtm-event=mousedown href=/search/skills/critical-thinking/ >Critical Thinking</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-public-speaking-5 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-public-speaking-5 data-testid=menu-link|parent-header:10|item:5 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|soft skills|public speaking" }' data-gtm-event=mousedown href=/search/skills/public-speaking/ >Public Speaking</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-collaboration-6 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-collaboration-6 data-testid=menu-link|parent-header:10|item:6 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|soft skills|collaboration" }' data-gtm-event=mousedown href=/search/skills/collaboration/ >Collaboration</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-personal-productivity-7 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-personal-productivity-7 data-testid=menu-link|parent-header:10|item:7 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|soft skills|personal productivity" }' data-gtm-event=mousedown href=/search/skills/personal-productivity/ >Personal Productivity</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-confidence-motivation-8 data-level=2><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-confidence-motivation-8 data-testid=menu-link|parent-header:10|item:8 data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"explore skills|soft skills|confidence / motivation" }' data-gtm-event=mousedown href=/search/skills/confidence-motivation/ >Confidence / Motivation</a></li></ul><footer
class=orm-global-site-menu__footer><a
role=menuItem class=orm-global-site-menu__view-all data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"topics|view all soft skills" }' data-gtm-event=mousedown href=/search/skills/soft-skills/ ><div><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-tvi28v" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></div>View all</a></footer></dialog></li></ul><footer
class=orm-global-site-menu__footer><a
role=menuItem class=orm-global-site-menu__view-all data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"topics|view all topics" }' data-gtm-event=mousedown href=/search/skills/ ><div><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-tvi28v" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></div>View all</a></footer></dialog></li><li
class=orm-global-site-banner__list-item role=presentation id=orm-global-site-menu-item--desktop-features-1 data-level=0><button
class=orm-global-site-banner__link role=menuitem id=orm-global-site-menu-item-button--desktop-features-1 data-level=0 data-testid=header-link-1 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-menu-popover--desktop-features-1>Features </button><dialog
class=orm-global-site-menu__popover id=orm-global-site-menu-popover--desktop-features-1 aria-labelledby=orm-global-site-menu-item-button--desktop-features-1 data-level=1><ul
class=orm-global-site-menu><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-all-features-0 data-level=1><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-all-features-0 data-testid=menu-link|parent-header:1|item:0 href=/online-learning/features.html>All features</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-verifiable-skills-1 data-level=1><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-verifiable-skills-1 data-testid=menu-link|parent-header:1|item:1 href=/online-learning/verifiable-skills.html>Verifiable skills</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-academies-2 data-level=1><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-academies-2 data-testid=menu-link|parent-header:1|item:2 href=/online-learning/academies.html>Academies</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-courses-3 data-level=1><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-courses-3 data-testid=menu-link|parent-header:1|item:3 href=/online-learning/courses.html>Courses</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-certifications-4 data-level=1><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-certifications-4 data-testid=menu-link|parent-header:1|item:4 href=/online-learning/feature-certification.html>Certifications</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-interactive-learning-5 data-level=1><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-interactive-learning-5 data-testid=menu-link|parent-header:1|item:5 href=/online-learning/intro-interactive-learning.html>Interactive learning</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-live-events-6 data-level=1><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-live-events-6 data-testid=menu-link|parent-header:1|item:6 href=/online-learning/live-events.html>Live events</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-superstreams-7 data-level=1><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-superstreams-7 data-testid=menu-link|parent-header:1|item:7 href=/products/superstreams.html>Superstreams</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-answers-8 data-level=1><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-answers-8 data-testid=menu-link|parent-header:1|item:8 href=/online-learning/feature-answers.html>Answers</a></li><li
class=orm-global-site-menu__item role=presentation id=orm-global-site-menu-item--desktop-insights-reporting-9 data-level=1><a
class=orm-global-site-menu__link role=menuitem id=orm-global-site-menu-item-button--desktop-insights-reporting-9 data-testid=menu-link|parent-header:1|item:9 href=/online-learning/insights-dashboard.html>Insights reporting</a></li></ul></dialog></li><li
class=orm-global-site-banner__list-item role=presentation id=orm-global-site-menu-item--desktop-radar-blog-2 data-level=0><a
class=orm-global-site-banner__link role=menuitem id=orm-global-site-menu-item-button--desktop-radar-blog-2 data-testid=header-link-2 href=/radar/ >Radar Blog</a></li><li
class=orm-global-site-banner__list-item role=presentation id=orm-global-site-menu-item--desktop-buy-courses-3 data-level=0><a
class=orm-global-site-banner__link role=menuitem id=orm-global-site-menu-item-button--desktop-buy-courses-3 data-testid=header-link-3 href=/live/ >Buy Courses</a></li></ul></nav></div><div
class=orm-global-site-banner__block data-hidden=sm><form
action=https://www.oreilly.com/search/ class=orm-global-site-search-form method=get data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"keyboard|enter" }' data-gtm-event=submit id=orm-global-site-search-form--desktop><div
class=orm-global-site-search-icon><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 12 12" fill=none><path
fill-rule=evenodd clip-rule=evenodd d="M10.6645 12L6.2575 7.59302L7.59302 6.2575L12 10.6645L10.6645 12Z" fill=currentColor></path><path
fill-rule=evenodd clip-rule=evenodd d="M4.5 9C6.98528 9 9 6.98528 9 4.5C9 2.01472 6.98528 0 4.5 0C2.01472 0 0 2.01472 0 4.5C0 6.98528 2.01472 9 4.5 9ZM7 4.5C7 5.88071 5.88071 7 4.5 7C3.11929 7 2 5.88071 2 4.5C2 3.11929 3.11929 2 4.5 2C5.88071 2 7 3.11929 7 4.5Z" fill=currentColor></path></svg></div><label
class=orm-global-site-search-label><span
class=orm-global-site-search-label__text>Search for books, courses, events, and more</span><input
class=orm-global-site-search-input placeholder="Search for books, courses, events, and more" type=search name=q></label></form></div><div
class=orm-global-site-banner__block data-hidden=sm><nav><ul
class=orm-global-site-banner__list role=menu id=orm-global-site-navigation-list--signin>
<li
id=orm-global-site-banner__list-item role=presentation><a
class=orm-global-site-banner__link role=menuitem data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"plans" }' data-gtm-event=mousedown href=https://www.oreilly.com/online-learning/pricing.html>Plans</a></li><li
class=orm-global-site-banner__list-item data-hidden=auth role=presentation><a
class=orm-global-site-banner__link role=menuitem data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"sign in" }' data-gtm-event=mousedown href="https://www.oreilly.com/member/login/?next=%2Fradar%2F">Sign In</a></li><li
class=orm-global-site-banner__list-item data-hidden=auth role=presentation><a
class="orm-global-site-banner__link orm-global-site--link-as-button" role=menuitem data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"try now" }' data-gtm-event=mousedown href=https://www.oreilly.com/online-learning/try-now.html>Try Now<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=inherit></path></svg></a></li><li
class="menu__item menu-item" data-hidden=notauth><a
class="orm-global-site-banner__link orm-global-site--link-as-button" role=menuitem data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"oreilly platform" }' data-gtm-event=mousedown href=https://www.oreilly.com/member/login/ >O'Reilly Platform<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=inherit></path></svg></a></li></ul></nav></div><button
class=orm-global-mobile-toggle type=button aria-expanded=false aria-label="Toggle search input visible" data-mobile-toggle=true data-testid=mobile-search-toggle aria-controls=orm-global-mobile-pane--search>
<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 12 12" fill=none data-closed-icon=true>
<path
fill-rule=evenodd clip-rule=evenodd d="M10.6645 12L6.2575 7.59302L7.59302 6.2575L12 10.6645L10.6645 12Z" fill=var(--orm-modern-dark)></path>
<path
fill-rule=evenodd clip-rule=evenodd d="M4.5 9C6.98528 9 9 6.98528 9 4.5C9 2.01472 6.98528 0 4.5 0C2.01472 0 0 2.01472 0 4.5C0 6.98528 2.01472 9 4.5 9ZM7 4.5C7 5.88071 5.88071 7 4.5 7C3.11929 7 2 5.88071 2 4.5C2 3.11929 3.11929 2 4.5 2C5.88071 2 7 3.11929 7 4.5Z" fill=var(--orm-modern-dark)></path>
</svg>
<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 8 8" fill=none data-open-icon=true>
<path
fill-rule=evenodd clip-rule=evenodd d="M0.948112 0C0.408563 0 4.11814e-06 0.431923 4.11814e-06 0.95467C4.11814e-06 1.22411 0.111261 1.45183 0.267234 1.61743L2.58966 4.00047L0.27598 6.37752C0.108619 6.54684 0 6.77982 0 7.04533C0 7.56808 0.408558 8 0.948108 8C1.20588 8 1.43872 7.89659 1.60824 7.73661L1.61715 7.7282L3.99833 5.28676L6.37456 7.71975L6.37891 7.72411C6.5552 7.90088 6.79692 8 7.05189 8C7.59144 8 8 7.56808 8 7.04533C8 6.77589 7.88874 6.54817 7.73277 6.38257L5.41034 3.99953L7.72402 1.62247C7.89138 1.45316 8 1.22017 8 0.95467C8 0.431923 7.59144 0 7.05189 0C6.79412 0 6.56126 0.10342 6.39175 0.263408L6.38285 0.27181L4.00167 2.71324L1.62544 0.280255L1.62109 0.275892C1.4448 0.099117 1.20308 0 0.948112 0Z" fill=var(--orm-modern-r500)></path>
</svg>
</button></div></header><nav
class=orm-global-mobile-pane aria-hidden=true inert hidden id=orm-global-mobile-pane--navigation data-testid=mobile-menu-pane><ul
class=orm-global-site-mobile-menu role=menu>
<li
class=orm-global-site-mobile-menu__item data-level=0 role=presentation><a
class=orm-global-site-mobile-menu__link role=menuitem data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"for enterprise" }' data-gtm-event=mousedown href=https://www.oreilly.com/online-learning/teams.html>For Enterprise</a></li><li
class=orm-global-site-mobile-menu__item data-level=0 role=presentation><a
class=orm-global-site-mobile-menu__link role=menuitem data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"for government" }' data-gtm-event=mousedown href=https://www.oreilly.com/online-learning/government.html>For Government</a></li><li
class=orm-global-site-mobile-menu__item data-level=0 role=presentation><a
class=orm-global-site-mobile-menu__link role=menuitem data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"for higher ed" }' data-gtm-event=mousedown href=https://www.oreilly.com/online-learning/academic.html>For Higher Ed</a></li><li
class=orm-global-site-mobile-menu__item data-level=0 role=presentation><a
class=orm-global-site-mobile-menu__link role=menuitem data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"for individuals" }' data-gtm-event=mousedown href=https://www.oreilly.com/online-learning/individuals.html>For Individuals</a></li><li
class=orm-global-site-mobile-menu__item data-level=0 role=presentation><a
class=orm-global-site-mobile-menu__link role=menuitem data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"for content marketing" }' data-gtm-event=mousedown href=https://www.oreilly.com/content-marketing-solutions.html>For Content Marketing</a></li></ul><hr
class=orm-global-site-menu__divider><ul
class=orm-global-site-mobile-menu role=menu>
<li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-explore-skills-0 data-level=0><button
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-explore-skills-0 data-level=0 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-mobile-menu-drawer--mobile-explore-skills-0>Explore Skills<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><div
class=orm-global-mobile-drawer hidden inert id=orm-global-site-mobile-menu-drawer--mobile-explore-skills-0 aria-labelledby=orm-global-site-mobile-menu__link--mobile-explore-skills-0 data-level=1><header
class=orm-global-site-mobile-menu__header><h3 class="orm-global-site-mobile-menu__title">Explore Skills</h3></header><ul
class=orm-global-site-mobile-menu role=menu data-level=1><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-cloud-computing-0 data-level=1><button
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-cloud-computing-0 data-level=1 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-mobile-menu-drawer--mobile-cloud-computing-0>Cloud Computing<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><div
class=orm-global-mobile-drawer hidden inert id=orm-global-site-mobile-menu-drawer--mobile-cloud-computing-0 aria-labelledby=orm-global-site-mobile-menu__link--mobile-cloud-computing-0 data-level=2><header
class=orm-global-site-mobile-menu__header><h3 class="orm-global-site-mobile-menu__title">Cloud Computing</h3></header><ul
class=orm-global-site-mobile-menu role=menu data-level=2><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-microsoft-azure-0 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-microsoft-azure-0 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|cloud computing|microsoft azure" }' data-gtm-event=mousedown href=/search/skills/microsoft-azure/ >Microsoft Azure</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-amazon-web-services-aws-1 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-amazon-web-services-aws-1 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|cloud computing|amazon web services (aws)" }' data-gtm-event=mousedown href=/search/skills/amazon-web-services-aws/ >Amazon Web Services (AWS)</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-google-cloud-2 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-google-cloud-2 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|cloud computing|google cloud" }' data-gtm-event=mousedown href=/search/skills/google-cloud/ >Google Cloud</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-cloud-migration-3 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-cloud-migration-3 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|cloud computing|cloud migration" }' data-gtm-event=mousedown href=/search/skills/cloud-migration/ >Cloud Migration</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-cloud-deployment-4 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-cloud-deployment-4 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|cloud computing|cloud deployment" }' data-gtm-event=mousedown href=/search/skills/cloud-deployment/ >Cloud Deployment</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-cloud-platforms-5 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-cloud-platforms-5 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|cloud computing|cloud platforms" }' data-gtm-event=mousedown href=/search/skills/cloud-platforms/ >Cloud Platforms</a></li></ul><footer
class=orm-global-site-mobile-menu__footer><button
role=menuItem class=orm-global-site-mobile-menu__back-button aria-label="Back to previous menu" type=button data-back-button-for=orm-global-site-mobile-menu-drawer--mobile-cloud-computing-0><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M15 16.7142C15 17.4465 14.3897 18 13.6295 18C13.2484 18 12.9211 17.8528 12.6718 17.6304L5.42447 10.9405L5.42017 10.9365C5.15388 10.6849 5 10.3615 5 9.99568C5 9.65583 5.14145 9.30318 5.43187 9.05271L12.6726 2.37726C12.9196 2.14511 13.2517 2 13.6295 2C14.3897 2 15 2.55348 15 3.28584C15 3.63671 14.8514 3.95598 14.6184 4.18983L14.6109 4.19737L8.33405 9.99593L14.6034 15.7956L14.6073 15.7993C14.8552 16.0335 15 16.3602 15 16.7142Z" fill=currentColor></path></svg>Back</button></footer></div></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-data-engineering-1 data-level=1><button
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-data-engineering-1 data-level=1 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-mobile-menu-drawer--mobile-data-engineering-1>Data Engineering<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><div
class=orm-global-mobile-drawer hidden inert id=orm-global-site-mobile-menu-drawer--mobile-data-engineering-1 aria-labelledby=orm-global-site-mobile-menu__link--mobile-data-engineering-1 data-level=2><header
class=orm-global-site-mobile-menu__header><h3 class="orm-global-site-mobile-menu__title">Data Engineering</h3></header><ul
class=orm-global-site-mobile-menu role=menu data-level=2><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-data-warehouse-0 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-data-warehouse-0 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data engineering|data warehouse" }' data-gtm-event=mousedown href=/search/skills/data-warehouse/ >Data Warehouse</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-sql-1 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-sql-1 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data engineering|sql" }' data-gtm-event=mousedown href=/search/skills/sql/ >SQL</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-apache-spark-2 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-apache-spark-2 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data engineering|apache spark" }' data-gtm-event=mousedown href=/search/skills/apache-spark/ >Apache Spark</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-microsoft-sql-server-3 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-microsoft-sql-server-3 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data engineering|microsoft sql server" }' data-gtm-event=mousedown href=/search/skills/microsoft-sql-server/ >Microsoft SQL Server</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-mysql-4 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-mysql-4 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data engineering|mysql" }' data-gtm-event=mousedown href=/search/skills/mysql/ >MySQL</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-kafka-5 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-kafka-5 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data engineering|kafka" }' data-gtm-event=mousedown href=/search/skills/kafka/ >Kafka</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-data-lake-6 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-data-lake-6 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data engineering|data lake" }' data-gtm-event=mousedown href=/search/skills/data-lake/ >Data Lake</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-streaming-messaging-7 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-streaming-messaging-7 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data engineering|streaming &amp; messaging" }' data-gtm-event=mousedown href=/search/skills/streaming-messaging/ >Streaming &amp; Messaging</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-nosql-databases-8 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-nosql-databases-8 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data engineering|nosql databases" }' data-gtm-event=mousedown href=/search/skills/nosql-databases/ >NoSQL Databases</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-relational-databases-9 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-relational-databases-9 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data engineering|relational databases" }' data-gtm-event=mousedown href=/search/skills/relational-databases/ >Relational Databases</a></li></ul><footer
class=orm-global-site-mobile-menu__footer><button
role=menuItem class=orm-global-site-mobile-menu__back-button aria-label="Back to previous menu" type=button data-back-button-for=orm-global-site-mobile-menu-drawer--mobile-data-engineering-1><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M15 16.7142C15 17.4465 14.3897 18 13.6295 18C13.2484 18 12.9211 17.8528 12.6718 17.6304L5.42447 10.9405L5.42017 10.9365C5.15388 10.6849 5 10.3615 5 9.99568C5 9.65583 5.14145 9.30318 5.43187 9.05271L12.6726 2.37726C12.9196 2.14511 13.2517 2 13.6295 2C14.3897 2 15 2.55348 15 3.28584C15 3.63671 14.8514 3.95598 14.6184 4.18983L14.6109 4.19737L8.33405 9.99593L14.6034 15.7956L14.6073 15.7993C14.8552 16.0335 15 16.3602 15 16.7142Z" fill=currentColor></path></svg>Back</button></footer></div></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-data-science-2 data-level=1><button
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-data-science-2 data-level=1 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-mobile-menu-drawer--mobile-data-science-2>Data Science<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><div
class=orm-global-mobile-drawer hidden inert id=orm-global-site-mobile-menu-drawer--mobile-data-science-2 aria-labelledby=orm-global-site-mobile-menu__link--mobile-data-science-2 data-level=2><header
class=orm-global-site-mobile-menu__header><h3 class="orm-global-site-mobile-menu__title">Data Science</h3></header><ul
class=orm-global-site-mobile-menu role=menu data-level=2><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-pandas-0 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-pandas-0 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data science|pandas" }' data-gtm-event=mousedown href=/search/topics/pandas/ >Pandas</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-r-1 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-r-1 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data science|r" }' data-gtm-event=mousedown href=/search/topics/r/ >R</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-matlab-2 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-matlab-2 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data science|matlab" }' data-gtm-event=mousedown href=/search/topics/matlab/ >MATLAB</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-sas-3 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-sas-3 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data science|sas" }' data-gtm-event=mousedown href=/search/topics/sas/ >SAS</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-d3-4 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-d3-4 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data science|d3" }' data-gtm-event=mousedown href=/search/topics/d3/ >D3</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-power-bi-5 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-power-bi-5 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data science|power bi" }' data-gtm-event=mousedown href=/search/topics/power-bi/ >Power BI</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-tableau-6 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-tableau-6 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data science|tableau" }' data-gtm-event=mousedown href=/search/topics/tableau/ >Tableau</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-statistics-7 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-statistics-7 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data science|statistics" }' data-gtm-event=mousedown href=/search/topics/statistics/ >Statistics</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-exploratory-data-analysis-8 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-exploratory-data-analysis-8 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data science|exploratory data analysis" }' data-gtm-event=mousedown href=/search/topics/exploratory-data-analysis/ >Exploratory Data Analysis</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-data-visualization-9 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-data-visualization-9 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|data science|data visualization" }' data-gtm-event=mousedown href=/search/topics/data-visualization/ >Data Visualization</a></li></ul><footer
class=orm-global-site-mobile-menu__footer><button
role=menuItem class=orm-global-site-mobile-menu__back-button aria-label="Back to previous menu" type=button data-back-button-for=orm-global-site-mobile-menu-drawer--mobile-data-science-2><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M15 16.7142C15 17.4465 14.3897 18 13.6295 18C13.2484 18 12.9211 17.8528 12.6718 17.6304L5.42447 10.9405L5.42017 10.9365C5.15388 10.6849 5 10.3615 5 9.99568C5 9.65583 5.14145 9.30318 5.43187 9.05271L12.6726 2.37726C12.9196 2.14511 13.2517 2 13.6295 2C14.3897 2 15 2.55348 15 3.28584C15 3.63671 14.8514 3.95598 14.6184 4.18983L14.6109 4.19737L8.33405 9.99593L14.6034 15.7956L14.6073 15.7993C14.8552 16.0335 15 16.3602 15 16.7142Z" fill=currentColor></path></svg>Back</button></footer></div></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-ai-ml-3 data-level=1><button
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-ai-ml-3 data-level=1 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-mobile-menu-drawer--mobile-ai-ml-3>AI &amp; ML<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><div
class=orm-global-mobile-drawer hidden inert id=orm-global-site-mobile-menu-drawer--mobile-ai-ml-3 aria-labelledby=orm-global-site-mobile-menu__link--mobile-ai-ml-3 data-level=2><header
class=orm-global-site-mobile-menu__header><h3 class="orm-global-site-mobile-menu__title">AI &amp; ML</h3></header><ul
class=orm-global-site-mobile-menu role=menu data-level=2><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-generative-ai-0 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-generative-ai-0 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|ai &amp; ml|generative ai" }' data-gtm-event=mousedown href=/search/skills/generative-ai/ >Generative AI</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-machine-learning-1 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-machine-learning-1 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|ai &amp; ml|machine learning" }' data-gtm-event=mousedown href=/search/skills/machine-learning/ >Machine Learning</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-artificial-intelligence-ai-2 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-artificial-intelligence-ai-2 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|ai &amp; ml|artificial intelligence (ai)" }' data-gtm-event=mousedown href=/search/skills/artificial-intelligence-ai/ >Artificial Intelligence (AI)</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-deep-learning-3 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-deep-learning-3 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|ai &amp; ml|deep learning" }' data-gtm-event=mousedown href=/search/skills/deep-learning/ >Deep Learning</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-reinforcement-learning-4 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-reinforcement-learning-4 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|ai &amp; ml|reinforcement learning" }' data-gtm-event=mousedown href=/search/skills/reinforcement-learning/ >Reinforcement Learning</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-natural-language-processing-5 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-natural-language-processing-5 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|ai &amp; ml|natural language processing" }' data-gtm-event=mousedown href=/search/skills/natural-language-processing/ >Natural Language Processing</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-tensorflow-6 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-tensorflow-6 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|ai &amp; ml|tensorflow" }' data-gtm-event=mousedown href=/search/skills/tensorflow/ >TensorFlow</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-scikit-learn-7 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-scikit-learn-7 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|ai &amp; ml|scikit-learn" }' data-gtm-event=mousedown href=/search/skills/scikit-learn/ >Scikit-Learn</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-hyperparameter-tuning-8 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-hyperparameter-tuning-8 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|ai &amp; ml|hyperparameter tuning" }' data-gtm-event=mousedown href=/search/skills/hyperparameter-tuning/ >Hyperparameter Tuning</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-mlops-9 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-mlops-9 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|ai &amp; ml|mlops" }' data-gtm-event=mousedown href=/search/skills/mlops/ >MLOps</a></li></ul><footer
class=orm-global-site-mobile-menu__footer><button
role=menuItem class=orm-global-site-mobile-menu__back-button aria-label="Back to previous menu" type=button data-back-button-for=orm-global-site-mobile-menu-drawer--mobile-ai-ml-3><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M15 16.7142C15 17.4465 14.3897 18 13.6295 18C13.2484 18 12.9211 17.8528 12.6718 17.6304L5.42447 10.9405L5.42017 10.9365C5.15388 10.6849 5 10.3615 5 9.99568C5 9.65583 5.14145 9.30318 5.43187 9.05271L12.6726 2.37726C12.9196 2.14511 13.2517 2 13.6295 2C14.3897 2 15 2.55348 15 3.28584C15 3.63671 14.8514 3.95598 14.6184 4.18983L14.6109 4.19737L8.33405 9.99593L14.6034 15.7956L14.6073 15.7993C14.8552 16.0335 15 16.3602 15 16.7142Z" fill=currentColor></path></svg>Back</button></footer></div></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-programming-languages-4 data-level=1><button
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-programming-languages-4 data-level=1 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-mobile-menu-drawer--mobile-programming-languages-4>Programming Languages<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><div
class=orm-global-mobile-drawer hidden inert id=orm-global-site-mobile-menu-drawer--mobile-programming-languages-4 aria-labelledby=orm-global-site-mobile-menu__link--mobile-programming-languages-4 data-level=2><header
class=orm-global-site-mobile-menu__header><h3 class="orm-global-site-mobile-menu__title">Programming Languages</h3></header><ul
class=orm-global-site-mobile-menu role=menu data-level=2><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-java-0 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-java-0 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|programming languages|java" }' data-gtm-event=mousedown href=/search/skills/java/ >Java</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-javascript-1 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-javascript-1 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|programming languages|javascript" }' data-gtm-event=mousedown href=/search/skills/javascript/ >JavaScript</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-spring-2 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-spring-2 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|programming languages|spring" }' data-gtm-event=mousedown href=/search/skills/spring/ >Spring</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-python-3 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-python-3 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|programming languages|python" }' data-gtm-event=mousedown href=/search/skills/python/ >Python</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-go-4 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-go-4 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|programming languages|go" }' data-gtm-event=mousedown href=/search/skills/go/ >Go</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-c-5 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-c-5 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|programming languages|c#" }' data-gtm-event=mousedown href=/search/skills/c-sharp/ >C#</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-c-6 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-c-6 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|programming languages|c++" }' data-gtm-event=mousedown href=/search/skills/c-plus-plus/ >C++</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-c-7 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-c-7 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|programming languages|c" }' data-gtm-event=mousedown href=/search/skills/c/ >C</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-swift-8 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-swift-8 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|programming languages|swift" }' data-gtm-event=mousedown href=/search/skills/swift/ >Swift</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-rust-9 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-rust-9 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|programming languages|rust" }' data-gtm-event=mousedown href=/search/skills/rust/ >Rust</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-functional-programming-10 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-functional-programming-10 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|programming languages|functional programming" }' data-gtm-event=mousedown href=/search/skills/functional-programming/ >Functional Programming</a></li></ul><footer
class=orm-global-site-mobile-menu__footer><button
role=menuItem class=orm-global-site-mobile-menu__back-button aria-label="Back to previous menu" type=button data-back-button-for=orm-global-site-mobile-menu-drawer--mobile-programming-languages-4><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M15 16.7142C15 17.4465 14.3897 18 13.6295 18C13.2484 18 12.9211 17.8528 12.6718 17.6304L5.42447 10.9405L5.42017 10.9365C5.15388 10.6849 5 10.3615 5 9.99568C5 9.65583 5.14145 9.30318 5.43187 9.05271L12.6726 2.37726C12.9196 2.14511 13.2517 2 13.6295 2C14.3897 2 15 2.55348 15 3.28584C15 3.63671 14.8514 3.95598 14.6184 4.18983L14.6109 4.19737L8.33405 9.99593L14.6034 15.7956L14.6073 15.7993C14.8552 16.0335 15 16.3602 15 16.7142Z" fill=currentColor></path></svg>Back</button></footer></div></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-software-architecture-5 data-level=1><button
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-software-architecture-5 data-level=1 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-mobile-menu-drawer--mobile-software-architecture-5>Software Architecture<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><div
class=orm-global-mobile-drawer hidden inert id=orm-global-site-mobile-menu-drawer--mobile-software-architecture-5 aria-labelledby=orm-global-site-mobile-menu__link--mobile-software-architecture-5 data-level=2><header
class=orm-global-site-mobile-menu__header><h3 class="orm-global-site-mobile-menu__title">Software Architecture</h3></header><ul
class=orm-global-site-mobile-menu role=menu data-level=2><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-object-oriented-0 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-object-oriented-0 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|software architecture|object-oriented" }' data-gtm-event=mousedown href=/search/skills/object-oriented-architecture/ >Object-Oriented</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-distributed-systems-1 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-distributed-systems-1 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|software architecture|distributed systems" }' data-gtm-event=mousedown href=/search/skills/distributed-systems/ >Distributed Systems</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-domain-driven-design-2 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-domain-driven-design-2 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|software architecture|domain-driven design" }' data-gtm-event=mousedown href=/search/skills/domain-driven-design/ >Domain-Driven Design</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-architectural-patterns-3 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-architectural-patterns-3 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|software architecture|architectural patterns" }' data-gtm-event=mousedown href=/search/skills/architectural-patterns/ >Architectural Patterns</a></li></ul><footer
class=orm-global-site-mobile-menu__footer><button
role=menuItem class=orm-global-site-mobile-menu__back-button aria-label="Back to previous menu" type=button data-back-button-for=orm-global-site-mobile-menu-drawer--mobile-software-architecture-5><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M15 16.7142C15 17.4465 14.3897 18 13.6295 18C13.2484 18 12.9211 17.8528 12.6718 17.6304L5.42447 10.9405L5.42017 10.9365C5.15388 10.6849 5 10.3615 5 9.99568C5 9.65583 5.14145 9.30318 5.43187 9.05271L12.6726 2.37726C12.9196 2.14511 13.2517 2 13.6295 2C14.3897 2 15 2.55348 15 3.28584C15 3.63671 14.8514 3.95598 14.6184 4.18983L14.6109 4.19737L8.33405 9.99593L14.6034 15.7956L14.6073 15.7993C14.8552 16.0335 15 16.3602 15 16.7142Z" fill=currentColor></path></svg>Back</button></footer></div></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-itops-6 data-level=1><button
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-itops-6 data-level=1 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-mobile-menu-drawer--mobile-itops-6>IT/Ops<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><div
class=orm-global-mobile-drawer hidden inert id=orm-global-site-mobile-menu-drawer--mobile-itops-6 aria-labelledby=orm-global-site-mobile-menu__link--mobile-itops-6 data-level=2><header
class=orm-global-site-mobile-menu__header><h3 class="orm-global-site-mobile-menu__title">IT/Ops</h3></header><ul
class=orm-global-site-mobile-menu role=menu data-level=2><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-kubernetes-0 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-kubernetes-0 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|it/ops|kubernetes" }' data-gtm-event=mousedown href=/search/topics/kubernetes/ >Kubernetes</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-docker-1 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-docker-1 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|it/ops|docker" }' data-gtm-event=mousedown href=/search/topics/docker/ >Docker</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-github-2 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-github-2 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|it/ops|github" }' data-gtm-event=mousedown href=/search/topics/github/ >GitHub</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-terraform-3 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-terraform-3 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|it/ops|terraform" }' data-gtm-event=mousedown href=/search/topics/terraform/ >Terraform</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-continuous-delivery-4 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-continuous-delivery-4 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|it/ops|continuous delivery" }' data-gtm-event=mousedown href=/search/topics/continuous-delivery/ >Continuous Delivery</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-continuous-integration-5 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-continuous-integration-5 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|it/ops|continuous integration" }' data-gtm-event=mousedown href=/search/topics/continuous-integration/ >Continuous Integration</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-database-administration-6 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-database-administration-6 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|it/ops|database administration" }' data-gtm-event=mousedown href=/search/topics/database-administration/ >Database Administration</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-computer-networking-7 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-computer-networking-7 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|it/ops|computer networking" }' data-gtm-event=mousedown href=/search/topics/computer-networking/ >Computer Networking</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-operating-systems-8 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-operating-systems-8 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|it/ops|operating systems" }' data-gtm-event=mousedown href=/search/topics/operating-systems/ >Operating Systems</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-it-certifications-9 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-it-certifications-9 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|it/ops|it certifications" }' data-gtm-event=mousedown href=/search/topics/it-certifications/ >IT Certifications</a></li></ul><footer
class=orm-global-site-mobile-menu__footer><button
role=menuItem class=orm-global-site-mobile-menu__back-button aria-label="Back to previous menu" type=button data-back-button-for=orm-global-site-mobile-menu-drawer--mobile-itops-6><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M15 16.7142C15 17.4465 14.3897 18 13.6295 18C13.2484 18 12.9211 17.8528 12.6718 17.6304L5.42447 10.9405L5.42017 10.9365C5.15388 10.6849 5 10.3615 5 9.99568C5 9.65583 5.14145 9.30318 5.43187 9.05271L12.6726 2.37726C12.9196 2.14511 13.2517 2 13.6295 2C14.3897 2 15 2.55348 15 3.28584C15 3.63671 14.8514 3.95598 14.6184 4.18983L14.6109 4.19737L8.33405 9.99593L14.6034 15.7956L14.6073 15.7993C14.8552 16.0335 15 16.3602 15 16.7142Z" fill=currentColor></path></svg>Back</button></footer></div></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-security-7 data-level=1><button
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-security-7 data-level=1 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-mobile-menu-drawer--mobile-security-7>Security<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><div
class=orm-global-mobile-drawer hidden inert id=orm-global-site-mobile-menu-drawer--mobile-security-7 aria-labelledby=orm-global-site-mobile-menu__link--mobile-security-7 data-level=2><header
class=orm-global-site-mobile-menu__header><h3 class="orm-global-site-mobile-menu__title">Security</h3></header><ul
class=orm-global-site-mobile-menu role=menu data-level=2><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-network-security-0 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-network-security-0 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|security|network security" }' data-gtm-event=mousedown href=/search/skills/network-security/ >Network Security</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-application-security-1 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-application-security-1 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|security|application security" }' data-gtm-event=mousedown href=/search/skills/application-security/ >Application Security</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-incident-response-2 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-incident-response-2 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|security|incident response" }' data-gtm-event=mousedown href=/search/skills/incident-response/ >Incident Response</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-zero-trust-model-3 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-zero-trust-model-3 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|security|zero trust model" }' data-gtm-event=mousedown href=/search/skills/zero-trust-model/ >Zero Trust Model</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-disaster-recovery-4 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-disaster-recovery-4 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|security|disaster recovery" }' data-gtm-event=mousedown href=/search/skills/disaster-recovery/ >Disaster Recovery</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-penetration-testing-ethical-hacking-5 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-penetration-testing-ethical-hacking-5 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|security|penetration testing / ethical hacking" }' data-gtm-event=mousedown href=/search/skills/penetration-testing-ethical-hacking/ >Penetration Testing / Ethical Hacking</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-governance-6 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-governance-6 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|security|governance" }' data-gtm-event=mousedown href=/search/skills/governance/ >Governance</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-malware-7 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-malware-7 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|security|malware" }' data-gtm-event=mousedown href=/search/skills/malware/ >Malware</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-security-architecture-8 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-security-architecture-8 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|security|security architecture" }' data-gtm-event=mousedown href=/search/skills/security-architecture/ >Security Architecture</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-security-engineering-9 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-security-engineering-9 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|security|security engineering" }' data-gtm-event=mousedown href=/search/skills/security-engineering/ >Security Engineering</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-security-certifications-10 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-security-certifications-10 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|security|security certifications" }' data-gtm-event=mousedown href=/search/skills/security-certifications/ >Security Certifications</a></li></ul><footer
class=orm-global-site-mobile-menu__footer><button
role=menuItem class=orm-global-site-mobile-menu__back-button aria-label="Back to previous menu" type=button data-back-button-for=orm-global-site-mobile-menu-drawer--mobile-security-7><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M15 16.7142C15 17.4465 14.3897 18 13.6295 18C13.2484 18 12.9211 17.8528 12.6718 17.6304L5.42447 10.9405L5.42017 10.9365C5.15388 10.6849 5 10.3615 5 9.99568C5 9.65583 5.14145 9.30318 5.43187 9.05271L12.6726 2.37726C12.9196 2.14511 13.2517 2 13.6295 2C14.3897 2 15 2.55348 15 3.28584C15 3.63671 14.8514 3.95598 14.6184 4.18983L14.6109 4.19737L8.33405 9.99593L14.6034 15.7956L14.6073 15.7993C14.8552 16.0335 15 16.3602 15 16.7142Z" fill=currentColor></path></svg>Back</button></footer></div></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-design-8 data-level=1><button
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-design-8 data-level=1 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-mobile-menu-drawer--mobile-design-8>Design<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><div
class=orm-global-mobile-drawer hidden inert id=orm-global-site-mobile-menu-drawer--mobile-design-8 aria-labelledby=orm-global-site-mobile-menu__link--mobile-design-8 data-level=2><header
class=orm-global-site-mobile-menu__header><h3 class="orm-global-site-mobile-menu__title">Design</h3></header><ul
class=orm-global-site-mobile-menu role=menu data-level=2><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-web-design-0 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-web-design-0 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|design|web design" }' data-gtm-event=mousedown href=/search/skills/web-design/ >Web Design</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-graphic-design-1 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-graphic-design-1 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|design|graphic design" }' data-gtm-event=mousedown href=/search/skills/graphic-design/ >Graphic Design</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-interaction-design-2 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-interaction-design-2 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|design|interaction design" }' data-gtm-event=mousedown href=/search/skills/interaction-design/ >Interaction Design</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-film-video-3 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-film-video-3 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|design|film &amp; video" }' data-gtm-event=mousedown href=/search/skills/film-video/ >Film &amp; Video</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-user-experience-ux-4 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-user-experience-ux-4 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|design|user experience (ux)" }' data-gtm-event=mousedown href=/search/skills/user-experience-ux/ >User Experience (UX)</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-design-process-5 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-design-process-5 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|design|design process" }' data-gtm-event=mousedown href=/search/skills/design-process/ >Design Process</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-design-tools-6 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-design-tools-6 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|design|design tools" }' data-gtm-event=mousedown href=/search/skills/design-tools/ >Design Tools</a></li></ul><footer
class=orm-global-site-mobile-menu__footer><button
role=menuItem class=orm-global-site-mobile-menu__back-button aria-label="Back to previous menu" type=button data-back-button-for=orm-global-site-mobile-menu-drawer--mobile-design-8><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M15 16.7142C15 17.4465 14.3897 18 13.6295 18C13.2484 18 12.9211 17.8528 12.6718 17.6304L5.42447 10.9405L5.42017 10.9365C5.15388 10.6849 5 10.3615 5 9.99568C5 9.65583 5.14145 9.30318 5.43187 9.05271L12.6726 2.37726C12.9196 2.14511 13.2517 2 13.6295 2C14.3897 2 15 2.55348 15 3.28584C15 3.63671 14.8514 3.95598 14.6184 4.18983L14.6109 4.19737L8.33405 9.99593L14.6034 15.7956L14.6073 15.7993C14.8552 16.0335 15 16.3602 15 16.7142Z" fill=currentColor></path></svg>Back</button></footer></div></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-business-9 data-level=1><button
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-business-9 data-level=1 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-mobile-menu-drawer--mobile-business-9>Business<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><div
class=orm-global-mobile-drawer hidden inert id=orm-global-site-mobile-menu-drawer--mobile-business-9 aria-labelledby=orm-global-site-mobile-menu__link--mobile-business-9 data-level=2><header
class=orm-global-site-mobile-menu__header><h3 class="orm-global-site-mobile-menu__title">Business</h3></header><ul
class=orm-global-site-mobile-menu role=menu data-level=2><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-agile-0 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-agile-0 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|business|agile" }' data-gtm-event=mousedown href=/search/skills/agile/ >Agile</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-project-management-1 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-project-management-1 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|business|project management" }' data-gtm-event=mousedown href=/search/skills/project-management/ >Project Management</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-product-management-2 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-product-management-2 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|business|product management" }' data-gtm-event=mousedown href=/search/skills/product-management/ >Product Management</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-marketing-3 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-marketing-3 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|business|marketing" }' data-gtm-event=mousedown href=/search/skills/marketing/ >Marketing</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-human-resources-4 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-human-resources-4 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|business|human resources" }' data-gtm-event=mousedown href=/search/skills/human-resources/ >Human Resources</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-finance-5 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-finance-5 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|business|finance" }' data-gtm-event=mousedown href=/search/skills/finance/ >Finance</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-team-management-6 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-team-management-6 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|business|team management" }' data-gtm-event=mousedown href=/search/skills/team-management/ >Team Management</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-business-strategy-7 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-business-strategy-7 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|business|business strategy" }' data-gtm-event=mousedown href=/search/skills/business-strategy/ >Business Strategy</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-digital-transformation-8 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-digital-transformation-8 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|business|digital transformation" }' data-gtm-event=mousedown href=/search/skills/digital-transformation/ >Digital Transformation</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-organizational-leadership-9 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-organizational-leadership-9 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|business|organizational leadership" }' data-gtm-event=mousedown href=/search/skills/organizational-leadership/ >Organizational Leadership</a></li></ul><footer
class=orm-global-site-mobile-menu__footer><button
role=menuItem class=orm-global-site-mobile-menu__back-button aria-label="Back to previous menu" type=button data-back-button-for=orm-global-site-mobile-menu-drawer--mobile-business-9><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M15 16.7142C15 17.4465 14.3897 18 13.6295 18C13.2484 18 12.9211 17.8528 12.6718 17.6304L5.42447 10.9405L5.42017 10.9365C5.15388 10.6849 5 10.3615 5 9.99568C5 9.65583 5.14145 9.30318 5.43187 9.05271L12.6726 2.37726C12.9196 2.14511 13.2517 2 13.6295 2C14.3897 2 15 2.55348 15 3.28584C15 3.63671 14.8514 3.95598 14.6184 4.18983L14.6109 4.19737L8.33405 9.99593L14.6034 15.7956L14.6073 15.7993C14.8552 16.0335 15 16.3602 15 16.7142Z" fill=currentColor></path></svg>Back</button></footer></div></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-soft-skills-10 data-level=1><button
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-soft-skills-10 data-level=1 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-mobile-menu-drawer--mobile-soft-skills-10>Soft Skills<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><div
class=orm-global-mobile-drawer hidden inert id=orm-global-site-mobile-menu-drawer--mobile-soft-skills-10 aria-labelledby=orm-global-site-mobile-menu__link--mobile-soft-skills-10 data-level=2><header
class=orm-global-site-mobile-menu__header><h3 class="orm-global-site-mobile-menu__title">Soft Skills</h3></header><ul
class=orm-global-site-mobile-menu role=menu data-level=2><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-professional-communication-0 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-professional-communication-0 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|soft skills|professional communication" }' data-gtm-event=mousedown href=/search/skills/professional-communication/ >Professional Communication</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-emotional-intelligence-1 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-emotional-intelligence-1 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|soft skills|emotional intelligence" }' data-gtm-event=mousedown href=/search/skills/emotional-intelligence/ >Emotional Intelligence</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-presentation-skills-2 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-presentation-skills-2 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|soft skills|presentation skills" }' data-gtm-event=mousedown href=/search/skills/presentation-skills/ >Presentation Skills</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-innovation-3 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-innovation-3 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|soft skills|innovation" }' data-gtm-event=mousedown href=/search/skills/innovation/ >Innovation</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-critical-thinking-4 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-critical-thinking-4 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|soft skills|critical thinking" }' data-gtm-event=mousedown href=/search/skills/critical-thinking/ >Critical Thinking</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-public-speaking-5 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-public-speaking-5 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|soft skills|public speaking" }' data-gtm-event=mousedown href=/search/skills/public-speaking/ >Public Speaking</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-collaboration-6 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-collaboration-6 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|soft skills|collaboration" }' data-gtm-event=mousedown href=/search/skills/collaboration/ >Collaboration</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-personal-productivity-7 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-personal-productivity-7 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|soft skills|personal productivity" }' data-gtm-event=mousedown href=/search/skills/personal-productivity/ >Personal Productivity</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-confidence-motivation-8 data-level=2><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-confidence-motivation-8 data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"explore skills|soft skills|confidence / motivation" }' data-gtm-event=mousedown href=/search/skills/confidence-motivation/ >Confidence / Motivation</a></li></ul><footer
class=orm-global-site-mobile-menu__footer><button
role=menuItem class=orm-global-site-mobile-menu__back-button aria-label="Back to previous menu" type=button data-back-button-for=orm-global-site-mobile-menu-drawer--mobile-soft-skills-10><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M15 16.7142C15 17.4465 14.3897 18 13.6295 18C13.2484 18 12.9211 17.8528 12.6718 17.6304L5.42447 10.9405L5.42017 10.9365C5.15388 10.6849 5 10.3615 5 9.99568C5 9.65583 5.14145 9.30318 5.43187 9.05271L12.6726 2.37726C12.9196 2.14511 13.2517 2 13.6295 2C14.3897 2 15 2.55348 15 3.28584C15 3.63671 14.8514 3.95598 14.6184 4.18983L14.6109 4.19737L8.33405 9.99593L14.6034 15.7956L14.6073 15.7993C14.8552 16.0335 15 16.3602 15 16.7142Z" fill=currentColor></path></svg>Back</button></footer></div></li></ul><footer
class=orm-global-site-mobile-menu__footer><button
role=menuItem class=orm-global-site-mobile-menu__back-button aria-label="Back to previous menu" type=button data-back-button-for=orm-global-site-mobile-menu-drawer--mobile-explore-skills-0><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M15 16.7142C15 17.4465 14.3897 18 13.6295 18C13.2484 18 12.9211 17.8528 12.6718 17.6304L5.42447 10.9405L5.42017 10.9365C5.15388 10.6849 5 10.3615 5 9.99568C5 9.65583 5.14145 9.30318 5.43187 9.05271L12.6726 2.37726C12.9196 2.14511 13.2517 2 13.6295 2C14.3897 2 15 2.55348 15 3.28584C15 3.63671 14.8514 3.95598 14.6184 4.18983L14.6109 4.19737L8.33405 9.99593L14.6034 15.7956L14.6073 15.7993C14.8552 16.0335 15 16.3602 15 16.7142Z" fill=currentColor></path></svg>Back</button></footer></div></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-features-1 data-level=0><button
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-features-1 data-level=0 aria-expanded=false aria-haspopup=true aria-controls=orm-global-site-mobile-menu-drawer--mobile-features-1>Features<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=currentColor></path></svg></button><div
class=orm-global-mobile-drawer hidden inert id=orm-global-site-mobile-menu-drawer--mobile-features-1 aria-labelledby=orm-global-site-mobile-menu__link--mobile-features-1 data-level=1><header
class=orm-global-site-mobile-menu__header><h3 class="orm-global-site-mobile-menu__title">Features</h3></header><ul
class=orm-global-site-mobile-menu role=menu data-level=1><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-all-features-0 data-level=1><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-all-features-0 href=/online-learning/features.html>All features</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-verifiable-skills-1 data-level=1><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-verifiable-skills-1 href=/online-learning/verifiable-skills.html>Verifiable skills</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-academies-2 data-level=1><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-academies-2 href=/online-learning/academies.html>Academies</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-courses-3 data-level=1><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-courses-3 href=/online-learning/courses.html>Courses</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-certifications-4 data-level=1><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-certifications-4 href=/online-learning/feature-certification.html>Certifications</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-interactive-learning-5 data-level=1><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-interactive-learning-5 href=/online-learning/intro-interactive-learning.html>Interactive learning</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-live-events-6 data-level=1><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-live-events-6 href=/online-learning/live-events.html>Live events</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-superstreams-7 data-level=1><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-superstreams-7 href=/products/superstreams.html>Superstreams</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-answers-8 data-level=1><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-answers-8 href=/online-learning/feature-answers.html>Answers</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-insights-reporting-9 data-level=1><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-insights-reporting-9 href=/online-learning/insights-dashboard.html>Insights reporting</a></li></ul><footer
class=orm-global-site-mobile-menu__footer><button
role=menuItem class=orm-global-site-mobile-menu__back-button aria-label="Back to previous menu" type=button data-back-button-for=orm-global-site-mobile-menu-drawer--mobile-features-1><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M15 16.7142C15 17.4465 14.3897 18 13.6295 18C13.2484 18 12.9211 17.8528 12.6718 17.6304L5.42447 10.9405L5.42017 10.9365C5.15388 10.6849 5 10.3615 5 9.99568C5 9.65583 5.14145 9.30318 5.43187 9.05271L12.6726 2.37726C12.9196 2.14511 13.2517 2 13.6295 2C14.3897 2 15 2.55348 15 3.28584C15 3.63671 14.8514 3.95598 14.6184 4.18983L14.6109 4.19737L8.33405 9.99593L14.6034 15.7956L14.6073 15.7993C14.8552 16.0335 15 16.3602 15 16.7142Z" fill=currentColor></path></svg>Back</button></footer></div></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-radar-blog-2 data-level=0><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-radar-blog-2 href=/radar/ >Radar Blog</a></li><li
class=orm-global-site-mobile-menu__item role=presentation id=orm-global-site-menu-item--mobile-buy-courses-3 data-level=0><a
class=orm-global-site-mobile-menu__link role=menuitem id=orm-global-site-mobile-menu__link--mobile-buy-courses-3 href=/live/ >Buy Courses</a></li></ul><hr
class=orm-global-site-menu__divider><ul
class=orm-global-site-mobile-menu role=menu>
<li
class=orm-global-site-mobile-menu__item role=presentation><a
role=menuitem class=orm-global-site-mobile-menu__link data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"plans" }' data-gtm-event=mousedown href=https://www.oreilly.com/online-learning/pricing.html>Plans</a></li><li
class=orm-global-site-mobile-menu__item data-hidden=auth role=presentation><a
role=menuitem class=orm-global-site-mobile-menu__link data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"sign in" }' data-gtm-event=mousedown href="https://www.oreilly.com/member/login/?next=%2Fradar%2F">Sign In</a></li><li
class=orm-global-site-mobile-menu__item data-hidden=auth role=presentation><a
role=menuitem class="orm-global-site-mobile-menu__link orm-global-site--link-as-button" data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"try now" }' data-gtm-event=mousedown href=https://www.oreilly.com/online-learning/try-now.html>Try Now<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=inherit></path></svg></a></li><li
class="menu__item menu-item" data-hidden=notauth><a
role=menuitem class="orm-global-site-mobile-menu__link orm-global-site--link-as-button" data-gtm='{ "eventCat":"marketing", "eventAct":"nav", "eventLbl":"oreilly platform" }' data-gtm-event=mousedown href=https://www.oreilly.com/member/login/ >O'Reilly Platform<svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 20 20" fill=none><path
d="M5.5 16.7142C5.5 17.4465 6.11034 18 6.87045 18C7.25163 18 7.57887 17.8528 7.82823 17.6304L15.0755 10.9405L15.0798 10.9365C15.3461 10.6849 15.5 10.3615 15.5 9.99568C15.5 9.65583 15.3585 9.30318 15.0681 9.05271L7.82738 2.37726C7.58041 2.14511 7.24835 2 6.87045 2C6.11034 2 5.5 2.55348 5.5 3.28584C5.5 3.63671 5.64856 3.95598 5.88158 4.18983L5.88909 4.19737L12.166 9.99593L5.89664 15.7956L5.89275 15.7993C5.64484 16.0335 5.5 16.3602 5.5 16.7142Z" fill=inherit></path></svg></a></li></ul></nav><div
class=orm-global-mobile-pane aria-hidden=true inert hidden id=orm-global-mobile-pane--search data-testid=mobile-search-pane><form
class=orm-global-site-search-form data-gtm='{ "eventCat":"global nav", "eventAct":"navigation", "eventLbl":"keyboard|enter" }' data-gtm-event=submit id=orm-global-site-search-form--mobile action=https://www.oreilly.com/search/ method=get><div
class=orm-global-site-search-icon><svg
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1s0hah4" focusable=false aria-hidden=true viewBox="0 0 12 12" fill=none><path
fill-rule=evenodd clip-rule=evenodd d="M10.6645 12L6.2575 7.59302L7.59302 6.2575L12 10.6645L10.6645 12Z" fill=currentColor></path><path
fill-rule=evenodd clip-rule=evenodd d="M4.5 9C6.98528 9 9 6.98528 9 4.5C9 2.01472 6.98528 0 4.5 0C2.01472 0 0 2.01472 0 4.5C0 6.98528 2.01472 9 4.5 9ZM7 4.5C7 5.88071 5.88071 7 4.5 7C3.11929 7 2 5.88071 2 4.5C2 3.11929 3.11929 2 4.5 2C5.88071 2 7 3.11929 7 4.5Z" fill=currentColor></path></svg></div><label
class=orm-global-site-search-label><span
class=orm-global-site-search-label__text>Search for books, courses, events, and more</span><input
class=orm-global-site-search-input type=search placeholder="Search for books, courses, events, and more" name=q></label></form></div><div
class=headerBranding><div
class=content>
<a
class=hero-radar href=/radar/ title=Radar></a>
<button
id=themeToggle class=themeToggle aria-pressed=false>
<span
class=srOnly>Toggle dark mode</span>
<span
class=dark></span>
<span
class=light></span>
</button></div></div><main
role=main id=maincontent><script type=application/ld+json>{
    "@context": "https://schema.org",
    "@type": "ItemList",
    "name": "O’Reilly Radar: Articles and Podcasts",
    "url": "https://www.oreilly.com/radar/",
    "description": "Explore the latest thought leadership, articles, and podcasts from O’Reilly Radar and Asimov’s Addendum on AI, programming, and emerging tech trends.",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "item": {
                "@type": "Article",
                "headline": "The Cathedral, the Bazaar, and the Winchester Mystery House",
                "description": "The following article originally appeared on Drew Breunig’s blog and is being republished here with the author’s permission. In 1998, Eric S. Raymond published the founding text of open source software development, The Cathedral and the Bazaar. In it, he detailed two methods of building software: The bazaar model was enabled by the internet, which [&hellip;]",
                "url": "https://www.oreilly.com/radar/the-cathedral-the-bazaar-and-the-winchester-mystery-house/",
                "author": [
                    {
                        "@type": "Person",
                        "name": "Drew Breunig"
                    }
                ],
                "datePublished": "2026-04-03"
            }
        },
        {
            "@type": "ListItem",
            "position": 2,
            "item": {
                "@type": "Article",
                "headline": "The Toolkit Pattern",
                "description": "This is the third article in a series on agentic engineering and AI-driven development. Read part one here, part two here, and look for the next article on April 15 on O’Reilly Radar. The toolkit pattern is a way of documenting your project&#8217;s configuration so that any AI can generate working inputs from a plain-English description. [&hellip;]",
                "url": "https://www.oreilly.com/radar/the-toolkit-pattern/",
                "author": [
                    {
                        "@type": "Person",
                        "name": "Andrew Stellman"
                    }
                ],
                "datePublished": "2026-04-02"
            }
        },
        {
            "@type": "ListItem",
            "position": 3,
            "item": {
                "@type": "Article",
                "headline": "The Model You Love Is Probably Just the One You Use",
                "description": "The following article originally appeared on Medium and is being republished here with the author’s permission. Ask 10 developers which LLM they’d recommend and you’ll get 10 different answers—and almost none of them are based on objective comparison. What you’ll get instead is a reflection of the models they happen to have access to, the [&hellip;]",
                "url": "https://www.oreilly.com/radar/the-model-you-love-is-probably-just-the-one-you-use/",
                "author": [
                    {
                        "@type": "Person",
                        "name": "Tim O'Brien"
                    }
                ],
                "datePublished": "2026-04-01"
            }
        },
        {
            "@type": "ListItem",
            "position": 4,
            "item": {
                "@type": "VideoObject",
                "headline": "What Is a Data-Intensive Application in 2026? In Conversation: Martin Kleppmann and Chris Riccomini",
                "description": "",
                "url": "https://www.youtube.com/watch?v=Iw83sgsKY_Q",
                "creator": [
                    {
                        "@type": "Person",
                        "name": "O'Reilly"
                    }
                ],
                "datePublished": "2026-04-02"
            }
        },
        {
            "@type": "ListItem",
            "position": 5,
            "item": {
                "@type": "Article",
                "headline": "Missing Mechanisms for the Agentic Economy",
                "description": "",
                "url": "https://asimovaddendum.substack.com/p/missing-mechanisms-for-the-agentic",
                "author": [
                    {
                        "@type": "Person",
                        "name": "Tim O&#039;Reilly at Asimov’s Addendum"
                    }
                ],
                "datePublished": "2026-04-01"
            }
        },
        {
            "@type": "ListItem",
            "position": 6,
            "item": {
                "@type": "Article",
                "headline": "“Conviction Collapse” and the End of Software as We Know It",
                "description": "",
                "url": "https://www.oreilly.com/radar/conviction-collapse-and-the-end-of-software-as-we-know-it/",
                "author": [
                    {
                        "@type": "Person",
                        "name": "Tim O’Reilly"
                    }
                ],
                "datePublished": "2026-04-01"
            }
        },
        {
            "@type": "ListItem",
            "position": 7,
            "item": {
                "@type": "VideoObject",
                "headline": "You Wouldn't Let a New Developer Sling Code at Production Without Guardrails with Patrick Wyatt",
                "description": "",
                "url": "https://www.youtube.com/watch?v=Btv7RODXyr8",
                "creator": [
                    {
                        "@type": "Person",
                        "name": "O'Reilly"
                    }
                ],
                "datePublished": "2026-03-31"
            }
        },
        {
            "@type": "ListItem",
            "position": 8,
            "item": {
                "@type": "Article",
                "headline": "When AI Breaks the Systems Meant to Hear Us",
                "description": "",
                "url": "https://www.oreilly.com/radar/when-ai-breaks-the-systems-meant-to-hear-us/",
                "author": [
                    {
                        "@type": "Person",
                        "name": "Heiko Hotz"
                    }
                ],
                "datePublished": "2026-03-31"
            }
        },
        {
            "@type": "ListItem",
            "position": 9,
            "item": {
                "@type": "Article",
                "headline": "Software, in a Time of Fear",
                "description": "",
                "url": "https://www.oreilly.com/radar/software-in-a-time-of-fear/",
                "author": [
                    {
                        "@type": "Person",
                        "name": "Ed Lyons"
                    }
                ],
                "datePublished": "2026-03-30"
            }
        },
        {
            "@type": "ListItem",
            "position": 10,
            "item": {
                "@type": "VideoObject",
                "headline": "Is AI Coding a Threat or an Amplifier? In Conversation: Hamel Husain and Greg Ceccarelli",
                "description": "",
                "url": "https://www.youtube.com/watch?v=qvOv2qm0-S0",
                "creator": [
                    {
                        "@type": "Person",
                        "name": "O'Reilly"
                    }
                ],
                "datePublished": "2026-03-27"
            }
        },
        {
            "@type": "ListItem",
            "position": 11,
            "item": {
                "@type": "Article",
                "headline": "The Missing Layer in Agentic AI",
                "description": "",
                "url": "https://www.oreilly.com/radar/the-missing-layer-in-agentic-ai/",
                "author": [
                    {
                        "@type": "Person",
                        "name": "Artur Huk"
                    }
                ],
                "datePublished": "2026-03-26"
            }
        },
        {
            "@type": "ListItem",
            "position": 12,
            "item": {
                "@type": "Article",
                "headline": "Spotting and Avoiding ROT in Your Agentic AI",
                "description": "",
                "url": "https://www.oreilly.com/radar/spotting-and-avoiding-rot-in-your-agentic-ai/",
                "author": [
                    {
                        "@type": "Person",
                        "name": "Q McCallum"
                    }
                ],
                "datePublished": "2026-03-25"
            }
        },
        {
            "@type": "ListItem",
            "position": 13,
            "item": {
                "@type": "Article",
                "headline": "How to Build a General-Purpose AI Agent in 131 Lines of Python",
                "description": "",
                "url": "https://www.oreilly.com/radar/how-to-build-a-general-purpose-ai-agent-in-131-lines-of-python/",
                "author": [
                    {
                        "@type": "Person",
                        "name": "Hugo Bowne-Anderson"
                    }
                ],
                "datePublished": "2026-03-24"
            }
        },
        {
            "@type": "ListItem",
            "position": 14,
            "item": {
                "@type": "Article",
                "headline": "Don’t Blame the Model",
                "description": "",
                "url": "https://asimovaddendum.substack.com/p/dont-blame-the-model",
                "author": [
                    {
                        "@type": "Person",
                        "name": "Asimov’s Addendum"
                    }
                ],
                "datePublished": "2026-03-24"
            }
        },
        {
            "@type": "ListItem",
            "position": 15,
            "item": {
                "@type": "Article",
                "headline": "The Mythical Agent-Month",
                "description": "",
                "url": "https://www.oreilly.com/radar/the-mythical-agent-month/",
                "author": [
                    {
                        "@type": "Person",
                        "name": "Wes McKinney"
                    }
                ],
                "datePublished": "2026-03-23"
            }
        },
        {
            "@type": "ListItem",
            "position": 16,
            "item": {
                "@type": "Article",
                "headline": "The Missing Mechanisms of the Agentic Economy",
                "description": "",
                "url": "https://www.oreilly.com/radar/the-missing-mechanisms-of-the-agentic-economy/",
                "author": [
                    {
                        "@type": "Person",
                        "name": "Tim O’Reilly"
                    }
                ],
                "datePublished": "2026-03-23"
            }
        },
        {
            "@type": "ListItem",
            "position": 17,
            "item": {
                "@type": "VideoObject",
                "headline": "How to Beat AI FOMO and Stay Ahead in 2026 with Addy Osmani and Tim O'Reilly",
                "description": "",
                "url": "https://www.youtube.com/watch?v=P4nflHMHQsI",
                "creator": [
                    {
                        "@type": "Person",
                        "name": "O'Reilly"
                    }
                ],
                "datePublished": "2026-03-20"
            }
        },
        {
            "@type": "ListItem",
            "position": 18,
            "item": {
                "@type": "Article",
                "headline": "Beyond Code Review",
                "description": "",
                "url": "https://www.oreilly.com/radar/beyond-code-review/",
                "author": [
                    {
                        "@type": "Person",
                        "name": "Mike Loukides"
                    }
                ],
                "datePublished": "2026-03-20"
            }
        },
        {
            "@type": "ListItem",
            "position": 19,
            "item": {
                "@type": "VideoObject",
                "headline": "Stop YOLOing Your AI Token Bills with Addy Osmani and Tim O'Reilly",
                "description": "",
                "url": "https://www.youtube.com/watch?v=-KXHN9uW1iY",
                "creator": [
                    {
                        "@type": "Person",
                        "name": "O'Reilly"
                    }
                ],
                "datePublished": "2026-03-19"
            }
        }
    ]
}</script> <div
class=textBanner>Join us on <a
href=https://oreillyradar.substack.com/ target=_blank data-ga-event-name=eventTracker data-ga-category=radar data-ga-event="text banner" data-ga-label=substack>Substack</a> to get Radar by email.</div><div
class=pageLayout><div
class=sidebar id=right-rail><div
class="module open"><form
id=searchForm class=search role=search method=get action=https://www.oreilly.com/radar/ >
<input
type=search name=s placeholder=Search value></form><div
class=topics>
<a
href=/radar/topics/ai-ml/ class=topicChip data-ga-event-name=eventTracker data-ga-category=radar data-ga-event=topic data-ga-label="ai & ml">AI &amp; ML</a>
<a
href=/radar/topics/business/ class=topicChip data-ga-event-name=eventTracker data-ga-category=radar data-ga-event=topic data-ga-label=business>Business</a>
<a
href=/radar/topics/data/ class=topicChip data-ga-event-name=eventTracker data-ga-category=radar data-ga-event=topic data-ga-label=data>Data</a>
<a
href=/radar/topics/innovation-and-disruption/ class=topicChip data-ga-event-name=eventTracker data-ga-category=radar data-ga-event=topic data-ga-label=innovation>Innovation</a>
<a
href=/radar/tag/research/ class=topicChip data-ga-event-name=eventTracker data-ga-category=radar data-ga-event=topic data-ga-label=research>Research</a>
<a
href=/radar/topics/security/ class=topicChip data-ga-event-name=eventTracker data-ga-category=radar data-ga-event=topic data-ga-label=security>Security</a></div></div><div
class="module mobileMove"><h2>Try the O’Reilly learning platform</h2><p>With the O’Reilly learning platform, you get the resources and guidance to keep your skills sharp and stay ahead. Try it free for up to 14 days.</p><a
href="https://www.oreilly.com/start-trial/?type=team" class=ctaLink data-ga-event-name=eventTracker data-ga-category=radar data-ga-event=promo data-ga-label="start trial">Start trial</a></div><div
class="module mobileMove"><h2>Try a course for free</h2><p>Join a live online event on the O’Reilly platform to learn from the experts shaping tech.</p><a
href=https://www.oreilly.com/live/free.html class=ctaLink data-ga-event-name=eventTracker data-ga-category=radar data-ga-event="live event" data-ga-label="see whats coming soon">See what’s coming soon</a></div><div
class="module mobileMove"><link
rel=stylesheet type=text/css
href=https://www.oreilly.com/radar/wp-content/themes/signal/files/marketing-cloud-subscribe-20220726.css><form
id=marketingCloudForm class=mc-form action=https://cl.exct.net/DEManager.aspx name=subscribeForm
method=post><h2>Get the Radar Trends newsletter</h2><input
type=hidden name=_clientID value=7200351>
<input
type=hidden name=_deExternalKey value=3559B084-4962-47D6-AD05-DAA2DE51CF45>
<input
type=hidden name=_action value=add>
<input
type=hidden name=_returnXML value=0>
<input
type=hidden name=_successURL value="https://www.oreilly.com/radar/?success=true">
<input
type=hidden name=_errorURL value="https://www.oreilly.com/radar/?error=true">
<input
type=hidden name=NewsletterTopic value=RadarTrends>
<input
type=hidden name=Marketing_Context value="email signup at https://www.oreilly.com/emails/newsletters/"><div
id=marketingCloudForm-errorMessage class=mc-form-errorMessage></div><div
class=mc-form-group><div
class=mc-form-item><label
for=emailaddress>Your email</label><input
type=email name=emailaddress
id=emailaddress data-text="email address" autocomplete=email aria-required=true></div><div
class=mc-form-item>
<label
for=country>Country</label>
<select
name=country id=country data-text=country autocomplete=country-name aria-required=true><option
value>- Select country -</option><option
value="United States">United States</option><option
value=Afghanistan>Afghanistan</option><option
value=Albania>Albania</option><option
value=Algeria>Algeria</option><option
value=Andorra>Andorra</option><option
value=Angola>Angola</option><option
value="Antigua and Barbuda">Antigua and Barbuda</option><option
value=Argentina>Argentina</option><option
value=Armenia>Armenia</option><option
value=Aruba>Aruba</option><option
value=Australia>Australia</option><option
value=Austria>Austria</option><option
value=Azerbaijan>Azerbaijan</option><option
value=Bahamas>The Bahamas</option><option
value=Bahrain>Bahrain</option><option
value=Bangladesh>Bangladesh</option><option
value=Barbados>Barbados</option><option
value=Belarus>Belarus</option><option
value=Belgium>Belgium</option><option
value=Belize>Belize</option><option
value=Benin>Benin</option><option
value=Bermuda>Bermuda</option><option
value=Bhutan>Bhutan</option><option
value="Bolivia, Plurinational State of">Bolivia</option><option
value="Bosnia and Herzegovina">Bosnia and Herzegovina</option><option
value=Botswana>Botswana</option><option
value=Brazil>Brazil</option><option
value="Brunei Darussalam">Brunei</option><option
value=Bulgaria>Bulgaria</option><option
value="Burkina Faso">Burkina Faso</option><option
value=Burundi>Burundi</option><option
value=Cambodia>Cambodia</option><option
value=Cameroon>Cameroon</option><option
value=Canada>Canada</option><option
value="Cape Verde">Cape Verde</option><option
value="Central African Republic">Central African Republic</option><option
value=Chad>Chad</option><option
value=Chile>Chile</option><option
value=China>People's Republic of China</option><option
value=Colombia>Colombia</option><option
value=Comoros>Comoros</option><option
value=Congo>Congo, Republic of the</option><option
value="Congo, the Democratic Republic of the">Congo, Democratic Republic of the</option><option
value="Cook Islands">Cook Islands</option><option
value="Costa Rica">Costa Rica</option><option
value="Cote d'Ivoire">C&ocirc;te d'Ivoire (Ivory Coast)</option><option
value=Croatia>Croatia</option><option
value=Cuba>Cuba</option><option
value=Cyprus>Cyprus</option><option
value="Czech Republic">Czechia</option><option
value=Denmark>Denmark</option><option
value=Djibouti>Djibouti</option><option
value=Dominica>Dominica</option><option
value="Dominican Republic">Dominican Republic</option><option
value=Ecuador>Ecuador</option><option
value=Egypt>Egypt</option><option
value="El Salvador">El Salvador</option><option
value="Equatorial Guinea">Equatorial Guinea</option><option
value=Eritrea>Eritrea</option><option
value=Estonia>Estonia</option><option
value=Swaziland>Eswatini (formerly Swaziland)</option><option
value=Ethiopia>Ethiopia</option><option
value="Federated States of Micronesia">Federated States of Micronesia</option><option
value=Fiji>Fiji</option><option
value=Finland>Finland</option><option
value=France>France</option><option
value=Gabon>Gabon</option><option
value=Gambia>The Gambia</option><option
value=Georgia>Georgia</option><option
value=Germany>Germany</option><option
value=Ghana>Ghana</option><option
value=Greece>Greece</option><option
value=Grenada>Grenada</option><option
value=Guatemala>Guatemala</option><option
value=Guinea>Guinea</option><option
value=Guinea-Bissau>Guinea-Bissau</option><option
value=Guyana>Guyana</option><option
value=Haiti>Haiti</option><option
value=Honduras>Honduras</option><option
value=Hungary>Hungary</option><option
value=Iceland>Iceland</option><option
value=India>India</option><option
value=Indonesia>Indonesia</option><option
value="Iran, Islamic Republic of">Iran</option><option
value=Iraq>Iraq</option><option
value=Ireland>Ireland</option><option
value=Israel>Israel</option><option
value=Italy>Italy</option><option
value=Jamaica>Jamaica</option><option
value=Japan>Japan</option><option
value=Jordan>Jordan</option><option
value=Kazakhstan>Kazakhstan</option><option
value=Kenya>Kenya</option><option
value=Kiribati>Kiribati</option><option
value="Korea, Democratic People's Republic of">Korea, Democratic People's Republic of</option><option
value="Korea, Republic of">Korea, Republic of</option><option
value=Kuwait>Kuwait</option><option
value=Kyrgyzstan>Kyrgyzstan</option><option
value="Lao People's Democratic Republic">Laos</option><option
value=Latvia>Latvia</option><option
value=Lebanon>Lebanon</option><option
value=Lesotho>Lesotho</option><option
value=Liberia>Liberia</option><option
value="Libyan Arab Jamahiriya">Libya</option><option
value=Liechtenstein>Liechtenstein</option><option
value=Lithuania>Lithuania</option><option
value=Luxembourg>Luxembourg</option><option
value="Macedonia, the former Yugoslav Republic of">Macedonia, Republic of</option><option
value=Madagascar>Madagascar</option><option
value=Malawi>Malawi</option><option
value=Malaysia>Malaysia</option><option
value=Maldives>Maldives</option><option
value=Mali>Mali</option><option
value=Malta>Malta</option><option
value=Mauritania>Mauritania</option><option
value=Mauritius>Mauritius</option><option
value=Mexico>Mexico</option><option
value="Moldova, Republic of">Moldova</option><option
value=Monaco>Monaco</option><option
value=Mongolia>Mongolia</option><option
value=Montenegro>Montenegro</option><option
value=Morocco>Morocco</option><option
value=Mozambique>Mozambique</option><option
value=Myanmar>Myanmar</option><option
value=Namibia>Namibia</option><option
value=Nauru>Nauru</option><option
value=Nepal>Nepal</option><option
value=Netherlands>Netherlands</option><option
value="New Zealand">New Zealand</option><option
value=Nicaragua>Nicaragua</option><option
value=Niger>Niger</option><option
value=Nigeria>Nigeria</option><option
value=Niue>Niue</option><option
value=Norway>Norway</option><option
value=Oman>Oman</option><option
value=Pakistan>Pakistan</option><option
value="Palestinian Territory, Occupied">Palestine, State of</option><option
value=Panama>Panama</option><option
value="Papua New Guinea">Papua New Guinea</option><option
value=Paraguay>Paraguay</option><option
value=Peru>Peru</option><option
value=Philippines>Philippines</option><option
value=Poland>Poland</option><option
value=Portugal>Portugal</option><option
value=Qatar>Qatar</option><option
value=Romania>Romania</option><option
value="Russian Federation">Russia</option><option
value=Rwanda>Rwanda</option><option
value="Saint Kitts and Nevis">Saint Kitts and Nevis</option><option
value="Saint Lucia">Saint Lucia</option><option
value="Saint Vincent and the Grenadines">Saint Vincent and the Grenadines</option><option
value=Samoa>Samoa</option><option
value="San Marino">San Marino</option><option
value="Sao Tome and Principe">S&atilde;o Tom&eacute; and Pr&iacute;ncipe</option><option
value="Saudi Arabia">Saudi Arabia</option><option
value=Senegal>Senegal</option><option
value=Serbia>Serbia</option><option
value=Seychelles>Seychelles</option><option
value="Sierra Leone">Sierra Leone</option><option
value=Singapore>Singapore</option><option
value=Slovakia>Slovakia</option><option
value=Slovenia>Slovenia</option><option
value="Solomon Islands">Solomon Islands</option><option
value=Somalia>Somalia</option><option
value="South Africa">South Africa</option><option
value="South Sudan">South Sudan</option><option
value=Spain>Spain</option><option
value="Sri Lanka">Sri Lanka</option><option
value=Sudan>Sudan</option><option
value=Suriname>Suriname</option><option
value=Sweden>Sweden</option><option
value=Switzerland>Switzerland</option><option
value="Syrian Arab Republic">Syria</option><option
value="Chinese Taipei">Taiwan</option><option
value=Tajikistan>Tajikistan</option><option
value="Tanzania, United Republic of">Tanzania</option><option
value=Thailand>Thailand</option><option
value=Timor-Leste>Timor-Leste (East Timor)</option><option
value=Togo>Togo</option><option
value=Tonga>Tonga</option><option
value="Trinidad and Tobago">Trinidad and Tobago</option><option
value=Tunisia>Tunisia</option><option
value=Turkey>Turkey</option><option
value=Turkmenistan>Turkmenistan</option><option
value=Tuvalu>Tuvalu</option><option
value=Uganda>Uganda</option><option
value=Ukraine>Ukraine</option><option
value="United Arab Emirates">United Arab Emirates</option><option
value="United Kingdom">United Kingdom</option><option
value="United States">United States</option><option
value=Uruguay>Uruguay</option><option
value=Uzbekistan>Uzbekistan</option><option
value=Vanuatu>Vanuatu</option><option
value="Holy See (Vatican City State)">Vatican City</option><option
value="Venezuela, Bolivarian Republic of">Venezuela</option><option
value="Viet Nam">Vietnam</option><option
value=Yemen>Yemen</option><option
value=Zambia>Zambia</option><option
value=Zimbabwe>Zimbabwe</option>
</select></div><div
class=mc-form-item><div
class="consentGroup hidden" id=consentGroup></div></div><div
class=mc-form-item><button
type=submit onclick="return verifMCForm();">Subscribe</button></div><div
class=mc-form-item><p
class=privacy>Please read our <a
href=http://oreilly.com/oreilly/privacy.html target=_blank>privacy policy</a>.</p></div></div></form><div
id=marketingCloudForm-thankyou class="marketingCloudForm-thankyou hidden"><h2>Thank you for subscribing to the O’Reilly Radar Trends to Watch newsletter.</h2></div> <script src=https://cdn.oreillystatic.com/assets/js/marketingCloudForm-20250502.js></script> <script src=https://www.oreilly.com/radar/wp-content/cache/minify/3/52453.js></script> </div></div><div
class=blogFeed><div
class=stickyPosts>
<a
class="feed-item sticky" href=https://www.oreilly.com/radar/the-cathedral-the-bazaar-and-the-winchester-mystery-house/ data-ga-event-name=eventTracker data-ga-category=radar data-ga-event="featured post" data-ga-label="the cathedral, the bazaar, and the winchester mystery house"><figure
class=article><img
src=https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/04/The-Cathedral-the-Bazaar-and-the-Winchester-Mystery-House-1600x1244.jpg
alt loading=lazy></figure><div
class=inner><div
class=item-text><p
class="post-type article">
<span>article</span>
<span>AI &amp; ML</span></p><h2>The Cathedral, the Bazaar, and the Winchester Mystery House</h2><p
class=dek>Our era of sprawling, idiosyncratic tooling</p><div
class=metaWrap><p
class=meta>By Drew Breunig |</p><p
class=meta>April 3, 2026</p></div></div></div>
</a>
<a
class="feed-item sticky" href=https://www.oreilly.com/radar/the-toolkit-pattern/ data-ga-event-name=eventTracker data-ga-category=radar data-ga-event="featured post" data-ga-label="the toolkit pattern"><figure
class=article><img
src=https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/04/The-toolkit-pattern-1600x1244.jpg
alt loading=lazy></figure><div
class=inner><div
class=item-text><p
class="post-type article">
<span>article</span>
<span>AI &amp; ML</span></p><h2>The Toolkit Pattern</h2><p
class=dek>Why your project's best documentation is a file only AI will read</p><div
class=metaWrap><p
class=meta>By Andrew Stellman |</p><p
class=meta>April 2, 2026</p></div></div></div>
</a>
<a
class="feed-item sticky" href=https://www.oreilly.com/radar/the-model-you-love-is-probably-just-the-one-you-use/ data-ga-event-name=eventTracker data-ga-category=radar data-ga-event="featured post" data-ga-label="the model you love is probably just the one you use"><figure
class=article><img
src=https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/04/The-model-you-love-is-probably-just-the-one-you-use-1600x1244.jpg
alt loading=lazy></figure><div
class=inner><div
class=item-text><p
class="post-type article">
<span>article</span>
<span>AI &amp; ML</span></p><h2>The Model You Love Is Probably Just the One You Use</h2><p
class=dek>How money, access, and familiarity are distorting the “Which AI is best?” conversation</p><div
class=metaWrap><p
class=meta>By Tim O&#039;Brien |</p><p
class=meta>April 1, 2026</p></div></div></div>
</a></div><div
class=feedTools><div
id=sorting class=sorting>
<button
id=sortingLatest class="left-btn active" data-external=true>Latest</button>
<button
id=sortingPopularity class=right-btn>Most Popular</button></div></div><div
id=post-feed-container class=combined-blog-feed data-offset=3>
<a
href="https://www.youtube.com/watch?v=Iw83sgsKY_Q"
class="feed-item external"
target=_blank ><div
class=inner><figure><img
src=https://i2.ytimg.com/vi/Iw83sgsKY_Q/hqdefault.jpg alt loading=lazy></figure><div
class=item-text><p
class="post-type video">
<span>video</span></p><h2>What Is a Data-Intensive Application in 2026? In Conversation: Martin Kleppmann and Chris Riccomini</h2><div
class=meta>
By O&#039;Reilly |
April 2, 2026</div></div></div>
</a>
<a
href=https://asimovaddendum.substack.com/p/missing-mechanisms-for-the-agentic
class="feed-item external"
target=_blank ><div
class=inner><figure><img
src=https://substackcdn.com/image/fetch/$s_!y9G4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8e61ef2-d328-4ba6-9a55-8dd3cadcf5df_1200x961.jpeg alt loading=lazy></figure><div
class=item-text><p
class="post-type article">
<span>article</span></p><h2>Missing Mechanisms for the Agentic Economy</h2><div
class=meta>
By Tim O&#039;Reilly at Asimov’s Addendum |
April 1, 2026</div></div></div>
</a>
<a
href=https://www.oreilly.com/radar/conviction-collapse-and-the-end-of-software-as-we-know-it/
class="feed-item "
><div
class=inner><figure><img
src=https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/03/Conviction-collapse-and-the-End-of-Software-as-We-Know-It-500526-160x160.jpg alt loading=lazy></figure><div
class=item-text><p
class="post-type article">
<span>article</span></p><h2>“Conviction Collapse” and the End of Software as We Know It</h2><div
class=meta>
By Tim O’Reilly |
April 1, 2026</div></div></div>
</a>
<a
href="https://www.youtube.com/watch?v=Btv7RODXyr8"
class="feed-item external"
target=_blank ><div
class=inner><figure><img
src=https://i3.ytimg.com/vi/Btv7RODXyr8/hqdefault.jpg alt loading=lazy></figure><div
class=item-text><p
class="post-type video">
<span>video</span></p><h2>You Wouldn&#039;t Let a New Developer Sling Code at Production Without Guardrails with Patrick Wyatt</h2><div
class=meta>
By O&#039;Reilly |
March 31, 2026</div></div></div>
</a>
<a
href=https://www.oreilly.com/radar/when-ai-breaks-the-systems-meant-to-hear-us/
class="feed-item "
><div
class=inner><figure><img
src=https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/03/A-robot-breaking-headphones-160x160.jpg alt loading=lazy></figure><div
class=item-text><p
class="post-type article">
<span>article</span></p><h2>When AI Breaks the Systems Meant to Hear Us</h2><div
class=meta>
By Heiko Hotz |
March 31, 2026</div></div></div>
</a>
<a
href=https://www.oreilly.com/radar/software-in-a-time-of-fear/
class="feed-item "
><div
class=inner><figure><img
src=https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/03/Software-in-a-Time-of-Fear-160x160.jpg alt loading=lazy></figure><div
class=item-text><p
class="post-type article">
<span>article</span></p><h2>Software, in a Time of Fear</h2><div
class=meta>
By Ed Lyons |
March 30, 2026</div></div></div>
</a>
<a
href="https://www.youtube.com/watch?v=qvOv2qm0-S0"
class="feed-item external"
target=_blank ><div
class=inner><figure><img
src=https://i2.ytimg.com/vi/qvOv2qm0-S0/hqdefault.jpg alt loading=lazy></figure><div
class=item-text><p
class="post-type video">
<span>video</span></p><h2>Is AI Coding a Threat or an Amplifier? In Conversation: Hamel Husain and Greg Ceccarelli</h2><div
class=meta>
By O&#039;Reilly |
March 27, 2026</div></div></div>
</a>
<a
href=https://www.oreilly.com/radar/the-missing-layer-in-agentic-ai/
class="feed-item "
><div
class=inner><figure><img
src=https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/03/The-missing-layer-in-agentic-AI-160x160.jpg alt loading=lazy></figure><div
class=item-text><p
class="post-type article">
<span>article</span></p><h2>The Missing Layer in Agentic AI</h2><div
class=meta>
By Artur Huk |
March 26, 2026</div></div></div>
</a>
<a
href=https://www.oreilly.com/radar/spotting-and-avoiding-rot-in-your-agentic-ai/
class="feed-item "
><div
class=inner><figure><img
src=https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/03/20260225-hacker-clint-patterson-dYEuFB8KQJk-unsplash-160x160.jpg alt loading=lazy></figure><div
class=item-text><p
class="post-type article">
<span>article</span></p><h2>Spotting and Avoiding ROT in Your Agentic AI</h2><div
class=meta>
By Q McCallum |
March 25, 2026</div></div></div>
</a>
<a
href=https://www.oreilly.com/radar/how-to-build-a-general-purpose-ai-agent-in-131-lines-of-python/
class="feed-item "
><div
class=inner><figure><img
src=https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/03/131-lines-of-code-160x160.jpg alt loading=lazy></figure><div
class=item-text><p
class="post-type article">
<span>article</span></p><h2>How to Build a General-Purpose AI Agent in 131 Lines of Python</h2><div
class=meta>
By Hugo Bowne-Anderson |
March 24, 2026</div></div></div>
</a>
<a
href=https://asimovaddendum.substack.com/p/dont-blame-the-model
class="feed-item external"
target=_blank ><div
class=inner><figure><img
src=https://substackcdn.com/image/fetch/$s_!G1Uj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a065e1c-4656-4059-8948-975a84327c61_1584x880.png alt loading=lazy></figure><div
class=item-text><p
class="post-type article">
<span>article</span></p><h2>Don’t Blame the Model</h2><div
class=meta>
By Asimov’s Addendum |
March 24, 2026</div></div></div>
</a>
<a
href=https://www.oreilly.com/radar/the-mythical-agent-month/
class="feed-item "
><div
class=inner><figure><img
src=https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/03/The-mythical-robot-agent-month-160x160.jpg alt loading=lazy></figure><div
class=item-text><p
class="post-type article">
<span>article</span></p><h2>The Mythical Agent-Month</h2><div
class=meta>
By Wes McKinney |
March 23, 2026</div></div></div>
</a>
<a
href=https://www.oreilly.com/radar/the-missing-mechanisms-of-the-agentic-economy/
class="feed-item "
><div
class=inner><figure><img
src=https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/03/The-missing-mechanisms-of-the-agentic-economy-160x160.jpg alt loading=lazy></figure><div
class=item-text><p
class="post-type article">
<span>article</span></p><h2>The Missing Mechanisms of the Agentic Economy</h2><div
class=meta>
By Tim O’Reilly |
March 23, 2026</div></div></div>
</a>
<a
href="https://www.youtube.com/watch?v=P4nflHMHQsI"
class="feed-item external"
target=_blank ><div
class=inner><figure><img
src=https://i1.ytimg.com/vi/P4nflHMHQsI/hqdefault.jpg alt loading=lazy></figure><div
class=item-text><p
class="post-type video">
<span>video</span></p><h2>How to Beat AI FOMO and Stay Ahead in 2026 with Addy Osmani and Tim O&#039;Reilly</h2><div
class=meta>
By O&#039;Reilly |
March 20, 2026</div></div></div>
</a>
<a
href=https://www.oreilly.com/radar/beyond-code-review/
class="feed-item "
><div
class=inner><figure><img
src=https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/03/Beyond-a-circular-code-review-160x160.jpeg alt loading=lazy></figure><div
class=item-text><p
class="post-type article">
<span>article</span></p><h2>Beyond Code Review</h2><div
class=meta>
By Mike Loukides |
March 20, 2026</div></div></div>
</a>
<a
href="https://www.youtube.com/watch?v=-KXHN9uW1iY"
class="feed-item external"
target=_blank ><div
class=inner><figure><img
src=https://i2.ytimg.com/vi/-KXHN9uW1iY/hqdefault.jpg alt loading=lazy></figure><div
class=item-text><p
class="post-type video">
<span>video</span></p><h2>Stop YOLOing Your AI Token Bills with Addy Osmani and Tim O&#039;Reilly</h2><div
class=meta>
By O&#039;Reilly |
March 19, 2026</div></div></div>
</a></div><button
id=see-more-posts class=more>Load More Posts</button></div></div><div
id=bottomModules class=bottomModules></div></main><footer
id=site-footer><div
id=site-footer-container class=content><section
class=site-footer__section id=site-footer-social><p>Follow us</p><ul
id=site-footer-social-list>
<li><a
class=site-footer-social-list__link href=https://www.linkedin.com/company/oreilly-media target=_blank title="O&#039;Reilly on LinkedIn"><svg
xmlns=http://www.w3.org/2000/svg width=20 height=20 viewBox="0 0 24 24" fill=#444444><path
d="M20.447 20.452H16.893V14.883C16.893 13.555 16.866 11.846 15.041 11.846C13.188 11.846 12.905 13.291 12.905 14.785V20.452H9.351V9H12.765V10.561H12.811C13.288 9.661 14.448 8.711 16.181 8.711C19.782 8.711 20.448 11.081 20.448 14.166L20.447 20.452ZM5.337 7.433C4.193 7.433 3.274 6.507 3.274 5.368C3.274 4.23 4.194 3.305 5.337 3.305C6.477 3.305 7.401 4.23 7.401 5.368C7.401 6.507 6.476 7.433 5.337 7.433ZM7.119 20.452H3.555V9H7.119V20.452ZM22.225 0H1.771C0.792 0 0 0.774 0 1.729V22.271C0 23.227 0.792 24 1.771 24H22.222C23.2 24 24 23.227 24 22.271V1.729C24 0.774 23.2 0 22.222 0H22.225Z"></path></svg></a></li><li><a
class=site-footer-social-list__link href=https://www.youtube.com/user/OreillyMedia target=_blank title="O&#039;Reilly on YouTube"><svg
xmlns=http://www.w3.org/2000/svg width=20 height=20 viewBox="0 0 24 24" fill=none><path
d="M23.495 6.20498C23.356 5.70674 23.0907 5.2528 22.725 4.88703C22.3592 4.52126 21.9052 4.25603 21.407 4.11698C19.537 3.61598 12.011 3.61598 12.011 3.61598C12.011 3.61598 4.50401 3.60598 2.61501 4.11698C2.11677 4.25603 1.66283 4.52126 1.29706 4.88703C0.931287 5.2528 0.666058 5.70674 0.527007 6.20498C0.172528 8.11949 -0.0022322 10.0629 0.00500725 12.01C-0.000863617 13.9497 0.173891 15.8857 0.527007 17.793C0.666058 18.2912 0.931287 18.7452 1.29706 19.1109C1.66283 19.4767 2.11677 19.7419 2.61501 19.881C4.48301 20.383 12.011 20.383 12.011 20.383C12.011 20.383 19.517 20.383 21.407 19.881C21.9052 19.7419 22.3592 19.4767 22.725 19.1109C23.0907 18.7452 23.356 18.2912 23.495 17.793C23.8407 15.885 24.0081 13.949 23.995 12.01C24.0095 10.0636 23.8421 8.12018 23.495 6.20498ZM9.60901 15.601V8.40798L15.873 12.01L9.60901 15.601Z" fill=#444444></path></svg></a></li></ul></section><section
class=site-footer__section id=site-footer-company-info aria-label="company info"><div
class=site-footer-company-info__column id=site-footer-company-info-column-left><div
class=site-footer__list id=site-footer-approach><h2 class="site-footer__heading"><a
href=/about/ >About O&#039;Reilly</a></h2><ul
class=site-footer-list__ul><li><a
href=/work-with-us.html>Teach/Write/Train</a></li><li><a
href=/careers/ >Careers</a></li><li><a
href=/press/ >O&#039;Reilly News</a></li><li><a
href=/press/media-coverage.html>Media Coverage</a></li><li><a
href=/partner/signup.csp>Community Partners</a></li><li><a
href=/affiliates/ >Affiliate Program</a></li><li><a
href=/online-learning/rfp.html>Submit an RFP</a></li><li><a
href=/diversity/ >Diversity</a></li><li><a
href=/content-marketing-solutions.html>Content Sponsorship</a></li></ul></div><div
class=site-footer__list id=site-footer-contact><h2 class="site-footer__heading"><a
href=/online-learning/support/ >Support</a></h2><ul
class=site-footer-list__ul><li><a
href=/about/contact.html>Contact Us</a></li><li><a
href=/emails/newsletters/ >Newsletters</a></li><li><a
href=/privacy.html>Privacy Policy</a></li><li><a
href=/about/oreilly-approach-to-generative-ai.html>AI Policy</a></li></ul></div><div
class=site-footer__list id=site-footer-international><h2 class="site-footer__heading">International</h2><ul
class=site-footer-list__ul><li><a
href=/online-learning/anz.html>Australia &amp; New Zealand</a></li><li><a
href=https://www.oreilly.co.jp/index.shtml>Japan</a></li></ul></div></div><div
class=site-footer-company-info__column id=site-footer-company-info-column-right><div
class="site-footer__list site-footer-company-info-right-column__item" id=site-footer-mobile-download><h2 class="site-footer__heading">Download the O'Reilly App</h2><p>Take O'Reilly with you and learn anywhere, anytime on your phone and tablet.</p><ul
class="site-footer-list__ul site-footer-list__ul--horizontal">  <li><a
href=https://itunes.apple.com/us/app/safari-to-go/id881697395 title="Download in the Apple App Store" data-testid=app-store-link><img
class=site-footer__image alt="Apple app store" src=https://cdn.oreillystatic.com/oreilly/images/app-store-logo.png></a></li>  <li><a
href="https://play.google.com/store/apps/details?id=com.safariflow.queue"><img
class=site-footer__image alt="Google play store" src=https://cdn.oreillystatic.com/oreilly/images/google-play-logo.png></a></li></ul></div><div
class="site-footer__list site-footer-company-info-right-column__item" id=site-footer-tv-download><h2 class="site-footer__heading">Watch on Your Big Screen</h2><p>View all O'Reilly videos, virtual conferences, and live events on your home TV.</p><ul
class="site-footer-list__ul site-footer-list__ul--horizontal">  <li><a
href=https://channelstore.roku.com/details/c9d25fa651f0ad84e484b0dfd4b20172:856a240ad268961983e91ae52c1e1e5c/oreilly title="O'Reilly on Roku"><img
class=site-footer__image alt="Roku Players and TVs" src=https://cdn.oreillystatic.com/oreilly/images/roku-tv-logo.png></a></li>  <li><a
href="https://www.amazon.com/OReilly-Media-Inc/dp/B087YYHL5C/ref=sr_1_2?dchild=1&amp;keywords=oreilly&amp;qid=1604964116&amp;s=mobile-apps&amp;sr=1-2" title="O'Reilly on Amazon Fire TV"><img
class=site-footer__image alt="Amazon appstore" src=https://cdn.oreillystatic.com/oreilly/images/amazon-appstore-logo.png></a></li></ul></div></div></section><section
class=site-footer__section id=site-footer-subfooter>
<a
class=footer-subfooterLogo href=https://www.oreilly.com title="home page" aria-current=page>
<img
id=site-footer-subfooter-logo alt="O'Reilly home"
srcset="https://cdn.oreillystatic.com/images/sitewide-headers/oreilly_logo_mark_red_@2x.png 2x"
src=https://cdn.oreillystatic.com/images/sitewide-headers/oreilly_logo_mark_red.svg>
</a><div
id=site-footer-subfooter-donotsell><p>
<a
href="https://www.oreilly.com/privacy.html?donotsell=show" id=site-footer-subfooter-donotsell-link>
Do not sell or share my personal information
</a>.</p></div><div
id=site-footer-subfooter-copyright><p>
&copy; 2026, O'Reilly Media, Inc. All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.</p><ul
class="site-footer-list__ul--horizontal site-footer-list__ul--wrap" id=site-footer-subfooter-copyright-links>
<li><a
href=https://www.oreilly.com/terms/ >Terms of Service</a></li><li><a
href=/privacy>Privacy Policy</a></li><li><a
href=/about/editorial_independence.html>Editorial Independence</a></li><li><a
href=https://www.oreilly.com/modern-slavery-act-transparency-statement.html>Modern Slavery Act Statement</a></li></ul></div></section></div></footer>
 <script type=speculationrules>{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/radar/*"},{"not":{"href_matches":["/radar/wp-*.php","/radar/wp-admin/*","/radar/wp-content/uploads/sites/3/*","/radar/wp-content/*","/radar/wp-content/plugins/*","/radar/wp-content/themes/signal/*","/radar/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}</script> <script id=feed-loader-js-extra>var feed_ajax = {"ajaxurl":"https://www.oreilly.com/radar/wp-admin/admin-ajax.php"};
//# sourceURL=feed-loader-js-extra</script> <script src=https://www.oreilly.com/radar/wp-content/cache/minify/3/afccc.js></script> <script id=wp-emoji-settings type=application/json>
{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://www.oreilly.com/radar/wp-includes/js/wp-emoji-release.min.js?ver=6.9.4"}}
</script> <script type=module>/*<![CDATA[*//*! This file is auto-generated */
const a=JSON.parse(document.getElementById("wp-emoji-settings").textContent),o=(window._wpemojiSettings=a,"wpEmojiSettingsSupports"),s=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const a=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===a[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,a){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!a(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,a){let r;const o=(r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),s=(o.textBaseline="top",o.font="600 32px Arial",{});return e.forEach(e=>{s[e]=t(o,e,n,a)}),s}function r(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}a.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),c.toString(),p.toString()].join(",")+"));",a=new Blob([e],{type:"text/javascript"});const r=new Worker(URL.createObjectURL(a),{name:"wpTestEmojiSupports"});return void(r.onmessage=e=>{i(n=e.data),r.terminate(),t(n)})}catch(e){}i(n=f(s,u,c,p))}t(n)}).then(e=>{for(const n in e)a.supports[n]=e[n],a.supports.everything=a.supports.everything&&a.supports[n],"flag"!==n&&(a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&a.supports[n]);var t;a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&!a.supports.flag,a.supports.everything||((t=a.source||{}).concatemoji?r(t.concatemoji):t.wpemoji&&t.twemoji&&(r(t.twemoji),r(t.wpemoji)))});
//# sourceURL=https://www.oreilly.com/radar/wp-includes/js/wp-emoji-loader.min.js/*]]>*/</script> <script>// Handle the reading mode toggle
const themeToggleBtn = document.getElementById('themeToggle');
let savedTheme = localStorage.getItem('theme');
const prefersDarkTheme = window.matchMedia('(prefers-color-scheme: dark)').matches;
const prefersLightTheme = window.matchMedia('(prefers-color-scheme: light)').matches;
const theme = savedTheme || (prefersDarkTheme ? 'dark' : (prefersLightTheme ? 'light' : 'dark'));

document.documentElement.setAttribute('data-theme', theme);
themeToggleBtn.setAttribute('aria-pressed', theme === 'light');

document.addEventListener("DOMContentLoaded", () => {
  themeToggleBtn.addEventListener('click', () => {
    const isDark = document.documentElement.getAttribute('data-theme') === 'dark';
    const newTheme = isDark ? 'light' : 'dark';
    document.documentElement.setAttribute('data-theme', newTheme);
    localStorage.setItem('theme', newTheme);
    themeToggleBtn.setAttribute('aria-pressed', newTheme === 'light');


    if (typeof dataLayer !== "undefined" && Array.isArray(dataLayer)) {
      dataLayer.push({
        'event': "eventTracker",
        'eventCat': "radar",
        'eventAct': "reading mode",
        'eventLbl': newTheme,
        'eventVal': 0,
        'nonInteraction': 0
      });
    } else {
      console.warn("dataLayer is not defined. Reading mode event not tracked.");
    }
  });

  // Enable transitions only after initial setup
  requestAnimationFrame(() => {
    document.documentElement.classList.add('enableTransitions');
  });
});


window.addEventListener("scroll", function () {
  document.body.classList.toggle("scrolling", window.scrollY > 50);
});




(() => {
  /* Navigation UI and tracking script */

  // EVENTS
  const EVENT_CLOSE_MENUS = 'closemenus';

  function dispatchCloseAllMenus() {
    const customEvent = new CustomEvent(EVENT_CLOSE_MENUS);
    document.dispatchEvent(customEvent);
  }

  // OBSERVE MOBILE MENU
  function observeMobileMenu() {
    const toggles = Array.from(document.querySelectorAll('[data-mobile-toggle]'));
    if (!toggles.length) return;
    const mobileQuery = window.matchMedia('(width < 1370px)');

    toggles.forEach(observeToggle);
    mobileQuery.addEventListener('change', onMediaQueryChange);

    function observeToggle(toggle) {
      toggle.addEventListener('click', onToggle);
    }

    return function cleanup() {
      toggles.forEach((toggle) => toggle.removeEventListener('click', onToggle));
      mobileQuery.removeEventListener('change', onMediaQueryChange);
    };

    function onToggle(event) {
      const toggle = event.currentTarget;
      if (isOpen(toggle)) {
        closeMenu(toggle);
        dispatchCloseAllMenus();
      } else {
        closeAllMenus();
        openMenu(toggle);
      }
    }

    function onMediaQueryChange() {
      closeAllMenus();
      dispatchCloseAllMenus();
    }

    function closeAllMenus() {
      toggles.forEach(closeMenu);
    }

    function closeMenu(toggle) {
      const menu = selectMenu(toggle);
      document.documentElement.classList.remove('menu-open');
      toggle.setAttribute('aria-expanded', 'false');
      menu.setAttribute('hidden', '');
      menu.setAttribute('aria-hidden', 'true');
      menu.setAttribute('inert', '');
    }

    function openMenu(toggle) {
      const menu = selectMenu(toggle);
      document.documentElement.classList.add('menu-open');
      toggle.setAttribute('aria-expanded', 'true');
      menu.removeAttribute('hidden');
      menu.setAttribute('aria-hidden', 'false');
      menu.removeAttribute('inert');
    }

    function isOpen(toggle) {
      return toggle.getAttribute('aria-expanded') === 'true';
    }

    function selectMenu(toggle) {
      return document.getElementById(toggle.getAttribute('aria-controls'));
    }
  }

  // OBSERVE MOBILE POPOVERS
  function observeMobilePopovers() {
    const mobileNav = document.getElementById(
      'orm-global-mobile-pane--navigation',
    );
    const toggles = mobileNav.querySelectorAll('[aria-haspopup="true"]');
    if (!toggles.length) return;

    document.addEventListener(EVENT_CLOSE_MENUS, closeDrawers);
    toggles.forEach(observeToggle);

    function observeToggle(toggle) {
      toggle.addEventListener('click', onToggle);
    }

    return function cleanup() {
      document.removeEventListener(EVENT_CLOSE_MENUS, closeDrawers);
      toggles.forEach((toggle) => toggle.removeEventListener('click', onToggle));
    };

    function onToggle(event) {
      const toggle = event.currentTarget;
      const drawerId = toggle.getAttribute('aria-controls');
      const drawer = document.getElementById(drawerId);
      const back = document.querySelector(
        `[data-back-button-for="${drawer.id}"]`,
      );

      if (isDrawerOpen(drawer)) {
        closeDrawer(drawer, toggle);
      } else {
        openDrawer(drawer, toggle);
        back.addEventListener('click', closeDrawer.bind(null, drawer, toggle), {
          once: true,
        });
      }
    }

    function closeDrawer(drawer, toggle) {
      drawer.setAttribute('hidden', '');
      drawer.setAttribute('inert', '');
      toggle.setAttribute('aria-expanded', false);
    }

    function closeDrawers() {
      toggles.forEach((toggle) => {
        const drawerId = toggle.getAttribute('aria-controls');
        const drawer = document.getElementById(drawerId);
        closeDrawer(drawer, toggle);
      });
    }

    function isDrawerOpen(drawer) {
      return !drawer.hasAttribute('hidden');
    }

    function openDrawer(drawer, toggle) {
      drawer.removeAttribute('hidden');
      drawer.removeAttribute('inert');
      toggle.setAttribute('aria-expanded', true);
    }
  }

  // OBSERVE POPOVERS
  function observePopovers() {
    const header = document.getElementById('orm-global-site-banner');
    const navigationList = document.getElementById(
      'orm-global-site-navigation-list',
    );
    const dialogs = header.querySelectorAll('dialog');
    const toggles = header.querySelectorAll('[aria-haspopup="true"]');
    const module = { header, navigationList };
    const boundObservePopoverToggle = observePopoverToggle.bind(this, module);
    const boundObserveDialog = observeDialog.bind(this, module);

    toggles.forEach(boundObservePopoverToggle);
    dialogs.forEach(boundObserveDialog);
  }

  function observePopoverToggle(module, toggle) {
    const popoverId = toggle.getAttribute('aria-controls');
    const popover = document.getElementById(popoverId);
    toggle.addEventListener('click', togglePopover);

    function togglePopover() {
      const isOpen = popover.hasAttribute('open');
      if (isOpen) {
        closePopover(toggle, popover, module.navigationList, module.header);
      } else {
        openPopover(
          toggle,
          popover,
          module.navigationList,
          module.header,
          Number(toggle.dataset.level),
        );
      }
    }
  }

  function observeDialog(module, dialog) {
    const observer = new MutationObserver(onMutation);

    observer.observe(dialog, { attributes: true, attributeFilter: ['open'] });

    return function cleanup() {
      observer.disconnect();
    };

    function onMutation(list) {
      const dialog = list?.[0]?.target;
      const toggle = document.querySelector(`[aria-controls="${dialog.id}"]`);
      const isOpen = dialog.hasAttribute('open');

      if (isOpen) {
        document.addEventListener('click', closeOnClickOutside);
        document.addEventListener('keydown', closeOnEscape);
      } else {
        document.removeEventListener('click', closeOnClickOutside);
        document.removeEventListener('keydown', closeOnEscape);
      }

      function closeOnClickOutside(event) {
        if (module.header.contains(event.target)) return;
        closePopover(toggle, dialog, module.navigationList, module.header);
      }

      function closeOnEscape(event) {
        if (event.key !== 'Escape') return;
        closePopover(toggle, dialog, module.navigationList, module.header);
      }
    }
  }

  function closePopover(toggle, popover, list, header) {
    toggle.setAttribute('aria-expanded', 'false');
    popover.removeAttribute('open');
    const openDialogs = Array.from(header.querySelectorAll('dialog[open]'));

    if (!openDialogs.length) {
      list.classList.remove('orm-global-site-banner-list--open');
    }
  }

  function openPopover(toggle, popover, list, header, level) {
        console.log('openPopover');
    header
      .querySelectorAll(`dialog[data-level="${level + 1}"][open]`)
      .forEach((dialog) => {
        dialog.removeAttribute('open');
        dialog?.parentElement
          ?.querySelector('button')
          ?.setAttribute('aria-expanded', 'false');
      });

    toggle.setAttribute('aria-expanded', 'true');
    popover.setAttribute('open', '');

    if (level >= 1) {
      list.classList.add('orm-global-site-banner-list--open');
    } else {
      list.classList.remove('orm-global-site-banner-list--open');
    }
  }

  // TRACK FUNCTION
  function track(properties) {
    const GTM_DEFAULTS = {
      event: 'eventTracker',
      eventVal: 0,
      nonInteraction: 0,
    };

    try {
      // eslint-disable-next-line no-undef
      dataLayer.push({ ...GTM_DEFAULTS, ...properties });
    } catch (error) {
      console.error('Error tracking event:', error);
    }
  }

  // OBSERVE GTM FUNCTION
  function observeGTM() {
    const elements = document.querySelectorAll('[data-gtm]');
    if (!elements.length) return;
    elements.forEach(observeElement);

    return () => {
      elements.forEach(unObserveElement);
    };

    function observeElement(element) {
      element.addEventListener(element.dataset.gtmEvent, trackGTMEvent);
    }

    function unObserveElement(element) {
      element.removeEventListener(element.dataset.gtmEvent, trackGTMEvent);
    }

    function trackGTMEvent() {
      const properties = JSON.parse(this.dataset.gtm);
      track(properties);
    }
  }

  // Initialize the observers
  observeMobileMenu();
  observeMobilePopovers();
  observePopovers();
  observeGTM();
})();</script> <script id=MathJax-script>var math = document.getElementsByClassName('math-tex');
  if (math.length > 0) includeMathJax();
  function includeMathJax() {
    var head = document.getElementsByTagName('head')[0];
    var script = document.createElement('script');
    script.src = "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js";
    script.type = 'text/javascript';
    script.async = 'async';
    head.appendChild(script)
  }</script> <script type="text/javascript" nonce="83b45937831dc810b895269c575db828" src="/JkiNyJjM/po5abNO/HmOpZXS/zz/c77mNJzGQGNQSrca/LloSAg/PGl/uJRduLU8B"></script><link rel="stylesheet" type="text/css" nonce="83b45937831dc810b895269c575db828" href="/JkiNyJjM/po5abNO/HmOpZXS/zz/m27m/SU5vAQ/fmk/CAzhYRTpY"><script nonce="83b45937831dc810b895269c575db828" src="/JkiNyJjM/po5abNO/HmOpZXS/zz/m27m/SU5vAQ/My0/bEFkXDjQq" async defer></script><div id="sec-overlay" style="display:none;"><div id="sec-container"></div></div><script type="text/javascript" nonce="83b45937831dc810b895269c575db828" src="/JkiNyJjM/po5abNO/HmOpZXS/zz/m27mNJEYVE/Vl0cAg/PFI/2YUB-MQZt?v=a0f127b6-03c0-1811-711d-3609b87c0217" defer></script></body></html>