
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="keywords" />
<meta name="description" />
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
<meta name="robots" value="noindex, nofollow" />
<meta name="content-type" content="Page" />
<meta name="categories" content="page" />
<meta name="cludo:category" content="page" />
<link rel="canonical" href="https://www.pluralsight.com/search" />
<script data-cfasync="false">window.wcmmodedisabled = true;</script>
<script type="text/javascript" async defer src="//api7831.d41.co/sync/"></script>
<script type="text/javascript" src="//cdn-0.d41.co/tags/dnb_coretag_v4.min.js"></script>
<script data-cfasync="false">
function getParameterByName(e,n){n||(n=window.location.href),e=e.replace(/[\[\]]/g,"\\$&");var o=new RegExp("[?&]"+e+"(=([^&#]*)|&|#|$)").exec(n);return o&&o[2]?decodeURIComponent(o[2].replace(/\+/g," ")):""}function changeHistoryQueryParam(e,n,o,t,a){if(history.pushState){var i=""==window.location.search?"?":window.location.search;if(-1!==decodeURIComponent(i).indexOf(e+"=")){var d=getParameterByName(e);if(t)if(o){var c=(p=d.split(",")).indexOf(n);if(c>-1&&p.splice(c,1),0===p.length){var r=new RegExp("&?"+e+"=[^&]*","g");i=i.replace(r,"")}else i=i.replace(e+"="+encodeURIComponent(d),e+"="+encodeURIComponent(p.join(",")))}else{var p=[];d?p=d.split(","):d="",-1===p.indexOf(n)&&(p.push(n),i=i.replace(e+"="+encodeURIComponent(d),e+"="+encodeURIComponent(p.join(","))))}else if(o){r=new RegExp("&?"+e+"=[^&]*","g");i=i.replace(r,"")}else i=i.replace(e+"="+encodeURIComponent(d),e+"="+encodeURIComponent(n))}else o||(i+="?"==i?e+"="+encodeURIComponent(n):"&"+e+"="+encodeURIComponent(n));var s=window.location.protocol+"//"+window.location.host+window.location.pathname+(a?decodeURIComponent(i):i);window.history.pushState({path:s},"",s)}}function dtmEventTrigger(e,n){var o=new CustomEvent(e,{bubbles:!0,cancelable:!1,detail:n});document.querySelector("body").dispatchEvent(o)}window.loadRemoteScript=function(e,n,o,t,a){var i=document.createElement("script");i.type=n||"text/javascript",i.id=t||null,1==o&&(i.async=o||1),i.readyState?i.onreadystatechange=function(){"loaded"!=i.readyState&&"complete"!=i.readyState||(i.onreadystatechange=null,a())}:i.onload=function(){a()},i.src=("https:"==document.location.protocol?"https://":"http://")+e,document.getElementsByTagName("head")[0].appendChild(i)};var doNotTrack=document.cookie.indexOf("ps_optout=1")>-1||document.URL.indexOf("dnt=true")>-1,oneHour=36e5,oneYear=24*oneHour*365,trkDate=new Date(Date.now()+oneHour);document.cookie="ps_trk="+(doNotTrack?"0":"1")+"; expires="+trkDate.toUTCString()+"; path=/"+(document.URL.indexOf("pluralsight.com")>-1?"; domain=pluralsight.com":"");var firstVisit=-1==document.cookie.indexOf("fv=");document.cookie="fv="+(firstVisit?"1":"0")+"; expires="+new Date(Date.now()+oneYear).toUTCString()+"; path=/"+(document.URL.indexOf("pluralsight.com")>-1?"; domain=pluralsight.com":""),window.dnbData={},document.cookie.indexOf("ps_trk=1")>-1&&"undefined"!=typeof dnbvid&&dnbvid.getData("api7831","json","T",function(e){window.dnbData=e,window.promoCheck&&!window.promoCheckRan&&window.promoCheck()}),document.addEventListener("at-content-rendering-succeeded",function(){window.targetFinished=!0},!1),document.addEventListener("at-content-rendering-failed",function(){window.targetFinished=!0},!1),document.addEventListener("at-content-rendering-no-offers",function(){window.targetFinished=!0},!1);
</script>
<script data-cfasync="false" src="/etc/clientlibs/pluralsight/main/js/separates/jquery-3.2.1.min.js"></script>
<link rel="stylesheet" href="/etc/clientlibs/pluralsight/uber.min.2fa8980633923a6eca61a35bb9a95f46.css" type="text/css">
<link rel="preload" id="font-preloader" href="//cloud.typography.com/6966154/7969012/css/fonts.css" as="style" onload="if (document.querySelector('body')){ document.querySelector('body').classList.remove('font-loading');this.onload=null;this.rel='stylesheet' }" />
<script>
        window.onload = function(){
            if (jQuery('link[rel="stylesheet"][href*="cloud.typography.com"]').length == 0){
                //typography didn't load - browser may not support preload.
                jQuery('link[href*="cloud.typography.com"]').remove();
                var link = document.createElement('link');
                link.rel = 'stylesheet';
                link.type = 'text/css';
                link.href = '//cloud.typography.com/6966154/7969012/css/fonts.css';
                document.getElementsByTagName('HEAD')[0].appendChild(link);
                document.querySelector('body').classList.remove('font-loading');
            }
        };
    </script>
<noscript><style>
        .font-loading .title2 h1.title-font-tungsten,
        .font-loading .title2 h2.title-font-tungsten,
        .font-loading .title2 h3.title-font-tungsten,
        .font-loading .title2 h4.title-font-tungsten,
        .font-loading .title2 h5.title-font-tungsten,
        .font-loading .title2 h6.title-font-tungsten {
            display:block !important;
        }
    </style></noscript>
<script data-cfasync="false">
var appHost="beta.www-stage.pluralsight.com"==window.location.host?"https://app-stage.pluralsight.com":"https://app.pluralsight.com",pagePath=window.location.pathname,redirectPath="",appRedirectTag=document.head.querySelector("[name~='appRedirectPath'][content]");if(appRedirectTag&&(redirectPath=appRedirectTag.content.toString()),!window.is404){if(0==pagePath.indexOf("/product/channels")&&(redirectPath="/channels",document.URL.indexOf("cid=")>-1&&(redirectPath="/channels/details/"+getParameterByName("cid"))),pagePath.indexOf("/achievements")>-1&&"URLSearchParams"in window){var urlParams=new URLSearchParams(window.location.search),badgeID=urlParams.get("badge");redirectPath="/achievements/badges/"+badgeID}if(document.cookie.indexOf("www-status-production=")>-1&&-1==document.cookie.indexOf("midCheckout")&&("www.pluralsight.com"==window.location.host||"beta.www.pluralsight.com"==window.location.host)||document.cookie.indexOf("www-status-staging=")>-1&&-1==document.cookie.indexOf("midCheckout")&&("www-stage.pluralsight.com"==window.location.host||"beta.www-stage.pluralsight.com"==window.location.host)){var aidParam=getParameterByName("aid"),vidParam=getParameterByName("vid"),paramsString="";""!==aidParam&&(paramsString+=(paramsString.indexOf("?")>-1?"&":"?")+"aid="+aidParam),""!==vidParam&&(paramsString+=(paramsString.indexOf("?")>-1?"&":"?")+"vid="+vidParam),""!==redirectPath&&-1===document.URL.indexOf("show=home")?window.location=appHost+redirectPath+paramsString:jQuery(document).ready(function(){var a=appHost+"/id/dashboard",t=jQuery(".header_sign_up_link");t.text("My Dashboard"),t.attr("href",a),t.attr("title","My Dashboard"),jQuery(".header_sign_in_link").attr("style","display: none !important")})}else 0!=pagePath.indexOf("/customer/")||"www-stage.pluralsight.com"!=window.location.host&&"beta.www-stage.pluralsight.com"!=window.location.host&&"www.pluralsight.com"!=window.location.host&&"beta.www.pluralsight.com"!=window.location.host||-1!=document.cookie.indexOf("midCheckout")?""!=redirectPath?jQuery(document).ready(function(){jQuery(".sign_in_link").attr("href",appHost+"/id?redirectTo="+encodeURIComponent(redirectPath))}):jQuery(document).ready(function(){jQuery(".sign_in_link").attr("href",appHost+"/id?")}):window.location=appHost+"/id?redirectTo="+encodeURIComponent(document.URL)}
</script>
<meta data-customer-type="no-type" />
<meta data-customer-type-ignore="false" />
<script data-cfasync="false">
    document.cookie.indexOf("ps_si=")>-1&&(window.selectedInterest=document.cookie.split("ps_si=")[1].split(";")[0]),document.cookie.indexOf("ps_sct=")>-1&&(window.selectedConsumerType=document.cookie.split("ps_sct=")[1].split(";")[0]);var customerType,customerTypeTag=document.head.querySelector("meta[data-customer-type]").getAttribute("data-customer-type"),customerTypeIgnore=document.head.querySelector("meta[data-customer-type-ignore]").getAttribute("data-customer-type-ignore");customerTypeTag&&"true"!==customerTypeIgnore&&"string"==typeof customerTypeTag&&("pluralsight-customer-type:individual"===customerTypeTag?customerType="individual":"pluralsight-customer-type:business"===customerTypeTag&&(customerType="business"),customerType&&"pluralsight-customer-type:escape"!==customerTypeTag&&setSelectedConsumerType(customerType));function setSelectedInterest(e){var t=new Date;t.setTime(t.getTime()+6048e5),document.cookie="ps_si="+e+"; expires="+t.toUTCString()+"; path=/",window.selectedInterest=e}function setSelectedConsumerType(e){var t=new Date;t.setTime(t.getTime()+6048e5),document.cookie="ps_sct="+e+"; expires="+t.toUTCString()+"; path=/",window.selectedConsumerType=e}function setSelectedBusinessType(e){var t=new Date;t.setTime(t.getTime()+6048e5),document.cookie="ps_sbt="+e+"; expires="+t.toUTCString()+"; path=/",window.selectedBusinessType=e}if(document.URL.indexOf("b2c-price=true")>-1?setSelectedConsumerType("individual"):document.URL.indexOf("b2b-price=true")>-1&&setSelectedConsumerType("business"),document.cookie.indexOf("ps_sbt=")>-1&&(window.selectedBusinessType=document.cookie.split("ps_sbt=")[1].split(";")[0]),-1==document.cookie.indexOf("drift_ab")){var driftAbDate=new Date;driftAbDate.setTime(driftAbDate.getTime()+6048e5);var driftAb=0==Math.floor(2*Math.random())?"A":"B";document.cookie="drift_ab="+driftAb+"; expires="+driftAbDate.toUTCString()+"; path=/"}var inflDate=new Date;inflDate.setTime(inflDate.getTime()+18e5);var visNumDate=new Date;if(visNumDate.setTime(visNumDate.getTime()+31536e6),document.cookie.indexOf("ps_infl")>-1){var infl=document.cookie.split("ps_infl=")[1].split(";")[0];document.cookie="ps_infl="+infl+"; expires="+inflDate.toUTCString()+"; path=/"}else{var visNum=1;document.cookie.indexOf("ps_visNum")>-1&&(visNum=parseInt(document.cookie.split("ps_visNum=")[1].split(";")[0])+1),document.cookie="ps_visNum="+visNum+"; expires="+visNumDate.toUTCString()+"; path=/",getParameterByName("aid")||getParameterByName("vid")||""!=document.referrer&&-1==document.referrer.indexOf("pluralsight.com")?document.cookie="ps_infl=1; expires="+inflDate.toUTCString()+"; path=/":document.cookie="ps_infl=0; expires="+inflDate.toUTCString()+"; path=/"}
