CINXE.COM

Diversity and Inclusion in the Tech Community - O'Reilly Media

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Diversity and Inclusion in the Tech Community - O'Reilly Media</title> <meta name="description" content="O'Reilly Diversity and Inclusion in the Tech Community" /> <meta name="date" content="2024-11-27" /> <meta name="search_date" content="2020-11-06" /> <meta name="search-title" content="Diversity and Inclusion in the Tech Community - O'Reilly Media" /> <meta name="pagename" content="Diversity and Inclusion in the Tech Community - O'Reilly Media" /> <meta name="site" content="O'Reilly" /> <meta name="twitter:title" content="Diversity and Inclusion in the Tech Community - O'Reilly Media" /> <meta name="twitter:description" content="O'Reilly Diversity and Inclusion in the Tech Community" /> <meta name="twitter:site" content="@OReillyMedia" /> <meta property="og:type" content="website" /> <meta property="og:title" content="Diversity and Inclusion in the Tech Community - O'Reilly Media" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:image" content="https://cdn.oreillystatic.com/oreilly/images/oreilly-social-200.png" /> <meta property="og:image" content="https://cdn.oreillystatic.com/oreilly/images/oreilly-social-200.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]--> <link rel="stylesheet" type="text/css" href="https://cdn.oreillystatic.com/assets/css/2018_font_face.css" /> <link rel="stylesheet" type="text/css" href="https://cdn.oreillystatic.com/assets/css/odot-layout-20240226.css" /> <!--[if IE 9]> <style type="text/css"> #menu-toggle:checked ~ .mobile-nav { display:block; } .mobile-nav { display: none; } </style> <![endif]--> <!-- Initiate dataLayer for GA --> <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.unifiedLoggedIn = 'yes'; 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> <!-- Google Tag Manager --> <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> <!-- End Google Tag Manager --> <!-- Start VWO Async SmartCode --> <link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com" /> <script type='text/javascript' 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> <!-- End VWO Async SmartCode --> </head> <body> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5P4V6Z" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="skipToMain" id="skipToMain"><a href="#maincontent"><span class="skipToMain-text">Skip to main content</span></a></div> <header role="banner"> <div class="content"> <nav role="navigation" aria-label="site sections"> <a href="https://www.oreilly.com" class="logo" title="home page"><img src="https://cdn.oreillystatic.com/images/sitewide-headers/oreilly_logo_mark_red.svg" onerror="this.src='https://cdn.oreillystatic.com/images/sitewide-headers/oreilly_logo_mark_red_@2x.png'; this.onerror=null;" alt="O'Reilly home"></a> <button id="mobileNavButton" class="mobileNavButton mobileNavButton--collapse mobileNavButton--3dx" type="button" aria-expanded="false" aria-controls="menuList"> <span class="mobileNavButton-box"> <span class="mobileNavButton-inner"></span> </span> </button> <ul id="menuList" class="menuList mobileHidden "> <li class="menuList-itemsP1"> <ul> <li class="menuList-item menuList-signIn"><a id="nav-signIn" href="https://www.oreilly.com/member/login/">Sign In</a></li> <li class="menuList-item menuList-tryNow"><a id="nav-tryNow" class="menuList-cta" href="https://www.oreilly.com/online-learning/try-now.html">Try Now</a></li> <li class="menuList-item menuList-platform"><a id="nav-platform" class="menuList-cta" href="https://www.oreilly.com/member/login/">O&rsquo;Reilly Platform</a></li> </ul> </li> <li class="menuList-itemsP2"> <ul> <li class="menuList-item menuList-itemWithSub"><a href="https://www.oreilly.com/online-learning/teams.html">Teams</a> <ul class="menuList-subList"> <li class="menuList-subItem menuList-extra"><a href="https://www.oreilly.com/online-learning/teams.html">For business</a></li> <li class="menuList-subItem"><a href="https://www.oreilly.com/online-learning/government.html">For government</a></li> <li class="menuList-subItem"><a href="https://www.oreilly.com/online-learning/academic.html">For higher ed</a></li> </ul> </li> <li class="menuList-item"><a href="https://www.oreilly.com/online-learning/individuals.html">Individuals</a></li> <li class="menuList-item menuList-itemWithSub"><a href="https://www.oreilly.com/online-learning/features.html">Features</a> <ul class="menuList-subList"> <li class="menuList-subItem menuList-extra"><a href="https://www.oreilly.com/online-learning/features.html">All features</a></li> <li class="menuList-subItem"><a href="https://www.oreilly.com/online-learning/courses.html">Courses</a></li> <li class="menuList-subItem"><a href="https://www.oreilly.com/online-learning/feature-certification.html">Certifications</a></li> <li class="menuList-subItem"><a href="https://www.oreilly.com/online-learning/intro-interactive-learning.html">Interactive learning</a></li> <li class="menuList-subItem"><a href="https://www.oreilly.com/online-learning/live-events.html">Live events</a></li> <li class="menuList-subItem"><a href="https://www.oreilly.com/online-learning/feature-answers.html">Answers</a></li> <li class="menuList-subItem"><a href="https://www.oreilly.com/online-learning/insights-dashboard.html">Insights reporting</a></li> </ul> </li> <li class="menuList-item"><a href="https://www.oreilly.com/radar/">Blog</a></li> <li class="menuList-item" id="nav-forMarketers"><a href="https://www.oreilly.com/content-marketing-solutions.html">Content sponsorship</a></li> <li class="menuList-item menuList-item-search" id="nav-search"> <form id="js-searchForm" class="searchForm" action="https://www.oreilly.com/search/"><input id="search" type="search" name="query" placeholder="Explore our content" autocomplete="off" required=""><button id="js-searchCloseButton" class="navSearchCloseButton">Close</button></form> <button id="js-searchButton" class="navSearchButton">Search</button> </li> </ul> </li> </ul> </nav> </div> </header> <main role="main" id="maincontent"> <style> .diversity-intro { padding: 34px 0 34px; } .diversity-intro p { font-size: 16px; font-size: 1rem; line-height: 1.5em; margin-bottom: 20px; max-width: 976px; } .diversity-intro p:last-of-type { margin-bottom: 0; } @media (min-width: 40em) { .diversity-intro { padding: 54px 0 54px; } .diversity-intro p { font-size: 22px; font-size: 1.375rem; } } @media (min-width: 53em) { .diversity-intro { padding: 94px 0 94px; } } .diversity-learning { padding: 34px 0 34px; } .diversity-learning h2 { font-family: 'gilroy', Helvetica, sans-serif; font-size: 24px; font-size: 1.5rem; font-weight: 600; line-height: 1.2em; margin-bottom: 18px; } .diversity-learning p { font-size: 16px; font-size: 1rem; line-height: 1.5em; margin-bottom: 20px; max-width: 976px; } .diversity-learning p:last-of-type { margin-bottom: 0; } @media (min-width: 40em) { .diversity-learning { padding: 54px 0 54px; } .diversity-learning h2 { margin-bottom: 20px; font-size: 48px; font-size: 3rem; } .diversity-learning p { font-size: 22px; font-size: 1.375rem; } } @media (min-width: 53em) { .diversity-learning { padding: 94px 0 94px; } } .diversity-conferences { padding: 34px 0 34px; } .diversity-conferences h2 { font-family: 'gilroy', Helvetica, sans-serif; font-size: 24px; font-size: 1.5rem; font-weight: 600; line-height: 1.2em; margin-bottom: 18px; } .diversity-conferences p, .diversity-conferences li { font-size: 16px; font-size: 1rem; line-height: 1.5em; margin-bottom: 20px; max-width: 976px; } /*.diversity-conferences p:last-of-type,*/ .diversity-conferences li:last-of-type { margin-bottom: 0; } .diversity-conferences-text { width: 100%; } .diversity-conferences-sponsors { width: 100%; margin: 40px 0 0; } .diversity-conferences-sponsors figcaption { display: block; margin: 0 0 20px; padding: 6px 10px; background: #eee; color: #222; font-size: 16px; font-size: 1rem; line-height: 1.5em; text-align: center; font-weight: 600; } .diversity-conferences-sponsors a { display: inline-block; vertical-align: middle; max-width: 200px; margin: 0 40px 20px; } .diversity-conferences-sponsors a:last-child { margin: 0; } .diversity-conferences-sponsors img { display: block; width: 100%; } @media (min-width: 40em) { .diversity-conferences { padding: 54px 0 54px; } .diversity-conferences h2 { margin-bottom: 20px; font-size: 48px; font-size: 3rem; } .diversity-conferences p, .diversity-conferences li { font-size: 22px; font-size: 1.375rem; } } @media (min-width: 53em) { .diversity-conferences { padding: 94px 0 94px; } .diversity-conferences-columns { display: flex; justify-content: space-between; flex-direction: row; } .diversity-conferences-text { width: 100%; width: calc(100% - 280px); } .diversity-conferences-sponsors { width: 200px; margin: 0 0 0; } .diversity-conferences-sponsors a { margin: 0 0 40px; } .diversity-conferences-sponsors a:last-child { margin: 0; } } .diversity-careers { padding: 34px 0; } .diversity-careers h2 { font-family: 'gilroy', Helvetica, sans-serif; font-size: 24px; font-size: 1.5rem; font-weight: 600; line-height: 1.2em; margin-bottom: 18px; } .diversity-careers p { font-size: 16px; font-size: 1rem; line-height: 1.5em; margin-bottom: 20px; max-width: 976px; } .diversity-careers ul { margin-bottom: 10px; } .diversity-careers ul li { font-size: 16px; font-size: 1rem; line-height: 1.5em; margin-bottom: 10px; max-width: 976px; } .diversity-careersCta { display: block; font-size: 16px; font-size: 1rem; font-weight: 600; line-height: 1.5em; color: #e00; text-decoration: none; } .diversity-careersCta:hover, .diversity-careersCta:active { opacity: .8; } .diversity-careersCta::after { content: ""; display: inline-block; margin: -8px -2px -6px 6px; width: 13px; height: 22px; vertical-align: middle; background: transparent url(https://cdn.oreillystatic.com/images/icons/icon_right_arrow_red.svg) center center no-repeat; background-size: contain; } @media (min-width: 40em) { .diversity-careers { padding: 54px 0 54px; } .diversity-careers h2 { margin-bottom: 20px; font-size: 48px; font-size: 3rem; } .diversity-careers p { font-size: 22px; font-size: 1.375rem; } .diversity-careers ul li { font-size: 22px; font-size: 1.375rem; } .diversity-careersCta { font-size: 22px; font-size: 1.375rem; } } @media (min-width: 53em) { .diversity-careers { padding: 94px 0 94px; } } .diversity-value { padding: 34px 0 14px; } .diversity-value h2 { font-family: 'gilroy', Helvetica, sans-serif; font-size: 24px; font-size: 1.5rem; font-weight: 600; line-height: 1.2em; margin-bottom: 18px; } .diversity-value p { font-size: 16px; font-size: 1rem; line-height: 1.5em; margin-bottom: 20px; max-width: 976px; } .diversity-value a:hover, .diversity-value a:active { opacity: .8; } @media (min-width: 40em) { .diversity-value { padding: 54px 0 34px; } .diversity-value h2 { margin-bottom: 20px; font-size: 48px; font-size: 3rem; } .diversity-value p { font-size: 22px; font-size: 1.375rem; } } @media (min-width: 53em) { .diversity-value { padding: 94px 0 74px; } } /* .blog-banner */ .hero.hero-general { padding-top: 2.25rem; } .blog-banner { display: block; width: 100%; position: absolute; z-index: 2; top: 0; left: 0; background-image: radial-gradient(circle at center, rgba(255,255,255,.6) 0%, rgba(255,255,255,.6) 42%, rgba(255,255,255,.75) 100%); backdrop-filter: blur(4px); transition: background-image 400ms; } .blog-banner:hover { background-image: radial-gradient(circle at center, rgba(255,255,255,.7) 0%, rgba(255,255,255,.7) 42%, rgba(255,255,255,.85) 100%); } .hero.hero-general .blog-banner .content { padding: 0 20px; } .hero.hero-general .blog-banner .content:after { display: none; } .blog-banner-link { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: flex-start; padding: 10px 0 6px; width: 100%; color: 111; text-align: left; text-decoration: none; transition: color 200ms; } .blog-banner-link:hover, .blog-banner-link:focus, .blog-banner-link:active { color: 000; text-decoration: none; } .blog-banner-text { position: relative; display: block; margin: 0; padding-right: 16px; width: max-content; font-family: 'gilroy', Arial, sans-serif; font-size: 1rem; line-height: 1.3em; font-weight: 600; opacity: .9; transition: opacity .2s; } .blog-banner-link:hover .blog-banner-text, .blog-banner-link:focus .blog-banner-text { opacity: 1; } .blog-banner-text:after { content: ""; position: absolute; bottom: 1px; right: 0; width: 8px; height: 100%; background: transparent url(https://cdn.oreillystatic.com/images/icons/icon_right_arrow_black.svg) right center no-repeat; background-size: contain; } /* end .blog-banner */ </style> <section class="hero hero-general"> <div class="blog-banner"> <div class="content"> <a id="blog-banner" class="blog-banner-link" href="https://www.oreilly.com/content/international-womens-day-2024/"> <span class="blog-banner-text">Check out Laura Baldwin&rsquo;s International Women&rsquo;s Day <span class="nowrap">post for 2024.</span> <span class="nowrap">Read now</span></span> </a> </div> </div> <div class="content"> <h1>To create the best possible future, we need everybody</h1> </div> </section> <section class="diversity-intro" id="intro"> <div class="content"> <p>At O&rsquo;Reilly, we believe that true innovation depends on hearing from, and listening to, people with a variety of perspectives. We want our whole community&mdash;including our online learning platform and the technology organizations who engage with it&mdash;to recognize, include, and encourage people of all races, ethnicities, genders, ages, abilities, religions, sexual orientations, and professional roles. We&rsquo;re not there yet.</p> <p>We&rsquo;re committed to increasing career opportunities in technology for underrepresented groups. That&rsquo;s why we&rsquo;re actively recruiting diverse speakers for our online events, collaborating with authors from all backgrounds for our books, videos, and interactive labs, and fostering a culture of inclusion through supportive employee resource groups (ERGs), inclusion training, and more. We also continually engage in conversations about the importance of diversity in the communities we serve.</p> <p>Below are some of the ways you can get involved.</p> </div> </section> <section class="diversity-learning sectionBreak" id="scholarship"> <div class="content"> <h2>Apply for a diversity and inclusion scholarship</h2> <p>We&rsquo;ve established a <a href="https://www.oreilly.com/diversity/scholarship-program.html">DEIJ scholarship program</a>, awarding 500 free annual O&rsquo;Reilly learning platform memberships to help people belonging to groups underrepresented in technology build the skills they need to break into the field. Recipients are selected by a volunteer employee diversity and inclusion board.</p> </div> </section> <section class="diversity-learning sectionBreak" id="learning"> <div class="content"> <h2>Become a content creator</h2> <p>Do you have something to say, teach, or champion? <a href="https://www.oreilly.com/work-with-us.html">We&rsquo;re always looking</a> for potential authors, reviewers, and other content creators to work with. Apply yourself and encourage others to do so by emailing <script type="text/javascript"> <!-- var name = "workwithus"; var domain = "oreilly.com"; var display = ""; var subject = ""; var ending = "."; var style = ""; document.write('<a target="_blank" class="' + style + '" href="mailto:' + name + '&#64;' + domain + '?subject=' + subject + '">'); if (display) { document.write(display); } else { document.write(name + '&#64;' + domain); } document.write('</a>' + ending); // --> </script> </p> </div> </section> <section class="diversity-careers sectionBreak" id="careers"> <div class="content"> <h2>Join the O&rsquo;Reilly team</h2> <p>Our mission is to build a better future by spreading the knowledge of innovators. It&rsquo;s a big job. Are you up for it?</p> <p><a class="textCTA-small" href="https://www.oreilly.com/careers/positions.html">Explore our open positions</a></p> </div> </section> <section class="diversity-value sectionBreak" id="value"> <div class="content"> <h2>Share your ideas</h2> <p>We value diversity in the communities we bring together, and we welcome your contributions to help us create a balanced representation of the richness of our collective human experience. Please share your ideas and best practices for how we can realize our vision by sending an email to <script type="text/javascript"> <!-- var name = "diversity"; var domain = "oreilly.com"; var display = ""; var subject = ""; var ending = "."; var style = ""; document.write('<a target="_blank" class="' + style + '" href="mailto:' + name + '&#64;' + domain + '?subject=' + subject + '">'); if (display) { document.write(display); } else { document.write(name + '&#64;' + domain); } document.write('</a>' + ending); // --> </script> </p> </div> </section> <section class="diversity-careers sectionBreak" id="policy"> <div class="content"> <h2>Know that it&rsquo;s an ongoing process</h2> <p>We know there&rsquo;s still much more to do, but here are some ways we&rsquo;re already working to build a more diverse organization and experience.</p> <ul class="bullet"> <li>In 2021 we established a corporate goal to increase the number of O&rsquo;Reilly experts we sign to new projects who identify as members of an underrepresented community from 30% to 40%&mdash;a full 10 percentage points higher. In 2023 we surpassed that goal, with 50% of talent belonging to an underrepresented community.</li> <li>43% of O&rsquo;Reilly&rsquo;s full-time workforce are women&mdash;well above average for the tech industry (which, per <a href="https://www2.deloitte.com/us/en/insights/industry/technology/technology-media-and-telecom-predictions/2022/statistics-show-women-in-technology-are-facing-new-headwinds.html" taret="_blank">Deloitte</a>, was expected to be 33% in 2022). And our percentage of women in leadership roles at the director level or above is 45%. But we&rsquo;re still working to improve these numbers.</li> <li>In 2023, 63% of new hires identified as members of underrepresented groups.</li> <li>We&rsquo;ve created and filled the position of O&rsquo;Reilly diversity lead, who directs efforts to improve the diversity of our talent ecosystem and elevate underrepresented voices in a myriad of ways on the O&rsquo;Reilly learning platform.</li> <li>We forward any calls for proposals to relevant affinity groups with the message that we&rsquo;re actively seeking diverse authors and presenters.</li> <li>We&rsquo;re committed to providing resources and support networks to address the needs of and challenges faced by specific communities within our organization. As part of our DEIB program, we launched employee resource groups (ERGs) and a company-wide mentorship program. These initiatives are designed to foster a stronger sense of belonging among our employees while also establishing platforms for professional growth and development throughout the organization.</li> <li>To help foster inclusive behaviors, diminish biases, and create a safe space for open dialogue and collaboration, we&rsquo;re providing regular training sessions such as unconscious bias and inclusive leadership training.</li> <li>We&rsquo;re developing and implementing strategies to ensure that individuals from all backgrounds feel supported and empowered and have an equal opportunity to contribute to their full potential. This includes reviewing our recruitment strategies and programs and launching new initiatives to eliminate any barriers that impede inclusivity and belonging. We&rsquo;ll continue to provide implicit bias training to all hiring managers and interviewers, use gender-neutral language in job descriptions, write results-based job descriptions, source candidates from diverse backgrounds, and build relationships with underrepresented groups.</li> </ul> </div> </section> <script> (function() { //Hide DEIJ module after April 1, 2024. var today = new Date(); deijScholarshipEndDate = new Date('2024-04-02T00:00:00.000-07:00'); //if after date range, //hide the application CTA, and show alternate text if (today > deijScholarshipEndDate) { // Target exit intent overlay const deijSection = document.getElementById('scholarship'); deijSection.classList.add('hidden'); } })(); </script> </main> <footer id="footer" class="footer"> <div class="content"> <div class="footer-main" aria-label="company info"> <div class="footer-mainLeft"> <div class="footer-mainLeftOne"> <div class="footer-approach"> <h2 class="footer-header"><a href="/about/">About O&rsquo;Reilly</a></h2> <ul class="footer-links"> <li><a href="/work-with-us.html">Teach/write/train</a></li> <li><a href="/careers/">Careers</a></li> <li><a href="/press/">O&rsquo;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" id="footerSponsorshipLink">O&rsquo;Reilly for marketers</a></li> </ul> </div> </div> <div class="footer-mainLeftTwo"> <div class="footer-contact"> <h2 class="footer-header"><a href="/online-learning/support/">Support</a></h2> <ul class="footer-links"> <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> <a href="https://www.linkedin.com/company/oreilly-media" target="_blank"><svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32.25 32.25"><defs><style>.cls-1{fill:#d30000;fill-rule:evenodd;}</style></defs><title>linkedin-logo</title><path class="cls-1" d="M17.43,13.53v0l0,0ZM16.12,0A16.13,16.13,0,1,0,32.25,16.12,16.12,16.12,0,0,0,16.12,0ZM11.77,22.92H8.12v-11h3.65ZM9.94,10.44h0a1.89,1.89,0,0,1-2-1.89A1.91,1.91,0,0,1,10,6.65a1.9,1.9,0,1,1,0,3.79Zm15,12.48H21.28V17.05c0-1.48-.53-2.49-1.85-2.49a2,2,0,0,0-1.88,1.34,2.63,2.63,0,0,0-.12.89v6.13H13.79s.05-10,0-11h3.64V13.5a3.63,3.63,0,0,1,3.29-1.82c2.4,0,4.21,1.57,4.21,4.95Z"/></svg></a> <a href="https://www.youtube.com/user/OreillyMedia" target="_blank"><svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32.25 32.25"><defs><style>.cls-1{fill:#d30000;fill-rule:evenodd;}</style></defs><title>youtube-logo</title><path class="cls-1" d="M18.35,18.68a.89.89,0,0,0-.86.63V16.94h-1v7.59h1v-.59a.92.92,0,0,0,.89.74c.52,0,.86-.36,1-1.07a8.56,8.56,0,0,0,.14-1.9,10.47,10.47,0,0,0-.12-1.93C19.21,19.05,18.87,18.68,18.35,18.68Zm.09,4.14c-.05.52-.2.77-.45.77s-.43-.21-.49-.63a7.22,7.22,0,0,1,0-1c0-.72,0-1.14,0-1.26.07-.58.23-.88.51-.88s.4.27.46.79c0,.09,0,.47,0,1.13S18.46,22.71,18.44,22.82ZM8.61,18.19H9.86v6.34H11V18.19H12.2V16.94H8.61Zm7.71-6.12c.27,0,.43-.22.49-.66,0-.09,0-.45,0-1.07V9.78c0-.58,0-.93,0-1-.07-.43-.23-.65-.48-.65s-.41.19-.48.57a8.79,8.79,0,0,0,0,1v.53c0,.71,0,1.09,0,1.16C15.88,11.82,16.05,12.07,16.32,12.07Zm-1.74,10.4a2.92,2.92,0,0,1-.06.71c-.07.25-.2.37-.4.37s-.32-.11-.38-.34a2.63,2.63,0,0,1-.05-.66V18.83h-1v4.48c0,.91.33,1.37,1,1.37A1,1,0,0,0,14.6,24v.57h1v-5.7h-1Zm7.1-3.79a1.35,1.35,0,0,0-1.22.59,2.48,2.48,0,0,0-.3,1.07c0,.23,0,.61,0,1.16s0,1.13,0,1.37a2.93,2.93,0,0,0,.35,1.27,1.25,1.25,0,0,0,1.14.54,1.36,1.36,0,0,0,1.13-.45,2.29,2.29,0,0,0,.37-1.43s0-.07,0-.11v-.12h-1c0,.75-.17,1.12-.51,1.12s-.38-.18-.45-.56a4.68,4.68,0,0,1-.06-.9c0-.18,0-.31,0-.37h2v-.43a4.86,4.86,0,0,0-.3-2.11A1.28,1.28,0,0,0,21.68,18.68ZM22.15,21h-1c0-.05,0-.11,0-.16v-.08a1.64,1.64,0,0,1,.11-.8.39.39,0,0,1,.38-.23.42.42,0,0,1,.43.33,2.32,2.32,0,0,1,.07.7Zm-6-21A16.13,16.13,0,1,0,32.25,16.12,16.12,16.12,0,0,0,16.12,0Zm2.51,7.2h1V11a2.52,2.52,0,0,0,.06.66c.06.23.18.34.38.34s.34-.12.41-.37a3.76,3.76,0,0,0,.05-.71V7.2h1v5.74h-1v-.57a1,1,0,0,1-.93.72c-.66,0-1-.46-1-1.38ZM15,8a1.29,1.29,0,0,1,1.33-.92A1.3,1.3,0,0,1,17.65,8a6.77,6.77,0,0,1,.23,2.1,6.77,6.77,0,0,1-.23,2.1,1.3,1.3,0,0,1-1.32.92A1.29,1.29,0,0,1,15,12.17a6.77,6.77,0,0,1-.23-2.1A6.86,6.86,0,0,1,15,8ZM11.45,5.3l.89,2.87.88-2.87H14.4L12.88,9.7v3.24h-1.1V9.7L10.24,5.3ZM24.93,23.91a3,3,0,0,1-3,3h-12a3,3,0,0,1-3-3V18.05a3,3,0,0,1,3-3h12a3,3,0,0,1,3,3Z"/></svg></a> </div> <div class="footer-international"> <h2 class="footer-header">International</h2> <ul class="footer-links"> <li><a href="https://www.oreilly.com/anz/">Australia &amp; New Zealand</a></li> <li><a href="https://oreilly.hk/">Hong Kong &amp; Taiwan</a></li> <li><a href="https://oreillylearning.in/">India</a></li> <li><a href="https://oreilly.id/">Indonesia</a></li> <li><a href="https://www.oreilly.co.jp/index.shtml">Japan</a></li> </ul> </div> </div> </div> <div class="footer-download" id="download-info"> <h2 class="footer-header">Download the O&rsquo;Reilly App</h2> <p>Take O&rsquo;Reilly with you and learn anywhere, anytime on your phone <span class="nowrap">and tablet.</span></p> <div class="footer-downloadLinks"> <a href="https://itunes.apple.com/us/app/safari-to-go/id881697395"><img src="https://cdn.oreillystatic.com/oreilly/images/app-store-logo.png" alt="Apple app store" /></a> <a href="https://play.google.com/store/apps/details?id=com.safariflow.queue"><img src="https://cdn.oreillystatic.com/oreilly/images/google-play-logo.png" alt="Google play store" /></a> </div> </div> <div class="footer-download" id="tv-info"> <h2 class="footer-header">Watch on your big screen</h2> <p>View all O&rsquo;Reilly videos, Superstream events, and Meet the Expert sessions on your <span class="nowrap">home TV.</span></p> <div class="footer-downloadLinks"> <a href="https://channelstore.roku.com/details/c8a2d0096693eb9455f6ac165003ee06/oreilly"><img src="https://cdn.oreillystatic.com/oreilly/images/roku-tv-logo.png" alt="Roku Players and TVs" /></a> <a href="https://www.amazon.com/OReilly-Media-Inc/dp/B087YYHL5C/ref=sr_1_2?dchild=1&keywords=oreilly&qid=1604964116&s=mobile-apps&sr=1-2"><img src="https://cdn.oreillystatic.com/oreilly/images/amazon-appstore-logo.png" alt="Amazon appstore" /></a> </div> </div> <div class="footer-donotsell" id="donotsell-info"> <h2 class="footer-header"><a href="https://www.oreilly.com/privacy.html?donotsell=show">Do not sell or share my personal information</a></h2> </div> </div> <div class="footer-subfooter"> <a href="https://www.oreilly.com" title="home page" aria-current="page"> <img class="footer-subfooterLogo" id="footer-subfooterLogo" src="https://cdn.oreillystatic.com/images/sitewide-headers/oreilly_logo_mark_red.svg" onerror="this.src='https://cdn.oreillystatic.com/images/sitewide-headers/oreilly_logo_mark_red_@2x.png'; this.onerror=null;" alt="O'Reilly home"> </a> <p>&copy; 2024, O&rsquo;Reilly Media, Inc. All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.</p> <p><a href="/terms/">Terms of service</a> &bull; <a href="/privacy.html">Privacy policy</a> &bull; <a href="/about/editorial_independence.html">Editorial independence</a><span class="transparencyStatement" style="display:none;"> &bull; <a href="/modern-slavery-act-transparency-statement.html">Modern Slavery Act Statement</a></span></p> </div> </div> </footer> <script src="https://cdn.oreillystatic.com/ajax/libs/jquery/3.7.0/jquery.min.js"></script> <script> $(function() { //Toggle isActive and mobileHidden classes for mobileNavButton $('nav #mobileNavButton').on('click', function() { var expanded = $(this).attr('aria-expanded') === 'true' || false; $(this).attr('aria-expanded', !expanded); $(this).toggleClass("isActive"); $(this).next().toggleClass("mobileHidden"); }); //Toggle isFocused class for keyboard navigation of submenus $('nav #menuList .menuList-subItem a').each(function(navItem) { $(this).on('focus', function() { $(this).parent().parent().toggleClass('isFocused'); }); $(this).on('blur', function() { $(this).parent().parent().toggleClass('isFocused'); }); }); //Toggle mobileHidden class accordian elements $('.mobileAccordian').each(function() { var $btn = $(this).find('button'); var $target = $(this).next(); $btn.on('click', function() { var expanded = $btn.attr('aria-expanded') === 'true' || false; $btn.attr('aria-expanded', !expanded); $target.toggleClass("mobileHidden"); }); }); //Search platform form action function searchSubmit(e) { e.preventDefault(); sParameter = searchForm.search.value; sParameter = encodeURIComponent(sParameter.trim()); sURL = searchForm.action + '?query=' + sParameter; window.location = sURL; //GA event for search dataLayer.push({ 'event': 'eventTracker', 'eventCat':'site search', 'eventAct':'search box', 'eventLbl':'explore our content', 'eventVal':0, 'nonInteraction': 0, }); } const searchForm = document.getElementById('js-searchForm'); searchForm.addEventListener('submit', searchSubmit); //Search button action function showNavSearch(e) { $('.menuList-item-search').addClass('overlay'); $('.menuList-item-search input#search').focus(); } const searchButton = document.getElementById('js-searchButton'); searchButton.addEventListener('click', showNavSearch); //Close search button action function hideNavSearch(e) { $('.menuList-item-search').removeClass('overlay'); } const searchCloseButton = document.getElementById('js-searchCloseButton'); searchCloseButton.addEventListener('click', hideNavSearch); //"Try Now" nav button tracking $('#nav-tryNow').on('click', function() { dataLayer.push({ 'event': 'eventTracker', 'eventCat':'marketing', 'eventAct':'nav', 'eventLbl':'try now', 'eventVal':0, 'nonInteraction': 0, }); }); //"Sign in" nav button tracking $('#nav-signIn').on('click', function() { dataLayer.push({ 'event': 'eventTracker', 'eventCat':'marketing', 'eventAct':'nav', 'eventLbl':'sign in', 'eventVal':0, 'nonInteraction': 0, }); }); //"O'Reilly Platform" nav button tracking $('#nav-platform').on('click', function() { dataLayer.push({ 'event': 'eventTracker', 'eventCat':'marketing', 'eventAct':'nav', 'eventLbl':'oreilly platform', 'eventVal':0, 'nonInteraction': 0, }); }); }); (function(document, history, location) { var HISTORY_SUPPORT = !!(history && history.pushState); FIXED_HEADER_HEIGHT = document.querySelector('body > header').offsetHeight; FIXED_HEADER_HEIGHT += 20; var anchorScrolls = { ANCHOR_REGEX: /^#[^ ]+$/, OFFSET_HEIGHT_PX: FIXED_HEADER_HEIGHT, /** * Establish events, and fix initial scroll position if a hash is provided. */ init: function() { this.scrollToCurrent(); window.addEventListener('hashchange', this.scrollToCurrent.bind(this)); document.body.addEventListener('click', this.delegateAnchors.bind(this)); }, /** * Return the offset amount to deduct from the normal scroll position. * Modify as appropriate to allow for dynamic calculations */ getFixedOffset: function() { return this.OFFSET_HEIGHT_PX; }, /** * If the provided href is an anchor which resolves to an element on the * page, scroll to it. * @param {String} href * @return {Boolean} - Was the href an anchor. */ scrollIfAnchor: function(href, pushToHistory) { var match, rect, anchorOffset; if(!this.ANCHOR_REGEX.test(href)) { return false; } match = document.getElementById(href.slice(1)); if(match) { rect = match.getBoundingClientRect(); anchorOffset = window.pageYOffset + rect.top - this.getFixedOffset(); // Wait 1ms and scroll. It wasn't consistently scrolling immediately. setTimeout(function(){ window.scroll(window.pageXOffset, anchorOffset); }, 1); // Add the state to history as-per normal anchor links if(HISTORY_SUPPORT && pushToHistory) { history.pushState({}, document.title, location.pathname + href); } } return !!match; }, /** * Attempt to scroll to the current location's hash. */ scrollToCurrent: function() { this.scrollIfAnchor(window.location.hash); }, /** * If the click event's target was an anchor, fix the scroll position. */ delegateAnchors: function(e) { var elem = e.target; if( elem.nodeName === 'A' && this.scrollIfAnchor(elem.getAttribute('href'), true) ) { e.preventDefault(); } } }; window.addEventListener( 'DOMContentLoaded', anchorScrolls.init.bind(anchorScrolls) ); })(window.document, window.history, window.location); </script><script type="text/javascript" src="/J4WowN/Sng6Y/Kb9Sy/mQ/3GS5G8NzDwJpauua/QC9EKwE/NQ0CZU/B6AXI"></script><link rel="stylesheet" type="text/css" href="/J4WowN/Sng6Y/Kb9Sy/mQ/LVS5aS/PnklKwE/UV15SG/sRXXVX"> <script src="/J4WowN/Sng6Y/Kb9Sy/mQ/LVS5aS/PnklKwE/BRl2HU/YXCWco" async defer></script> <div id="sec-overlay" style="display:none;"> <div id="sec-container"> </div> </div></body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10