</script>
<script src="//assets.adobedtm.com/launch-EN123ab280156b405ca2abf6acf664d9a0.min.js" async></script>
<link rel="apple-touch-icon" sizes="57x57" href="/etc/clientlibs/pluralsight/main/images/favicons/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/etc/clientlibs/pluralsight/main/images/favicons/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/etc/clientlibs/pluralsight/main/images/favicons/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/etc/clientlibs/pluralsight/main/images/favicons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/etc/clientlibs/pluralsight/main/images/favicons/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/etc/clientlibs/pluralsight/main/images/favicons/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/etc/clientlibs/pluralsight/main/images/favicons/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/etc/clientlibs/pluralsight/main/images/favicons/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/etc/clientlibs/pluralsight/main/images/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="/etc/clientlibs/pluralsight/main/images/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="/etc/clientlibs/pluralsight/main/images/favicons/android-chrome-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="/etc/clientlibs/pluralsight/main/images/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="/etc/clientlibs/pluralsight/main/images/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="/etc/clientlibs/pluralsight/main/images/favicons/manifest.json">
<link rel="mask-icon" href="/etc/clientlibs/pluralsight/main/images/favicons/safari-pinned-tab.svg" color="#e71585">
<link rel="shortcut icon" href="/etc/clientlibs/pluralsight/main/images/favicons/favicon.ico">
<meta name="msapplication-TileColor" content="#e71585">
<meta name="msapplication-TileImage" content="/etc/clientlibs/pluralsight/main/images/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="/etc/clientlibs/pluralsight/main/images/favicons/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
<title>Search | Pluralsight</title>
<meta property="og:title" content="Search" />
<meta name="twitter:title" content="Search" />
</head>
<body class="mode-disabled search-template font-loading">
<div class="site-wrap">
<div class="nav-context ">
<noindex>
<nav class="ps-nav" role="navigation">
<div class="ps-nav--inner">
<div class="ps-nav--brand"><a href="/" class="ps-nav--logo"></a></div>
<div class="ps-nav--links" style="display: none;">
<ul class="ps-nav--main">
<li>
<a href="#" class="ps-nav--primary" data-aa-header-title="Products">Products <span><i class="ps-nav--arrow"></i></span></a>
<div class="header_dropdown" style="display:none;">
<div id="header_tabs--products" class="container-sm">
<div class="closebutton " tabindex="3"></div>
<div class="header_tabs_content--container">
<div class="header_tabs_column">
<div class="link-items">
<div class="link-products">
<a href="/product/skills">
<img src="/etc/clientlibs/pluralsight/main/images/Skill_logo_white.png" alt="Skills logo" />
<div>Technology skill development</div></a>
</div>
<ul>
<li><a href="/product/skills">Overview</a></li>
<li class="link-item--title">Solutions for</li>
<li class="link-item"><a href="/product/skills/personal">Personal use</a></li>
<li class="link-item"><a href="/product/skills/software-dev">Software Dev teams</a></li>
<li class="link-item"><a href="/product/skills/it-ops">IT Ops teams</a></li>
<li class="link-item"><a href="/product/skills/security">Security teams</a></li>
<li class="cta-item"><a href="/pricing/skills">View plans</a></li>
</ul>
</div>
</div>
<div class="header_tabs_column">
<div class="link-items">
<div class="link-products">
<a href="/product/flow">
<img src="/etc/clientlibs/pluralsight/main/images/Flow_Logo_white.png" alt="Flow logo" />
<div>Data &amp; visibility for dev teams</div></a>
</div>
<ul>
<li><a href="/product/flow">Overview</a></li>
<li class="link-item--title">Visibility for</li>
<li class="link-item"><a href="/product/flow/managers">Managers</a></li>
<li class="link-item"><a href="/product/flow/engineers">Engineers</a></li>
<li class="link-item"><a href="/product/flow/product-leaders">Product leaders</a></li>
<li class="link-item"><a href="/product/flow/executives">Executives</a></li>
<li class="cta-item"><a href="/pricing/flow">View plans</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="ps-nav--courses">
<a href="#" class="ps-nav--primary" data-aa-header-title="Courses">Courses <span><i class="ps-nav--arrow"></i></span></a>
<div class="header_dropdown" style="display:none;">
<div id="header_tabs" class="container-lg">
<div class="closebutton " tabindex="3"></div>
<ul>
<li class="link-items--title show-medium">Categories</li>
<li class="header_roles software-development header_tabs_link active" data-tab="software-development">
<a href="/browse/software-development">Software Development</a>
</li>
<li class="header_roles it-ops header_tabs_link" data-tab="it-ops">
<a href="/browse/it-ops">IT Ops</a>
</li>
<li class="header_roles data-professional header_tabs_link" data-tab="data-professional">
<a href="/browse/data-professional">Data Professional</a>
</li>
<li class="header_roles info-cybersecurity header_tabs_link" data-tab="info-cybersecurity">
<a href="/browse/information-cyber-security">Information &amp; Cyber Security</a>
</li>
<li class="header_roles architecture-construction header_tabs_link" data-tab="browse-all">
<a>Browse all technologies</a>
</li>
</ul>
<div id="software-development" class="header_tabs_content active">
<div class="header_tabs_content--container">
<div class="header_tabs_column">
<ul class="header_topics_menu">
<li class="first">Courses</li>
<li><a href="/browse/software-development/python">Python</a></li>
<li><a href="/browse/software-development/javascript">JavaScript</a></li>
<li><a href="/browse/software-development/java">Java</a></li>
<li><a href="/browse/software-development/c-sharp">C#</a></li>
<li><a href="/browse/software-development/web-development">Web Development</a></li>
<li><a href="/browse/software-development/mobile-development">Mobile Development</a></li>
<li class="last"><a href="/browse">View all courses &gt;</a></li>
</ul>
</div>
<div class="header_tabs_column paths">
<ul>
<li class="first">Paths</li>
<li>
<div class="item">
<a href="/paths/javascript-core-language">
<div class="item-each">
<div class="item-image"><img alt="JavaScript" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight.imgix.net/paths/path-icons/javascript-36f5949a45.png?w=60" /></div>
<div class="item-text">
JavaScript
<ul>
<li><span>9</span> Courses</li>
<li><span>21</span> Hours</li>
</ul>
</div>
</div>
</a>
</div>
</li>
<li>
<div class="item">
<a href="/paths/angular-js">
<div class="item-each">
<div class="item-image"><img alt="AngularJS" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight.imgix.net/paths/path-icons/angular-14a0f6532f.png?w=60" /></div>
<div class="item-text">
AngularJS
<ul>
<li><span>14</span> Courses</li>
<li><span>55</span> Hours</li>
</ul>
</div>
</div>
</a>
</div>
</li>
<li>
<div class="item">
<a href="/paths/java">
<div class="item-each">
<div class="item-image"><img alt="Java" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight.imgix.net/paths/path-icons/java-79830005fe.png?w=60" /></div>
<div class="item-text">
Java
<ul>
<li><span>13</span> Courses</li>
<li><span>48</span> Hours</li>
</ul>
</div>
</div>
</a>
</div>
</li>
<li class="last">
<a href="/product/paths">View all paths &gt;</a>
</li>
</ul>
</div>
<div class="header_tabs_column paths assessments">
<ul>
<li class="first">Assessments</li>
<li>
<div class="item">
<a href="/paths/angular">
<div class="item-each">
<div class="item-image"><img alt="Angular" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight.imgix.net/paths/path-icons/angular-14a0f6532f.png?w=60" /></div>
<div class="item-text">
Angular
<ul>
<li>Get your <span>Skill IQ</span></li>
</ul>
</div>
</div>
</a>
</div>
</li>
<li>
<div class="item">
<a href="/paths/csharp">
<div class="item-each">
<div class="item-image"><img alt="Node.js" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight.imgix.net/paths/path-icons/csharp-e7b8fcd4ce.png?w=60" /></div>
<div class="item-text">
C#
<ul>
<li>Get your <span>Skill IQ</span></li>
</ul>
</div>
</div>
</a>
</div>
</li>
<li>
<div class="item">
<a href="/paths/core-python">
<div class="item-each">
<div class="item-image"><img alt="Python" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight.imgix.net/paths/python-7be70baaac.png?w=60" /></div>
<div class="item-text">
Core Python
<ul>
<li>Get your <span>Skill IQ</span></li>
</ul>
</div>
</div>
</a>
</div>
</li>
<li class="last">
<a href="/product/skill-iq">View all assessments &gt;</a>
</li>
</ul>
</div>
</div>
</div>
<div id="it-ops" class="header_tabs_content">
<div class="header_tabs_content--container">
<div class="header_tabs_column">
<ul>
<li class="first">Courses</li>
<li><a href="/browse/it-ops/it-certifications">IT Certifications</a></li>
<li><a href="/browse/it-ops/it-networking">IT Networking</a></li>
<li><a href="/browse/it-ops/security">Security</a></li>
<li><a href="/browse/it-ops/database-administration">Database Administration</a></li>
<li><a href="/browse/it-ops/virtualization">Virtualization</a></li>
<li><a href="/browse/it-ops/servers">Servers</a></li>
<li class="last"><a href="/browse">View all courses &gt;</a></li>
</ul>
</div>
<div class="header_tabs_column paths">
<ul>
<li class="first">Paths</li>
<li>
<div class="item">
<a href="/paths/fundamentals-of-it-operations-skill">
<div class="item-each">
<div class="item-image"><img alt="Fundamentals of IT Operations" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight.imgix.net/paths/path-icons/fundamentals-of-it-operations-95797723fe.png?w=60" /></div>
<div class="item-text">
Fundamentals of IT Operations
<ul>
<li><span>29</span> Courses</li>
<li><span>87</span> Hours</li>
</ul>
</div>
</div>
</a>
</div>
</li>
<li>
<div class="item">
<a href="/paths/comptia-a-220-1001-and-220-1002">
<div class="item-each">
<div class="item-image"><img alt="CompTIA A+" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight.imgix.net/paths/path-icons/server-admin-windows-9e9af6b278.png?w=60" /></div>
<div class="item-text">
CompTIA A+
<ul>
<li><span>11</span> Courses</li>
<li><span>40</span> Hours</li>
</ul>
</div>
</div>
</a>
</div>
</li>
<li>
<div class="item">
<a href="/paths/comptia-network-n10-007">
<div class="item-each">
<div class="item-image"><img alt="CompTIA Network+ (N10-007)" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight.imgix.net/paths/path-icons/networks-d4455e1c98.png?w=60" /></div>
<div class="item-text">
CompTIA Network+
<ul>
<li><span>5</span> Courses</li>
<li><span>16</span> Hours</li>
</ul>
</div>
</div>
</a>
</div>
</li>
<li class="last">
<a href="/product/paths">View all paths &gt;</a>
</li>
</ul>
</div>
<div class="header_tabs_column paths assessments">
<ul>
<li class="first">Assessments</li>
<li>
<div class="item">
<a href="/paths/planning-microsoft-azure-infrastructure">
<div class="item-each">
<div class="item-image"><img alt="Planning Microsoft Azure Infrastructure" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight2.imgix.net/paths/images/azure-blue-b11372258d.png?w=60" /></div>
<div class="item-text">
Planning Microsoft Azure Infrastructure
<ul>
<li>Get your <span>Skill IQ</span></li>
</ul>
</div>
</div>
</a>
</div>
</li>
<li>
<div class="item">
<a href="/paths/networking-fundamentals">
<div class="item-each">
<div class="item-image"><img alt="Networking Fundamentals" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight2.imgix.net/paths/images/networks-484b57170b.png?w=60" /></div>
<div class="item-text">
Networking Fundamentals
<ul>
<li>Get your <span>Skill IQ</span></li>
</ul>
</div>
</div>
</a>
</div>
</li>
<li>
<div class="item">
<a href="/paths/understanding-devops">
<div class="item-each">
<div class="item-image"><img alt="Understanding Dev Ops" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight2.imgix.net/paths/images/devops-18b91372ed.png?w=60" /></div>
<div class="item-text">
Understanding Dev Ops
<ul>
<li>Get your <span>Skill IQ</span></li>
</ul>
</div>
</div>
</a>
</div>
</li>
<li class="last">
<a href="/product/pluralsight-iq">View all assessments &gt;</a>
</li>
</ul>
</div>
</div>
</div>
<div id="data-professional" class="header_tabs_content">
<div class="header_tabs_content--container">
<div class="header_tabs_column">
<ul>
<li class="first">Courses</li>
<li><a href="/browse/data-professional/big-data">Big Data</a></li>
<li><a href="/browse/data-professional/business-intelligence-data-pro">Business Intelligence</a></li>
<li><a href="/browse/data-professional/sql">SQL</a></li>
<li><a href="/browse/data-professional/tableau">Tableau</a></li>
<li><a href="/browse/data-professional/oracle">Oracle</a></li>
<li><a href="/browse/data-professional/sql-server">SQL Server</a></li>
<li class="last"><a href="/browse">View all courses &gt;</a></li>
</ul>
</div>
<div class="header_tabs_column paths">
<ul>
<li class="first">Paths</li>
<li>
<div class="item">
<a href="/paths/the-scrum-framework">
<div class="item-each">
<div class="item-image"><img alt="Using the Scrum Framework" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight2.imgix.net/paths/images/scrum-a5c44d8364.png?w=60" /></div>
<div class="item-text">
Using the Scrum Framework
<ul>
<li><span>7</span> Courses</li>
<li><span>13</span> Hours</li>
</ul>
</div>
</div></a>
</div>
</li>
<li>
<div class="item">
<a href="/paths/microsoft-azure-compute-for-developers">
<div class="item-each">
<div class="item-image"><img alt="Microsoft Azure For Developers" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight2.imgix.net/paths/images/group-policy-administration-ee0dacafe8.png?w=60" /></div>
<div class="item-text">
Microsoft Azure Compute for Developers
<ul>
<li><span>7</span> Courses</li>
<li><span>20</span> Hours</li>
</ul>
</div>
</div></a>
</div>
</li>
<li>
<div class="item">
<a href="/paths/upgrading-your-technology-career-skill">
 <div class="item-each">
<div class="item-image"><img alt="Upgrading Your Technology Career" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight2.imgix.net/paths/images/fundamentals-of-it-operations-95797723fe.png?w=60" /></div>
<div class="item-text">
Upgrading Your Technology Career
<ul>
<li><span>28</span> Courses</li>
<li><span>51</span> Hours</li>
</ul>
</div>
</div></a>
</div>
</li>
<li class="last">
<a href="/product/paths">View all paths &gt;</a>
</li>
</ul>
</div>
<div class="header_tabs_column paths assessments">
<ul>
<li class="first">Assessments</li>
<li>
<div class="item">
<a href="/paths/csharp">
<div class="item-each">
<div class="item-image"><img alt="C#" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight.imgix.net/paths/path-icons/csharp-e7b8fcd4ce.png?w=60" /></div>
<div class="item-text">
C#
<ul>
<li>Get your <span>Skill IQ</span></li>
</ul>
</div>
</div></a>
</div>
</li>
<li>
<div class="item">
<a href="/paths/mysql">
<div class="item-each">
<div class="item-image"><img alt="MySQL" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight.imgix.net/paths/mysql-e0720d7b98.png?w=60" /></div>
<div class="item-text">
MySQL
<ul>
<li>Get your <span>Skill IQ</span></li>
</ul>
</div>
</div></a>
</div>
</li>
<li>
<div class="item">
<a href="/paths/google-android-associate-developer-aad">
<div class="item-each">
<div class="item-image"><img alt="Android" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight.imgix.net/paths/path-icons/android-53f8da146d.png?w=60" /></div>
<div class="item-text">
Android
<ul>
<li>Get your <span>Skill IQ</span></li>
</ul>
</div>
</div></a>
</div>
</li>
<li class="last">
<a href="/product/pluralsight-iq">View all assessments &gt;</a>
</li>
</ul>
</div>
</div>
</div>
<div id="info-cybersecurity" class="header_tabs_content">
<div class="header_tabs_content--container">
<div class="header_tabs_column">
<ul>
<li class="first">Courses</li>
<li><a href="/browse/information-cyber-security">Cyber Security</a></li>
<li><a href="/browse/information-cyber-security/security-certifications">Security Certifications</a></li>
<li><a href="/browse/information-cyber-security/penetration-testing">Penetration Testing</a></li>
<li><a href="/browse/information-cyber-security/security-auditing">Security Auditing</a></li>
<li><a href="/browse/information-cyber-security/malware-analysis">Malware Analysis</a></li>
<li><a href="/browse/information-cyber-security/security-fundamentals">Security Fundamentals</a></li>
<li class="last"><a href="/browse">View all courses &gt;</a></li>
</ul>
</div>
<div class="header_tabs_column paths">
<ul>
<li class="first">Paths</li>
<li>
<div class="item">
<a href="/paths/ethical-hacking-fundamentals">
<div class="item-each">
<div class="item-image"><img alt="Ethical Hacking Fundamentals" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight2.imgix.net/paths/images/comptia-security-plus-a8fd4b7c89.png?w=60" /></div>
<div class="item-text">
Ethical Hacking Fundamentals
<ul>
<li><span>21</span> Courses</li>
<li><span>79</span> Hours</li>
</ul>
</div>
</div>
</a>
</div>
</li>
<li>
<div class="item">
<a href="/paths/comptia-cysa-cs0-002">
<div class="item-each">
<div class="item-image"><img alt="CompTIA CySA+ (CS0-002)" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight2.imgix.net/paths/images/comptia-security-plus-a8fd4b7c89.png?w=60" /></div>
<div class="item-text">
CompTIA CySA+ (CS0-002)
<ul>
<li><span>8</span> Courses</li>
<li><span>11</span> Hours</li>
</ul>
</div>
</div>
</a>
</div>
</li>
<li>
<div class="item">
<a href="/paths/sscpr-systems-security-certified-practitioner">
<div class="item-each">
<div class="item-image"><img alt="SSCP® (Systems Security Certified Practitioner)" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight.imgix.net/paths/path-icons/info-security-5d8ab8e621.png?w=60" /></div>
<div class="item-text">
SSCP
<ul>
<li><span>11</span> Courses</li>
<li><span>19</span> Hours</li>
</ul>
</div>
</div>
</a>
</div>
</li>
<li class="last">
<a href="/product/paths">View all paths &gt;</a>
</li>
</ul>
</div>
<div class="header_tabs_column paths assessments">
<ul>
<li class="first">Assessments</li>
<li>
<div class="item">
<a href="/paths/security-fundamentals">
<div class="item-each">
<div class="item-image"><img alt="Security Fundamentals" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight2.imgix.net/paths/images/comptia-security-plus-5d8ab8e621.png?w=60" /></div>
<div class="item-text">
Security Fundamentals
<ul>
<li>Get your <span>Skill IQ</span></li>
</ul>
</div>
</div>
</a>
</div>
</li>
<li>
<div class="item">
<a href="/paths/security-for-hackers-and-developers">
<div class="item-each">
<div class="item-image"><img alt="Security for Hackers and Developers" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="https://pluralsight2.imgix.net/paths/images/comptia-security-plus-5d8ab8e621.png?w=60" /></div>
<div class="item-text">
Security for Hackers and Developers
<ul>
<li>Get your <span>Skill IQ</span></li>
</ul>
</div>
</div>
</a>
</div>
</li>
<li class="last">
<a href="/product/pluralsight-iq">View all assessments &gt;</a>
</li>
</ul>
</div>
</div>
</div>
<div id="browse-all" class="header_tabs_content">
<div class="header_tabs_content--container">
<div class="header_tabs_column paths browse">
<ul>
<li>
<div class="item">
<a href="/browse/software-development">
<div class="item-each">
<div class="item-image"><img alt="" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/global/header/software_development.png" /></div>
<div class="item-text">
Software Development
</div>
</div></a>
</div>
</li>
<li>
<div class="item">
<a href="/browse/it-ops">
<div class="item-each">
<div class="item-image"><img alt="" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/global/header/it_ops.png" /></div>
<div class="item-text">
IT Ops
</div>
</div></a>
</div>
</li>
<li>
<div class="item">
<a href="/browse/data-professional">
<div class="item-each">
<div class="item-image"><img alt="" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/global/header/data_professional.png" /></div>
<div class="item-text">
Data Professional
</div>
</div></a>
</div>
</li>
<li>
<div class="item">
<a href="/browse/architecture-construction">
<div class="item-each">
<div class="item-image"><img alt="" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/global/header/architecture_construction.png" /></div>
<div class="item-text">
Architecture &amp; Construction
</div>
</div></a>
</div>
</li>
<li>
<div class="item">
<a href="/browse/manufacturing-design">
<div class="item-each">
<div class="item-image"><img alt="" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/global/header/manufacturing_design.png" /></div>
<div class="item-text">
Manufacturing &amp; Design
</div>
</div></a>
</div>
</li>
</ul>
</div>
<div class="header_tabs_column paths browse">
<ul>
<li>
<div class="item">
<a href="/browse/cloud-computing">
<div class="item-each">
<div class="item-image"><img alt="" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/global/header/cloud.png" /></div>
<div class="item-text">
Cloud Computing
</div>
</div></a>
</div>
</li>
<li>
<div class="item">
<a href="/browse/machine-learning">
<div class="item-each">
<div class="item-image"><img alt="" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/global/header/machine-learning.png" /></div>
<div class="item-text">
Machine Learning / AI
</div>
</div></a>
</div>
</li>
<li>
<div class="item">
<a href="/browse/business-professional">
<div class="item-each">
<div class="item-image"><img alt="" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/global/header/business_professional.png" /></div>
<div class="item-text">
Business Professional
</div>
</div></a>
</div>
</li>
<li>
<div class="item">
<a href="/browse/information-cyber-security">
<div class="item-each">
<div class="item-image"><img alt="" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/global/header/information_security.png" /></div>
<div class="item-text">
Information &amp; Cyber Security
</div>
</div></a>
</div>
</li>
<li>
<div class="item">
<a href="/browse/creative-professional">
<div class="item-each">
<div class="item-image"><img alt="" src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/global/header/creative_professional.png" /></div>
<div class="item-text">
Creative Professional
</div>
</div></a>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</li>
<li>
<a href="/pricing" class="ps-nav--primary">View plans</a>
</li>
<li>
<a href="#" class="ps-nav--primary" data-aa-header-title="Resources">Resources <span><i class="ps-nav--arrow"></i></span></a>
<div class="header_dropdown" style="display: none;">
<div id="header_tabs--resources" class="container-lg">
<div class="closebutton " tabindex="3"></div>
<div class="header_tabs_content--container">
<div class="header_tabs_column">
<div class="link-items">
<a href="/blog">
<div>Blog</div>
<div>Stay up to date on what's happening in technology, leadership, skill development and more.</div>
</a>
</div>
</div>
<div class="header_tabs_column">
<div class="link-items">
<a href="/customer-stories">
<div>Customer Stories</div>
<div>See how companies around the world build tech skills at scale and improve engineering impact.</div>
</a>
</div>
</div>
<div class="header_tabs_column">
<div class="link-items">
<a href="/resource-center/webinars">
 <div>Webinars</div>
<div>Join us for practical tips, expert insights and live Q&amp;A with our top experts.</div>
</a>
</div>
</div>
<div class="header_tabs_column live-items">
<div class="link-items">
<a href="/live"><div>LIVE 2020</div></a>
<div>The ultimate tech skills conference.</div>
<a href="/live-europe"><div>LIVE Europe</div></a>
</div>
</div>
</div>
</div>
</div>
</li>
</ul>
<ul class="ps-nav--util">
<li class="ps-nav--contact">
<div class="euro-phone-number euro-number-desktop">






</div>
</li>
<li class="ps-nav--search">
<a href="#" class="ps-nav--primary">
<svg viewBox="0 0 797 801" width="20" height="20" x="0px" y="0px">
<path fill="white" stroke="white" stroke-width="40" class="st0" d="M763.6,743.8L508.9,490c22.5-24.3,40-51.9,52.5-82.6s19-64.1,19.6-100c-2.4-77.3-29.2-141.2-80.3-191.7
            S386.3,39,310.8,37.2c-79.7,1.8-145,28-195.8,78.5S37.9,230.1,36,307.4c2.4,77.3,29.2,141.2,80.3,191.7s114.4,76.7,189.9,78.5
            c34.1-0.6,65.7-6.4,94.9-17.3c29.2-11,56-26.5,80.3-46.6l253.8,254.7L763.6,743.8z M306.3,537.5c-65.1-1.8-119.3-24.3-162.5-67.6
            S78,372.6,76.2,307.4c1.8-65.1,24.3-119.4,67.6-163s97.4-66.2,162.5-68c65.1,1.8,119.4,24.5,163,68s66.2,97.8,68,163
            c-1.8,65.1-24.5,119.3-68,162.5S371.4,535.7,306.3,537.5z" />
</svg>
</a>
<div class="header_dropdown" style="display:none;">
<div id="header_tabs--search" class="container-lg">
<div class="header_tabs_content--container">
<div class="closebutton" tabindex="3"></div>
<div class="header_nav--menu header_nav_search">
<div class="header_search search-button__component">
<form id="header_searchForm" class="header_search--form">
<input type="text" name="q" class="header_search--input" placeholder="Search Pluralsight" autocomplete="off" tabindex="2" />
</form>
<a href="/search" class="hidden header_search--url"></a>
</div>
</div>
<div id="header-search-results-all" class="header_tabs_content--container">
<div id="search-menu__results-dropdown" class="header_tabs_column">
<div id="header_dropdown--resultList"></div>
<div id="header_dropdown--resultListCourses"></div>
</div>
<div class="header_tabs_column paths">
<div id="header_dropdown--resultListPaths"></div>
</div>
</div>
</div>
</div>
<script id="header-search-categories-templates-partial" type="text/x-handlebars-template">
    {{#compare this.name '===' 'courses'}}
    <ul class="header_dropdown--lists">
        <li class="first">{{{this.name}}}</li>
        {{#each this.results}}
            <li><a href="{{formatCourseURL this.courseName 'course'}}">{{{this.title}}}</a></li>
        {{/each}}
        <li class="last"><a class="view-all-link" data-tab-param="{{mapResultSetNameToTabName this.name}}" data-categories="{{this.name}}">See more results &gt;</a></li>
    </ul>
    {{/compare}}
</script>
</div>
</li>
<li class="ps-nav--cta">
<a href="#" class="ps-nav--primary">Sign in <span><i class="ps-nav--arrow"></i></span></a>
<div class="header_dropdown" style="display: none;">
<div id="header_tabs--signin" class="container-sm">
<div class="closebutton " tabindex="3"></div>
<div class="header_tabs_content--container">
<div class="header_tabs_column">
<div class="link-items">
<a href="https://app.pluralsight.com/id">
<div>Sign in with</div>
<img src="/etc/clientlibs/pluralsight/main/images/Skill_logo_white.png" width="120" alt="Skills logo" />
</a>
</div>
</div>
<div class="header_tabs_column">
<div class="link-items">
<a href="https://app.pluralsight.com/id?redirectTo=https%3a%2f%2fflow.pluralsight.com%2f">
<div>Sign in with</div>
<img src="/etc/clientlibs/pluralsight/main/images/Flow_Logo_white.png" width="120" alt="Flow logo" />
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="ps-nav--cta ps-nav--cta__ft">
<a href="/pricing/free-trial" class="button button--secondary--white">Try for free</a>
</li>
</ul>
</div>
<div class="ps-nav--hamburger ">
<a id="searchMobile" href="#">
<svg viewBox="0 0 797 801" width="20" height="20" x="0px" y="0px">
<path fill="white" stroke="white" stroke-width="40" class="st0" d="M763.6,743.8L508.9,490c22.5-24.3,40-51.9,52.5-82.6s19-64.1,19.6-100c-2.4-77.3-29.2-141.2-80.3-191.7
            S386.3,39,310.8,37.2c-79.7,1.8-145,28-195.8,78.5S37.9,230.1,36,307.4c2.4,77.3,29.2,141.2,80.3,191.7s114.4,76.7,189.9,78.5
            c34.1-0.6,65.7-6.4,94.9-17.3c29.2-11,56-26.5,80.3-46.6l253.8,254.7L763.6,743.8z M306.3,537.5c-65.1-1.8-119.3-24.3-162.5-67.6
            S78,372.6,76.2,307.4c1.8-65.1,24.3-119.4,67.6-163s97.4-66.2,162.5-68c65.1,1.8,119.4,24.5,163,68s66.2,97.8,68,163
            c-1.8,65.1-24.5,119.3-68,162.5S371.4,535.7,306.3,537.5z" />
</svg>
</a>
<a id="menuMobile" href="#">
<div class="ps-nav--mobileMenu"></div>
<div class="ps-nav--mobileMenu"></div>
<div class="ps-nav--mobileMenu"></div>
</a>
</div>
</div>
</nav>
<div class="header_padding ps_header_padding"></div>
</noindex>
<div id="site-promo" style="display:none;">
<div id="site-promo-content"></div>
<div class="promo-close-button">&times;</div>
</div>
<script>
var noDBpromo=!0;function showPromoIfPermitted(){-1!=document.cookie.indexOf("site-promo-closed=1")&&!window.blockPromoHide||(-1<jQuery("#site-promo .promo-wrapper-contents").length&&""!=jQuery("#site-promo .promo-wrapper-contents").html().trim()&&jQuery("#site-promo").show(),jQuery("#site-promo .promo-close-button").click(function(){var o=new Date;o.setTime(o.getTime()+432e5),document.cookie="site-promo-closed=1; expires="+o.toUTCString()+"; path=/",jQuery("#site-promo").slideUp(300)}),window.promoShown=!0,window.setStickies&&window.setStickies(),dtmEventTrigger("ps.promoShown",{}))}function promoCheck(){var o,s,n,t,e;window.promoCheckRan=!0,(-1<document.URL.indexOf("b2b=true")||-1<document.URL.indexOf("nopromos=true"))&&((o=new Date).setTime(o.getTime()+6048e5),document.cookie="nopromos=1; expires="+o.toUTCString()+"; path=/; domain=pluralsight.com"),-1!=document.cookie.indexOf("nopromos=1")||"www.pluralsight.com"!=window.location.host&&"www65.pluralsight.com"!=window.location.host&&"beta.www.pluralsight.com"!=window.location.host&&"beta.www-stage.pluralsight.com"!=window.location.host&&"www-stage.pluralsight.com"!=window.location.host&&"www65-stage.pluralsight.com"!=window.location.host&&"www-stage2.pluralsight.com"!=window.location.host&&"learn.pluralsight.com"!=window.location.host&&"beta.learn.pluralsight.com"!=window.location.host&&"learn65.pluralsight.com"!=window.location.host&&"learn65-stage.pluralsight.com"!=window.location.host&&"learn-stage.pluralsight.com"!=window.location.host&&"beta.learn-stage.pluralsight.com"!=window.location.host&&"www.javascript.com"!=window.location.host&&"beta.www.javascript.com"!=window.location.host&&"www65.javascript.com"!=window.location.host&&"www-stage.javascript.com"!=window.location.host&&"beta.www-stage.javascript.com"!=window.location.host&&"www65-stage.javascript.com"!=window.location.host||(s=!1,-1<window.location.host.indexOf("-stage.")&&(s=!0),t=n="none",e=(new Date).valueOf(),!noDBpromo&&dnbData.companyName&&(n=dnbData.companyName,t=dnbData.industryNaics),jQuery.ajax({url:"/discounts/api/global-promo?company="+encodeURIComponent(n)+"&audience="+encodeURIComponent(t)+"&time="+e,headers:{authorization:"aem"}}).done(function(o){(o.campaignId||window.forceCampaignCode)&&(window.globalPromos=o.promos,window.campaignCode=window.forceCampaignCode||o.campaignId,jQuery.ajax({url:"/content/pluralsight/en/global/promos/"+campaignCode+".html?time="+e}).done(function(o){function w(o){return"learn.pluralsight.com"!=window.location.host&&"learn65-stage.pluralsight.com"!=window.location.host&&"www.javascript.com"!=window.location.host&&"www65-stage.javascript.com"!=window.location.host||(o=0==o.indexOf("/jscom")&&-1<window.location.hostname.indexOf("javascript.com")?o.substring(6,o.length):0!=o.indexOf("/landing-pages")||"learn.pluralsight.com"!=window.location.hostname&&"learn65-stage.pluralsight.com"!=window.location.hostname?"////":o.substring(14,o.length)),o}var n,c,t=jQuery(o).find(".promo-block-filters").data("blockedpaths"),e=t?t.split(","):[],a=!1;for(i in e){var r=e[i].trim();0==r.indexOf("=")?(r=r.substring(1,r.length),window.location.pathname==w(r)&&(a=!0,s&&console.log("Promo banners blocked on page."))):0==window.location.pathname.indexOf(w(r))&&(a=!0,s&&console.log("Promo banners blocked on page."))}a||(n=jQuery(o).find(".promo-wrapper-filter"),c=!1,jQuery.each(n,function(o,n){var t=jQuery(n).data("allowedpaths"),e=t?t.split(","):[],a=!1;for(i in e){var r=e[i].trim();0==r.indexOf("=")?(r=r.substring(1,r.length),window.location.pathname==w(r)&&(a=!0)):0==window.location.pathname.indexOf(w(r))&&(a=!0)}if(a)return jQuery("#site-promo-content").html(n),jQuery("#site-promo-content img[data-lazysrc], #site-promo-content .lazy-bg").each(function(o,n){"undefined"!=typeof loadLazysrc&&loadLazysrc(n)}),window.blockPromoHide=jQuery(n).data("blockhiding"),showPromoIfPermitted(),!(c=!0)}),c||s&&console.log("No allowed banner found on promo config page."))}).fail(function(){s&&console.log("No promo page found for campaign code "+campaignCode)}),window.promoTriggered=!0,dtmEventTrigger("ps.promoTriggered",{})),window.promoCheckCompleted=!0}))}(window.dnbData.status||noDBpromo)&&promoCheck(),setTimeout(function(){window.promoCheckRan||window.promoCheck()},3e3);
</script>
<div>
<script type="text/javascript" src="//customer.cludo.com/scripts/bundles/search-script.min.js"></script>
<script>

        var element = document.createElement("link");
        element.setAttribute("rel", "stylesheet");
        element.setAttribute("type", "text/css");
        element.setAttribute("href", "https://customer.cludo.com/css/overlay/cludo-search-default.min.css");
        document.getElementsByTagName("head")[0].appendChild(element);

        var CludoSearch;
        (function () {
            var cludoSettings = {customerId: 10000847, engineId: 10001278, language: 'en', searchInputs: ['cludo-search-form','cludo-search-form']};
            CludoSearch= new Cludo(cludoSettings);
            CludoSearch.init();
        })();

    </script>
<!--[if lte IE 9]>
    <script src="https://api.cludo.com/scripts/xdomain.js" slave="https://api.cludo.com/proxy.html" type="text/javascript"></script>
    <![endif]-->
</div>
<script>
                if (Math.random() > .5){
                    if (CludoSearch && CludoSearch.engineId != 10001927){
                        //We don't want to switch the engine to beta if we are on stage.
                        CludoSearch.engineId = 10001374; //use beta engine 50% of the time
                    }
                }
            </script>
<div id="content" class="clearfix" role="main">
<div id="search-filter-left" class="search-section"><div id="search-filter-left-content" class="clearfix">
<div class="search-loading-overlay"></div>
<div id="search-filter-left-header" class="search-filter-header">Filter By</div>
<div class="search-filter-sections">
<script id="search-filter-sections__handlebars-template" type="text/x-handlebars-template">
            {{#each this.facets}}
                {{#if this.FieldName}}
                    {{#if this.Items}}
                        {{#compare this.FieldName "!=" "Categories"}}
                            {{#compare this.FieldName "!=" "Category"}}
                                {{#compare this.FieldName "!=" "Subjects to Learn"}}
                                    {{#compare this.FieldName "!=" "Tools"}}
                                        {{#compare this.FieldName "!=" "Certifications"}}
                                            {{#compare this.FieldName "!=" "Authors"}}
                                                <div class="search-filter-section">
                                                    <div class="search-filter-header"><a href="#">{{{this.FieldName}}}</a></div>
                                                    <div class="search-filter-selected-options">
                                                        <div class="search-filter-selected-option"><span class="search-filter-selected-text"></span><a href="#" class="search-filter-selected-option-remove"></a></div>
                                                    </div>
                                                    <div class="search-filter-options clearfix scrollarea">
                                                        <ul>
                                                        {{#each this.Items}}
                                                            {{#if this.Key}}
                                                                <li class="{{#if this.selected }}selected{{/if}}"><a href="#" data-label="{{lastParam ../dataKey}}" data-value="{{ this.Key }}" class="{{#if this.selected }}selected{{/if}}"><span class="search-filter-option-text">{{{formatCourseTag this.Key}}}</span> ({{this.Count}})</a></li>
                                                            {{/if}}
                                                        {{/each}}
                                                        </ul>
                                                    </div>
                                                </div>
                                            {{/compare}}
                                        {{/compare}}
                                    {{/compare}}
                                {{/compare}}
                            {{/compare}}
                        {{/compare}}
                    {{/if}}
                {{/if}}
            {{/each}}
        </script>
<div id="search-filter-left-target"></div>
</div>
</div></div>
<div id="search-content-right" class="clearfix">
<div class="search-loading-overlay"></div>
<div id="search-field-wrapper" class="clearfix">
<div id="search-field" class="columns search-section">
<form action="/">
<button></button>
<div id="search-field-input-container">
<input type="text" placeholder="What do you want to learn?" autocomplete="off" />
</div>
</form>
</div>
</div>
<div id="search-results-section" class="columns search-section">
<div id="cludo-banner" style="background-color: white; display:none;"></div>
<div id="search-filter-bar" class="clearfix">
<div id="search-filter-tabs" class="tabs show-for-medium-up">
<ul class="clearfix">
<li class="tab-title"><a href="#search-results-section-all" data-categories="all">All</a></li>
<li class="tab-title"><a href="#search-results-section-courses" data-categories="course">Courses</a></li>
<li class="tab-title advancedsearch" style="display:none;"><a href="#search-results-section-modules" data-categories="module">Modules</a></li>
<li class="tab-title advancedsearch" style="display:none;"><a href="#search-results-section-clips" data-categories="clip">Clips</a></li>
<li class="tab-title"><a href="#search-results-section-blog" data-categories="blog">Blog</a></li>
<li class="tab-title"><a href="#search-results-section-resources" data-categories="resource">Resources</a></li>
<li class="tab-title"><a href="#search-results-section-authors" data-categories="aem-author">Authors</a></li>
</ul>
</div>
<div id="search-filter-tabs-select-wrapper" class="show-for-small-only">
<select name="search-filter-tabs-select" id="search-filter-tabs-select">
<option value="all">All</option>
<option value="course">Courses</option>
<option value="module" class="advancedsearch" style="display:none;">Modules</option>
<option value="clip" class="advancedsearch" style="display:none;">Clips</option>
<option value="blog">Blog</option>
<option value="resource">Resources</option>
<option value="aem-author">Authors</option>
</select>
</div>
<div id="search-filter-options">
<div class="search-filter-select-container">
<select name="search-sort" id="search-sort"></select>
<script id="search-sort__handlebars-template" type="text/x-handlebars-template">
                {{#each this.items}}
                    <option {{#if this.selected }}selected="selected"{{/if}} value="{{ this.value }}">{{{ this.label }}}</option>
                {{/each}}
            </script>
</div>
</div>
</div>
<div>
<div id="search-results" class="row">
<h6 class="show-for-medium-up" id="search-results-total-count"></h6>

<div id="search-results-target"></div>
<script id="search-results-handlebars-template" type="text/x-handlebars-template">
            {{#each this.resultsData.resultSets}}
                {{#unless this.last}}
                    <h6 class="show-for-small-only search-results-section-count {{{this.name}}}">{{this.total}} Results</h6>
                    {{#if this.results}}
                        <div class="search-results-section clearfix">
                            <h4>{{{this.name}}}</h4>
                            <div>
                                {{> search-categories-templates}}
                            </div>
                        </div>
                    {{/if}}
                {{/unless}}
            {{/each}}
        </script>

<div id="search-results-category-target-wrapper">
<div class="search-results-section clearfix">
<h4>{{{this.name}}}</h4>
<div id="search-results-category-target"></div>
</div>
</div>
<script id="search-results-category-handlebars-template" type="text/x-handlebars-template">
            {{#each this.resultsData.resultSets}}
            {{> search-categories-templates}}
            {{/each}}
            {{#if this.pagination.next }}
                <div class="search-results-section__load-button"><a id="search-results-section-load-more" class="button button--secondary" data-page="{{ this.pagination.next }}">Load more</a></div>
            {{/if}}
        </script>
</div>
</div>
<script id="search-categories-templates-partial" type="text/x-handlebars-template">
    {{#compare this.name '===' 'paths'}}
    <div class="search-results-rows search-results-page clearfix" id="pathContent">
        {{#each this.results}}
        <div class="item">
          <a class="cludo-result" href="{{{this.Fields.Url.Value}}}">
            <div class="item-each">
              <div class="item-image"><img alt="{{{this.Fields.Title.Value}}}" src="{{{this.Fields.thumbnail.Value}}}?w=75"></div>
              <div class="item-text">
                {{{this.Fields.Title.Value}}}
                <ul>
                  <li><span>{{{this.Fields.numberOfCourses.Value}}}</span> Courses</li>
                  <li><span>{{{this.Fields.numberOfHours.Value}}}</span> Hours</li>
                  {{#compare his.Fields.has-transcender-exam.Value '===' 'true'}}
                  <li class="has-transcender-exam has-test" title="Practice exam">
                    <svg viewBox="0 0 512 512" role="img"><title>Practice exam available</title><g><polygon points="143.2,480.3 -0.4,338.7 27.2,310.8 143.1,425 483.9,85 511.6,112.8"></polygon></g></svg>
                    <span>Practice exam</span>
                  </li>
                  {{/compare}}
                  {{#compare this.Fields.has-skill-iq.Value '===' 'true'}}
                  <li class="has-skill-iq has-test" title="Skill IQ">
                    <svg viewBox="0 0 512 512"><title>Skill IQ available</title><defs><linearGradient x1="23.812%" y1="22.445%" x2="100%" y2="100%" id="icon-datacamp-linearGradient"><stop stop-color="#F05A28" offset="0%"></stop><stop stop-color="#EC008C" offset="100%"></stop></linearGradient></defs><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g fill-rule="nonzero"><path d="M512,256 L512,512 L256,512 C114.615104,512 0,397.384896 0,256 C0,114.615104 114.615104,0 256,0 C397.384896,0 512,114.615104 512,256 Z" fill="url(#icon-datacamp-linearGradient)"></path><circle fill="#222222" cx="260.736" cy="260.736" r="132.736"></circle></g></g></svg>
                    <span>Get your Skill IQ</span>
                  </li>
                  {{/compare}}
                </ul>
              </div>
            </div>
          </a>
        </div>
        {{/each}}
    </div>
    {{/compare}}

    {{#compare this.name '===' 'courses'}}
    <div class="search-results-rows search-results-page clearfix">
        {{#each this.results}}
            <div class="search-result columns">
                <div class="search-result__icon">{{#if this.Fields.Image.Value}}<img src="{{this.Fields.Image.Value}}?w=120" alt="">{{/if}}</div>
                <div class="search-result__info">
                    <div class="search-result__title"><a class="cludo-result" href="{{{this.Fields.Url.Value}}}"">{{{this.Fields.Title.Value}}}</a></div>
                    <div class="search-result__details clearfix">
                        <div class="search-result__author">by {{{this.Fields.authors.Value}}}</div>
                        <div class="search-result__level">{{this.Fields.[Skill Levels].Value}}</div>
                        <div class="search-result__date">{{dateFormat this.Fields.display-date-formatted.Value format="MMM D YYYY"}}</div>
                        <div class="search-result__length show-for-large-up">{{formatDuration this.Fields.duration.Value}}</div>
                        {{#compare this.Fields.rating.Value '>' 0}}
                        <div class="search-result__rating">
                            <i class="fa fa-star{{getRatingStarClass this.Fields.rating.Value 1}}"></i>
                            <i class="fa fa-star{{getRatingStarClass this.Fields.rating.Value 2}}"></i>
                            <i class="fa fa-star{{getRatingStarClass this.Fields.rating.Value 3}}"></i>
                            <i class="fa fa-star{{getRatingStarClass this.Fields.rating.Value 4}}"></i>
                            <i class="fa fa-star{{getRatingStarClass this.Fields.rating.Value 5}}"></i>
                            {{#compare this.Fields.rating-count.Value '>' 10}}
                                ({{this.Fields.rating-count.Value}})
                            {{/compare}}
                        </div>
                        {{/compare}}
                    </div>
                </div>
            </div>
        {{/each}}
    </div>
    {{/compare}}

    {{#compare this.name '===' 'hands-on learning'}}
    <div class="search-results-rows search-results-page clearfix hands-on">
        {{#each this.results}}
            <div class="search-result columns">
                <div class="search-result__icon">{{#if this.Fields.thumbnail.Value}}<img src="{{this.Fields.thumbnail.Value}}?w=120" alt="">{{/if}}</div>
                <div class="search-result__info">
                    {{#compare this.Fields.handsOnType.Value '===' 'project'}}
                    <div class="search-result__title"><a class="cludo-result" href="{{{this.Fields.Url.Value}}}">{{{this.Fields.Title.Value}}}</a></div>
                    {{/compare}}
                    {{#compare this.Fields.handsOnType.Value '===' 'interactive-course'}}
                    <div class="search-result__title"><a class="cludo-result" href="{{{this.Fields.Url.Value}}}"">{{{this.Fields.Title.Value}}}</a></div>
                    {{/compare}}

                    {{#compare this.Fields.handsOnType.Value '===' 'project'}}
                    <div class="search-result__hands-on-type clearfix">
                        <div class="type-icon"><svg role="image" width="16px" height="16px" aria-label="project icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,22 C6.4771525,22 2,17.5228475 2,12 C2,6.4771525 6.4771525,2 12,2 C17.5228475,2 22,6.4771525 22,12 C22,17.5228475 17.5228475,22 12,22 Z M7,12 C7,9.23857625 9.23857625,7 12,7 C12.5212208,7 13.0238143,7.07975342 13.4962427,7.22772268 C13.6120712,7.2640013 13.6765591,7.38730846 13.6402804,7.50313693 C13.6296781,7.5369875 13.6110396,7.56776872 13.585957,7.59285129 L10.5900002,10.5887958 L13.4184273,13.4172229 L16.4050838,10.4306194 C16.4927477,10.3429555 16.634879,10.3429555 16.7225429,10.4306194 C16.7483821,10.4564585 16.7675225,10.4882151 16.7783019,10.5231311 C16.9224102,10.9899178 17,11.4858979 17,12 C17,14.7614237 14.7614237,17 12,17 C11.3551407,17 10.7387942,16.8779225 10.17281,16.6556171 L7.9360653,18.8923618 C9.12709181,19.5961412 10.5163828,20 12,20 C16.418278,20 20,16.418278 20,12 C20,7.581722 16.418278,4 12,4 C7.581722,4 4,7.581722 4,12 C4,13.4836172 4.40385879,14.8729082 5.10763818,16.0639347 L7.3443829,13.82719 C7.12207751,13.2612058 7,12.6448593 7,12 Z"></path></svg></div>
                        <div class="type-text">Project</div>
                    </div>
                    {{/compare}}
                    {{#compare this.Fields.handsOnType.Value '===' 'interactive-course'}}
                    <div class="search-result__hands-on-type clearfix">
                        <div class="type-icon"><svg id="icon-interactive" viewBox="0 0 24 24" width="16px" height="16px"><g><path d="M22 10.054h-2.025V5.997H3.996V17.98h8.051V20H3a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v5.054zm-3.346 5.178l3.199 3.199a.503.503 0 0 1 0 .71l-.711.712a.503.503 0 0 1-.71 0l-3.2-3.2-.937 1.875a.503.503 0 0 1-.911-.027l-3.343-7.8a.503.503 0 0 1 .66-.66l7.8 3.343a.503.503 0 0 1 .027.911l-1.874.937z"></path></g></svg></div>
                        <div class="type-text">Interactive</div>
                    </div>
                    {{/compare}}

                    <div class="search-result__details clearfix">
                        {{#if this.Fields.authors.Value}}
                            <div class="search-result__author">by {{{this.Fields.authors.Value}}}</div>
                        {{/if}}
                        <div class="search-result__level">{{this.Fields.difficulty.Value}}</div>
                        <div class="search-result__date">{{dateFormat this.Fields.display-date-formatted.Value format="MMM D YYYY"}}</div>
                        <div class="search-result__length show-for-large-up">{{formatDuration this.Fields.duration.Value}}</div>
                        {{#compare this.Fields.rating.Value '>' 0}}
                        <div class="search-result__rating">
                            <i class="fa fa-star{{getRatingStarClass this.Fields.rating.Value 1}}"></i>
                            <i class="fa fa-star{{getRatingStarClass this.Fields.rating.Value 2}}"></i>
                            <i class="fa fa-star{{getRatingStarClass this.Fields.rating.Value 3}}"></i>
                            <i class="fa fa-star{{getRatingStarClass this.Fields.rating.Value 4}}"></i>
                            <i class="fa fa-star{{getRatingStarClass this.Fields.rating.Value 5}}"></i>
                            {{#compare this.Fields.rating-count.Value '>' 10}}
                                ({{this.Fields.rating-count.Value}})
                            {{/compare}}
                        </div>
                        {{/compare}}
                    </div>
                </div>
            </div>
        {{/each}}
    </div>
    {{/compare}}

    {{#compare this.name '===' 'module'}}
    <div class="search-results-rows search-results-page clearfix">
        {{#each this.results}}
        <div class="search-result columns">
            <div class="search-result__info">
                <div class="search-result__title"><a class="cludo-result" href="{{{this.Fields.Url.Value}}}"">{{{this.title}}}</a></div>
            </div>
        </div>
        {{/each}}
    </div>
    {{/compare}}
    {{#compare this.name '===' 'clip'}}
    <div class="search-results-rows search-results-page clearfix">
        {{#each this.results}}
        <div class="search-result columns">
            <div class="search-result__info">
                <div class="search-result__title"><a class="cludo-result" href="{{{this.Fields.Url.Value}}}"">{{{this.title}}}</a></div>
            </div>
        </div>
        {{/each}}
    </div>
    {{/compare}}

    {{#compare this.name '===' 'blogs'}}
    <div class="search-results-rows search-results-page clearfix">
        {{#each this.results}}
        <div class="search-result columns">
            <div class="search-result__info">
                <div class="search-result__title">
                    <a class="cludo-result" href="{{{this.Fields.Url.Value}}}"">{{{this.Fields.blog-title.Value}}}</a>
                </div>
            </div>
        </div>
        {{/each}}
    </div>
    {{/compare}}

    {{#compare this.name '===' 'pages'}}
    <div class="search-results-rows search-results-page clearfix">
        {{#each this.results}}
        <div class="search-result columns">
            <div class="search-result__info">
                <div class="search-result__title">
                    <a class="cludo-result" href="{{{this.Fields.Url.Value}}}"">{{{removePageTitleEnding this.Fields.Title.Value}}}</a>
                </div>
                <p class="search-result__details">
                    {{{this.Fields.Metadescription.Value}}}
                </p>
            </div>
        </div>
        {{/each}}
    </div>
    {{/compare}}
    {{#compare this.name '===' 'resources'}}
    <div id="resource-filters-target" class="resource-tiles-row row">
        {{#each this.results}}
        <div class="resource-tile small-full medium-4 large-4 column">
            <a class="cludo-result" href="{{{this.Fields.Url.Value}}}">
                <div class="resource-tile-image square-box">
                    <div class="square-box-content">{{#if this.Fields.thumbnail.Value }}<img src="{{ this.Fields.thumbnail.Value }}" alt="" />{{/if}}</div>
                </div>
                <div class="resource-tile-text clearfix">
                    <h5>{{{this.Fields.Title.Value}}}</h5>
                </div>
            </a>
        </div>
        {{/each}}
    </div>
    {{/compare}}
    {{#compare this.name '===' 'authors'}}
    <div id="author-list-target" class="author-row row clearfix">
        <div class="author-list-page clearfix">
            {{#each this.results}}
            <div class="columns small-6 medium-4 large-3">
                <a class="cludo-result" href="{{{this.Fields.Url.Value}}}">
                    <div class="author-list-thumbnail">
                        <img src="{{formatAuthorThumbnail this.Fields.thumbnail.Value}}?w=148">
                    </div>
                    <div class="author-name">{{{this.Fields.name.Value}}}</div>
                </a>
            </div>
            {{/each}}
            {{#unless this.categoryResults}}
            <div class="columns small-6 medium-4 large-3">
                <a data-categories="aem-authors" id="author-list-view-all"  class="view-all-link" data-tab-param="{{mapResultSetNameToTabName this.name}}" data-categories="{{this.name}}">
                    <div class="author-list-thumbnail">
                        <div id="author-list-view-all__thumbnail-content">
                            <div id="author-list-view-all__thumbnail-inner-content">
                                <div id="author-list-view-all__count">{{this.total}}</div>
                                <div id="author-list-view-all__text">Results &raquo;</div>
                            </div>
                        </div>
                    </div>
                    <div class="author-name"></div>
                </a>
            </div>
            {{/unless}}
        </div>
    </div>
    {{/compare}}
    {{#compare this.name '!==' 'authors'}}
        {{#compare this.name '!==' 'paths'}}
            {{#compare this.name '!==' 'pages'}}
                {{#compare this.name '!==' 'hands-on learning'}}
                    {{#unless this.categoryResults}}
                    <a class="view-all-link" data-tab-param="{{mapResultSetNameToTabName this.name}}" data-categories="{{this.name}}"><div class="search-results-section__footer columns"><p>View {{#compare this.total '>' 1}}{{this.total}}{{/compare}} matching {{this.name}} &raquo;</p></div></a>
                    {{/unless}}
                {{/compare}}
            {{/compare}}
        {{/compare}}
    {{/compare}}
    {{#compare this.name '===' 'paths'}}
        <a class="paths-page-view-all" href="https://www.pluralsight.com/product/paths"><div class="search-results-section__footer columns"><p>View all paths &raquo;</p></div></a>
    {{/compare}}
    {{#compare this.name '===' 'hands-on learning'}}
        <a class="hands-on-view-all" href="https://www.pluralsight.com/product/hands-on-learning"><div class="search-results-section__footer columns"><p>View all hands-on learning &raquo;</p></div></a>
    {{/compare}}
</script>
</div>
</div>
</div>
<a id="course-base-url" class="hide" href="/courses"></a>
<a id="project-base-url" class="hide" href="/projects"></a>
<a id="interactive-course-base-url" class="hide" href="/interactive-courses"></a>
<a id="author-base-url" class="hide" href="/authors"></a>
<script src="/etc/clientlibs/pluralsight/main/js/separates/handlebars-v4.0.2.min.js"></script>
<script src="/etc/clientlibs/pluralsight/main/js/separates/moment.min.js"></script>
<script src="/etc/clientlibs/pluralsight/main/js/separates/handlebars-helpers.js"></script>

<div id="ps_pro_qty_modal">
<div class="column-control section">
<div class="container column-control-container ">
<div class="row column-control--wide">
<div class="large-5 columns column_qty large-push-7">
<h3>Ready to skill up<br />your entire team?</h3>
<div class="qty-selector">
<div class="qty-down"><i class="icons" icon="down-arrow"></i></div>
<div class="qty-display">
<div class="qty-display-number">10</div>
<div class="qty-display-label">Subscriptions</div>
</div>
<div class="qty-up"><i class="icons" icon="up-arrow"></i></div>
</div>
<div class="qty-sales-message hidden">Need more subscriptions? <a href="/product/contact-sales">Contact sales</a>.</div>
<a class="button button--gradient button--small biz_qty_checkout pilot-hide" data-aa-title="pro-qty-modal-signup" href="https://www.pluralsight.com/buy?sku=PROFESSIONAL-SG&quantity=10">Continue to checkout</a>
<a class="button button--gradient button--small biz_qty_checkout pilot-show" data-aa-title="pro-qty-modal-trial" href="https://www.pluralsight.com/buy?sku=PROFESSIONAL-SG-PILOT&quantity=10">Continue to checkout</a>
<div class="ps_pro_qty_modal-cancel">Cancel</div>
</div>
<div class="large-7 columns column_feature large-pull-5">
<h3 class="pilot-hide">With your Pluralsight plan, you can:</h3>
<h3 class="pilot-show">With your 14-day pilot, you can:</h3>
<ul>
<li class="pilot-hide">Access thousands of videos to develop critical skills</li>
<li class="pilot-show">Give up to 10 users access to thousands of video courses</li>
<li>Practice and apply skills with interactive courses and projects</li>
<li>See skills, usage, and trend data for your teams</li>
<li>Prepare for certifications with industry-leading practice exams</li>
<li>Measure proficiency across skills and roles</li>
<li>Align learning to your goals with paths and channels</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<noindex>
<footer id="ftr">
<div class="ftr-row">
<div class="ftr-container">
<div class="ftr-cat-links-col">
<div class="ftr-dd">╲╱</div>
<div class="ftr-cat-header">Solutions</div>
<div class="ftr-cat-links">
<a href="/product/skills">Pluralsight Skills</a>
<a href="/product/flow">Pluralsight Flow</a>
<a href="/industries/government">Government</a>
<a href="/gift-of-pluralsight">Gift of Pluralsight</a>
<a href="/pricing">View Pricing</a>
<a href="/product/contact-sales">Contact Sales</a>
<a href="/product/skills/free">Skill up for free</a>
</div>
</div>
<div class="ftr-cat-links-col">
<div class="ftr-dd">╲╱</div>
<div class="ftr-cat-header">Platform</div>
<div class="ftr-cat-links">
<a href="/browse">Browse library</a>
<a href="/product/role-iq">Role IQ</a>
<a href="/product/skill-iq">Skill IQ</a>
<a href="/product/iris">Iris</a>
<a href="/authors">Authors</a>
<a href="/product/professional-services">Professional Services</a>
<a href="/tech-index">Technology Index</a>
</div>
</div>
<div class="ftr-cat-links-col">
<div class="ftr-dd">╲╱</div>
<div class="ftr-cat-header">Company</div>
<div class="ftr-cat-links">
<a href="/about">About us</a>
<a href="/customer-stories">Customer stories</a>
<a href="https://investors.pluralsight.com">Investors</a>
<a href="/careers">Careers</a>
<a href="/blog">Blog</a>
<a href="/newsroom">Newsroom</a>
<a href="/resource-center">Resource center</a>
<a href="https://www.pluralsight.com/guides">Guides</a>
</div>
</div>
<div class="ftr-cat-links-col">
<div class="ftr-dd">╲╱</div>
<div class="ftr-cat-header">Resources</div>
<div class="ftr-cat-links">
<a href="/product/downloads">Download Pluralsight</a>
 <a href="/events">Events</a>
<a href="/teach">Teach</a>
<a href="/partners">Partners</a>
<a href="/affiliate">Affiliate program</a>
<a href="https://www.pluralsightone.org">PluralsightOne.org</a>
<a href="/subscribe">Subscribe</a>
</div>
</div>
<div class="ftr-cat-links-col">
<div class="ftr-dd">╲╱</div>
<div class="ftr-cat-header">Support</div>
<div class="ftr-cat-links">
<a href="/contact">Contact</a>
<a href="http://help.pluralsight.com/help">Help center</a>
<a href="https://help.pluralsight.com/help/ip-whitelist">IP whitelist</a>
<a href="https://www.pluralsight.com/sitemap.xml">Sitemap</a>
</div>
</div>
<div class="ftr-cat-links-col show-for-medium-only">
<div class="ftr-cat-header">
<a href="https://www.facebook.com/pluralsight" class="share__link" target="_blank">
<img src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/icons/desktop/Facebook_Icon.svg" alt="Like on Facebook" />
</a>
<a href="https://www.instagram.com/pluralsight" class="share__link" target="_blank">
<img src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/icons/desktop/Instagram_Icon.svg" alt="Follow on Instagram" />
</a>
<a href="https://www.twitter.com/pluralsight" class="share__link" target="_blank">
<img src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/icons/desktop/Twitter_Icon.svg" alt="Follow on Twitter" />
</a>
<a href="https://www.linkedin.com/company/pluralsight" class="share__link" target="_blank">
<img src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/icons/desktop/LinkedIn_Icon.svg" alt="Connect on LinkedIn" />
</a>
<a href="https://www.youtube.com/user/pluralsight" class="share__link" target="_blank">
<img src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/icons/desktop/YouTube_Icon.svg" alt="Follow us on YouTube" />
</a>
</div>
</div>
<div class="ftr-cat-links-col ftr-col-last">
<div class="ftr-btm ftr-copyright"><a href="/"><img src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="//www.pluralsight.com/content/dam/pluralsight2/general/icons/light/ps-icon.png" alt="Pluralsight" /></a><span class="ftr-copyright">Copyright &copy; 2004 - <span class="copyright-year"></span> Pluralsight LLC. All rights reserved</span></div>
<div class="ftr-btm ftr-terms">
<span>
<a href="/terms">Terms of Use</a>
</span>
<span>
<a href="/privacy">Privacy Policy</a>
</span>
<span class="hide-for-medium-only">
<a href="https://www.facebook.com/pluralsight" class="share__link" target="_blank">
<img src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/icons/desktop/Facebook_Icon.svg" alt="Like on Facebook" />
</a>
<a href="https://www.instagram.com/pluralsight" class="share__link" target="_blank">
<img src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/icons/desktop/Instagram_Icon.svg" alt="Follow on Instagram" />
</a>
<a href="https://www.twitter.com/pluralsight" class="share__link" target="_blank">
<img src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/icons/desktop/Twitter_Icon.svg" alt="Follow on Twitter" />
</a>
<a href="https://www.linkedin.com/company/pluralsight/" class="share__link" target="_blank">
<img src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/icons/desktop/LinkedIn_Icon.svg" alt="Connect on LinkedIn" />
</a>
<a href="https://www.youtube.com/user/pluralsight" class="share__link" target="_blank">
<img src="/etc/clientlibs/pluralsight/main/images/px.png" data-lazysrc="/etc/clientlibs/pluralsight/main/images/icons/desktop/YouTube_Icon.svg" alt="Follow us on YouTube" />
</a>
</span>
</div>
</div>
</div>
</div>
</footer>
</noindex>
<script>
jQuery(".text.section, .text-2.section, .text-3.section, .text-4.section, .title.section, .title2.section").each(function(key,item) {
    if (item.innerHTML.indexOf("\u2028") > -1){
        item.innerHTML = item.innerHTML.replace(/\u2028/g, ' ');
    }
});
</script>
<script>
function isElementInViewport (el) {
  var rect = el.getBoundingClientRect();
  return (
    rect.top >= 0 &&
    rect.left >= 0 &&
    rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && /*or $(window).height() */
    rect.right <= (window.innerWidth || document.documentElement.clientWidth) /*or $(window).width() */
  );
}
function loadLazysrc(item){
  var $item = jQuery(item);
  if ($item.hasClass("lazy-bg")){
    $item.removeClass("lazy-bg");
  } else {
    var src = $item.attr('data-lazysrc');
    $item.attr('src',src);
    $item.removeAttr('data-lazysrc');
  }
}

//lazy load images above the fold
jQuery('img[data-lazysrc],.lazy-bg').each(function(index,item){
  if ( jQuery(item).is(":visible") && isElementInViewport(item) ){
    loadLazysrc(item);
  } else if (document.URL.indexOf("lazyLoadOff=true") > -1){
    loadLazysrc(item);
  }
});

//lazy load images below the fold. Keep function available for promo service or others that may need it.
window.addEventListener('load', function(){
  jQuery('img[data-lazysrc],.lazy-bg').each(function(index,item){
    loadLazysrc(item);
  });
});
</script>
<script type="text/javascript" src="/etc/clientlibs/pluralsight/uber.min.921b1600066d12dbb89f1a52231e7224.js" defer></script>
</div>
</div>
<div class="cookie_notification options" style="display:none;">
<p class="cookie_notification--text">We use cookies to make interactions with our websites and services easy and meaningful. For more information about the cookies we use or to find out how you can disable cookies, <a href="/privacy" target="_blank">click here</a>.</p>
<div class="cookie_notification--options">
<a class="button button--secondary button--tiny cookie_notification--opt_in" href="#">Accept cookies and close this message</a>
<a class="cookie_notification--opt_out" href="#">Disable cookies</a>
</div>
</div>
<div class="cookie_notification opted_out" style="display:none;">
<p class="cookie_notification--text">You have disabled non-critical cookies and are browsing in private mode. For the best possible experience on our website, please accept cookies. For additional details please read our <a href="/privacy" target="_blank">privacy policy</a>.</p>
<a class="cookie_notification--opt_in text-only" href="#">Accept cookies and close this message</a>
</div>
<script data-cfasync="false">
-1==document.cookie.indexOf("ps_optout")&&-1==document.URL.indexOf("noCookieBanner=true")?jQuery(".cookie_notification.options").slideDown():document.cookie.indexOf("ps_optout=1")>-1&&jQuery(".cookie_notification.opted_out").slideDown(),jQuery(".cookie_notification--opt_in").click(function(o){o.preventDefault();var t=new Date(Date.now()+31536e6);document.cookie="ps_optout=0; expires="+t.toUTCString()+"; path=/"+(document.URL.indexOf("pluralsight.com")>-1?"; domain=pluralsight.com":""),jQuery(".cookie_notification").slideUp()}),jQuery(".cookie_notification--opt_out").click(function(o){o.preventDefault();for(var t=document.cookie.split("; "),e=0;e<t.length;e++)for(var i=window.location.hostname.split(".");i.length>=0;){var n=t[e].split(";")[0].split("=")[0],c=n+"=; expires="+(new Date).toUTCString()+(i.length>0?"; domain="+i.join("."):"")+" ;path=",a=location.pathname.split("/");if(-1==n.indexOf("www-status"))for(document.cookie=c+"/";a.length>0;)document.cookie=c+a.join("/"),a.pop();if(0==i.length)break;i.shift()}var p=new Date(Date.now()+31536e6);document.cookie="ps_optout=1; expires="+p.toUTCString()+"; path=/"+(document.URL.indexOf("pluralsight.com")>-1?"; domain=pluralsight.com":""),window.location.reload()});
</script>
</body>
</html>
