CINXE.COM

New Work Development

<!DOCTYPE html><html xmlns:cc="http://creativecommons.org/ns#"><head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# medium-com: http://ogp.me/ns/fb/medium-com#"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=contain"><title>New Work Development</title><link rel="canonical" href="https://tech.new-work.se"><link id="feedLink" rel="alternate" type="application/rss+xml" title="RSS" href="https://tech.new-work.se/feed"><meta name="robots" content="index,follow"><meta name="title" content="New Work Development"><meta name="referrer" content="unsafe-url"><meta name="description" content="Stories about building a better working world."><meta name="keywords" content="SOFTWARE ENGINEERING, TECHNOLOGY, AGILE, QUALITY ASSURANCE, KUNUNU"><meta name="theme-color" content="#000000"><meta property="og:title" content="New Work Development"><meta property="twitter:title" content="New Work Development"><meta property="og:url" content="https://tech.new-work.se/"><meta property="og:image" content="https://cdn-images-1.medium.com/max/1200/1*B1MD9EGz7rhVkx3WE3Rkog.png"><meta property="fb:app_id" content="542599432471018"><meta property="og:description" content="Stories about building a better working world."><meta name="twitter:description" content="Stories about building a better working world."><meta name="twitter:image:src" content="https://cdn-images-1.medium.com/max/1200/1*B1MD9EGz7rhVkx3WE3Rkog.png"><meta property="og:type" content="medium-com:collection"><meta name="twitter:card" content="summary_large_image"><meta property="medium-com:creator" content="https://tech.new-work.se/@xingdevs"><meta name="twitter:creator" content="@xingdevs"><meta name="twitter:site" content="@xingdevs"><meta property="og:site_name" content="New Work Development"><meta name="twitter:app:name:iphone" content="Medium"><meta name="twitter:app:id:iphone" content="828256236"><meta name="twitter:app:url:iphone" content="medium://xing-engineering"><meta property="al:ios:app_name" content="Medium"><meta property="al:ios:app_store_id" content="828256236"><meta property="al:android:package" content="com.medium.reader"><meta property="al:android:app_name" content="Medium"><meta property="al:ios:url" content="medium://xing-engineering"><meta property="al:android:url" content="medium://xing-engineering"><meta property="al:web:url" content="https://tech.new-work.se/"><link rel="search" type="application/opensearchdescription+xml" title="Medium" href="/osd.xml" /><link rel="alternate" href="android-app://com.medium.reader/https/medium.com/xing-engineering" /><script type="application/ld+json">{"@context": "http://schema.org", "@graph": [{"@type": "WebSite", "url": "https:\/\/tech.new-work.se", "name": "New Work Development", "alternateName": "Stories about building a better working world"},{"@type": "Organization", "url": "https:\/\/tech.new-work.se", "name": "New Work Development"}]}</script><link rel="stylesheet" href="https://cdn-static-1.medium.com/_/fp/css/main-branding-base.W9J-2zkF03j8TkriAGn1Tg.12.css"><script>!function(n,e){var t,o,i,c=[],f={passive:!0,capture:!0},r=new Date,a="pointerup",u="pointercancel";function p(n,c){t||(t=c,o=n,i=new Date,w(e),s())}function s(){o>=0&&o<i-r&&(c.forEach(function(n){n(o,t)}),c=[])}function l(t){if(t.cancelable){var o=(t.timeStamp>1e12?new Date:performance.now())-t.timeStamp;"pointerdown"==t.type?function(t,o){function i(){p(t,o),r()}function c(){r()}function r(){e(a,i,f),e(u,c,f)}n(a,i,f),n(u,c,f)}(o,t):p(o,t)}}function w(n){["click","mousedown","keydown","touchstart","pointerdown"].forEach(function(e){n(e,l,f)})}w(n),self.perfMetrics=self.perfMetrics||{},self.perfMetrics.onFirstInputDelay=function(n){c.push(n),s()}}(addEventListener,removeEventListener);</script><script>document.domain = document.domain;</script><script>if (window.top !== window.self) window.location = 'about:blank';var OB_startTime = new Date().getTime(); var OB_loadErrors = []; function _onerror(e) { OB_loadErrors.push(e) }; if (document.addEventListener) document.addEventListener("error", _onerror, true); else if (document.attachEvent) document.attachEvent("onerror", _onerror); function _asyncScript(u) {var d = document, f = d.getElementsByTagName("script")[0], s = d.createElement("script"); s.type = "text/javascript"; s.async = true; s.src = u; f.parentNode.insertBefore(s, f);}function _asyncStyles(u) {var d = document, f = d.getElementsByTagName("script")[0], s = d.createElement("link"); s.rel = "stylesheet"; s.href = u; f.parentNode.insertBefore(s, f); return s}(new Image()).src = "/_/stat?event=pixel.load&origin=" + encodeURIComponent(location.origin);</script><script>window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; ga("create", "G-7JY7T788PK", "auto", {"allowLinker": true, "legacyCookieDomain": window.location.hostname});ga("send", "pageview");</script><script async src="https://www.google-analytics.com/analytics.js"></script><script>(function () {var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; document.write("<style>section.section-image--fullBleed.is-backgrounded {padding-top: " + Math.round(1.1 * height) + "px;}section.section-image--fullScreen.is-backgrounded, section.section-image--coverFade.is-backgrounded {min-height: " + height + "px; padding-top: " + Math.round(0.5 * height) + "px;}.u-height100vh {height: " + height + "px !important;}.u-height110vh {height: " + Math.round(1.1 * height) + "px !important;}.u-minHeight100vh {min-height: " + height + "px !important;}.u-maxHeight100vh {max-height: " + height + "px !important;}section.section-image--coverFade {height: " + height + "px;}.section-aspectRatioViewportPlaceholder, .section-aspectRatioViewportCropPlaceholder {max-height: " + height + "px;}.section-aspectRatioViewportBottomSpacer, .section-aspectRatioViewportBottomPlaceholder {max-height: " + Math.round(0.5 * height) + "px;}.zoomable:before {top: " + (-1 * height) + "px; left: " + (-1 * width) + "px; padding: " + height + "px " + width + "px;}</style>");})()</script><!--[if lt IE 9]><script charset="UTF-8" src="https://cdn-static-1.medium.com/_/fp/js/shiv.RI2ePTZ5gFmMgLzG5bEVAA.12.js"></script><![endif]--><link rel="icon" href="https://miro.medium.com/v2/5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19" class="js-favicon"><link rel="apple-touch-icon" sizes="152x152" href="https://cdn-images-1.medium.com/fit/c/304/304/1*B1MD9EGz7rhVkx3WE3Rkog.png"><link rel="apple-touch-icon" sizes="120x120" href="https://cdn-images-1.medium.com/fit/c/240/240/1*B1MD9EGz7rhVkx3WE3Rkog.png"><link rel="apple-touch-icon" sizes="76x76" href="https://cdn-images-1.medium.com/fit/c/152/152/1*B1MD9EGz7rhVkx3WE3Rkog.png"><link rel="apple-touch-icon" sizes="60x60" href="https://cdn-images-1.medium.com/fit/c/120/120/1*B1MD9EGz7rhVkx3WE3Rkog.png"><link rel="mask-icon" href="https://cdn-static-1.medium.com/_/fp/icons/monogram-mask.KPLCSFEZviQN0jQ7veN2RQ.12.svg" color="#171717"></head><body itemscope class=" browser-ie os-windows v-unbound v-glyph v-glyph--m2-unbound-source-serif-pro is-noJs"><script>document.body.className = document.body.className.replace(/(^|\s)is-noJs(\s|$)/, "$1is-js$2")</script><div class="site-main" id="container"><div class="butterBar butterBar--error"></div><div class="surface"><div id="prerendered" class="screenContent"><div class="metabar u-clearfix js-metabar"><div class="branch-journeys-top"></div><div class="js-metabarMiddle metabar-inner u-marginAuto u-maxWidth1032 u-flexCenter u-justifyContentSpaceBetween u-height65 u-xs-height56 u-paddingHorizontal20"><div class="metabar-block u-flex1 u-flexCenter"><div class="js-metabarLogoLeft"><a href="https://medium.com/" data-log-event="home" class="siteNav-logo u-fillBlack u-flex0 u-flexCenter u-paddingTop0"><span class="svgIcon svgIcon--wordmarkMedium svgIcon--120x26px u-flex"><svg class="svgIcon-use" width="120" height="26" ><path d="M29.57 1.404l.036-.008V1.12h-7.27l-6.75 15.979-6.75-15.98H1.003v.278l.035.008c1.327.302 2 .752 2 2.374v18.993c0 1.623-.676 2.073-2.003 2.374L1 25.153v.279h5.315v-.278l-.035-.008c-1.327-.302-2-.751-2-2.374V4.88l8.67 20.552h.492l8.924-21.125V23.24c-.114 1.282-.782 1.677-1.983 1.95l-.036.009v.275h9.259V25.2l-.036-.008c-1.203-.274-1.886-.67-2-1.95l-.006-19.464h.006c0-1.622.674-2.072 2-2.374zm4.23 12.582c.15-3.412 1.367-5.875 3.41-5.918.629.01 1.157.219 1.568.62.872.852 1.282 2.634 1.219 5.298h-6.198zm-.092.962h10.85v-.046c-.03-2.61-.78-4.64-2.228-6.033-1.25-1.204-3.103-1.867-5.048-1.867h-.043c-1.01 0-2.248.246-3.13.693a7.316 7.316 0 00-2.623 2.086c-1.185 1.479-1.903 3.477-2.078 5.724a13.717 13.717 0 00-.04.755c-.004.195-.005.39-.001.587.117 5.087 2.846 9.153 7.692 9.153 4.254 0 6.73-3.132 7.348-7.336l-.312-.11c-1.085 2.259-3.034 3.628-5.252 3.461-3.028-.228-5.347-3.32-5.137-7.066m23.122 6.893c-.356.85-1.099 1.319-2.094 1.319-.995 0-1.905-.689-2.552-1.939-.694-1.342-1.06-3.24-1.06-5.487 0-4.678 1.445-7.704 3.68-7.704.937 0 1.674.468 2.026 1.284v12.527zm7.198 3.335c-1.327-.316-2-.787-2-2.492V0l-8.062 2.392v.293l.05-.004c1.111-.09 1.866.064 2.304.472.343.32.51.809.51 1.498v3.11C56.033 7.25 55.088 7 53.94 7c-2.326 0-4.453.987-5.986 2.779-1.599 1.867-2.444 4.42-2.444 7.38 0 5.287 2.584 8.84 6.43 8.84 2.25 0 4.06-1.242 4.888-3.336v2.811h7.233v-.29l-.035-.008zM70.94 3.085c0-1.65-1.236-2.896-2.875-2.896-1.632 0-2.908 1.272-2.908 2.896 0 1.624 1.278 2.896 2.908 2.896 1.64 0 2.875-1.245 2.875-2.896zm1.903 22.092c-1.327-.316-2-.787-2-2.492h-.006V7.055l-7.234 2.092v.284l.043.004c1.566.14 1.994.683 1.994 2.525v13.515h7.24v-.29l-.037-.008zm18.536 0c-1.327-.316-2-.787-2-2.492V7.055L82.49 9.078v.285l.04.004c1.28.136 1.65.71 1.65 2.56v9.88c-.426.85-1.227 1.356-2.196 1.39-1.573 0-2.439-1.07-2.439-3.012V7.055l-7.234 2.092v.284l.044.004c1.565.14 1.994.683 1.994 2.525v8.362a9.443 9.443 0 00.15 1.741l.13.57C75.243 24.845 76.848 26 79.362 26c2.129 0 3.996-1.328 4.818-3.405v2.885h7.233v-.291l-.034-.012zm28.102.298v-.291l-.035-.009c-1.44-.334-2.001-.964-2.001-2.248V12.295C117.445 8.98 115.597 7 112.5 7c-2.257 0-4.16 1.314-4.893 3.36-.582-2.168-2.257-3.36-4.734-3.36-2.175 0-3.88 1.156-4.612 3.11V7.056l-7.233 2.006v.286l.043.004c1.547.138 1.994.697 1.994 2.492v13.631h6.75v-.29l-.037-.01c-1.148-.271-1.519-.767-1.519-2.04V10.95c.304-.715.917-1.562 2.127-1.562 1.504 0 2.266 1.05 2.266 3.116v12.972h6.751v-.29l-.035-.01c-1.149-.271-1.52-.767-1.52-2.04V12.294a7.107 7.107 0 00-.095-1.21c.322-.777.97-1.696 2.23-1.696 1.524 0 2.265 1.02 2.265 3.116v12.972h7.233z"/></svg></span><span class="u-textScreenReader">Homepage</span></a></div><div class="u-paddingLeft10 u-sm-show r-paddingRight10"><a href="https://rsci.app.link/?%24canonical_url=https%3A%2F%2Fmedium.com/xing-engineering%3F~feature=LoMobileNavBar&~channel=ShowCollectionHome&~stage=m2">Open in app</a></div></div><div class="metabar-block u-flex0 u-flexCenter"><div class="u-flexCenter u-height65 u-xs-height56"><div class="buttonSet buttonSet--wide u-lineHeightInherit"><a class="button button--primary button--chromeless u-accentColor--buttonNormal is-inSiteNavBar u-xs-hide js-signInButton" href="https://medium.com/m/signin?redirect=https%3A%2F%2Ftech.new-work.se%2F%3Fsc_o%3Dnavigation_footer&amp;source=--------------------------nav_reg&amp;operation=login" data-action="sign-in-prompt" data-redirect="https://tech.new-work.se/?sc_o=navigation_footer" data-action-source="--------------------------nav_reg">Sign in</a><a class="button button--primary button--withChrome u-accentColor--buttonNormal is-inSiteNavBar js-signUpButton" href="https://medium.com/m/signin?redirect=https%3A%2F%2Ftech.new-work.se%2F%3Fsc_o%3Dnavigation_footer&amp;source=--------------------------nav_reg&amp;operation=register" data-action="sign-up-prompt" data-redirect="https://tech.new-work.se/?sc_o=navigation_footer" data-action-source="--------------------------nav_reg">Get started</a></div></div></div></div></div><div class="metabar metabar--spacer js-metabarSpacer u-height65 u-xs-height56"></div><div class="collectionHeader js-collectionHeaderContainer u-relative collectionHeader--layoutMedium collectionHeader--alignmentLeft collectionHeader--withLogo collectionHeader--withoutBackground collectionHeader--colorBehaviorSubtle collectionHeader--withNavigation collectionHeader--editorLayoutTitleAndLogo is-modeView is-whiteLabel"><div class="collectionHeader-aspectRatioTable"><div class="collectionHeader-aspectRatioContent u-backgroundSizeCover js-collectionHeaderBackground"><div class="collectionHeader-overlayBackground u-height100vh"></div><header class="collectionHeader-heroAndInlineNav u-borderBox u-maxWidth1072 u-paddingLeft20 u-paddingRight20 u-marginAuto u-foreground js-collectionHeader"><div class="collectionHeader-hero js-collectionHeaderHero u-clearfix"><div class="collectionHeader-heroInner"><div class="collectionHeader-logo js-collectionHeaderLogo" style="width: 92px; float: left; padding-right: 20px; margin-right: 0;"><a class="link u-baseColor--link" href="https://tech.new-work.se" title="Go to New Work Development" aria-label="Go to New Work Development" data-collection-slug="xing-engineering"><div class="u-relative u-marginAuto"><div style="padding-bottom: 100%"></div><img class="collectionHeader-logoImage js-collectionHeaderLogoImage" src="https://cdn-images-1.medium.com/max/184/1*B1MD9EGz7rhVkx3WE3Rkog@2x.png" data-image-id="1*B1MD9EGz7rhVkx3WE3Rkog@2x.png" data-width="1080" data-height="1080" /></div></a></div><div class="collectionHeader-nameAndDescription"><a class="link link--noUnderline u-baseColor--link" href="https://tech.new-work.se" title="Go to New Work Development" aria-label="Go to New Work Development" data-collection-slug="xing-engineering"><h1 class="collectionHeader-name js-collectionName u-foreground u-baseColor--textDark u-paddingBottom4 u-lineHeightTightest u-contentSansBold u-fontSize40 u-xs-fontSize32">New Work Engineering</h1></a><h2 class="collectionHeader-description js-collectionDescription u-foreground u-baseColor--textNormal u-contentSansRegular u-fontSize24 u-xs-fontSize18">Stories about building a better working world</h2></div></div></div></header></div><div class="collectionHeader-aspectRatioCell"><div class="collectionHeader-aspectRatioFullWidth"></div></div></div><div class="collectionHeader-blockNav"><div class="u-borderBox u-maxWidth1072 u-paddingLeft20 u-paddingRight20 u-marginAuto"><nav class="collectionHeader-nav u-clearfix js-collectionHeaderNav u-lineHeight40 u-overflowHiddenY"><div class="buttonSet u-flex1 u-noWrap u-overflowX u-paddingBottom100 u-xs-marginRight15"><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://tech.new-work.se/tagged/kununu">kununu</a></li><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://tech.new-work.se/tagged/xing">XING</a></li><span class="u-borderLeft1 u-paddingLeft22 u-xs-paddingLeft12 u-baseColor--borderLight"></span><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0 is-external"><a class="link link--darkenOnHover u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://medium.com/xing-hackweek" rel="nofollow noopener" target="_blank">New Work HackWeek</a></li></div><div class="buttonSet u-textAlignRight u-marginLeft18 u-flex0 u-noWrap"><label class="button button--small button--chromeless button--withIcon button--withSvgIcon inputGroup u-sm-hide metabar-predictiveSearch u-baseColor--buttonNormal u-baseColor--placeholderNormal" title="Search"><span class="svgIcon svgIcon--search svgIcon--25px u-baseColor--iconLight"><svg class="svgIcon-use" width="25" height="25" ><path d="M20.067 18.933l-4.157-4.157a6 6 0 10-.884.884l4.157 4.157a.624.624 0 10.884-.884zM6.5 11c0-2.62 2.13-4.75 4.75-4.75S16 8.38 16 11s-2.13 4.75-4.75 4.75S6.5 13.62 6.5 11z"/></svg></span><input class="js-predictiveSearchInput textInput textInput--rounded textInput--darkText u-baseColor--textNormal textInput--transparent" type="search" placeholder="Search" required="true" data-collection-id="35cb8c78d3cf" /></label><a class="button button--chromeless is-touchIconBlackPulse u-baseColor--buttonNormal button--withIcon button--withSvgIcon button--chromeless u-verticalAlignMiddle" href="https://twitter.com/xingdevs" title="Visit “New Work Development” on X" aria-label="Visit “New Work Development” on X" rel="me" target="_blank"><span class="button-defaultState"><span class="svgIcon svgIcon--twitter svgIcon--25px"><svg class="svgIcon-use" width="25" height="25" fill="none" ><path d="M14.215 11.3l5.764-6.7h-1.366l-5.005 5.818L9.611 4.6H5l6.045 8.798L5 20.424h1.366l5.286-6.144 4.221 6.144h4.61L14.216 11.3zm-1.871 2.175l-.612-.876-4.874-6.97h2.098l3.933 5.625.613.876 5.112 7.312h-2.098l-4.172-5.966z" fill="#242424"/></svg></span></span></a><button class="button button--primary button--smallest u-noUserSelect button--withChrome u-accentColor--buttonNormal button--followCollection js-followCollectionButton" data-action="sign-up-prompt" data-sign-in-action="toggle-subscribe-collection" data-requires-token="true" data-redirect="https://medium.com/_/subscribe/collection/xing-engineering" data-action-source="header----35cb8c78d3cf----------------------follow_pub"><span class="button-label button-defaultState js-buttonLabel">Follow</span><span class="button-label button-activeState">Following</span></button></div></nav></div></div></div><div class="u-marginBottom40 js-collectionStream"><div class="streamItem streamItem--section js-streamItem"><section class="u-marginTop30 u-xs-margin0 u-marginBottom15 u-maxWidth1032 u-sm-paddingLeft20 u-sm-paddingRight20 u-borderBox u-marginAuto"><div class="row u-marginTop30 u-marginLeftNegative12 u-marginRightNegative12"><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------0-----------------------" data-post-id="fac4a8b0ae15" data-index="0"><div class="u-lineHeightBase postItem"><a href="https://tech.new-work.se/protecting-sensitive-data-in-elixir-genservers-fac4a8b0ae15?source=collection_home---4------0-----------------------" data-action="open-post" data-action-value="https://tech.new-work.se/protecting-sensitive-data-in-elixir-genservers-fac4a8b0ae15?source=collection_home---4------0-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*BWqtEpR1YYuOL-VrRxc9TA.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Protecting sensitive data in Elixir GenServers</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://tech.new-work.se/protecting-sensitive-data-in-elixir-genservers-fac4a8b0ae15?source=collection_home---4------0-----------------------" data-action-source="collection_home---4------0-----------------------" data-post-id="fac4a8b0ae15"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Protecting sensitive data in Elixir GenServers</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">In Elixir, GenServers are a common way to maintain state and handle concurrent processes. However, when these GenServers hold sensitive…</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@gabrielpedepera" data-action="show-user-card" data-action-value="6ca9d8d9fad3" data-action-type="hover" data-user-id="6ca9d8d9fad3" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*VapjJ-eXDvCQnaiSMnaLPg.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Gabriel Pereira"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@gabrielpedepera" data-action="show-user-card" data-action-value="6ca9d8d9fad3" data-action-type="hover" data-user-id="6ca9d8d9fad3" data-collection-slug="xing-engineering" dir="auto">Gabriel Pereira</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-11-27T00:34:21.726Z">Nov 26, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="5 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------1-----------------------" data-post-id="ce24a59c653b" data-index="1"><div class="u-lineHeightBase postItem"><a href="https://tech.new-work.se/one-or-multiple-packages-ce24a59c653b?source=collection_home---4------1-----------------------" data-action="open-post" data-action-value="https://tech.new-work.se/one-or-multiple-packages-ce24a59c653b?source=collection_home---4------1-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*i_LLKpkfT6SJOOV4IQ6VaQ.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">One or multiple packages?</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://tech.new-work.se/one-or-multiple-packages-ce24a59c653b?source=collection_home---4------1-----------------------" data-action-source="collection_home---4------1-----------------------" data-post-id="ce24a59c653b"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">One or multiple packages?</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Well…it depends</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@Juantri" data-action="show-user-card" data-action-value="cd48b029b443" data-action-type="hover" data-user-id="cd48b029b443" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/2*e485R4HBu-nIwl-UUgrghA.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Juantri Jiménez"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@Juantri" data-action="show-user-card" data-action-value="cd48b029b443" data-action-type="hover" data-user-id="cd48b029b443" data-collection-slug="xing-engineering" dir="auto">Juantri Jiménez</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-11-08T10:27:50.011Z">Nov 8, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="4 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------2-----------------------" data-post-id="c8cba6478ba3" data-index="2"><div class="u-lineHeightBase postItem"><a href="https://tech.new-work.se/the-role-of-artificial-intelligence-in-recruitment-c8cba6478ba3?source=collection_home---4------2-----------------------" data-action="open-post" data-action-value="https://tech.new-work.se/the-role-of-artificial-intelligence-in-recruitment-c8cba6478ba3?source=collection_home---4------2-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*VrdA496DwlEoXysuY0eZhQ.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">The Role of Artificial Intelligence in Recruitment</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://tech.new-work.se/the-role-of-artificial-intelligence-in-recruitment-c8cba6478ba3?source=collection_home---4------2-----------------------" data-action-source="collection_home---4------2-----------------------" data-post-id="c8cba6478ba3"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">The Role of Artificial Intelligence in Recruitment</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Imagine you can have a workmate capable of interacting right away with candidates, screening CVs in the blink of an eye with flawless…</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@sara.castro_82132" data-action="show-user-card" data-action-value="1a65dd4b0c02" data-action-type="hover" data-user-id="1a65dd4b0c02" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*iL1FIuZsuA9g3eTT6ygYuA.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Sara Castro"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@sara.castro_82132" data-action="show-user-card" data-action-value="1a65dd4b0c02" data-action-type="hover" data-user-id="1a65dd4b0c02" data-collection-slug="xing-engineering" dir="auto">Sara Castro</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-09-07T15:01:02.706Z">Sep 7, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="3 min read"></span></div></div></div></div></div></div></div></section></div><div class="streamItem streamItem--section js-streamItem"><div class="u-clearfix u-maxWidth1032 u-marginAuto"><div class="u-marginTop30 u-marginBottom20 u-xs-margin20 u-xs-marginVertical0 u-flexStretch"><div class="u-size8of12 u-xs-size12of12"><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------0-----------------------" data-post-id="c9de1c4df5e9"><a href="https://tech.new-work.se/shortage-of-technological-talent-in-portugal-what-are-the-challenges-c9de1c4df5e9?source=collection_home---5------0-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/1*ahyz-nFfTws7gJ4E6Kk8Iw.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Shortage of technological talent in Portugal: what are the challenges?</span></a><a class="" href="https://tech.new-work.se/shortage-of-technological-talent-in-portugal-what-are-the-challenges-c9de1c4df5e9?source=collection_home---5------0-----------------------" data-action-source="collection_home---5------0-----------------------" data-post-id="c9de1c4df5e9"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">Shortage of technological talent in Portugal: what are the challenges?</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">It is important to have a collaboration between the government, the companies and the educational institutions. Therefore, investments…</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@barbara.serrano" data-action="show-user-card" data-action-value="97c5397448a4" data-action-type="hover" data-user-id="97c5397448a4" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*dL5-vhFfM_Dl-1zk0VSfWA.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Bárbara Serrano"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@barbara.serrano" data-action="show-user-card" data-action-value="97c5397448a4" data-action-type="hover" data-user-id="97c5397448a4" data-collection-slug="xing-engineering" dir="auto">Bárbara Serrano</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-08-30T14:15:43.273Z">Aug 30, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="3 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------1-----------------------" data-post-id="50050f2688ed"><a href="https://tech.new-work.se/the-office-is-the-natural-habitat-of-culture-50050f2688ed?source=collection_home---5------1-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/1*52-dVb0kTLZTWmtSnjPj7w.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">The Office is the Natural Habitat of Culture</span></a><a class="" href="https://tech.new-work.se/the-office-is-the-natural-habitat-of-culture-50050f2688ed?source=collection_home---5------1-----------------------" data-action-source="collection_home---5------1-----------------------" data-post-id="50050f2688ed"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">The Office is the Natural Habitat of Culture</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">After spending so much time working outside the office, many of us may prefer to continue working from home, wearing comfortable clothes…</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@juciely.pimentel" data-action="show-user-card" data-action-value="fc0c78c7b1ba" data-action-type="hover" data-user-id="fc0c78c7b1ba" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*D9aUID9-MSO1L28MvAouUQ.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Juciely Pimentel"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@juciely.pimentel" data-action="show-user-card" data-action-value="fc0c78c7b1ba" data-action-type="hover" data-user-id="fc0c78c7b1ba" data-collection-slug="xing-engineering" dir="auto">Juciely Pimentel</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-07-10T14:56:32.515Z">Jul 10, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="4 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------2-----------------------" data-post-id="daed7f566a01"><a href="https://tech.new-work.se/the-importance-of-accessibility-on-your-ios-app-daed7f566a01?source=collection_home---5------2-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/1*uSd8yXHGSQimz9KwWDN0ZQ.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">The importance of accessibility on your iOS app</span></a><a class="" href="https://tech.new-work.se/the-importance-of-accessibility-on-your-ios-app-daed7f566a01?source=collection_home---5------2-----------------------" data-action-source="collection_home---5------2-----------------------" data-post-id="daed7f566a01"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">The importance of accessibility on your iOS app</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">Leave no one behind</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@davidalhambra" data-action="show-user-card" data-action-value="2c8847cfc337" data-action-type="hover" data-user-id="2c8847cfc337" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*FFzSLk1KGkyWBAfjsW0XBQ.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of David García Alhambra"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@davidalhambra" data-action="show-user-card" data-action-value="2c8847cfc337" data-action-type="hover" data-user-id="2c8847cfc337" data-collection-slug="xing-engineering" dir="auto">David García Alhambra</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-06-26T07:13:56.922Z">Jun 25, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="5 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------3-----------------------" data-post-id="6f581e30c370"><a href="https://tech.new-work.se/unit-testing-combine-publishers-6f581e30c370?source=collection_home---5------3-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/1*8rVBw8xq4W8WvGjW--BNeA.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Unit Testing Combine Publishers</span></a><a class="" href="https://tech.new-work.se/unit-testing-combine-publishers-6f581e30c370?source=collection_home---5------3-----------------------" data-action-source="collection_home---5------3-----------------------" data-post-id="6f581e30c370"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">Unit Testing Combine Publishers</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">Let’s review what kind of expectations are available in Xcode and which ones can be used for testing combine Publishers</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@joanduat" data-action="show-user-card" data-action-value="52fa09649919" data-action-type="hover" data-user-id="52fa09649919" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*ty0A4uaPE0lAW18VI8XNWg.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Joan Duat"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@joanduat" data-action="show-user-card" data-action-value="52fa09649919" data-action-type="hover" data-user-id="52fa09649919" data-collection-slug="xing-engineering" dir="auto">Joan Duat</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-05-19T09:49:47.671Z">May 19, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="4 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------4-----------------------" data-post-id="96f225a12a20"><a href="https://tech.new-work.se/how-to-use-swift-package-manager-products-from-cocoapods-96f225a12a20?source=collection_home---5------4-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/0*2AUViyT2vH_cTB5d&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">How to use Swift Package Manager products from Cocoapods</span></a><a class="" href="https://tech.new-work.se/how-to-use-swift-package-manager-products-from-cocoapods-96f225a12a20?source=collection_home---5------4-----------------------" data-action-source="collection_home---5------4-----------------------" data-post-id="96f225a12a20"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">How to use Swift Package Manager products from Cocoapods</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">Speeding up your Cocoapods to SwiftPM migration process</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@OswaldoRubio" data-action="show-user-card" data-action-value="4f39b75aa490" data-action-type="hover" data-user-id="4f39b75aa490" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*DoysEgGjhwGHlRljAkZtGw.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Oswaldo Rubio"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@OswaldoRubio" data-action="show-user-card" data-action-value="4f39b75aa490" data-action-type="hover" data-user-id="4f39b75aa490" data-collection-slug="xing-engineering" dir="auto">Oswaldo Rubio</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-05-19T09:48:48.814Z">May 19, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="6 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------5-----------------------" data-post-id="6973db8e1b38"><a href="https://tech.new-work.se/seniority-balance-in-software-engineering-teams-6973db8e1b38?source=collection_home---5------5-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/1*r5ouR5xwwWhFJYT9YxtUKg.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Seniority Balance in Software Engineering Teams</span></a><a class="" href="https://tech.new-work.se/seniority-balance-in-software-engineering-teams-6973db8e1b38?source=collection_home---5------5-----------------------" data-action-source="collection_home---5------5-----------------------" data-post-id="6973db8e1b38"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">Seniority Balance in Software Engineering Teams</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">Seniority balance plays a crucial role achieving delivery capacity, mentoring opportunities and capabilities, employee retention, costs…</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@pivale" data-action="show-user-card" data-action-value="52865b36ce23" data-action-type="hover" data-user-id="52865b36ce23" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*4SkYAQ2TQ_E8aXjyjhUDzw.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Pedro Vale"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@pivale" data-action="show-user-card" data-action-value="52865b36ce23" data-action-type="hover" data-user-id="52865b36ce23" data-collection-slug="xing-engineering" dir="auto">Pedro Vale</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-03-17T14:02:37.522Z">Mar 17, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="4 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------6-----------------------" data-post-id="dbc38d8e479b"><a href="https://tech.new-work.se/measuring-testing-times-dbc38d8e479b?source=collection_home---5------6-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/0*7uqFh8tIOsdiW_Lu&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Measuring Testing Times</span></a><a class="" href="https://tech.new-work.se/measuring-testing-times-dbc38d8e479b?source=collection_home---5------6-----------------------" data-action-source="collection_home---5------6-----------------------" data-post-id="dbc38d8e479b"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">Measuring Testing Times</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">Testing improvements</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@Juantri" data-action="show-user-card" data-action-value="cd48b029b443" data-action-type="hover" data-user-id="cd48b029b443" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/2*e485R4HBu-nIwl-UUgrghA.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Juantri Jiménez"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@Juantri" data-action="show-user-card" data-action-value="cd48b029b443" data-action-type="hover" data-user-id="cd48b029b443" data-collection-slug="xing-engineering" dir="auto">Juantri Jiménez</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-02-13T08:12:35.923Z">Feb 13, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="4 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------7-----------------------" data-post-id="28369bf2a7f3"><a href="https://tech.new-work.se/lets-talk-and-listen-to-each-other-more-interview-with-jens-pape-cto-at-xing-28369bf2a7f3?source=collection_home---5------7-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/0*GD1ZKTC1l_6UdANR.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">“Let’s talk and listen to each other more” — Interview with Jens Pape, CTO at XING</span></a><a class="" href="https://tech.new-work.se/lets-talk-and-listen-to-each-other-more-interview-with-jens-pape-cto-at-xing-28369bf2a7f3?source=collection_home---5------7-----------------------" data-action-source="collection_home---5------7-----------------------" data-post-id="28369bf2a7f3"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">“Let’s talk and listen to each other more” — Interview with Jens Pape, CTO at XING</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">In early 2019, our CTO Jens spent six months in Barcelona, working from the office there and getting to know the culture and its people…</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@xingdevs" data-action="show-user-card" data-action-value="19daab9f6796" data-action-type="hover" data-user-id="19daab9f6796" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*s28toBxQ_BnrBGRrTTg9ew@2x.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of New Work Engineers"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@xingdevs" data-action="show-user-card" data-action-value="19daab9f6796" data-action-type="hover" data-user-id="19daab9f6796" data-collection-slug="xing-engineering" dir="auto">New Work Engineers</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-02-07T09:22:54.289Z">Feb 7, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="5 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------8-----------------------" data-post-id="279710ba5f5b"><a href="https://tech.new-work.se/hard-conversations-hard-interviews-279710ba5f5b?source=collection_home---5------8-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/0*MxUrqkgOiWHV_2Yr.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Hard conversations, hard interviews…</span></a><a class="" href="https://tech.new-work.se/hard-conversations-hard-interviews-279710ba5f5b?source=collection_home---5------8-----------------------" data-action-source="collection_home---5------8-----------------------" data-post-id="279710ba5f5b"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">Hard conversations, hard interviews…</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">When I first started as a recruiter, one of my worst fears was doing interviews. At that time, I had a “mental contradictory”: Why am I not…</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@xingdevs" data-action="show-user-card" data-action-value="19daab9f6796" data-action-type="hover" data-user-id="19daab9f6796" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*s28toBxQ_BnrBGRrTTg9ew@2x.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of New Work Engineers"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@xingdevs" data-action="show-user-card" data-action-value="19daab9f6796" data-action-type="hover" data-user-id="19daab9f6796" data-collection-slug="xing-engineering" dir="auto">New Work Engineers</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-02-07T09:15:10.545Z">Feb 7, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="5 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------9-----------------------" data-post-id="7121a9ca5acd"><a href="https://tech.new-work.se/mobile-academy-experience-7121a9ca5acd?source=collection_home---5------9-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/0*9BLUMz7OEpuKgsAY.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Mobile Academy experience</span></a><a class="" href="https://tech.new-work.se/mobile-academy-experience-7121a9ca5acd?source=collection_home---5------9-----------------------" data-action-source="collection_home---5------9-----------------------" data-post-id="7121a9ca5acd"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">Mobile Academy experience</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">At NEW WORK Valencia we started this year the first edition of our Student Mobile Academy.</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@xingdevs" data-action="show-user-card" data-action-value="19daab9f6796" data-action-type="hover" data-user-id="19daab9f6796" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*s28toBxQ_BnrBGRrTTg9ew@2x.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of New Work Engineers"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@xingdevs" data-action="show-user-card" data-action-value="19daab9f6796" data-action-type="hover" data-user-id="19daab9f6796" data-collection-slug="xing-engineering" dir="auto">New Work Engineers</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-02-07T08:58:47.300Z">Feb 7, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="3 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------10-----------------------" data-post-id="59db14e4f7f0"><a href="https://tech.new-work.se/challenging-stereotypes-about-women-in-the-technology-sector-59db14e4f7f0?source=collection_home---5------10-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/0*oiElLIOOhaz6Jck8.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Challenging stereotypes about women in the technology sector</span></a><a class="" href="https://tech.new-work.se/challenging-stereotypes-about-women-in-the-technology-sector-59db14e4f7f0?source=collection_home---5------10-----------------------" data-action-source="collection_home---5------10-----------------------" data-post-id="59db14e4f7f0"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">Challenging stereotypes about women in the technology sector</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">An interviewed with Teba Rojo and Marta Ruiz, both Team Lead Engineering.</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@xingdevs" data-action="show-user-card" data-action-value="19daab9f6796" data-action-type="hover" data-user-id="19daab9f6796" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*s28toBxQ_BnrBGRrTTg9ew@2x.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of New Work Engineers"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@xingdevs" data-action="show-user-card" data-action-value="19daab9f6796" data-action-type="hover" data-user-id="19daab9f6796" data-collection-slug="xing-engineering" dir="auto">New Work Engineers</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-02-07T08:56:20.909Z">Feb 7, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="6 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------11-----------------------" data-post-id="91e79818d664"><a href="https://tech.new-work.se/eltv-employee-lifetime-value-and-breakeven-point-or-the-cost-of-an-early-leaver-91e79818d664?source=collection_home---5------11-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/0*xGGWEPfEb835UxsK.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">ELTV: Employee Lifetime Value and Breakeven Point… or the cost of an early leaver</span></a><a class="" href="https://tech.new-work.se/eltv-employee-lifetime-value-and-breakeven-point-or-the-cost-of-an-early-leaver-91e79818d664?source=collection_home---5------11-----------------------" data-action-source="collection_home---5------11-----------------------" data-post-id="91e79818d664"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">ELTV: Employee Lifetime Value and Breakeven Point… or the cost of an early leaver</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">The cost of someone leaving, or when a person starts being profitable for the company, sounds hard, impersonal, a number, a figure, and…</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@xingdevs" data-action="show-user-card" data-action-value="19daab9f6796" data-action-type="hover" data-user-id="19daab9f6796" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*s28toBxQ_BnrBGRrTTg9ew@2x.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of New Work Engineers"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@xingdevs" data-action="show-user-card" data-action-value="19daab9f6796" data-action-type="hover" data-user-id="19daab9f6796" data-collection-slug="xing-engineering" dir="auto">New Work Engineers</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-02-07T08:17:47.154Z">Feb 7, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="5 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------12-----------------------" data-post-id="dd624c20f2c1"><a class="" href="https://tech.new-work.se/artificial-intelligence-and-work-in-the-future-dd624c20f2c1?source=collection_home---5------12-----------------------" data-action-source="collection_home---5------12-----------------------" data-post-id="dd624c20f2c1"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">Artificial intelligence and work in the future</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">In recent centuries, we have been experiencing real processes of change in society and in the world. From the first moment of…</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@xingdevs" data-action="show-user-card" data-action-value="19daab9f6796" data-action-type="hover" data-user-id="19daab9f6796" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*s28toBxQ_BnrBGRrTTg9ew@2x.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of New Work Engineers"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@xingdevs" data-action="show-user-card" data-action-value="19daab9f6796" data-action-type="hover" data-user-id="19daab9f6796" data-collection-slug="xing-engineering" dir="auto">New Work Engineers</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-02-03T14:31:03.007Z">Feb 3, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="4 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------13-----------------------" data-post-id="47ef00b8a52d"><a href="https://tech.new-work.se/bereal-youve-got-2-minutes-to-post-47ef00b8a52d?source=collection_home---5------13-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/0*fO4BNje_DDf2nJr5.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">BeReal — you’ve got 2 minutes to post.</span></a><a class="" href="https://tech.new-work.se/bereal-youve-got-2-minutes-to-post-47ef00b8a52d?source=collection_home---5------13-----------------------" data-action-source="collection_home---5------13-----------------------" data-post-id="47ef00b8a52d"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">BeReal — you’ve got 2 minutes to post.</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">If you keep your eyes open for any social media trends, you might have already heard of BeReal. Launched in France in late 2019, BeReal…</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@bartosz.wygrab" data-action="show-user-card" data-action-value="9e9bd4ff20d" data-action-type="hover" data-user-id="9e9bd4ff20d" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*-uSRkZg9noqirQUy3eLMgg.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Bartosz Wygrab"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@bartosz.wygrab" data-action="show-user-card" data-action-value="9e9bd4ff20d" data-action-type="hover" data-user-id="9e9bd4ff20d" data-collection-slug="xing-engineering" dir="auto">Bartosz Wygrab</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-01-03T17:32:30.077Z">Jan 3, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="2 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------14-----------------------" data-post-id="93304dabac66"><a href="https://tech.new-work.se/five-stars-code-reviews-93304dabac66?source=collection_home---5------14-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/1*cyUvw-2Zxti9DtSIbJ-mwg.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Five stars code reviews</span></a><a class="" href="https://tech.new-work.se/five-stars-code-reviews-93304dabac66?source=collection_home---5------14-----------------------" data-action-source="collection_home---5------14-----------------------" data-post-id="93304dabac66"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">Five stars code reviews</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">Pull requests are important, and code reviews are even more</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@davidalhambra" data-action="show-user-card" data-action-value="2c8847cfc337" data-action-type="hover" data-user-id="2c8847cfc337" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*FFzSLk1KGkyWBAfjsW0XBQ.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of David García Alhambra"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@davidalhambra" data-action="show-user-card" data-action-value="2c8847cfc337" data-action-type="hover" data-user-id="2c8847cfc337" data-collection-slug="xing-engineering" dir="auto">David García Alhambra</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2022-12-13T14:40:39.965Z">Dec 13, 2022</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="4 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------15-----------------------" data-post-id="217a01b42b83"><a href="https://tech.new-work.se/implementing-an-aws-account-vending-machine-217a01b42b83?source=collection_home---5------15-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/0*j-vzDpkcBFMsA01R&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Implementing an AWS Account Vending Machine</span></a><a class="" href="https://tech.new-work.se/implementing-an-aws-account-vending-machine-217a01b42b83?source=collection_home---5------15-----------------------" data-action-source="collection_home---5------15-----------------------" data-post-id="217a01b42b83"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">Implementing an AWS Account Vending Machine</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">Automated AWS Account creation on enterprise scale</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@pascal-euhus" data-action="show-user-card" data-action-value="762da639aba6" data-action-type="hover" data-user-id="762da639aba6" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*LRru0wVG9DMZpbIDWTvI4g.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Pascal Euhus"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@pascal-euhus" data-action="show-user-card" data-action-value="762da639aba6" data-action-type="hover" data-user-id="762da639aba6" data-collection-slug="xing-engineering" dir="auto">Pascal Euhus</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2022-12-13T13:33:45.253Z">Dec 13, 2022</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="8 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------16-----------------------" data-post-id="cc9b3e9d16a"><a href="https://tech.new-work.se/decision-guide-for-browser-test-tooling-cc9b3e9d16a?source=collection_home---5------16-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/1*-FoOHdT_6yYrV2ZgCtOSaQ.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Decision guide for browser test tooling</span></a><a class="" href="https://tech.new-work.se/decision-guide-for-browser-test-tooling-cc9b3e9d16a?source=collection_home---5------16-----------------------" data-action-source="collection_home---5------16-----------------------" data-post-id="cc9b3e9d16a"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">Decision guide for browser test tooling</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">At NEW WORK SE, every team is free to decide on the browser test automation tooling for their project. However, information from tooling…</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@marcus-noll" data-action="show-user-card" data-action-value="f12092972d20" data-action-type="hover" data-user-id="f12092972d20" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*XZBpoNJ-t9PV_LFeKILt8Q.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Marcus Noll"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@marcus-noll" data-action="show-user-card" data-action-value="f12092972d20" data-action-type="hover" data-user-id="f12092972d20" data-collection-slug="xing-engineering" dir="auto">Marcus Noll</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2022-12-06T16:33:15.919Z">Dec 6, 2022</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="16 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------17-----------------------" data-post-id="7b7cb27839bd"><a href="https://tech.new-work.se/project-based-learning-how-i-learned-software-development-7b7cb27839bd?source=collection_home---5------17-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/1*Q3h_G-d7n8Bzz8A-DbVc8Q.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Project-based learning: how I learned software development</span></a><a class="" href="https://tech.new-work.se/project-based-learning-how-i-learned-software-development-7b7cb27839bd?source=collection_home---5------17-----------------------" data-action-source="collection_home---5------17-----------------------" data-post-id="7b7cb27839bd"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">Project-based learning: how I learned software development</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">Learn about the project-based learning methodology advantages through my own experience as an iOS Developer</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@davidalhambra" data-action="show-user-card" data-action-value="2c8847cfc337" data-action-type="hover" data-user-id="2c8847cfc337" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*FFzSLk1KGkyWBAfjsW0XBQ.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of David García Alhambra"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@davidalhambra" data-action="show-user-card" data-action-value="2c8847cfc337" data-action-type="hover" data-user-id="2c8847cfc337" data-collection-slug="xing-engineering" dir="auto">David García Alhambra</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2022-09-23T14:46:11.892Z">Sep 23, 2022</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="6 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation u-borderBottomLight" data-source="collection_home---5------18-----------------------" data-post-id="339fc242b4df"><a href="https://tech.new-work.se/di-in-a-modularized-project-in-swift-339fc242b4df?source=collection_home---5------18-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/0*8a0nc4GgQpWY23bH&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">DI in a Modularized Project in Swift</span></a><a class="" href="https://tech.new-work.se/di-in-a-modularized-project-in-swift-339fc242b4df?source=collection_home---5------18-----------------------" data-action-source="collection_home---5------18-----------------------" data-post-id="339fc242b4df"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">DI in a Modularized Project in Swift</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">+10 years project, Objective-C + Swift, UIKit + SwiftUI…</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@Juantri" data-action="show-user-card" data-action-value="cd48b029b443" data-action-type="hover" data-user-id="cd48b029b443" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/2*e485R4HBu-nIwl-UUgrghA.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Juantri Jiménez"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@Juantri" data-action="show-user-card" data-action-value="cd48b029b443" data-action-type="hover" data-user-id="cd48b029b443" data-collection-slug="xing-engineering" dir="auto">Juantri Jiménez</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2022-09-16T14:22:47.775Z">Sep 16, 2022</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="8 min read"></span></div></div></div></div></div><div class="u-paddingTop30 u-paddingBottom30 js-trackPostPresentation" data-source="collection_home---5------19-----------------------" data-post-id="7690cc7b1c40"><a href="https://tech.new-work.se/how-to-control-your-ios-dependencies-7690cc7b1c40?source=collection_home---5------19-----------------------" class="u-block u-width140 u-height120 u-floatRight u-marginLeft30 u-xs-size80x80 u-backgroundCover u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/fit/c/280/240/1*mZIQsdbu1FvvCcnjWZEODQ.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">How to control your iOS dependencies</span></a><a class="" href="https://tech.new-work.se/how-to-control-your-ios-dependencies-7690cc7b1c40?source=collection_home---5------19-----------------------" data-action-source="collection_home---5------19-----------------------" data-post-id="7690cc7b1c40"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-fontSize24 u-xs-fontSize18">How to control your iOS dependencies</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-xs-fontSize16">Measuring Cocoapod based iOS Projects complexity and dependencies</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.new-work.se/@OswaldoRubio" data-action="show-user-card" data-action-value="4f39b75aa490" data-action-type="hover" data-user-id="4f39b75aa490" data-collection-slug="xing-engineering" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*DoysEgGjhwGHlRljAkZtGw.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Oswaldo Rubio"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.new-work.se/@OswaldoRubio" data-action="show-user-card" data-action-value="4f39b75aa490" data-action-type="hover" data-user-id="4f39b75aa490" data-collection-slug="xing-engineering" dir="auto">Oswaldo Rubio</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2022-09-15T13:05:49.332Z">Sep 15, 2022</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="8 min read"></span></div></div></div></div></div></div><div class="u-size4of12 u-marginTop30 u-paddingRight20 u-paddingLeft20 u-minHeight250 u-xs-size12of12 u-xs-hide js-aboutCollectionBox"></div></div></div></div></div><style class="js-collectionStyle"> .u-accentColor--borderLight {border-color: #1A8917 !important;} .u-accentColor--borderNormal {border-color: #1A8917 !important;} .u-accentColor--borderDark {border-color: #0F730C !important;} .u-accentColor--iconLight .svgIcon,.u-accentColor--iconLight.svgIcon {fill: #1A8917 !important;} .u-accentColor--iconNormal .svgIcon,.u-accentColor--iconNormal.svgIcon {fill: #1A8917 !important;} .u-accentColor--iconDark .svgIcon,.u-accentColor--iconDark.svgIcon {fill: #0F730C !important;} .u-accentColor--textNormal {color: #0F730C !important;} .u-accentColor--hoverTextNormal:hover {color: #0F730C !important;} .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: #0F730C !important;} .u-accentColor--textDark {color: #0F730C !important;} .u-accentColor--backgroundLight {background-color: #1A8917 !important;} .u-accentColor--backgroundNormal {background-color: #1A8917 !important;} .u-accentColor--backgroundDark {background-color: #0F730C !important;} .u-accentColor--buttonDark {border-color: #0F730C !important; color: #0F730C !important;} .u-accentColor--buttonDark:hover {border-color: #0F730C !important;} .u-accentColor--buttonDark .icon:before,.u-accentColor--buttonDark .svgIcon{color: #0F730C !important; fill: #0F730C !important;} .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: #1A8917 !important; color: #0F730C !important;} .u-accentColor--buttonNormal:hover {border-color: #0F730C !important;} .u-accentColor--buttonNormal .icon:before,.u-accentColor--buttonNormal .svgIcon{color: #1A8917 !important; fill: #1A8917 !important;} .u-accentColor--buttonNormal.button--filled .icon:before,.u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-accentColor--buttonDark.button--filled,.u-accentColor--buttonDark.button--withChrome.is-active,.u-accentColor--fillWhenActive.is-active {background-color: #0F730C !important; border-color: #0F730C !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: #1A8917 !important; border-color: #1A8917 !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .postArticle.is-withAccentColors .markup--user,.postArticle.is-withAccentColors .markup--query {color: #0F730C !important;} .u-accentColor--highlightFaint {background-color: rgba(232, 243, 232, 1) !important;} .u-accentColor--highlightStrong.is-active .svgIcon {fill: rgba(163, 208, 162, 1) !important;} .postArticle.is-withAccentColors .markup--quote.is-other {background-color: rgba(232, 243, 232, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-other {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(232, 243, 232, 1), rgba(232, 243, 232, 1));} .postArticle.is-withAccentColors .markup--quote.is-me {background-color: rgba(209, 231, 209, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-me {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(209, 231, 209, 1), rgba(209, 231, 209, 1));} .postArticle.is-withAccentColors .markup--quote.is-targeted {background-color: rgba(163, 208, 162, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-targeted {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(163, 208, 162, 1), rgba(163, 208, 162, 1));} .postArticle.is-withAccentColors .markup--quote.is-selected {background-color: rgba(163, 208, 162, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-selected {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(163, 208, 162, 1), rgba(163, 208, 162, 1));} .postArticle.is-withAccentColors .markup--highlight {background-color: rgba(163, 208, 162, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--highlight {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(163, 208, 162, 1), rgba(163, 208, 162, 1));}</style><style class="js-collectionStyleConstant">.u-imageBgColor {background-color: rgba(0, 0, 0, 0.24705882352941178);} .u-imageSpectrum .u-baseColor--borderLight {border-color: rgba(255, 255, 255, 0.6980392156862745) !important;} .u-imageSpectrum .u-baseColor--borderNormal {border-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-baseColor--borderDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--iconLight .svgIcon,.u-imageSpectrum .u-baseColor--iconLight.svgIcon {fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-baseColor--iconNormal .svgIcon,.u-imageSpectrum .u-baseColor--iconNormal.svgIcon {fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--iconDark .svgIcon,.u-imageSpectrum .u-baseColor--iconDark.svgIcon {fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--textNormal {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--textNormal.u-baseColor--textDarken:hover {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--textDark {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--textDarker {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--backgroundLight {background-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-baseColor--backgroundNormal {background-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--backgroundDark {background-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonLight {border-color: rgba(255, 255, 255, 0.6980392156862745) !important; color: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-baseColor--buttonLight:hover {border-color: rgba(255, 255, 255, 0.6980392156862745) !important;} .u-imageSpectrum .u-baseColor--buttonLight .icon:before,.u-imageSpectrum .u-baseColor--buttonLight .svgIcon {color: rgba(255, 255, 255, 0.8) !important; fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-baseColor--buttonDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonDark:hover {border-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonDark .icon:before,.u-imageSpectrum .u-baseColor--buttonDark .svgIcon {color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonNormal {border-color: rgba(255, 255, 255, 0.8980392156862745) !important; color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--buttonNormal:hover {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--buttonNormal .icon:before,.u-imageSpectrum .u-baseColor--buttonNormal .svgIcon {color: rgba(255, 255, 255, 0.9490196078431372) !important; fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--buttonDark.button--filled,.u-imageSpectrum .u-baseColor--buttonDark.button--withChrome.is-active {background-color: rgba(255, 255, 255, 1) !important; border-color: rgba(255, 255, 255, 1) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-baseColor--buttonNormal.button--filled,.u-imageSpectrum .u-baseColor--buttonNormal.button--withChrome.is-active {background-color: rgba(255, 255, 255, 0.9490196078431372) !important; border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-baseColor--link {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--link.link--darkenOnHover:hover {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--darken:hover,.u-imageSpectrum .u-baseColor--link.link--darken:focus,.u-imageSpectrum .u-baseColor--link.link--darken:active {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--dark {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--dark.link--darken:hover,.u-imageSpectrum .u-baseColor--link.link--dark.link--darken:focus,.u-imageSpectrum .u-baseColor--link.link--dark.link--darken:active {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--darker {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--placeholderNormal ::-webkit-input-placeholder {color: rgba(255, 255, 255, 0.8);} .u-imageSpectrum .u-baseColor--placeholderNormal ::-moz-placeholder {color: rgba(255, 255, 255, 0.8);} .u-imageSpectrum .u-baseColor--placeholderNormal :-ms-input-placeholder {color: rgba(255, 255, 255, 0.8);} .u-imageSpectrum .ui-h1,.u-imageSpectrum .ui-h2,.u-imageSpectrum .ui-h3,.u-imageSpectrum .ui-h4,.u-imageSpectrum .ui-brand1,.u-imageSpectrum .ui-brand2,.u-imageSpectrum .ui-captionStrong {color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .ui-body,.u-imageSpectrum .ui-caps {color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .ui-summary,.u-imageSpectrum .ui-caption {color: rgba(255, 255, 255, 0.8) !important; fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-accentColor--borderLight {border-color: rgba(255, 255, 255, 0.6980392156862745) !important;} .u-imageSpectrum .u-accentColor--borderNormal {border-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-accentColor--borderDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--iconLight .svgIcon,.u-imageSpectrum .u-accentColor--iconLight.svgIcon {fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-accentColor--iconNormal .svgIcon,.u-imageSpectrum .u-accentColor--iconNormal.svgIcon {fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--iconDark .svgIcon,.u-imageSpectrum .u-accentColor--iconDark.svgIcon {fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--textNormal {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--hoverTextNormal:hover {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--textDark {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--backgroundLight {background-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-accentColor--backgroundNormal {background-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--backgroundDark {background-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonDark:hover {border-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonDark .icon:before,.u-imageSpectrum .u-accentColor--buttonDark .svgIcon{color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: rgba(255, 255, 255, 0.8980392156862745) !important; color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--buttonNormal:hover {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--buttonNormal .icon:before,.u-imageSpectrum .u-accentColor--buttonNormal .svgIcon{color: rgba(255, 255, 255, 0.9490196078431372) !important; fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--buttonNormal.button--filled .icon:before,.u-imageSpectrum .u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-accentColor--buttonDark.button--filled,.u-imageSpectrum .u-accentColor--buttonDark.button--withChrome.is-active,.u-imageSpectrum .u-accentColor--fillWhenActive.is-active {background-color: rgba(255, 255, 255, 1) !important; border-color: rgba(255, 255, 255, 1) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-imageSpectrum .u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: rgba(255, 255, 255, 0.9490196078431372) !important; border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .postArticle.is-withAccentColors .markup--user,.u-imageSpectrum .postArticle.is-withAccentColors .markup--query {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--highlightFaint {background-color: rgba(255, 255, 255, 0.2) !important;} .u-imageSpectrum .u-accentColor--highlightStrong.is-active .svgIcon {fill: rgba(255, 255, 255, 0.6) !important;} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-other {background-color: rgba(255, 255, 255, 0.2) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-other {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-me {background-color: rgba(255, 255, 255, 0.4) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-me {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.4));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-targeted {background-color: rgba(255, 255, 255, 0.6) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-targeted {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-selected {background-color: rgba(255, 255, 255, 0.6) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-selected {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--highlight {background-color: rgba(255, 255, 255, 0.6) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--highlight {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));}.u-resetSpectrum .u-tintBgColor {background-color: rgba(255, 255, 255, 1) !important;}.u-resetSpectrum .u-tintBgColor .u-fadeLeft:before {background-image: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%) !important;}.u-resetSpectrum .u-tintBgColor .u-fadeRight:after {background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%) !important;} .u-resetSpectrum .u-baseColor--borderLight {border-color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--borderNormal {border-color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--borderDark {border-color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--iconLight .svgIcon,.u-resetSpectrum .u-baseColor--iconLight.svgIcon {fill: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--iconNormal .svgIcon,.u-resetSpectrum .u-baseColor--iconNormal.svgIcon {fill: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--iconDark .svgIcon,.u-resetSpectrum .u-baseColor--iconDark.svgIcon {fill: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--textNormal {color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--textNormal.u-baseColor--textDarken:hover {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--textDark {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--textDarker {color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--backgroundLight {background-color: rgba(0, 0, 0, 0.09803921568627451) !important;} .u-resetSpectrum .u-baseColor--backgroundNormal {background-color: rgba(0, 0, 0, 0.2) !important;} .u-resetSpectrum .u-baseColor--backgroundDark {background-color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonLight {border-color: rgba(0, 0, 0, 0.2980392156862745) !important; color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonLight:hover {border-color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonLight .icon:before,.u-resetSpectrum .u-baseColor--buttonLight .svgIcon {color: rgba(0, 0, 0, 0.2980392156862745) !important; fill: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonDark {border-color: rgba(0, 0, 0, 0.6) !important; color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--buttonDark:hover {border-color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--buttonDark .icon:before,.u-resetSpectrum .u-baseColor--buttonDark .svgIcon {color: rgba(0, 0, 0, 0.6) !important; fill: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--buttonNormal {border-color: rgba(0, 0, 0, 0.4980392156862745) !important; color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonNormal:hover {border-color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--buttonNormal .icon:before,.u-resetSpectrum .u-baseColor--buttonNormal .svgIcon {color: rgba(0, 0, 0, 0.4980392156862745) !important; fill: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonDark.button--filled,.u-resetSpectrum .u-baseColor--buttonDark.button--withChrome.is-active {background-color: rgba(0, 0, 0, 0.2980392156862745) !important; border-color: rgba(0, 0, 0, 0.2980392156862745) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-baseColor--buttonNormal.button--filled,.u-resetSpectrum .u-baseColor--buttonNormal.button--withChrome.is-active {background-color: rgba(0, 0, 0, 0.2) !important; border-color: rgba(0, 0, 0, 0.2) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-baseColor--link {color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--link.link--darkenOnHover:hover {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--link.link--darken:hover,.u-resetSpectrum .u-baseColor--link.link--darken:focus,.u-resetSpectrum .u-baseColor--link.link--darken:active {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--link.link--dark {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--link.link--dark.link--darken:hover,.u-resetSpectrum .u-baseColor--link.link--dark.link--darken:focus,.u-resetSpectrum .u-baseColor--link.link--dark.link--darken:active {color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--link.link--darker {color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--placeholderNormal ::-webkit-input-placeholder {color: rgba(0, 0, 0, 0.2980392156862745);} .u-resetSpectrum .u-baseColor--placeholderNormal ::-moz-placeholder {color: rgba(0, 0, 0, 0.2980392156862745);} .u-resetSpectrum .u-baseColor--placeholderNormal :-ms-input-placeholder {color: rgba(0, 0, 0, 0.2980392156862745);} .u-resetSpectrum .ui-h1,.u-resetSpectrum .ui-h2,.u-resetSpectrum .ui-h3,.u-resetSpectrum .ui-h4,.u-resetSpectrum .ui-brand1,.u-resetSpectrum .ui-brand2,.u-resetSpectrum .ui-captionStrong {color: rgba(0, 0, 0, 0.8) !important; fill: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .ui-body,.u-resetSpectrum .ui-caps {color: rgba(0, 0, 0, 0.6) !important; fill: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .ui-summary,.u-resetSpectrum .ui-caption {color: rgba(0, 0, 0, 0.2980392156862745) !important; fill: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-accentColor--borderLight {border-color: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--borderNormal {border-color: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--borderDark {border-color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--iconLight .svgIcon,.u-resetSpectrum .u-accentColor--iconLight.svgIcon {fill: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--iconNormal .svgIcon,.u-resetSpectrum .u-accentColor--iconNormal.svgIcon {fill: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--iconDark .svgIcon,.u-resetSpectrum .u-accentColor--iconDark.svgIcon {fill: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--textNormal {color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--hoverTextNormal:hover {color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--textDark {color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--backgroundLight {background-color: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--backgroundNormal {background-color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--backgroundDark {background-color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark {border-color: rgba(17, 128, 14, 1) !important; color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark:hover {border-color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark .icon:before,.u-resetSpectrum .u-accentColor--buttonDark .svgIcon{color: rgba(15, 115, 12, 1) !important; fill: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: rgba(26, 137, 23, 1) !important; color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal:hover {border-color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal .icon:before,.u-resetSpectrum .u-accentColor--buttonNormal .svgIcon{color: rgba(17, 128, 14, 1) !important; fill: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal.button--filled .icon:before,.u-resetSpectrum .u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark.button--filled,.u-resetSpectrum .u-accentColor--buttonDark.button--withChrome.is-active,.u-resetSpectrum .u-accentColor--fillWhenActive.is-active {background-color: rgba(15, 115, 12, 1) !important; border-color: rgba(15, 115, 12, 1) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-resetSpectrum .u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: rgba(17, 128, 14, 1) !important; border-color: rgba(17, 128, 14, 1) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .postArticle.is-withAccentColors .markup--user,.u-resetSpectrum .postArticle.is-withAccentColors .markup--query {color: rgba(17, 128, 14, 1) !important;}</style><div class="js-collectionFooter u-hide"><div class="container u-maxWidth1040"><div class="u-marginTop10 u-paddingTop10 u-paddingBottom30 u-borderTopLighter"><div class="linkSet u-clearfix"><div class="u-floatRight u-textColorNormal u-baseColor--textNormal u-xs-floatLeft"><a class="button button--chromeless u-baseColor--buttonNormal u-marginLeft15 u-lineHeight35 u-xs-block u-xs-marginLeft0" href="https://tech.new-work.se/about" title="About New Work Development" aria-label="About New Work Development" data-collection-slug="xing-engineering">About New Work Development</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://tech.new-work.se/latest" title="Latest Stories for New Work Development" aria-label="Latest Stories for New Work Development" data-collection-slug="xing-engineering">Latest Stories</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://tech.new-work.se/archive" title="Archive for New Work Development" aria-label="Archive for New Work Development" data-collection-slug="xing-engineering">Archive</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://medium.com/about">About Medium</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://policy.medium.com/medium-terms-of-service-9db0094a1e0f">Terms</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://policy.medium.com/medium-privacy-policy-f03bf92035c9">Privacy</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://medium.com/business">Teams</a></div></div></div></div></div></div></div></div><div class="loadingBar"></div><script>// <![CDATA[ window["obvInit"] = function (opt_embedded) {window["obvInit"]["embedded"] = opt_embedded; window["obvInit"]["ready"] = true;} // ]]></script><script>// <![CDATA[ var GLOBALS = {"audioUrl":"https://d1fcbxp97j4nb2.cloudfront.net","baseUrl":"https://tech.new-work.se","buildLabel":"20241122-2326-root","currentUser":{"userId":"lo_3f9e1c3b2636","isVerified":false,"subscriberEmail":"","hasPastMemberships":false,"isEnrolledInHightower":false,"isEligibleForHightower":true,"hightowerLastLockedAt":0,"isWriterProgramEnrolled":true,"isWriterProgramInvited":false,"isWriterProgramOptedOut":false,"writerProgramVersion":0,"writerProgramEnrolledAt":0,"friendLinkOnboarding":0,"hasAdditionalUnlocks":false,"hasApiAccess":false,"writerProgramDistributionSettingOptedIn":false,"isSuspended":false,"collectionOnboardingSeen":0,"atsQualifiedAt":0},"currentUserHasUnverifiedEmail":false,"isAuthenticated":false,"isCurrentUserVerified":false,"miroUrl":"https://cdn-images-1.medium.com","moduleUrls":{"base":"https://cdn-static-1.medium.com/_/fp/gen-js/main-base.bundle.jgL7zdhxfcJMjkJjEjB6xg.12.js","common-async":"https://cdn-static-1.medium.com/_/fp/gen-js/main-common-async.bundle.fULbttUzdHyewyAazMUYXw.12.js","hightower":"https://cdn-static-1.medium.com/_/fp/gen-js/main-hightower.bundle.NQoDXJuDHPBqR63_AdMDaA.12.js","home-screens":"https://cdn-static-1.medium.com/_/fp/gen-js/main-home-screens.bundle.m76-07Q1DcEMKgEwzJjhDA.12.js","misc-screens":"https://cdn-static-1.medium.com/_/fp/gen-js/main-misc-screens.bundle.2CLT5j6rDReEhG2bjr3NdA.12.js","notes":"https://cdn-static-1.medium.com/_/fp/gen-js/main-notes.bundle.yrGWoeoBrJB7GBGv--gr1g.12.js","payments":"https://cdn-static-1.medium.com/_/fp/gen-js/main-payments.bundle.Cc_nfCICljMx7aW6-Pr_9w.12.js","posters":"https://cdn-static-1.medium.com/_/fp/gen-js/main-posters.bundle.QCX6B3q-KqcSv8hiUNsQ9Q.12.js","power-readers":"https://cdn-static-1.medium.com/_/fp/gen-js/main-power-readers.bundle.nxgYPC9-BrhdicIoMMuzoA.12.js","pubs":"https://cdn-static-1.medium.com/_/fp/gen-js/main-pubs.bundle.SOwTEi0SkdYAS9MQpioQXw.12.js","stats":"https://cdn-static-1.medium.com/_/fp/gen-js/main-stats.bundle.hA1c7rerc_dk3N05UG54qQ.12.js"},"previewConfig":{"weightThreshold":1,"weightImageParagraph":0.51,"weightIframeParagraph":0.8,"weightTextParagraph":0.08,"weightEmptyParagraph":0,"weightP":0.003,"weightH":0.005,"weightBq":0.003,"minPTextLength":60,"truncateBoundaryChars":20,"detectTitle":true,"detectTitleLevThreshold":0.15},"productName":"Medium","supportsEdit":false,"termsUrl":"//policy.medium.com/medium-terms-of-service-9db0094a1e0f","textshotHost":"textshot.textshot-production.svc.cluster.local","transactionId":"1732388904053:6257b259dc2a","useragent":{"browser":"ie","family":"ie","os":"windows","version":7,"supportsDesktopEdit":false,"supportsInteract":false,"supportsView":true,"isMobile":false,"isTablet":false,"isNative":false,"supportsFileAPI":false,"isTier1":false,"clientVersion":"","clientChannel":"","supportsRealScrollEvents":false,"supportsVhUnits":false,"ruinsViewportSections":false,"supportsHtml5Video":false,"supportsMagicUnderlines":false,"isWebView":false,"isFacebookWebView":false,"supportsProgressiveMedia":false,"supportsPromotedPosts":true,"isBot":false,"isNativeIphone":false,"supportsCssVariables":false,"supportsVideoSections":true,"emojiSupportLevel":1,"isSearchBot":false,"isSyndicationBot":false,"isNativeAndroid":false,"isNativeIos":false,"isSeoAuditBot":false,"isInternalApp":false,"supportsApplePay":false,"supportsScrollableMetabar":false},"variants":{"allow_access":true,"allow_signup":true,"allow_test_auth":"disallow","android_enable_editor_new_publishing_flow":true,"android_enable_friend_links_creation":true,"android_enable_friend_links_postpage_banners":true,"android_enable_image_sharer":true,"android_enable_lists_v2":true,"android_enable_syntax_highlight":true,"android_enable_topic_portals":true,"android_rating_prompt_stories_read_threshold":2,"android_two_hour_refresh":true,"available_annual_plan":"2c754bcc2995","available_annual_premium_plan":"4a442ace1476","available_monthly_plan":"60e220181034","available_monthly_premium_plan":"12a660186432","browsable_stream_config_bucket":"curated-topics","can_receive_tips_v0":true,"can_send_tips_v0":true,"coronavirus_topic_recirc":true,"disable_partner_program_enrollment":true,"enable_abandoned_cart_promotion_email":true,"enable_android_dynamic_aspirational_paywall":true,"enable_android_dynamic_programming_paywall":true,"enable_android_miro_v2":true,"enable_android_offline_reading":true,"enable_android_verified_author":true,"enable_app_flirty_thirty":true,"enable_apple_sign_in":true,"enable_apple_webhook":true,"enable_aurora_pub_follower_page":true,"enable_author_cards":true,"enable_author_cards_byline":true,"enable_auto_follow_on_subscribe":true,"enable_automod":true,"enable_bayesian_average_pub_search":true,"enable_bg_post_post":true,"enable_billing_frequency_on_step2":"control","enable_boost_nia_v01":true,"enable_braintree_apple_pay":true,"enable_braintree_client":true,"enable_braintree_google_pay":true,"enable_braintree_integration":true,"enable_braintree_paypal":true,"enable_braintree_trial_membership":true,"enable_braintree_webhook":true,"enable_branch_io":true,"enable_cache_less_following_feed":true,"enable_configure_pronouns":true,"enable_conversion_model_v2":"group_2","enable_conversion_ranker_v2":"control","enable_creator_welcome_email":true,"enable_deprecate_legacy_providers_v3":true,"enable_diversification_rex":true,"enable_entities_to_follow_v2":true,"enable_eventstats_event_processing":true,"enable_explicit_signals":true,"enable_explicit_signals_updated_post_previews":true,"enable_footer_app_buttons":true,"enable_google_one_tap":true,"enable_google_webhook":true,"enable_group_gifting":true,"enable_iceland_forced_android":true,"enable_import":true,"enable_intrinsic_automatic_actions":true,"enable_ios_autorefresh":true,"enable_ios_dynamic_paywall_aspiriational":true,"enable_ios_dynamic_paywall_programming":true,"enable_ios_easy_resubscribe":true,"enable_ios_offline_reading":true,"enable_legacy_feed_in_iceland":true,"enable_lite_archive_page":true,"enable_lite_continue_this_thread":true,"enable_lite_homepage":true,"enable_lite_response_markup":true,"enable_lite_server_upstream_deadlines":true,"enable_lo_homepage":"control","enable_maim_the_meter":true,"enable_marketing_emails":true,"enable_mastodon_avatar_upload":true,"enable_mastodon_for_members":true,"enable_mastodon_for_members_username_selection":true,"enable_medium2_kbfd":true,"enable_members_only_audio":true,"enable_ml_rank_rex_anno":true,"enable_moc_load_processor_all_recs_surfaces":true,"enable_moc_load_processor_c":true,"enable_moc_load_processor_first_story":true,"enable_new_manage_membership_flow":true,"enable_new_stripe_customers":true,"enable_newsletter_lo_flow_custom_domains":true,"enable_pill_based_home_feed":true,"enable_post_bottom_responses":true,"enable_post_bottom_responses_input":true,"enable_pp_country_expansion":true,"enable_pp_v4":true,"enable_pre_pp_v4":true,"enable_premium_tier":true,"enable_premium_tier_badge":true,"enable_publication_hierarchy_web":true,"enable_ranker_v10":"control","enable_recaptcha_enterprise":true,"enable_recirc_model":true,"enable_recommended_publishers_query":true,"enable_rex_aggregator_v2":true,"enable_rex_new_push_notification_endpoint":true,"enable_rex_reading_history":true,"enable_rito_upstream_deadlines":true,"enable_seamless_social_sharing":true,"enable_see_pronouns":true,"enable_sharer_create_post_share_key":true,"enable_sharer_validate_post_share_key":true,"enable_simplified_digest_v2_b":true,"enable_speechify_ios":true,"enable_speechify_widget":true,"enable_sprig":true,"enable_starspace":true,"enable_susi_redesign_android":true,"enable_susi_redesign_ios":true,"enable_switch_plan_premium_tier":true,"enable_tag_recs":true,"enable_tick_landing_page":true,"enable_tipping_v0_android":true,"enable_tipping_v0_ios":true,"enable_tribute_landing_page":true,"enable_update_explore_wtf":true,"enable_update_topic_portals_wtf":true,"enable_updated_pub_recs_ui":true,"enable_verifications_service":true,"glyph_font_set":"m2-unbound-source-serif-pro","goliath_externalsearch_enable_comment_deindexation":true,"ios_display_paywall_after_onboarding":true,"ios_enable_friend_links_creation":true,"ios_enable_friend_links_postpage_banners":true,"ios_enable_home_post_menu":true,"ios_enable_lock_responses":true,"ios_enable_verified_book_author":true,"ios_iceland_nux":true,"ios_in_app_free_trial":true,"ios_remove_twitter_onboarding_step":true,"ios_social_share_sheet":true,"limit_post_referrers":true,"limit_user_follows":true,"mobile_custom_app_icon":true,"num_post_bottom_responses_to_show":"1","onboarding_tags_from_top_views":true,"reader_fair_distribution_non_qp":true,"redefined_top_posts":true,"reengagement_notification_duration":3,"rex_generator_max_candidates":1000,"signin_services":"twitter,facebook,google,email,google-fastidv,google-one-tap,apple","signup_services":"twitter,facebook,google,email,google-fastidv,google-one-tap,apple","skip_fs_cache_user_vals":true},"xsrfToken":"","iosAppId":"828256236","supportEmail":"yourfriends@medium.com","fp":{"/icons/monogram-mask.svg":"https://cdn-static-1.medium.com/_/fp/icons/monogram-mask.KPLCSFEZviQN0jQ7veN2RQ.12.svg","/icons/favicon-medium-editor.ico":"https://cdn-static-1.medium.com/_/fp/icons/favicon-medium-editor.PiakrZWB7Yb80quUVQWM6g.12.ico"},"authBaseUrl":"https://medium.com","imageUploadSizeMb":25,"isAuthDomainRequest":false,"domainCollectionSlug":"xing-engineering","algoliaApiEndpoint":"https://MQ57UUUQZ2-dsn.algolia.net","algoliaAppId":"MQ57UUUQZ2","algoliaSearchOnlyApiKey":"394474ced050e3911ae2249ecc774921","iosAppStoreUrl":"https://itunes.apple.com/app/medium-everyones-stories/id828256236?pt=698524&mt=8","iosAppLinkBaseUrl":"medium:","algoliaIndexPrefix":"medium_","androidPlayStoreUrl":"https://play.google.com/store/apps/details?id=com.medium.reader","googleClientId":"216296035834-k1k6qe060s2tp2a2jam4ljdcms00sttg.apps.googleusercontent.com","androidPackage":"com.medium.reader","androidPlayStoreMarketScheme":"market://details?id=com.medium.reader","googleAuthUri":"https://accounts.google.com/o/oauth2/auth","androidScheme":"medium","layoutData":{"useDynamicScripts":false,"googleAnalyticsTrackingCode":"G-7JY7T788PK","jsShivUrl":"https://cdn-static-1.medium.com/_/fp/js/shiv.RI2ePTZ5gFmMgLzG5bEVAA.12.js","useDynamicCss":false,"faviconUrl":"https://miro.medium.com/v2/5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19","faviconImageId":"5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19","fontSets":[{"id":8,"url":"https://glyph.medium.com/css/e/sr/latin/e/ssr/latin/e/ssb/latin/m2-unbound-source-serif-pro.css"},{"id":11,"url":"https://glyph.medium.com/css/m2-unbound-source-serif-pro.css"},{"id":9,"url":"https://glyph.medium.com/css/mkt.css"}],"glyphUrl":"https://glyph.medium.com"},"authBaseUrlRev":"moc.muidem//:sptth","stripePublishableKey":"pk_live_7FReX44VnNIInZwrIIx6ghjl","archiveUploadSizeMb":100,"previewConfig2":{"weightThreshold":1,"weightImageParagraph":0.05,"raiseImage":true,"enforceHeaderHierarchy":true,"isImageInsetRight":true},"isAmp":false,"iosScheme":"medium","facebook":{"key":"542599432471018","namespace":"medium-com","scope":{"default":["public_profile","email"],"connect":["public_profile","email"],"login":["public_profile","email"],"share":["public_profile","email"]}},"memberContentTopicId":"13d7efd82fb2","audioContentTopicId":"3792abbd134","isDoNotAuth":false,"buggle":{"videoUrl":"https://cdn-videos-1.medium.com","audioUrl":"https://cdn-audio-1.medium.com"},"referrerType":5,"partnerProgramEmail":"partnerprogram@medium.com","recaptchaKey":"6Lfc37IUAAAAAKGGtC6rLS13R1Hrw_BqADfS1LRk","countryCode":"SG","bypassMeter":false,"branchKey":"key_live_ofxXr2qTrrU9NqURK8ZwEhknBxiI6KBm","paypal":{"clientMode":"production","oneYearGift":{"name":"Medium Membership (1 Year, Digital Gift Code)","description":"Unlimited access to the best and brightest stories on Medium. Gift codes can be redeemed at medium.com/redeem.","price":"50.00","currency":"USD","sku":"membership-gift-1-yr"}},"collectionConfig":{"mediumOwnedAndOperatedCollectionIds":["8a9336e5bb4","b7e45b22fec3","193b68bd4fba","8d6b8a439e32","54c98c43354d","3f6ecf56618","d944778ce714","92d2092dc598","ae2a65f35510","1285ba81cada","544c7006046e","fc8964313712","40187e704f1c","88d9857e584e","7b6769f2748b","bcc38c8f6edf","cef6983b292","cb8577c9149e","444d13b52878","713d7dbc99b0","ef8e90590e66","191186aaafa0","55760f21cdc5","9dc80918cc93","bdc4052bbdba","8ccfed20cbb2"]},"bypassMeterWithShareKey":false,"recaptcha3Key":"6Lf8R9wUAAAAABMI_85Wb8melS7Zj6ziuf99Yot5","braintreeClientKey":"production_zjkj96jm_m56f8fqpf7ngnrd4","cdcMessaging":[{"text":"For more information on the novel coronavirus and Covid-19, visit ","href":"","type":"text","start":0,"end":0},{"text":"cdc.gov","href":"https://www.cdc.gov/coronavirus/2019-nCoV","type":"link","start":66,"end":73},{"text":".","href":"","type":"text","start":0,"end":0}],"braintree":{"merchantId":"m56f8fqpf7ngnrd4"},"diagnostics":{},"domain":"medium.com"} // ]]></script><script charset="UTF-8" src="https://cdn-static-1.medium.com/_/fp/gen-js/main-base.bundle.jgL7zdhxfcJMjkJjEjB6xg.12.js" async></script><script>// <![CDATA[ window["obvInit"]({"references":{"Collection":{"35cb8c78d3cf":{"id":"35cb8c78d3cf","name":"New Work Development","slug":"xing-engineering","tags":["SOFTWARE ENGINEERING","TECHNOLOGY","AGILE","QUALITY ASSURANCE","KUNUNU"],"creatorId":"19daab9f6796","description":"Stories about building a better working world","shortDescription":"Stories about building a better working world","image":{"imageId":"1*B1MD9EGz7rhVkx3WE3Rkog.png","filter":"","backgroundSize":"","originalWidth":1080,"originalHeight":1080,"strategy":"resample","height":0,"width":0},"metadata":{"followerCount":1029,"activeAt":1701191263172},"virtuals":{"permissions":{"canPublish":false,"canPublishAll":false,"canRepublish":false,"canRemove":false,"canManageAll":false,"canSubmit":false,"canEditPosts":false,"canAddWriters":false,"canViewStats":false,"canSendNewsletter":false,"canViewLockedPosts":false,"canViewCloaked":false,"canEditOwnPosts":false,"canBeAssignedAuthor":false,"canEnrollInHightower":false,"canLockPostsForMediumMembers":false,"canLockOwnPostsForMediumMembers":false,"canViewNewsletterV2Stats":false,"canCreateNewsletterV3":false},"isSubscribed":false,"isEnrolledInHightower":false,"isEligibleForHightower":false,"isSubscribedToCollectionEmails":false,"isMuted":false,"canToggleEmail":false,"isWriter":false},"logo":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"twitterUsername":"xingdevs","domain":"tech.new-work.se","sections":[{"type":2,"collectionHeaderMetadata":{"title":"New Work Engineering","description":"Stories about building a better working world","backgroundImage":{},"logoImage":{"id":"1*B1MD9EGz7rhVkx3WE3Rkog@2x.png","originalWidth":1080,"originalHeight":1080,"alt":"New Work Development"},"alignment":2,"layout":5}},{"type":1,"postListMetadata":{"source":1,"layout":4,"number":3,"postIds":[]}},{"type":1,"postListMetadata":{"source":1,"layout":5,"number":20,"postIds":[]}}],"favicon":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"colorPalette":{"defaultBackgroundSpectrum":{"colorPoints":[{"color":"#FF1A8917","point":0},{"color":"#FF11800E","point":0.1},{"color":"#FF0F730C","point":0.2},{"color":"#FF095407","point":1}],"backgroundColor":"#FFFFFFFF"},"highlightSpectrum":{"colorPoints":[{"color":"#FFFFFFFF","point":0},{"color":"#FFE8F3E8","point":0.1},{"color":"#FFE8F3E8","point":0.2},{"color":"#FFD1E7D1","point":0.6},{"color":"#FFA3D0A2","point":1}],"backgroundColor":"#FFFFFFFF"},"darkBackgroundSpectrum":{"colorPoints":[{"color":"#FF095407","point":0},{"color":"#FF0F730C","point":0.1},{"color":"#FF11800E","point":0.2},{"color":"#FF1A8917","point":1}],"backgroundColor":"#FF000000"}},"navItems":[{"type":1,"title":"kununu","tagSlug":"kununu","url":"https://tech.new-work.se/tagged/kununu","source":"tagSlug"},{"type":1,"title":"XING","tagSlug":"xing","url":"https://tech.new-work.se/tagged/xing","source":"tagSlug"},{"type":3,"title":"New Work HackWeek","url":"https://medium.com/xing-hackweek"}],"colorBehavior":1,"ampLogo":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"header":{"title":"New Work Engineering","description":"Stories about building a better working world","backgroundImage":{},"logoImage":{"id":"1*B1MD9EGz7rhVkx3WE3Rkog@2x.png","originalWidth":1080,"originalHeight":1080,"alt":"New Work Development"},"alignment":2,"layout":5},"paidForDomainAt":1490782087459,"subscriberCount":1029,"tagline":"Stories about building a better working world","isOptedIntoAurora":false,"isCurationAllowedByDefault":false,"polarisCoverImage":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"ptsQualifiedAt":1616092813588,"type":"Collection"}},"User":{"6ca9d8d9fad3":{"userId":"6ca9d8d9fad3","name":"Gabriel Pereira","username":"gabrielpedepera","createdAt":1345043247940,"imageId":"1*VapjJ-eXDvCQnaiSMnaLPg.jpeg","backgroundImageId":"","bio":"https://gabrielpereira.dev","twitterScreenName":"gabrielpedepera","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"Gabriel Silva Pereira","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[47,29,12,41,8,5,21,2,1],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-gb","type":"User"},"cd48b029b443":{"userId":"cd48b029b443","name":"Juantri Jiménez","username":"Juantri","createdAt":1577362418880,"imageId":"2*e485R4HBu-nIwl-UUgrghA.jpeg","backgroundImageId":"","bio":"Spanish iOS software engineer. I write about features of Swift and iOS development practices","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedIosApp":1673432251453,"firstOpenedAndroidApp":1581541239837,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[32,29,12,8,21,3,2,18,1],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"es-es","type":"User"},"1a65dd4b0c02":{"userId":"1a65dd4b0c02","name":"Sara Castro","username":"sara.castro_82132","createdAt":1693989748278,"imageId":"1*iL1FIuZsuA9g3eTT6ygYuA.png","backgroundImageId":"","bio":"","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[29],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-gb","type":"User"},"97c5397448a4":{"userId":"97c5397448a4","name":"Bárbara Serrano","username":"barbara.serrano","createdAt":1693308163585,"imageId":"1*dL5-vhFfM_Dl-1zk0VSfWA.jpeg","backgroundImageId":"","bio":"","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[29],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-gb","type":"User"},"fc0c78c7b1ba":{"userId":"fc0c78c7b1ba","name":"Juciely Pimentel","username":"juciely.pimentel","createdAt":1638782779069,"imageId":"1*D9aUID9-MSO1L28MvAouUQ.png","backgroundImageId":"","bio":"Team Lead HR & Office @New Work Portugal","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[2,29],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-gb","type":"User"},"2c8847cfc337":{"userId":"2c8847cfc337","name":"David García Alhambra","username":"davidalhambra","createdAt":1601375968347,"imageId":"1*FFzSLk1KGkyWBAfjsW0XBQ.jpeg","backgroundImageId":"","bio":"iOS Developer @ XING.","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[8,32,21,29,2,33],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"es-es","type":"User"},"52fa09649919":{"userId":"52fa09649919","name":"Joan Duat","username":"joanduat","createdAt":1536918883024,"imageId":"1*ty0A4uaPE0lAW18VI8XNWg.jpeg","backgroundImageId":"","bio":"iOS engineer living in Barcelona. Software player and music coder.","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[2,29,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-gb","type":"User"},"4f39b75aa490":{"userId":"4f39b75aa490","name":"Oswaldo Rubio","username":"OswaldoRubio","createdAt":1580400882049,"imageId":"1*DoysEgGjhwGHlRljAkZtGw.jpeg","backgroundImageId":"","bio":"Senior iOS Developer at XING | 10+ years of Mobile Software experience","twitterScreenName":"arrozconnori","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedIosApp":1580404897392,"isMembershipTrialEligible":false,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[32,29,12,8,6,21,36,19,2,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"52865b36ce23":{"userId":"52865b36ce23","name":"Pedro Vale","username":"pivale","createdAt":1678372362698,"imageId":"1*4SkYAQ2TQ_E8aXjyjhUDzw.jpeg","backgroundImageId":"","bio":"Book reader, beer drinker, father (not necessarily in this order). Also Engineering Team Lead @ Xing, guiding for performant software delivery","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[7,29,2,33],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-gb","type":"User"},"19daab9f6796":{"userId":"19daab9f6796","name":"New Work Engineers","username":"xingdevs","createdAt":1453560820560,"imageId":"1*s28toBxQ_BnrBGRrTTg9ew@2x.png","backgroundImageId":"","bio":"","twitterScreenName":"xingdevs","allowNotes":1,"mediumMemberAt":1671632479000,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[7,29,19,35,2,33],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"9e9bd4ff20d":{"userId":"9e9bd4ff20d","name":"Bartosz Wygrab","username":"bartosz.wygrab","createdAt":1605185194449,"imageId":"1*-uSRkZg9noqirQUy3eLMgg.jpeg","backgroundImageId":"","bio":"Product Manager at XING","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedIosApp":1672768645044,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[2,29,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"de-de","type":"User"},"762da639aba6":{"userId":"762da639aba6","name":"Pascal Euhus","username":"pascal-euhus","createdAt":1514220978615,"imageId":"1*LRru0wVG9DMZpbIDWTvI4g.png","backgroundImageId":"","bio":"Cloud Architect, AWS Solutions Architect Professional, GCP Professional Cloud Architect","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"optInToIceland":true,"subdomainCreatedAt":1609751636801,"hasCompletedProfile":false,"isCreatorPartnerProgramEnrolled":true,"userDismissableFlags":[32,29,12,9,5,2,1,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"de-de","type":"User"},"f12092972d20":{"userId":"f12092972d20","name":"Marcus Noll","username":"marcus-noll","createdAt":1514387573899,"imageId":"1*XZBpoNJ-t9PV_LFeKILt8Q.png","backgroundImageId":"","bio":"Senior Software Engineer at NEW WORK SE; focused on topics related to testing and QA","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[2,29,33],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"de-de","type":"User"}},"Post":{"fac4a8b0ae15":{"id":"fac4a8b0ae15","versionId":"a392da5378ed","creatorId":"6ca9d8d9fad3","homeCollectionId":"35cb8c78d3cf","title":"Protecting sensitive data in Elixir GenServers","detectedLanguage":"en","latestVersion":"a392da5378ed","latestPublishedVersion":"a392da5378ed","hasUnpublishedEdits":false,"latestRev":921,"createdAt":1700867132816,"updatedAt":1701250341598,"acceptedAt":0,"firstPublishedAt":1701045261726,"latestPublishedAt":1701250341598,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"In Elixir, GenServers are a common way to maintain state and handle concurrent processes. However, when these GenServers hold sensitive…","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*BWqtEpR1YYuOL-VrRxc9TA.png","filter":"","backgroundSize":"","originalWidth":2048,"originalHeight":1006,"strategy":"resample","height":0,"width":0},"wordCount":1113,"imageCount":1,"readingTime":4.4,"subtitle":"In Elixir, GenServers are a common way to maintain state and handle concurrent processes. However, when these GenServers hold sensitive…","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":13,"isBookmarked":false,"tags":[],"socialRecommendsCount":0,"responsesCreatedCount":5,"links":{"entries":[{"url":"https://erlef.github.io/security-wg/secure_coding_and_deployment_hardening/sensitive_data.html","alts":[],"httpStatus":200},{"url":"https://hexdocs.pm/elixir/GenServer.html","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1701250341982},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":163,"sectionCount":1,"readingList":0,"topics":[{"topicId":"d4e7f4144ac5","slug":"cybersecurity","createdAt":1493946839810,"deletedAt":0,"image":{"id":"1*JpJUz3WBPiQG5vkJ9WY8rw@2x.jpeg","originalWidth":6000,"originalHeight":4000},"name":"Cybersecurity","description":"Towards a more perfect password.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Cybersecurity News and Articles — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"protecting-sensitive-data-in-elixir-genservers","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"protecting-sensitive-data-in-elixir-genservers-fac4a8b0ae15","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*BWqtEpR1YYuOL-VrRxc9TA.png","originalWidth":2048,"originalHeight":1006,"isFeatured":true}},{"name":"23b2","type":3,"text":"Protecting sensitive data in Elixir GenServers","markups":[],"alignment":1},{"name":"78bb","type":1,"text":"In Elixir, GenServers are a common way to maintain state and handle concurrent…","markups":[{"type":3,"start":11,"end":21,"href":"https://hexdocs.pm/elixir/GenServer.html","title":"","rel":"noopener","anchorType":0}],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"In Elixir, GenServers are a common way to maintain state and handle concurrent processes. However, when these GenServers hold sensitive…"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"23b2","type":3,"text":"Protecting sensitive data in Elixir GenServers","markups":[]},{"name":"78bb","type":1,"text":"In Elixir, GenServers are a common way to maintain state and handle concurrent processes. However, when these GenServers hold sensitive data, such as credentials or personal information, it’s crucial to ensure this data is protected. Sensitive data, if exposed, can lead to serious security breaches, including data leaks and unauthorized…","markups":[{"type":3,"start":11,"end":21,"href":"https://hexdocs.pm/elixir/GenServer.html","title":"","rel":"noopener","anchorType":0}]}],"sections":[{"name":"53db","startIndex":0}]},"isFullContent":false,"subtitle":"In Elixir, GenServers are a common way to maintain state and handle concurrent processes. However, when these GenServers hold sensitive…"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"ce24a59c653b":{"id":"ce24a59c653b","versionId":"549179a1732b","creatorId":"cd48b029b443","homeCollectionId":"35cb8c78d3cf","title":"One or multiple packages?","detectedLanguage":"en","latestVersion":"549179a1732b","latestPublishedVersion":"549179a1732b","hasUnpublishedEdits":false,"latestRev":784,"createdAt":1695894730732,"updatedAt":1699439276438,"acceptedAt":0,"firstPublishedAt":1699439270011,"latestPublishedAt":1699439270011,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Well…it depends","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*i_LLKpkfT6SJOOV4IQ6VaQ.jpeg","filter":"","backgroundSize":"","originalWidth":1920,"originalHeight":1296,"strategy":"resample","height":0,"width":0},"wordCount":667,"imageCount":5,"readingTime":3.3503144654088053,"subtitle":"Well…it depends","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":4,"isBookmarked":false,"tags":[{"slug":"swift","name":"Swift","postCount":50385,"metadata":{"postCount":50385,"coverImage":{"id":"1*s7-yU41gZAuVZXvfVZJbiQ.jpeg","originalWidth":1500,"originalHeight":1000,"isFeatured":true}},"type":"Tag"},{"slug":"swift-package-manager","name":"Swift Package Manager","postCount":286,"metadata":{"postCount":286,"coverImage":{"id":"1*cL1pehiUC0P1Jo5aHzGPCA.png","originalWidth":2644,"originalHeight":1428}},"type":"Tag"},{"slug":"apple","name":"Apple","postCount":109275,"metadata":{"postCount":109275,"coverImage":{"id":"1*Y45J_R-s3twWWDzjNWUoXQ@2x.jpeg","originalWidth":412,"originalHeight":467,"backgroundSize":"","filter":"","isFeatured":false,"externalSrc":"","focusPercentX":-1,"focusPercentY":-1,"alt":"","repairedAt":0,"unsplashPhotoId":""}},"type":"Tag"},{"slug":"iphone-app-development","name":"Iphone App Development","postCount":2631,"metadata":{"postCount":2631,"coverImage":{"id":"1*VG11H4om2Rwjt_SsjOj70g.jpeg","originalWidth":1024,"originalHeight":1024,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":3,"links":{"entries":[{"url":"https://unsplash.com/@kellysikkema?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText","alts":[],"httpStatus":200},{"url":"https://unsplash.com/photos/-nz-GTuvyBw?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1699439270731},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":12,"sectionCount":1,"readingList":0,"topics":[{"topicId":"ab3d8f7f8eb1","slug":"ios-development","createdAt":1521651850182,"deletedAt":0,"image":{"id":"1*g_B4JNulmfXSj0AyEjImyA@2x.jpeg","originalWidth":5184,"originalHeight":3456},"name":"iOS Dev","description":"Appy talk.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"iOS App Development: Articles and News — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"one-or-multiple-packages","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"one-or-multiple-packages-ce24a59c653b","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*i_LLKpkfT6SJOOV4IQ6VaQ.jpeg","originalWidth":1920,"originalHeight":1296,"isFeatured":true}},{"name":"bf5e","type":3,"text":"One or multiple packages?","markups":[],"alignment":1},{"name":"afc3","type":13,"text":"Well…it depends","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Well…it depends"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"SPM, one or multiple packages?","previewContent2":{"bodyModel":{"paragraphs":[{"name":"bf5e","type":3,"text":"One or multiple packages?","markups":[]},{"name":"afc3","type":13,"text":"Well…it depends","markups":[]},{"name":"6039","type":4,"text":"Photo by Kelly Sikkema on Unsplash","markups":[{"type":3,"start":9,"end":22,"href":"https://unsplash.com/@kellysikkema?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText","title":"","rel":"","anchorType":0},{"type":3,"start":26,"end":34,"href":"https://unsplash.com/photos/-nz-GTuvyBw?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText","title":"","rel":"","anchorType":0}],"layout":1,"metadata":{"id":"1*i_LLKpkfT6SJOOV4IQ6VaQ.jpeg","originalWidth":1920,"originalHeight":1296,"isFeatured":true}},{"name":"452a","type":1,"text":"Swift Package Manager is not just a dependency manager, it is also a tool that allows you to organize your project into modules and create a package structure with which organize your frameworks and dependencies.","markups":[]},{"name":"1f4e","type":1,"text":"If CocoaPods has always been your dependency manager, you should know that all modules and…","markups":[]}],"sections":[{"name":"2af9","startIndex":0}]},"isFullContent":false,"subtitle":"Well…it depends"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"c8cba6478ba3":{"id":"c8cba6478ba3","versionId":"31ca453243fe","creatorId":"1a65dd4b0c02","homeCollectionId":"35cb8c78d3cf","title":"The Role of Artificial Intelligence in Recruitment","detectedLanguage":"en","latestVersion":"31ca453243fe","latestPublishedVersion":"31ca453243fe","hasUnpublishedEdits":false,"latestRev":452,"createdAt":1694094625248,"updatedAt":1694098866830,"acceptedAt":0,"firstPublishedAt":1694098862706,"latestPublishedAt":1694098862706,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Imagine you can have a workmate capable of interacting right away with candidates, screening CVs in the blink of an eye with flawless…","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*VrdA496DwlEoXysuY0eZhQ.jpeg","filter":"","backgroundSize":"","originalWidth":1920,"originalHeight":1080,"strategy":"resample","height":0,"width":0},"wordCount":530,"imageCount":1,"readingTime":2.2,"subtitle":"Imagine you can have a workmate capable of interacting right away with candidates, screening CVs in the blink of an eye with flawless…","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":5,"isBookmarked":false,"tags":[{"slug":"artificial-intelligence","name":"Artificial Intelligence","postCount":457037,"metadata":{"postCount":457037,"coverImage":{"id":"1*gAn_BSffVBcwCIR6bDgK1g.jpeg"}},"type":"Tag"},{"slug":"recruiting","name":"Recruiting","postCount":31070,"metadata":{"postCount":31070,"coverImage":{"id":"0*ncXMQxDKNF5uqBAk","originalWidth":1280,"originalHeight":720,"isFeatured":true}},"type":"Tag"},{"slug":"recruiters","name":"Recruiters","postCount":3328,"metadata":{"postCount":3328,"coverImage":{"id":"1*fKxX1p4wbkCxKh97iwfQUQ.png","originalWidth":302,"originalHeight":300}},"type":"Tag"},{"slug":"tech-recruiting","name":"Tech Recruiting","postCount":641,"metadata":{"postCount":641,"coverImage":{"id":"0*lNLcxxcP4qNT5FLl","originalWidth":5426,"originalHeight":3617,"isFeatured":true,"unsplashPhotoId":"9l_326FISzk"}},"type":"Tag"},{"slug":"human-resources","name":"Human Resources","postCount":27257,"metadata":{"postCount":27257,"coverImage":{"id":"1*mALS7VrTMoqXBKKneEGirg.png","originalWidth":1200,"originalHeight":630}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":3,"links":{"entries":[],"version":"0.3","generatedAt":1694098862850},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":68,"sectionCount":1,"readingList":0,"topics":[{"topicId":"1af65db9c2f8","slug":"artificial-intelligence","createdAt":1487916832419,"deletedAt":0,"image":{"id":"1*A28aHchbaA8zNVXraBq0Ug@2x.jpeg","originalWidth":4866,"originalHeight":3244},"name":"Artificial Intelligence","description":"Born to be bot.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"AI News and Artificial Intelligence Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"the-role-of-artificial-intelligence-in-recruitment","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"the-role-of-artificial-intelligence-in-recruitment-c8cba6478ba3","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*VrdA496DwlEoXysuY0eZhQ.jpeg","originalWidth":1920,"originalHeight":1080,"isFeatured":true}},{"name":"f791","type":3,"text":"The Role of Artificial Intelligence in Recruitment","markups":[{"type":1,"start":0,"end":50}],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Imagine you can have a workmate capable of interacting right away with candidates, screening CVs in the blink of an eye with flawless…"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"f791","type":3,"text":"The Role of Artificial Intelligence in Recruitment","markups":[{"type":1,"start":0,"end":50}]},{"name":"00a9","type":1,"text":"Imagine you can have a workmate capable of interacting right away with candidates, screening CVs in the blink of an eye with flawless impartiality, and automatically scheduling interviews at a remarkable speed, while you are focused on bringing value to your processes.","markups":[]},{"name":"b6bc","type":1,"text":"Are you thinking about a human? Here’s the…","markups":[{"type":1,"start":25,"end":30},{"type":1,"start":89,"end":117}]}],"sections":[{"name":"e356","startIndex":0}]},"isFullContent":false,"subtitle":"Imagine you can have a workmate capable of interacting right away with candidates, screening CVs in the blink of an eye with flawless…"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"c9de1c4df5e9":{"id":"c9de1c4df5e9","versionId":"8412f46f53","creatorId":"97c5397448a4","homeCollectionId":"35cb8c78d3cf","title":"Shortage of technological talent in Portugal: what are the challenges?","detectedLanguage":"en","latestVersion":"8412f46f53","latestPublishedVersion":"8412f46f53","hasUnpublishedEdits":false,"latestRev":76,"createdAt":1693404811585,"updatedAt":1693406234755,"acceptedAt":0,"firstPublishedAt":1693404943273,"latestPublishedAt":1693406228195,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"It is important to have a collaboration between the government, the companies and the educational institutions. Therefore, investments…","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*ahyz-nFfTws7gJ4E6Kk8Iw.jpeg","filter":"","backgroundSize":"","originalWidth":5919,"originalHeight":3946,"strategy":"resample","height":0,"width":0},"wordCount":541,"imageCount":1,"readingTime":2.2415094339622645,"subtitle":"It is important to have a collaboration between the government, the companies and the educational institutions. Therefore, investments…","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":0,"isBookmarked":false,"tags":[{"slug":"human-resources","name":"Human Resources","postCount":27257,"metadata":{"postCount":27257,"coverImage":{"id":"1*mALS7VrTMoqXBKKneEGirg.png","originalWidth":1200,"originalHeight":630}},"type":"Tag"},{"slug":"tech-recruiting","name":"Tech Recruiting","postCount":641,"metadata":{"postCount":641,"coverImage":{"id":"0*lNLcxxcP4qNT5FLl","originalWidth":5426,"originalHeight":3617,"isFeatured":true,"unsplashPhotoId":"9l_326FISzk"}},"type":"Tag"},{"slug":"technology-talent","name":"Technology Talent","postCount":8,"metadata":{"postCount":8,"coverImage":{"id":"1*0GEyVRjlHufVqHf_n2CRVA.jpeg","originalWidth":2048,"originalHeight":1366}},"type":"Tag"},{"slug":"shortage-of-tech-talent","name":"Shortage Of Tech Talent","postCount":0,"metadata":{"postCount":0,"coverImage":{"id":"1*ahyz-nFfTws7gJ4E6Kk8Iw.jpeg","originalWidth":5919,"originalHeight":3946}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":4,"links":{"entries":[],"version":"0.3","generatedAt":1693406228345},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":0,"sectionCount":1,"readingList":0,"topics":[{"topicId":"af49579e220a","slug":"work","createdAt":1487918186996,"deletedAt":0,"image":{"id":"1*knbAt5qCQCelKx0BDkzZpQ@2x.jpeg","originalWidth":5018,"originalHeight":3049},"name":"Work","description":"The meaning behind the meetings.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Work Life: Articles and News — Medium","type":"Topic"}]},"coverless":true,"slug":"shortage-of-technological-talent-in-portugal-what-are-the-challenges","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"shortage-of-technological-talent-in-portugal-what-are-the-challenges-c9de1c4df5e9","previewContent":{"bodyModel":{"paragraphs":[{"name":"7a1c","type":3,"text":"Shortage of technological talent in Portugal: what are the challenges?","markups":[{"type":1,"start":0,"end":70}],"alignment":1},{"name":"b8d1","type":6,"text":"It is important to have a collaboration between the government, the companies and the educational institutions. Therefore, investments should be made in training professionals and in updating educational…","markups":[{"type":1,"start":0,"end":203}],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"It is important to have a collaboration between the government, the companies and the educational institutions. Therefore, investments…"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"7a1c","type":3,"text":"Shortage of technological talent in Portugal: what are the challenges?","markups":[{"type":1,"start":0,"end":70}]},{"name":"b8d1","type":6,"text":"It is important to have a collaboration between the government, the companies and the educational institutions. Therefore, investments should be made in training professionals and in updating educational programs.","markups":[{"type":1,"start":0,"end":213}]},{"name":"5924","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"1*ahyz-nFfTws7gJ4E6Kk8Iw.jpeg","originalWidth":5919,"originalHeight":3946}},{"name":"38b7","type":1,"text":"In recent years, humanity has witnessed a technological transformation like never before. This transformation caused the way we live, work and…","markups":[]}],"sections":[{"name":"4a1b","startIndex":0}]},"isFullContent":false,"subtitle":"It is important to have a collaboration between the government, the companies and the educational institutions. Therefore, investments…"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"50050f2688ed":{"id":"50050f2688ed","versionId":"bc48fe11d462","creatorId":"fc0c78c7b1ba","homeCollectionId":"35cb8c78d3cf","title":"The Office is the Natural Habitat of Culture","detectedLanguage":"en","latestVersion":"bc48fe11d462","latestPublishedVersion":"bc48fe11d462","hasUnpublishedEdits":false,"latestRev":83,"createdAt":1689000784580,"updatedAt":1689002605455,"acceptedAt":0,"firstPublishedAt":1689000992515,"latestPublishedAt":1689002602449,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"After spending so much time working outside the office, many of us may prefer to continue working from home, wearing comfortable clothes…","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*52-dVb0kTLZTWmtSnjPj7w.png","filter":"","backgroundSize":"","originalWidth":2048,"originalHeight":1367,"strategy":"resample","height":0,"width":0},"wordCount":860,"imageCount":1,"readingTime":3.445283018867925,"subtitle":"After spending so much time working outside the office, many of us may prefer to continue working from home, wearing comfortable clothes…","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":3,"isBookmarked":false,"tags":[{"slug":"work-from-home","name":"Work From Home","postCount":40618,"metadata":{"postCount":40618,"coverImage":{"id":"0*ZcOGe_nfFpCcTGk-","originalWidth":6000,"originalHeight":4000,"isFeatured":true,"unsplashPhotoId":"ADjcacMLblo"}},"type":"Tag"},{"slug":"office-culture","name":"Office Culture","postCount":6796,"metadata":{"postCount":6796,"coverImage":{"id":"1*IZjJMdcxPFT6WOCc-ys2ig.jpeg","originalWidth":5760,"originalHeight":3840,"isFeatured":true}},"type":"Tag"},{"slug":"in-person-interaction","name":"In Person Interaction","postCount":1,"metadata":{"postCount":1,"coverImage":{"id":"1*52-dVb0kTLZTWmtSnjPj7w.png","originalWidth":2048,"originalHeight":1367,"isFeatured":true}},"type":"Tag"},{"slug":"work-relationships","name":"Work Relationships","postCount":206,"metadata":{"postCount":206,"coverImage":{"id":"1*z3ZL_8vnDsPjI8O7dHKTPg.jpeg","originalWidth":1440,"originalHeight":1080,"isFeatured":true,"alt":"The Cheesecake Factory restaurant on a partly cloudy day."}},"type":"Tag"},{"slug":"workplace","name":"Workplace","postCount":27522,"metadata":{"postCount":27522,"coverImage":{"id":"1*cXeO3PjRFsXngtBwKolKmg.png","originalWidth":2810,"originalHeight":1540,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":3,"links":{"entries":[{"url":"https://www.yourhormones.info/hormones/adrenocorticotropic-hormone/","alts":[],"httpStatus":200},{"url":"https://www2.mvcc.edu/shn/pdf/presentations/2021-11/what-employees-are-saying-about-the-future-of-remote-work.pdf","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1689002603346},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":33,"sectionCount":1,"readingList":0,"topics":[{"topicId":"af49579e220a","slug":"work","createdAt":1487918186996,"deletedAt":0,"image":{"id":"1*knbAt5qCQCelKx0BDkzZpQ@2x.jpeg","originalWidth":5018,"originalHeight":3049},"name":"Work","description":"The meaning behind the meetings.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Work Life: Articles and News — Medium","type":"Topic"}]},"coverless":true,"slug":"the-office-is-the-natural-habitat-of-culture","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"the-office-is-the-natural-habitat-of-culture-50050f2688ed","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*52-dVb0kTLZTWmtSnjPj7w.png","originalWidth":2048,"originalHeight":1367,"isFeatured":true}},{"name":"613c","type":3,"text":"The Office is the Natural Habitat of Culture","markups":[{"type":1,"start":0,"end":44}],"alignment":1},{"name":"6cc8","type":1,"text":"After spending so much time working outside the office, many of us may prefer to…","markups":[{"type":1,"start":0,"end":80}],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"After spending so much time working outside the office, many of us may prefer to continue working from home, wearing comfortable clothes…"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"613c","type":3,"text":"The Office is the Natural Habitat of Culture","markups":[{"type":1,"start":0,"end":44}]},{"name":"6cc8","type":1,"text":"After spending so much time working outside the office, many of us may prefer to continue working from home, wearing comfortable clothes, and having our pets by our side. On the other hand, many companies offer hybrid work options but would like to see employees back in the office more…","markups":[{"type":3,"start":390,"end":492,"href":"https://www2.mvcc.edu/shn/pdf/presentations/2021-11/what-employees-are-saying-about-the-future-of-remote-work.pdf","title":"","rel":"","anchorType":0},{"type":1,"start":0,"end":493}]}],"sections":[{"name":"f66f","startIndex":0}]},"isFullContent":false,"subtitle":"After spending so much time working outside the office, many of us may prefer to continue working from home, wearing comfortable clothes…"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"daed7f566a01":{"id":"daed7f566a01","versionId":"43607f55dee2","creatorId":"2c8847cfc337","homeCollectionId":"35cb8c78d3cf","title":"The importance of accessibility on your iOS app","detectedLanguage":"en","latestVersion":"43607f55dee2","latestPublishedVersion":"43607f55dee2","hasUnpublishedEdits":false,"latestRev":1153,"createdAt":1674653727663,"updatedAt":1687946402765,"acceptedAt":0,"firstPublishedAt":1687763636922,"latestPublishedAt":1687946397645,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Leave no one behind","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*uSd8yXHGSQimz9KwWDN0ZQ.jpeg","filter":"","backgroundSize":"","originalWidth":1920,"originalHeight":1080,"strategy":"resample","height":0,"width":0},"wordCount":1098,"imageCount":5,"readingTime":4.976729559748428,"subtitle":"Leave no one behind","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":3,"isBookmarked":false,"tags":[{"slug":"accessibility","name":"Accessibility","postCount":19434,"metadata":{"postCount":19434,"coverImage":{"id":"1*1_ISew4HPOGusu-xIaLvPQ.jpeg","originalWidth":1280,"originalHeight":854}},"type":"Tag"},{"slug":"ios","name":"iOS","postCount":88999,"metadata":{"postCount":88999,"coverImage":{"id":"1*Mp-mhVUhZBJqzzBdtYvuxw.jpeg","originalWidth":720,"originalHeight":1280}},"type":"Tag"},{"slug":"development","name":"Development","postCount":112628,"metadata":{"postCount":112628,"coverImage":{"id":"1*uJKVgxbUjaG2eU2oAOvxmg.png","originalWidth":2696,"originalHeight":1742,"isFeatured":true}},"type":"Tag"},{"slug":"apple","name":"Apple","postCount":109275,"metadata":{"postCount":109275,"coverImage":{"id":"1*Y45J_R-s3twWWDzjNWUoXQ@2x.jpeg","originalWidth":412,"originalHeight":467,"backgroundSize":"","filter":"","isFeatured":false,"externalSrc":"","focusPercentX":-1,"focusPercentY":-1,"alt":"","repairedAt":0,"unsplashPhotoId":""}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://webaim.org/resources/contrastchecker/","alts":[],"httpStatus":200},{"url":"https://twitter.com/dev_alhambra","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/documentation/uikit/uiaccessibilityelement/1619585-accessibilityhint","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/documentation/accessibility/supporting_voiceover_in_your_app","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/design/human-interface-guidelines/accessibility#Text-display","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/documentation/uikit/uiaccessibilityelement/1619583-accessibilityvalue","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/design/human-interface-guidelines/playing-haptics","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/documentation/uikit/uiaccessibilityelement/1619577-accessibilitylabel","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/documentation/uikit/uiaccessibilitytraits","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1687946398184},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":4,"sectionCount":1,"readingList":0,"topics":[{"topicId":"ab3d8f7f8eb1","slug":"ios-development","createdAt":1521651850182,"deletedAt":0,"image":{"id":"1*g_B4JNulmfXSj0AyEjImyA@2x.jpeg","originalWidth":5184,"originalHeight":3456},"name":"iOS Dev","description":"Appy talk.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"iOS App Development: Articles and News — Medium","type":"Topic"}]},"coverless":true,"slug":"the-importance-of-accessibility-on-your-ios-app","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"the-importance-of-accessibility-on-your-ios-app-daed7f566a01","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*uSd8yXHGSQimz9KwWDN0ZQ.jpeg","originalWidth":1920,"originalHeight":1080,"isFeatured":true,"alt":"Accessibility icon surrounded by other iOS icons."}},{"name":"2082","type":3,"text":"The importance of accessibility for your iOS app","markups":[],"alignment":1},{"name":"3b57","type":13,"text":"Leave no one behind","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Leave no one behind"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"2082","type":3,"text":"The importance of accessibility for your iOS app","markups":[]},{"name":"3b57","type":13,"text":"Leave no one behind","markups":[]},{"name":"ad90","type":6,"text":"Accessibility on apps is the practice of designing apps that are usable by people with different abilities and preferences.","markups":[]},{"name":"caad","type":1,"text":"As an iOS developer, it’s important to create apps that are accessible to everyone, regardless of their abilities. Besides being the right thing to do, it also expands your user base…","markups":[{"type":1,"start":129,"end":150}]}],"sections":[{"name":"4ba5","startIndex":0}]},"isFullContent":false,"subtitle":"Leave no one behind"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"6f581e30c370":{"id":"6f581e30c370","versionId":"3621ec5eeb32","creatorId":"52fa09649919","homeCollectionId":"35cb8c78d3cf","title":"Unit Testing Combine Publishers","detectedLanguage":"en","latestVersion":"3621ec5eeb32","latestPublishedVersion":"3621ec5eeb32","hasUnpublishedEdits":false,"latestRev":1115,"createdAt":1676200833568,"updatedAt":1684489796148,"acceptedAt":0,"firstPublishedAt":1684489787671,"latestPublishedAt":1684489787671,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Let’s review what kind of expectations are available in Xcode and which ones can be used for testing combine Publishers","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*8rVBw8xq4W8WvGjW--BNeA.jpeg","filter":"","backgroundSize":"","originalWidth":640,"originalHeight":349,"strategy":"resample","height":0,"width":0},"wordCount":945,"imageCount":1,"readingTime":3.7660377358490567,"subtitle":"Let’s review what kind of expectations are available in Xcode and which ones can be used for testing combine Publishers","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":9,"isBookmarked":false,"tags":[{"slug":"swift","name":"Swift","postCount":50385,"metadata":{"postCount":50385,"coverImage":{"id":"1*s7-yU41gZAuVZXvfVZJbiQ.jpeg","originalWidth":1500,"originalHeight":1000,"isFeatured":true}},"type":"Tag"},{"slug":"combine","name":"Combine","postCount":908,"metadata":{"postCount":908,"coverImage":{"id":"1*s1T-px7XIAkSFg_On03Bfw.jpeg","originalWidth":3992,"originalHeight":2103,"isFeatured":true}},"type":"Tag"},{"slug":"unit-testing","name":"Unit Testing","postCount":7578,"metadata":{"postCount":7578,"coverImage":{"id":"1*9Zeit5N6djCtAop7DTOWmw.jpeg","originalWidth":832,"originalHeight":448,"isFeatured":true}},"type":"Tag"},{"slug":"xcode","name":"Xcode","postCount":13247,"metadata":{"postCount":13247,"coverImage":{"id":"0*dRMv7td0rH5S9WsY","originalWidth":4937,"originalHeight":3291,"isFeatured":true,"unsplashPhotoId":"SXihyA4oEJs"}},"type":"Tag"},{"slug":"expectations","name":"Expectations","postCount":6510,"metadata":{"postCount":6510,"coverImage":{"id":"0*CWb6qA_Zuo6V-m4Q","originalWidth":3456,"originalHeight":5184,"isFeatured":true,"alt":"Why I don’t expect anything from anyone? What are its advantages and disadvantages?","unsplashPhotoId":"63tBU8et1YY"}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://developer.apple.com/documentation/xctest/xctnsnotificationexpectation","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/documentation/swift/using-key-value-observing-in-swift","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/documentation/xctest/xctkvoexpectation","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/documentation/xctest/xctnspredicateexpectation","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/documentation/xctest/xctkeypathexpectation","alts":[],"httpStatus":200},{"url":"https://unsplash.com/photos/D9FQYwAclwQ?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/documentation/xctest/xctestexpectation","alts":[],"httpStatus":200},{"url":"https://unsplash.com/@alex_vicol?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText","alts":[],"httpStatus":200},{"url":"https://github.com/yannxou/PublisherExpectations","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1684489789144},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":15,"sectionCount":1,"readingList":0,"topics":[{"topicId":"ab3d8f7f8eb1","slug":"ios-development","createdAt":1521651850182,"deletedAt":0,"image":{"id":"1*g_B4JNulmfXSj0AyEjImyA@2x.jpeg","originalWidth":5184,"originalHeight":3456},"name":"iOS Dev","description":"Appy talk.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"iOS App Development: Articles and News — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"unit-testing-combine-publishers","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"unit-testing-combine-publishers-6f581e30c370","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*8rVBw8xq4W8WvGjW--BNeA.jpeg","originalWidth":640,"originalHeight":349,"isFeatured":true}},{"name":"previewTitle","type":3,"text":"Unit Testing Combine Publishers","alignment":1},{"name":"previewSubtitle","type":13,"text":"Let’s review what kind of expectations are available in Xcode and…","alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Let’s review what kind of expectations are available in Xcode and which ones can be used for testing combine Publishers"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"b4a2","type":3,"text":"Unit Testing Combine Publishers","markups":[]},{"name":"8834","type":1,"text":"When testing Combine-related code we must keep in mind that we’re most probably testing asynchronous code. And how do we expect to test asynchronous code in Xcode? Right, with expectations.","markups":[{"type":2,"start":121,"end":127}]},{"name":"87ba","type":1,"text":"Expectations in Xcode allow us to define specific conditions that must be met before a test case can be considered…","markups":[]}],"sections":[{"name":"b1e6","startIndex":0}]},"isFullContent":false,"subtitle":"Let’s review what kind of expectations are available in Xcode and which ones can be used for testing combine Publishers"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"96f225a12a20":{"id":"96f225a12a20","versionId":"3525908857f3","creatorId":"4f39b75aa490","homeCollectionId":"35cb8c78d3cf","title":"How to use Swift Package Manager products from Cocoapods","detectedLanguage":"en","latestVersion":"3525908857f3","latestPublishedVersion":"3525908857f3","hasUnpublishedEdits":false,"latestRev":1431,"createdAt":1680096849198,"updatedAt":1684489730119,"acceptedAt":0,"firstPublishedAt":1684489728814,"latestPublishedAt":1684489728814,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Speeding up your Cocoapods to SwiftPM migration process","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*2AUViyT2vH_cTB5d","filter":"","backgroundSize":"","originalWidth":4672,"originalHeight":3104,"strategy":"resample","height":0,"width":0},"wordCount":1294,"imageCount":4,"readingTime":5.583018867924529,"subtitle":"Speeding up your Cocoapods to SwiftPM migration process","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":5,"isBookmarked":false,"tags":[{"slug":"swift-package-manager","name":"Swift Package Manager","postCount":286,"metadata":{"postCount":286,"coverImage":{"id":"1*cL1pehiUC0P1Jo5aHzGPCA.png","originalWidth":2644,"originalHeight":1428}},"type":"Tag"},{"slug":"cocoapods","name":"Cocoapods","postCount":866,"metadata":{"postCount":866,"coverImage":{"id":"1*Wf2lPjNPjgY4VDgSNHwIwQ.jpeg","originalWidth":750,"originalHeight":750}},"type":"Tag"},{"slug":"xcode","name":"Xcode","postCount":13247,"metadata":{"postCount":13247,"coverImage":{"id":"0*dRMv7td0rH5S9WsY","originalWidth":4937,"originalHeight":3291,"isFeatured":true,"unsplashPhotoId":"SXihyA4oEJs"}},"type":"Tag"},{"slug":"mobile-app-development","name":"Mobile App Development","postCount":95540,"metadata":{"postCount":95540,"coverImage":{"id":"1*sm6HZWz2LYPJCDKIAT0KTw.jpeg","originalWidth":6000,"originalHeight":4000,"isFeatured":true}},"type":"Tag"},{"slug":"xing","name":"Xing","postCount":53,"metadata":{"postCount":53,"coverImage":{"id":"0*Yuv9q1vDGQtx87WF.png","originalWidth":998,"originalHeight":943}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":1,"links":{"entries":[{"url":"https://unsplash.com?utm_source=medium&utm_medium=referral","alts":[],"httpStatus":200},{"url":"https://www.instabug.com","alts":[],"httpStatus":200},{"url":"https://tuist.io","alts":[],"httpStatus":200},{"url":"https://apps.apple.com/us/app/xing-the-right-job-for-you/id297625850","alts":[],"httpStatus":200},{"url":"https://github.com/tuist/XcodeProj","alts":[],"httpStatus":200},{"url":"https://github.com/unsignedapps/swift-create-xcframework","alts":[],"httpStatus":200},{"url":"https://github.com/CocoaPods/Xcodeproj","alts":[],"httpStatus":200},{"url":"https://github.com/CocoaPods/CocoaPods/issues/11214","alts":[],"httpStatus":200},{"url":"https://www.swift.org/package-manager/","alts":[],"httpStatus":200},{"url":"https://github.com/osrufung/UsingSPMFromCPDemo","alts":[],"httpStatus":200},{"url":"https://github.com/xing/jungle","alts":[],"httpStatus":200},{"url":"https://unsplash.com/de/@mparzuchowski?utm_source=medium&utm_medium=referral","alts":[],"httpStatus":200},{"url":"https://www.new-work.se/en","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/documentation/xcode/build-settings-reference#Import-Paths","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/documentation/xcode/build-settings-reference","alts":[],"httpStatus":200},{"url":"https://tech.new-work.se/how-to-control-your-ios-dependencies-7690cc7b1c40","alts":[{"type":3,"url":"medium://p/7690cc7b1c40"},{"type":2,"url":"medium://p/7690cc7b1c40"}],"httpStatus":200}],"version":"0.3","generatedAt":1684489730361},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":27,"sectionCount":3,"readingList":0,"topics":[{"topicId":"ab3d8f7f8eb1","slug":"ios-development","createdAt":1521651850182,"deletedAt":0,"image":{"id":"1*g_B4JNulmfXSj0AyEjImyA@2x.jpeg","originalWidth":5184,"originalHeight":3456},"name":"iOS Dev","description":"Appy talk.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"iOS App Development: Articles and News — Medium","type":"Topic"}]},"coverless":true,"slug":"how-to-use-swift-package-manager-products-from-cocoapods","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"how-to-use-swift-package-manager-products-from-cocoapods-96f225a12a20","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*2AUViyT2vH_cTB5d","originalWidth":4672,"originalHeight":3104,"isFeatured":true,"unsplashPhotoId":"geNNFqfvw48"}},{"name":"f2df","type":3,"text":"How to use Swift Package Manager products from Cocoapods","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Speeding up your Cocoapods to SwiftPM migration process"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"How to use SwiftPM products from Cocoapods projects","previewContent2":{"bodyModel":{"paragraphs":[{"name":"f2df","type":3,"text":"How to use Swift Package Manager products from Cocoapods","markups":[]},{"name":"3316","type":1,"text":"Roughly one year ago, New Work SE’s iOS Platform Team started a proof of concept about how we could move from our existing XING iOS App, based in over one hundred Cocoapods internal libraries and other 15 external dependencies, into a clean and modern project based only in SwiftPM packages.","markups":[{"type":3,"start":22,"end":33,"href":"https://www.new-work.se/en","title":"","rel":"","anchorType":0},{"type":3,"start":123,"end":135,"href":"https://apps.apple.com/us/app/xing-the-right-job-for-you/id297625850","title":"","rel":"","anchorType":0}]},{"name":"ebae","type":1,"text":"…","markups":[{"type":3,"start":104,"end":108,"href":"https://tech.new-work.se/how-to-control-your-ios-dependencies-7690cc7b1c40","title":"","rel":"","anchorType":0}]}],"sections":[{"name":"377b","startIndex":0}]},"isFullContent":false,"subtitle":"Speeding up your Cocoapods to SwiftPM migration process"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"6973db8e1b38":{"id":"6973db8e1b38","versionId":"1fd917dd352f","creatorId":"52865b36ce23","homeCollectionId":"35cb8c78d3cf","title":"Seniority Balance in Software Engineering Teams","detectedLanguage":"en","latestVersion":"1fd917dd352f","latestPublishedVersion":"1fd917dd352f","hasUnpublishedEdits":false,"latestRev":148,"createdAt":1678374509995,"updatedAt":1679061766862,"acceptedAt":0,"firstPublishedAt":1679061757522,"latestPublishedAt":1679061757522,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Seniority balance plays a crucial role achieving delivery capacity, mentoring opportunities and capabilities, employee retention, costs…","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*r5ouR5xwwWhFJYT9YxtUKg.png","filter":"","backgroundSize":"","originalWidth":2048,"originalHeight":1365,"strategy":"resample","height":0,"width":0},"wordCount":818,"imageCount":1,"readingTime":3.286792452830189,"subtitle":"Seniority balance plays a crucial role achieving delivery capacity, mentoring opportunities and capabilities, employee retention, costs…","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":3,"isBookmarked":false,"tags":[{"slug":"strategic-thinking","name":"Strategic Thinking","postCount":3405,"metadata":{"postCount":3405,"coverImage":{"id":"0*5r5vSzpKjBUbBk_w","originalWidth":5726,"originalHeight":3257,"isFeatured":true,"unsplashPhotoId":"qUrIIzSWhh8"}},"type":"Tag"},{"slug":"software-development","name":"Software Development","postCount":325611,"metadata":{"postCount":325611,"coverImage":{"id":"1*BqVsCBa2mLv1UWQrdhjX5w.png","originalWidth":1500,"originalHeight":750,"isFeatured":true,"alt":"How I Am Using a Lifetime 100% Free Server"}},"type":"Tag"},{"slug":"leadership","name":"Leadership","postCount":293172,"metadata":{"postCount":293172,"coverImage":{"id":"1*x3eOBvKInrpkalYofhODIQ.jpeg"}},"type":"Tag"},{"slug":"team-management","name":"Team Management","postCount":3931,"metadata":{"postCount":3931,"coverImage":{"id":"1*6TGn6RvbGLMf-vO72tFGXQ.png","originalWidth":2227,"originalHeight":1345,"isFeatured":true}},"type":"Tag"},{"slug":"xing","name":"Xing","postCount":53,"metadata":{"postCount":53,"coverImage":{"id":"0*Yuv9q1vDGQtx87WF.png","originalWidth":998,"originalHeight":943}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[],"version":"0.3","generatedAt":1679061757758},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":17,"sectionCount":1,"readingList":0,"topics":[{"topicId":"af49579e220a","slug":"work","createdAt":1487918186996,"deletedAt":0,"image":{"id":"1*knbAt5qCQCelKx0BDkzZpQ@2x.jpeg","originalWidth":5018,"originalHeight":3049},"name":"Work","description":"The meaning behind the meetings.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Work Life: Articles and News — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"seniority-balance-in-software-engineering-teams","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"seniority-balance-in-software-engineering-teams-6973db8e1b38","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*r5ouR5xwwWhFJYT9YxtUKg.png","originalWidth":2048,"originalHeight":1365,"isFeatured":true}},{"name":"5de4","type":3,"text":"Seniority Balance in Software Engineering Teams","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Seniority balance plays a crucial role achieving delivery capacity, mentoring opportunities and capabilities, employee retention, costs…"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"5de4","type":3,"text":"Seniority Balance in Software Engineering Teams","markups":[]},{"name":"cbdb","type":1,"text":"In Software Engineering teams, seniority balance plays a crucial role in achieving delivery capacity, mentoring opportunities and capability, employee retention, costs, and sustainability. A team with a good balance of seniority levels can provide several advantages, including a diverse range of skill sets, perspectives, and experience levels.","markups":[]},{"name":"7a02","type":4,"text":"New Work, Portugal —Software Engineering Team","markups":[],"layout":1,"metadata":{"id":"1*r5ouR5xwwWhFJYT9YxtUKg.png","originalWidth":2048,"originalHeight":1365,"isFeatured":true}},{"name":"d0d3","type":3,"text":"Delivery Capacity","markups":[]},{"name":"5c7a","type":1,"text":"Seniority balance is…","markups":[]}],"sections":[{"name":"2866","startIndex":0}]},"isFullContent":false,"subtitle":"Seniority balance plays a crucial role achieving delivery capacity, mentoring opportunities and capabilities, employee retention, costs…"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"dbc38d8e479b":{"id":"dbc38d8e479b","versionId":"20b14cf7eb1d","creatorId":"cd48b029b443","homeCollectionId":"35cb8c78d3cf","title":"Measuring Testing Times","detectedLanguage":"en","latestVersion":"20b14cf7eb1d","latestPublishedVersion":"20b14cf7eb1d","hasUnpublishedEdits":false,"latestRev":287,"createdAt":1675351978467,"updatedAt":1676275958894,"acceptedAt":0,"firstPublishedAt":1676275955923,"latestPublishedAt":1676275955923,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Testing improvements","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*7uqFh8tIOsdiW_Lu","filter":"","backgroundSize":"","originalWidth":1000,"originalHeight":667,"strategy":"resample","height":0,"width":0},"wordCount":759,"imageCount":3,"readingTime":3.4141509433962263,"subtitle":"Testing improvements","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":3,"isBookmarked":false,"tags":[{"slug":"swift","name":"Swift","postCount":50385,"metadata":{"postCount":50385,"coverImage":{"id":"1*s7-yU41gZAuVZXvfVZJbiQ.jpeg","originalWidth":1500,"originalHeight":1000,"isFeatured":true}},"type":"Tag"},{"slug":"testing","name":"Testing","postCount":42664,"metadata":{"postCount":42664,"coverImage":{"id":"1*JZHO5lsnXJ3BvUdHHbN8xA.png","originalWidth":8418,"originalHeight":2506,"isFeatured":true}},"type":"Tag"},{"slug":"xcode","name":"Xcode","postCount":13247,"metadata":{"postCount":13247,"coverImage":{"id":"0*dRMv7td0rH5S9WsY","originalWidth":4937,"originalHeight":3291,"isFeatured":true,"unsplashPhotoId":"SXihyA4oEJs"}},"type":"Tag"},{"slug":"ios","name":"iOS","postCount":88999,"metadata":{"postCount":88999,"coverImage":{"id":"1*Mp-mhVUhZBJqzzBdtYvuxw.jpeg","originalWidth":720,"originalHeight":1280}},"type":"Tag"},{"slug":"mobile-app-development","name":"Mobile App Development","postCount":95540,"metadata":{"postCount":95540,"coverImage":{"id":"1*sm6HZWz2LYPJCDKIAT0KTw.jpeg","originalWidth":6000,"originalHeight":4000,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":1,"links":{"entries":[{"url":"https://unsplash.com?utm_source=medium&utm_medium=referral","alts":[],"httpStatus":200},{"url":"https://en.wikipedia.org/wiki/Unit_testing","alts":[],"httpStatus":200},{"url":"https://en.wikipedia.org/wiki/Pareto_chart","alts":[],"httpStatus":200},{"url":"https://en.wikipedia.org/wiki/Integration_testing","alts":[],"httpStatus":200},{"url":"https://unsplash.com/@testalizeme","alts":[],"httpStatus":200},{"url":"https://apps.apple.com/us/app/xing/id297625850","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1676275956888},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":12,"sectionCount":1,"readingList":0,"topics":[{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"measuring-testing-times","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"measuring-testing-times-dbc38d8e479b","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*7uqFh8tIOsdiW_Lu","originalWidth":1000,"originalHeight":667,"isFeatured":true}},{"name":"6cdd","type":3,"text":"Measuring Testing Times","markups":[],"alignment":1},{"name":"aae2","type":13,"text":"Testing improvements","markups":[],"alignment":1},{"name":"9e09","type":3,"text":"What Is A Slow Test?","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Testing improvements"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"Measuring Testing Times. Testing improvements","previewContent2":{"bodyModel":{"paragraphs":[{"name":"6cdd","type":3,"text":"Measuring Testing Times","markups":[]},{"name":"aae2","type":13,"text":"Testing improvements","markups":[]},{"name":"3ee8","type":4,"text":"Photo by testalizeme on Unsplash","markups":[{"type":3,"start":9,"end":20,"href":"https://unsplash.com/@testalizeme","title":"","rel":"","anchorType":0},{"type":3,"start":24,"end":32,"href":"https://unsplash.com?utm_source=medium&utm_medium=referral","title":"","rel":"noopener ugc nofollow","anchorType":0}],"layout":1,"metadata":{"id":"0*7uqFh8tIOsdiW_Lu","originalWidth":1000,"originalHeight":667,"isFeatured":true}},{"name":"9e09","type":3,"text":"What Is A Slow Test?","markups":[]},{"name":"b87b","type":1,"text":"There is no simple way to define a slow test, since it depends on the type of test, the complexity of the project, what are you testing, and many factors. But you can define time ranges to work on and know if a test is slow compared to the whole…","markups":[]}],"sections":[{"name":"ae12","startIndex":0}]},"isFullContent":false,"subtitle":"Testing improvements"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"28369bf2a7f3":{"id":"28369bf2a7f3","versionId":"a4031dbe01d6","creatorId":"19daab9f6796","homeCollectionId":"35cb8c78d3cf","title":"“Let’s talk and listen to each other more” — Interview with Jens Pape, CTO at XING","detectedLanguage":"en","latestVersion":"a4031dbe01d6","latestPublishedVersion":"a4031dbe01d6","hasUnpublishedEdits":false,"latestRev":52,"createdAt":1675761704379,"updatedAt":1675829780243,"acceptedAt":0,"firstPublishedAt":1675761774289,"latestPublishedAt":1675761774289,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"In early 2019, our CTO Jens spent six months in Barcelona, working from the office there and getting to know the culture and its people…","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*GD1ZKTC1l_6UdANR.jpeg","filter":"","backgroundSize":"","originalWidth":1400,"originalHeight":1050,"strategy":"resample","height":0,"width":0},"wordCount":1130,"imageCount":3,"readingTime":4.814150943396227,"subtitle":"In early 2019, our CTO Jens spent six months in Barcelona, working from the office there and getting to know the culture and its people…","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":1,"isBookmarked":false,"tags":[{"slug":"remote-working","name":"Remote Working","postCount":46095,"metadata":{"postCount":46095,"coverImage":{"id":"1*HJ26YZxgijtxq6XMtGMgSA.jpeg","originalWidth":6000,"originalHeight":4000}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://twitter.com/xing_esp","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1675761774561},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":1,"sectionCount":1,"readingList":0,"topics":[{"topicId":"af49579e220a","slug":"work","createdAt":1487918186996,"deletedAt":0,"image":{"id":"1*knbAt5qCQCelKx0BDkzZpQ@2x.jpeg","originalWidth":5018,"originalHeight":3049},"name":"Work","description":"The meaning behind the meetings.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Work Life: Articles and News — Medium","type":"Topic"}]},"coverless":true,"slug":"lets-talk-and-listen-to-each-other-more-interview-with-jens-pape-cto-at-xing","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"lets-talk-and-listen-to-each-other-more-interview-with-jens-pape-cto-at-xing-28369bf2a7f3","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*GD1ZKTC1l_6UdANR.jpeg","originalWidth":1400,"originalHeight":1050,"isFeatured":true}},{"name":"7f15","type":3,"text":"“Let’s talk and listen to each other more” — Interview with Jens Pape, CTO at XING","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"In early 2019, our CTO Jens spent six months in Barcelona, working from the office there and getting to know the culture and its people…"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"7f15","type":3,"text":"“Let’s talk and listen to each other more” — Interview with Jens Pape, CTO at XING","markups":[]},{"name":"ddcf","type":1,"text":"In early 2019, our CTO Jens spent six months in Barcelona, working from the office there and getting to know the culture and its people. We talked to him about his most memorable moments, eureka effects and key learnings during his time in Spain.","markups":[{"type":2,"start":0,"end":246}]},{"name":"c7b6","type":1,"text":"Jens, do you remember your first…","markups":[{"type":1,"start":0,"end":50}]}],"sections":[{"name":"1e8e","startIndex":0}]},"isFullContent":false,"subtitle":"In early 2019, our CTO Jens spent six months in Barcelona, working from the office there and getting to know the culture and its people…"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"279710ba5f5b":{"id":"279710ba5f5b","versionId":"c1a7854dd5d1","creatorId":"19daab9f6796","homeCollectionId":"35cb8c78d3cf","title":"Hard conversations, hard interviews…","detectedLanguage":"en","latestVersion":"c1a7854dd5d1","latestPublishedVersion":"c1a7854dd5d1","hasUnpublishedEdits":false,"latestRev":149,"createdAt":1675760878382,"updatedAt":1675829789173,"acceptedAt":0,"firstPublishedAt":1675761310545,"latestPublishedAt":1675761310545,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"When I first started as a recruiter, one of my worst fears was doing interviews. At that time, I had a “mental contradictory”: Why am I not…","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*MxUrqkgOiWHV_2Yr.jpeg","filter":"","backgroundSize":"","originalWidth":1400,"originalHeight":613,"strategy":"resample","height":0,"width":0},"wordCount":1181,"imageCount":2,"readingTime":4.8399371069182395,"subtitle":"When I first started as a recruiter, one of my worst fears was doing interviews. At that time, I had a “mental contradictory”: Why am I not…","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":0,"isBookmarked":false,"tags":[{"slug":"recrutement","name":"Recrutement","postCount":1074,"metadata":{"postCount":1074,"coverImage":{"id":"0*G5EQk5tiJz4kOpsQ.jpeg","originalWidth":1200,"originalHeight":1800,"isFeatured":true}},"type":"Tag"},{"slug":"tech","name":"Tech","postCount":291664,"metadata":{"postCount":291664,"coverImage":{"id":"0*Zs_B6zDXGdgkK2jv","originalWidth":5120,"originalHeight":2880,"isFeatured":true,"unsplashPhotoId":"_nWaeTF6qo0"}},"type":"Tag"},{"slug":"software-development","name":"Software Development","postCount":325611,"metadata":{"postCount":325611,"coverImage":{"id":"1*BqVsCBa2mLv1UWQrdhjX5w.png","originalWidth":1500,"originalHeight":750,"isFeatured":true,"alt":"How I Am Using a Lifetime 100% Free Server"}},"type":"Tag"},{"slug":"engineering","name":"Engineering","postCount":56367,"metadata":{"postCount":56367,"coverImage":{"id":"0*qbQTuVlzhFYSkCjL","originalWidth":4896,"originalHeight":3220,"isFeatured":true,"unsplashPhotoId":"KYxXMTpTzek"}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://pixabay.com/users/geralt-9301/?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=2814937","alts":[],"httpStatus":403},{"url":"https://pixabay.com/?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=2814937","alts":[],"httpStatus":403},{"url":"https://www.youtube.com/watch?v=rzsVh8YwZEQ","alts":[{"type":2,"url":"vnd.youtube://www.youtube.com/watch?v=rzsVh8YwZEQ&feature=applinks"},{"type":3,"url":"vnd.youtube://www.youtube.com/watch?v=rzsVh8YwZEQ&feature=applinks"}],"httpStatus":200},{"url":"https://www.xing.com/profile/Andrea_MestreMedina/cv","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1675761312050},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":0,"sectionCount":1,"readingList":0,"topics":[{"topicId":"af49579e220a","slug":"work","createdAt":1487918186996,"deletedAt":0,"image":{"id":"1*knbAt5qCQCelKx0BDkzZpQ@2x.jpeg","originalWidth":5018,"originalHeight":3049},"name":"Work","description":"The meaning behind the meetings.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Work Life: Articles and News — Medium","type":"Topic"}]},"coverless":true,"slug":"hard-conversations-hard-interviews","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"hard-conversations-hard-interviews-279710ba5f5b","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*MxUrqkgOiWHV_2Yr.jpeg","originalWidth":1400,"originalHeight":613,"isFeatured":true}},{"name":"5e9a","type":3,"text":"Hard conversations, hard interviews…","markups":[],"alignment":1},{"name":"e145","type":6,"text":"When I first started as a recruiter, one of my worst fears was doing interviews. At that time…","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"When I first started as a recruiter, one of my worst fears was doing interviews. At that time, I had a “mental contradictory”: Why am I not…"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"5e9a","type":3,"text":"Hard conversations, hard interviews…","markups":[]},{"name":"e145","type":6,"text":"When I first started as a recruiter, one of my worst fears was doing interviews. At that time, I had a “mental contradictory”: Why am I not enjoying interviews if they are one of the best parts of my job as a recruiter? Meeting new people, explaining our projects to…","markups":[]}],"sections":[{"name":"c505","startIndex":0}]},"isFullContent":false,"subtitle":"When I first started as a recruiter, one of my worst fears was doing interviews. At that time, I had a “mental contradictory”: Why am I not…"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"7121a9ca5acd":{"id":"7121a9ca5acd","versionId":"f7944cb53a82","creatorId":"19daab9f6796","homeCollectionId":"35cb8c78d3cf","title":"Mobile Academy experience","detectedLanguage":"en","latestVersion":"f7944cb53a82","latestPublishedVersion":"f7944cb53a82","hasUnpublishedEdits":false,"latestRev":29,"createdAt":1675760260047,"updatedAt":1675829779954,"acceptedAt":0,"firstPublishedAt":1675760327300,"latestPublishedAt":1675760327300,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"At NEW WORK Valencia we started this year the first edition of our Student Mobile Academy.","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*9BLUMz7OEpuKgsAY.jpeg","filter":"","backgroundSize":"","originalWidth":1400,"originalHeight":927,"strategy":"resample","height":0,"width":0},"wordCount":527,"imageCount":1,"readingTime":2.188679245283019,"subtitle":"At NEW WORK Valencia we started this year the first edition of our Student Mobile Academy.","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":1,"isBookmarked":false,"tags":[{"slug":"mobile","name":"Mobile","postCount":68824,"metadata":{"postCount":68824,"coverImage":{"id":"0*a3gqQE6ttIBgR3PJ.jpg","originalWidth":1024,"originalHeight":1024,"isFeatured":true,"alt":"The Ultimate Mobile Experience Real Tests Real Results"}},"type":"Tag"},{"slug":"students","name":"Students","postCount":75092,"metadata":{"postCount":75092,"coverImage":{"id":"0*D_ur_n_udmFUICWV","originalWidth":4928,"originalHeight":3280,"isFeatured":true,"alt":"An angry student peering over the top of a book.","unsplashPhotoId":"mJB9q4zo138"}},"type":"Tag"},{"slug":"tech","name":"Tech","postCount":291664,"metadata":{"postCount":291664,"coverImage":{"id":"0*Zs_B6zDXGdgkK2jv","originalWidth":5120,"originalHeight":2880,"isFeatured":true,"unsplashPhotoId":"_nWaeTF6qo0"}},"type":"Tag"},{"slug":"developer","name":"Developer","postCount":44586,"metadata":{"postCount":44586,"coverImage":{"id":"1*bXtG5qqAzHA4nS_lHA1_Gg.jpeg","originalWidth":950,"originalHeight":500,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://twitter.com/dianait_","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1675760327564},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":1,"sectionCount":1,"readingList":0,"topics":[{"topicId":"af49579e220a","slug":"work","createdAt":1487918186996,"deletedAt":0,"image":{"id":"1*knbAt5qCQCelKx0BDkzZpQ@2x.jpeg","originalWidth":5018,"originalHeight":3049},"name":"Work","description":"The meaning behind the meetings.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Work Life: Articles and News — Medium","type":"Topic"}]},"coverless":true,"slug":"mobile-academy-experience","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"mobile-academy-experience-7121a9ca5acd","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*9BLUMz7OEpuKgsAY.jpeg","originalWidth":1400,"originalHeight":927,"isFeatured":true}},{"name":"a9ac","type":3,"text":"Mobile Academy experience","markups":[],"alignment":1},{"name":"df5b","type":1,"text":"At NEW WORK Valencia we started this year the first edition of our Student Mobile Academy.","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"At NEW WORK Valencia we started this year the first edition of our Student Mobile Academy."},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"a9ac","type":3,"text":"Mobile Academy experience","markups":[]},{"name":"df5b","type":1,"text":"At NEW WORK Valencia we started this year the first edition of our Student Mobile Academy.","markups":[]},{"name":"9cb2","type":1,"text":"We are piloting a model to develop future professionals which combines training on the job and bootcamp models. We are providing a real working context, with real projects and challenges, so our students can…","markups":[]}],"sections":[{"name":"e69b","startIndex":0}]},"isFullContent":false,"subtitle":"At NEW WORK Valencia we started this year the first edition of our Student Mobile Academy."},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"59db14e4f7f0":{"id":"59db14e4f7f0","versionId":"8e4b456b9ffe","creatorId":"19daab9f6796","homeCollectionId":"35cb8c78d3cf","title":"Challenging stereotypes about women in the technology sector","detectedLanguage":"en","latestVersion":"8e4b456b9ffe","latestPublishedVersion":"8e4b456b9ffe","hasUnpublishedEdits":false,"latestRev":74,"createdAt":1675760017071,"updatedAt":1675829780892,"acceptedAt":0,"firstPublishedAt":1675760180909,"latestPublishedAt":1675760180909,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"An interviewed with Teba Rojo and Marta Ruiz, both Team Lead Engineering.","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*oiElLIOOhaz6Jck8.png","filter":"","backgroundSize":"","originalWidth":1298,"originalHeight":1118,"strategy":"resample","height":0,"width":0},"wordCount":1221,"imageCount":4,"readingTime":5.307547169811321,"subtitle":"An interviewed with Teba Rojo and Marta Ruiz, both Team Lead Engineering.","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":0,"isBookmarked":false,"tags":[{"slug":"woman-in-tech","name":"Woman In Tech","postCount":927,"metadata":{"postCount":927,"coverImage":{"id":"1*2PI5Xo5RmLLLmbmbNTFnhQ.jpeg","originalWidth":7680,"originalHeight":5120,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[],"version":"0.3","generatedAt":1675760181098},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":0,"sectionCount":1,"readingList":0,"topics":[{"topicId":"af49579e220a","slug":"work","createdAt":1487918186996,"deletedAt":0,"image":{"id":"1*knbAt5qCQCelKx0BDkzZpQ@2x.jpeg","originalWidth":5018,"originalHeight":3049},"name":"Work","description":"The meaning behind the meetings.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Work Life: Articles and News — Medium","type":"Topic"}]},"coverless":true,"slug":"challenging-stereotypes-about-women-in-the-technology-sector","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"challenging-stereotypes-about-women-in-the-technology-sector-59db14e4f7f0","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*oiElLIOOhaz6Jck8.png","originalWidth":1298,"originalHeight":1118,"isFeatured":true}},{"name":"5976","type":3,"text":"Challenging stereotypes about women in the technology sector","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"An interviewed with Teba Rojo and Marta Ruiz, both Team Lead Engineering."},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"5976","type":3,"text":"Challenging stereotypes about women in the technology sector","markups":[]},{"name":"e54a","type":1,"text":"An interviewed with Teba Rojo and Marta Ruiz, both Team Lead Engineering.","markups":[{"type":1,"start":0,"end":50},{"type":1,"start":51,"end":73}]},{"name":"7a2f","type":1,"text":"Teba is from Madrid and she studied computer engineering: In high school I wanted to study architecture, I liked it! But I knew that I wasn’t going to get the grade I wanted because of my marks from…","markups":[]}],"sections":[{"name":"532b","startIndex":0}]},"isFullContent":false,"subtitle":"An interviewed with Teba Rojo and Marta Ruiz, both Team Lead Engineering."},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"91e79818d664":{"id":"91e79818d664","versionId":"281bd4174460","creatorId":"19daab9f6796","homeCollectionId":"35cb8c78d3cf","title":"ELTV: Employee Lifetime Value and Breakeven Point… or the cost of an early leaver","detectedLanguage":"en","latestVersion":"281bd4174460","latestPublishedVersion":"281bd4174460","hasUnpublishedEdits":false,"latestRev":98,"createdAt":1675757438026,"updatedAt":1675829783252,"acceptedAt":0,"firstPublishedAt":1675757867154,"latestPublishedAt":1675757867154,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"The cost of someone leaving, or when a person starts being profitable for the company, sounds hard, impersonal, a number, a figure, and…","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*xGGWEPfEb835UxsK.png","filter":"","backgroundSize":"","originalWidth":1304,"originalHeight":391,"strategy":"resample","height":0,"width":0},"wordCount":1144,"imageCount":3,"readingTime":4.8669811320754715,"subtitle":"The cost of someone leaving, or when a person starts being profitable for the company, sounds hard, impersonal, a number, a figure, and…","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":0,"isBookmarked":false,"tags":[{"slug":"recruiting","name":"Recruiting","postCount":31070,"metadata":{"postCount":31070,"coverImage":{"id":"0*ncXMQxDKNF5uqBAk","originalWidth":1280,"originalHeight":720,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://www.xing.com/profile/Cristina_Cohi/cv","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1675757868733},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":0,"sectionCount":1,"readingList":0,"topics":[{"topicId":"af49579e220a","slug":"work","createdAt":1487918186996,"deletedAt":0,"image":{"id":"1*knbAt5qCQCelKx0BDkzZpQ@2x.jpeg","originalWidth":5018,"originalHeight":3049},"name":"Work","description":"The meaning behind the meetings.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Work Life: Articles and News — Medium","type":"Topic"}]},"coverless":true,"slug":"eltv-employee-lifetime-value-and-breakeven-point-or-the-cost-of-an-early-leaver","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"eltv-employee-lifetime-value-and-breakeven-point-or-the-cost-of-an-early-leaver-91e79818d664","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*xGGWEPfEb835UxsK.png","originalWidth":1304,"originalHeight":391,"isFeatured":true}},{"name":"4ae0","type":3,"text":"ELTV: Employee Lifetime Value and Breakeven Point… or the cost of an early leaver","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"The cost of someone leaving, or when a person starts being profitable for the company, sounds hard, impersonal, a number, a figure, and…"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"4ae0","type":3,"text":"ELTV: Employee Lifetime Value and Breakeven Point… or the cost of an early leaver","markups":[]},{"name":"17cc","type":1,"text":"The cost of someone leaving, or when a person starts being profitable for the company, sounds hard, impersonal, a number, a figure, and politically incorrect but that’s business. I personally, and New Work as a company are focused on people and “for a better working life”. Before numbers, there is…","markups":[{"type":1,"start":0,"end":845}]}],"sections":[{"name":"dfbd","startIndex":0}]},"isFullContent":false,"subtitle":"The cost of someone leaving, or when a person starts being profitable for the company, sounds hard, impersonal, a number, a figure, and…"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"dd624c20f2c1":{"id":"dd624c20f2c1","versionId":"ce3b4476ec01","creatorId":"19daab9f6796","homeCollectionId":"35cb8c78d3cf","title":"Artificial intelligence and work in the future","detectedLanguage":"en","latestVersion":"ce3b4476ec01","latestPublishedVersion":"ce3b4476ec01","hasUnpublishedEdits":false,"latestRev":47,"createdAt":1675434288227,"updatedAt":1675702763162,"acceptedAt":0,"firstPublishedAt":1675434663007,"latestPublishedAt":1675434663007,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"In recent centuries, we have been experiencing real processes of change in society and in the world. From the first moment of…","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"wordCount":757,"imageCount":1,"readingTime":3.056603773584906,"subtitle":"In recent centuries, we have been experiencing real processes of change in society and in the world. From the first moment of…","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":1,"isBookmarked":false,"tags":[{"slug":"ai","name":"AI","postCount":428141,"metadata":{"postCount":428141,"coverImage":{"id":"0*Zs_B6zDXGdgkK2jv","originalWidth":5120,"originalHeight":2880,"isFeatured":true,"unsplashPhotoId":"_nWaeTF6qo0"}},"type":"Tag"},{"slug":"kununu","name":"Kununu","postCount":15,"metadata":{"postCount":15,"coverImage":{"id":"1*jJCoIAxKehXTSW7VkdsYnw.jpeg","originalWidth":1920,"originalHeight":1280,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":1,"links":{"entries":[{"url":"https://www.dinheirovivo.pt/opiniao/a-inteligencia-artificial-e-o-trabalho-no-futuro-15330599.html","alts":[{"type":1,"url":"https://cdn.ampproject.org/c/s/www.dinheirovivo.pt/opiniao/amp/a-inteligencia-artificial-e-o-trabalho-no-futuro-15330599.html"}],"httpStatus":200}],"version":"0.3","generatedAt":1675434664695},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":1,"sectionCount":1,"readingList":0,"topics":[{"topicId":"1af65db9c2f8","slug":"artificial-intelligence","createdAt":1487916832419,"deletedAt":0,"image":{"id":"1*A28aHchbaA8zNVXraBq0Ug@2x.jpeg","originalWidth":4866,"originalHeight":3244},"name":"Artificial Intelligence","description":"Born to be bot.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"AI News and Artificial Intelligence Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"artificial-intelligence-and-work-in-the-future","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"artificial-intelligence-and-work-in-the-future-dd624c20f2c1","previewContent":{"bodyModel":{"paragraphs":[{"name":"9991","type":3,"text":"Artificial intelligence and work in the future","markups":[],"alignment":1},{"name":"973e","type":1,"text":"In recent centuries, we have been experiencing real processes of change in society and in the world. From the first moment of industrialization in 1765 with the introduction of coal, steam engines and production lines to what we consider to be the…","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"In recent centuries, we have been experiencing real processes of change in society and in the world. From the first moment of…"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":6,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"9991","type":3,"text":"Artificial intelligence and work in the future","markups":[]},{"name":"973e","type":1,"text":"In recent centuries, we have been experiencing real processes of change in society and in the world. From the first moment of industrialization in 1765 with the introduction of coal, steam engines and production lines to what we consider to be the third industrial revolution with the introduction of atomic…","markups":[{"type":1,"start":430,"end":493}]}],"sections":[{"name":"33a0","startIndex":0}]},"isFullContent":false,"subtitle":"In recent centuries, we have been experiencing real processes of change in society and in the world. From the first moment of…"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"47ef00b8a52d":{"id":"47ef00b8a52d","versionId":"a40877d343a2","creatorId":"9e9bd4ff20d","homeCollectionId":"35cb8c78d3cf","title":"BeReal — you’ve got 2 minutes to post.","detectedLanguage":"en","latestVersion":"a40877d343a2","latestPublishedVersion":"a40877d343a2","hasUnpublishedEdits":false,"latestRev":673,"createdAt":1666710547426,"updatedAt":1672824277382,"acceptedAt":0,"firstPublishedAt":1672767150077,"latestPublishedAt":1672824270618,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"If you keep your eyes open for any social media trends, you might have already heard of BeReal. Launched in France in late 2019, BeReal…","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*fO4BNje_DDf2nJr5.png","filter":"","backgroundSize":"","originalWidth":1200,"originalHeight":600,"strategy":"resample","height":0,"width":0},"wordCount":329,"imageCount":4,"readingTime":1.941509433962264,"subtitle":"If you keep your eyes open for any social media trends, you might have already heard of BeReal. Launched in France in late 2019, BeReal…","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":5,"isBookmarked":false,"tags":[{"slug":"be-real","name":"Be Real","postCount":194,"metadata":{"postCount":194,"coverImage":{"id":"0*yP8ubEtLtemoey2L","originalWidth":5616,"originalHeight":3744,"isFeatured":true,"unsplashPhotoId":"YIjgPO1nLmY"}},"type":"Tag"},{"slug":"apps","name":"Apps","postCount":78072,"metadata":{"postCount":78072,"coverImage":{"id":"0*47kLDioJGA4eiyN1.jpg","originalWidth":2600,"originalHeight":1733,"isFeatured":true}},"type":"Tag"},{"slug":"tech","name":"Tech","postCount":291664,"metadata":{"postCount":291664,"coverImage":{"id":"0*Zs_B6zDXGdgkK2jv","originalWidth":5120,"originalHeight":2880,"isFeatured":true,"unsplashPhotoId":"_nWaeTF6qo0"}},"type":"Tag"},{"slug":"social-media","name":"Social Media","postCount":413187,"metadata":{"postCount":413187,"coverImage":{"id":"1*uOkczl-rzzPqbQTw6PSFYw.jpeg"}},"type":"Tag"},{"slug":"product","name":"Product","postCount":48735,"metadata":{"postCount":48735,"coverImage":{"id":"1*Wgi_h3GykmD0YTl_x5Ahww.png","originalWidth":1792,"originalHeight":1024,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://bere.al/en","alts":[],"httpStatus":200},{"url":"https://blog.hootsuite.com/social-media-updates/tiktok/tiktok-launches-its-very-own-bereal-clone/","alts":[],"httpStatus":200},{"url":"https://www.morningbrew.com/series/summer-of-gen-z/stories/2022/05/24/how-chipotle-is-experimenting-with-bereal-gen-z-s-new-favorite-social-platform","alts":[],"httpStatus":200},{"url":"https://www.onlineoptimism.com/blog/bereal-stats-app-figures-data-be-real-numbers-to-know/","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1672824271001},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":7,"sectionCount":1,"readingList":0,"topics":[{"topicId":"4861fee224fd","slug":"marketing","createdAt":1493928453626,"deletedAt":0,"image":{"id":"1*3blpwADxHq_9ksV-SXek-g@2x.jpeg","originalWidth":4000,"originalHeight":2250},"name":"Marketing","description":"Always be branding.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Marketing Articles and News — Medium","type":"Topic"},{"topicId":"bceaf21c0fb7","slug":"social-media","createdAt":1493933890122,"deletedAt":0,"image":{"id":"1*aQ-8OqnznIs0whPkPcWNqQ@2x.jpeg","originalWidth":5184,"originalHeight":3456},"name":"Social Media","description":"Like it (or not).","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Social Media News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"bereal-youve-got-2-minutes-to-post","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"bereal-youve-got-2-minutes-to-post-47ef00b8a52d","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*fO4BNje_DDf2nJr5.png","originalWidth":1200,"originalHeight":600,"isFeatured":true}},{"name":"4d05","type":3,"text":"BeReal — you’ve got 2 minutes to post.","markups":[{"type":1,"start":0,"end":38}],"alignment":1},{"name":"3048","type":1,"text":"If you keep your eyes open for any social media trends, you might have already heard of…","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"If you keep your eyes open for any social media trends, you might have already heard of BeReal. Launched in France in late 2019, BeReal…"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"4d05","type":3,"text":"BeReal — you’ve got 2 minutes to post.","markups":[{"type":1,"start":0,"end":38}]},{"name":"3048","type":1,"text":"If you keep your eyes open for any social media trends, you might have already heard of BeReal. Launched in France in late 2019, BeReal has been downloaded over 50 million times by now and is valued at $600 million. But how does BeReal actually work?","markups":[{"type":3,"start":88,"end":94,"href":"https://bere.al/en","title":"","rel":"","anchorType":0},{"type":3,"start":202,"end":214,"href":"https://www.onlineoptimism.com/blog/bereal-stats-app-figures-data-be-real-numbers-to-know/","title":"","rel":"","anchorType":0}]},{"name":"3e1f","type":1,"text":"To simplify the core…","markups":[]}],"sections":[{"name":"64c6","startIndex":0}]},"isFullContent":false,"subtitle":"If you keep your eyes open for any social media trends, you might have already heard of BeReal. Launched in France in late 2019, BeReal…"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"93304dabac66":{"id":"93304dabac66","versionId":"e05df0551030","creatorId":"2c8847cfc337","homeCollectionId":"35cb8c78d3cf","title":"Five stars code reviews","detectedLanguage":"en","latestVersion":"e05df0551030","latestPublishedVersion":"e05df0551030","hasUnpublishedEdits":false,"latestRev":1289,"createdAt":1663667701103,"updatedAt":1671184511112,"acceptedAt":0,"firstPublishedAt":1670942439965,"latestPublishedAt":1671184507832,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Pull requests are important, and code reviews are even more","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*cyUvw-2Zxti9DtSIbJ-mwg.png","filter":"","backgroundSize":"","originalWidth":1494,"originalHeight":574,"strategy":"resample","height":0,"width":0},"wordCount":726,"imageCount":6,"readingTime":3.689622641509434,"subtitle":"Pull requests are important, and code reviews are even more","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":14,"isBookmarked":false,"tags":[{"slug":"pull-request","name":"Pull Request","postCount":1170,"metadata":{"postCount":1170,"coverImage":{"id":"1*Eq-GCrVA7xV_-bOPW04cKw.png","originalWidth":1338,"originalHeight":802,"isFeatured":true}},"type":"Tag"},{"slug":"ios","name":"iOS","postCount":88999,"metadata":{"postCount":88999,"coverImage":{"id":"1*Mp-mhVUhZBJqzzBdtYvuxw.jpeg","originalWidth":720,"originalHeight":1280}},"type":"Tag"},{"slug":"code-review","name":"Code Review","postCount":4344,"metadata":{"postCount":4344,"coverImage":{"id":"1*17mFZ2ggf75_29DrNkk7Qw.png","originalWidth":1192,"originalHeight":669,"isFeatured":true}},"type":"Tag"},{"slug":"software-development","name":"Software Development","postCount":325611,"metadata":{"postCount":325611,"coverImage":{"id":"1*BqVsCBa2mLv1UWQrdhjX5w.png","originalWidth":1500,"originalHeight":750,"isFeatured":true,"alt":"How I Am Using a Lifetime 100% Free Server"}},"type":"Tag"},{"slug":"git","name":"Git","postCount":31593,"metadata":{"postCount":31593,"coverImage":{"id":"1*EAsFJR4xj0SYdoQFnAE-oQ.png","originalWidth":1426,"originalHeight":799,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests","alts":[],"httpStatus":200},{"url":"https://www.codebyamir.com/blog/software-anti-patterns-magic-numbers","alts":[{"type":1,"url":"https://cdn.ampproject.org/c/s/www.codebyamir.com/blog/software-anti-patterns-magic-numbers?format=amp"}],"httpStatus":200}],"version":"0.3","generatedAt":1671184508252},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":25,"sectionCount":3,"readingList":0,"topics":[{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"five-stars-code-reviews","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"five-stars-code-reviews-93304dabac66","previewContent":{"bodyModel":{"paragraphs":[{"name":"4235","type":3,"text":"Five stars code reviews","markups":[],"alignment":1},{"name":"ab76","type":13,"text":"Pull requests are important, and code reviews are even more","markups":[],"alignment":1},{"name":"a38f","type":3,"text":"Good review = Good code","markups":[],"alignment":1},{"name":"75dd","type":1,"text":"Pull Requests (PR), or Merge Requests, are a must to maintain the code's quality. A pull request…","markups":[{"type":3,"start":0,"end":18,"href":"https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests","title":"","rel":"","anchorType":0},{"type":1,"start":0,"end":38}],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Pull requests are important, and code reviews are even more"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"4235","type":3,"text":"Five stars code reviews","markups":[]},{"name":"ab76","type":13,"text":"Pull requests are important, and code reviews are even more","markups":[]},{"name":"a38f","type":3,"text":"Good review = Good code","markups":[]},{"name":"75dd","type":1,"text":"Pull Requests (PR), or Merge Requests, are a must to maintain the code's quality. A pull request is a place where you can offer your code for review before it becomes part of your source code. A good review can be useful to find a bug that you missed or…","markups":[{"type":3,"start":0,"end":18,"href":"https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests","title":"","rel":"","anchorType":0},{"type":1,"start":0,"end":38},{"type":2,"start":100,"end":107},{"type":2,"start":122,"end":127}]}],"sections":[{"name":"fc1e","startIndex":0}]},"isFullContent":false,"subtitle":"Pull requests are important, and code reviews are even more"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"217a01b42b83":{"id":"217a01b42b83","versionId":"2fa18f60e69f","creatorId":"762da639aba6","homeCollectionId":"35cb8c78d3cf","title":"Implementing an AWS Account Vending Machine","detectedLanguage":"en","latestVersion":"2fa18f60e69f","latestPublishedVersion":"2fa18f60e69f","hasUnpublishedEdits":false,"latestRev":284,"createdAt":1670573843337,"updatedAt":1716842570198,"acceptedAt":0,"firstPublishedAt":1670938425253,"latestPublishedAt":1716842570198,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Automated AWS Account creation on enterprise scale","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*j-vzDpkcBFMsA01R","filter":"","backgroundSize":"","originalWidth":1600,"originalHeight":790,"strategy":"resample","height":0,"width":0},"wordCount":1820,"imageCount":3,"readingTime":7.417924528301887,"subtitle":"Automated AWS Account creation on enterprise scale","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":2,"isBookmarked":false,"tags":[{"slug":"aws","name":"AWS","postCount":117097,"metadata":{"postCount":117097,"coverImage":{"id":"0*_LuTYPayJUEeOuxZ","originalWidth":3543,"originalHeight":2365,"unsplashPhotoId":"OqtafYT5kTw"}},"type":"Tag"},{"slug":"aws-control-tower","name":"Aws Control Tower","postCount":138,"metadata":{"postCount":138,"coverImage":{"id":"1*WkBJVj5ISd9mEk3sFCfdlQ.jpeg","originalWidth":1280,"originalHeight":960,"isFeatured":true}},"type":"Tag"},{"slug":"serverless-architecture","name":"Serverless Architecture","postCount":1880,"metadata":{"postCount":1880,"coverImage":{"id":"1*u_76MmjC1gziGzIRu1AWtQ.png","originalWidth":1400,"originalHeight":788,"isFeatured":true}},"type":"Tag"},{"slug":"lambda","name":"Lambda","postCount":6228,"metadata":{"postCount":6228,"coverImage":{"id":"1*e3dYUTxRAAaAjgygZGdNGw.png","originalWidth":1280,"originalHeight":720,"isFeatured":true}},"type":"Tag"},{"slug":"cloud","name":"Cloud","postCount":47007,"metadata":{"postCount":47007,"coverImage":{"id":"1*D_fS0oMlnROsP6CJKqL3VQ.png","originalWidth":3024,"originalHeight":4032,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://aws.amazon.com/blogs/mt/how-to-automate-the-creation-of-multiple-accounts-in-aws-control-tower/","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/controltower/latest/userguide/delete-account.html","alts":[],"httpStatus":200},{"url":"https://mastodon.social/@pacovk","alts":[],"httpStatus":200},{"url":"https://pascal.euhus.dev","alts":[],"httpStatus":200},{"url":"https://www.linkedin.com/in/pascal-euhus-611309164/","alts":[],"httpStatus":999},{"url":"https://www.xing.com/profile/Pascal_Euhus","alts":[],"httpStatus":200},{"url":"https://www.otto.de/jobs/technology/techblog/artikel/fully-automated-enterprise-scaled-provisioning-of-aws-accounts.php","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1716842571481},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":4,"sectionCount":1,"readingList":0,"topics":[{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"implementing-an-aws-account-vending-machine","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"implementing-an-aws-account-vending-machine-217a01b42b83","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*j-vzDpkcBFMsA01R","originalWidth":1600,"originalHeight":790,"isFeatured":true}},{"name":"cf0e","type":3,"text":"Implementing an AWS Account Vending Machine","markups":[],"alignment":1},{"name":"48c3","type":1,"text":"Automated AWS Account creation on enterprise scale","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Automated AWS Account creation on enterprise scale"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":3,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"primaryTopicId":"decb52b64abf","isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"Implementing AWS Account Vending Machine","previewContent2":{"bodyModel":{"paragraphs":[{"name":"cf0e","type":3,"text":"Implementing an AWS Account Vending Machine","markups":[]},{"name":"48c3","type":1,"text":"Automated AWS Account creation on enterprise scale","markups":[]},{"name":"1dcd","type":13,"text":"Abstract","markups":[]},{"name":"8a25","type":1,"text":"This article demonstrates how to automate the creation of AWS accounts at enterprise scale and what the benefits are. This approach is based on AWS Control Tower.","markups":[]},{"name":"da8d","type":13,"text":"What Account Vending Machine is about","markups":[]},{"name":"d3ba","type":1,"text":"Control Tower is a service for centrally administering account management, compliance, and security, and simplifying it…","markups":[]}],"sections":[{"name":"e647","startIndex":0}]},"isFullContent":false,"subtitle":"Automated AWS Account creation on enterprise scale"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"cc9b3e9d16a":{"id":"cc9b3e9d16a","versionId":"60f9299035bc","creatorId":"f12092972d20","homeCollectionId":"35cb8c78d3cf","title":"Decision guide for browser test tooling","detectedLanguage":"en","latestVersion":"60f9299035bc","latestPublishedVersion":"60f9299035bc","hasUnpublishedEdits":false,"latestRev":3757,"createdAt":1669145901690,"updatedAt":1670344402104,"acceptedAt":0,"firstPublishedAt":1670344395919,"latestPublishedAt":1670344395919,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"At NEW WORK SE, every team is free to decide on the browser test automation tooling for their project. However, information from tooling…","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*-FoOHdT_6yYrV2ZgCtOSaQ.png","filter":"","backgroundSize":"","originalWidth":1326,"originalHeight":750,"strategy":"resample","height":0,"width":0},"wordCount":3733,"imageCount":7,"readingTime":15.13679245283019,"subtitle":"At NEW WORK SE, every team is free to decide on the browser test automation tooling for their project. However, information from tooling…","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":6,"isBookmarked":false,"tags":[{"slug":"browser-testing-tool","name":"Browser Testing Tool","postCount":9,"metadata":{"postCount":9,"coverImage":{"id":"1*rNjPBV0srYHO-V_fXa1jtQ.jpeg","originalWidth":800,"originalHeight":400,"isFeatured":true}},"type":"Tag"},{"slug":"cross-browser-testing","name":"Cross Browser Testing","postCount":429,"metadata":{"postCount":429,"coverImage":{"id":"1*Pvh-IJYTlQ490HDh8jBCpQ.jpeg","originalWidth":625,"originalHeight":300,"isFeatured":true}},"type":"Tag"},{"slug":"browser-automation","name":"Browser Automation","postCount":131,"metadata":{"postCount":131,"coverImage":{"id":"1*OjnUpJIZVRgaZHVjT50WAA.png","originalWidth":2839,"originalHeight":1472,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://webdriver.io/","alts":[],"httpStatus":200},{"url":"https://webdriver.io/docs/gettingstarted","alts":[],"httpStatus":200},{"url":"https://boringtechnology.club/","alts":[],"httpStatus":200},{"url":"https://en.wikipedia.org/wiki/Gecko_(software)","alts":[],"httpStatus":200},{"url":"https://en.wikipedia.org/wiki/Safari_version_history","alts":[],"httpStatus":200},{"url":"https://testcafe.io/documentation/402635/getting-started","alts":[],"httpStatus":200},{"url":"https://en.wikipedia.org/wiki/WebKit","alts":[],"httpStatus":200},{"url":"https://en.wikipedia.org/wiki/Geographical_distribution_of_German_speakers#German-speaking_Europe","alts":[],"httpStatus":200},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Element#mouse_events","alts":[],"httpStatus":200},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Element#keyboard_events","alts":[],"httpStatus":200},{"url":"https://stackoverflow.com/questions/67046548/a-link-that-receives-pointer-events-after-animating-isnt-clickable-in-safari","alts":[],"httpStatus":200},{"url":"https://stackoverflow.com/questions/24571048/selenium-webelement-click-vs-javascript-click-event","alts":[],"httpStatus":200},{"url":"https://openjsf.org/","alts":[],"httpStatus":200},{"url":"https://stackoverflow.com/questions/61880487/testcafe-unable-to-click-on-a-button","alts":[],"httpStatus":200},{"url":"https://stackoverflow.com/questions/34562061/webdriver-click-vs-javascript-click","alts":[],"httpStatus":200},{"url":"https://playwright.dev/docs/browsers","alts":[],"httpStatus":200},{"url":"https://www.browserstack.com/guide/cypress-vs-selenium","alts":[],"httpStatus":200},{"url":"https://playwright.dev/docs/intro","alts":[],"httpStatus":200},{"url":"https://twitter.com/devongovett/status/1565764062054494208","alts":[],"httpStatus":200},{"url":"https://twitter.com/egilhansen/status/1059861917995556872","alts":[],"httpStatus":200},{"url":"https://www.selenium.dev/documentation/webdriver/","alts":[],"httpStatus":200},{"url":"https://www.selenium.dev/","alts":[],"httpStatus":200},{"url":"https://pptr.dev/","alts":[],"httpStatus":200},{"url":"https://wpt.fyi/results","alts":[],"httpStatus":200},{"url":"https://docs.cypress.io/guides/overview/why-cypress","alts":[],"httpStatus":200},{"url":"https://gist.github.com/systemboogie/3dc07a64a849507ac296ce6f07926379","alts":[],"httpStatus":200},{"url":"https://gist.github.com/systemboogie/e7a90eb953b80f9669ef5f06c7eb87c6","alts":[],"httpStatus":200},{"url":"https://gist.github.com/systemboogie/7ce00ac06b933d12521a0281b005551c","alts":[],"httpStatus":200},{"url":"https://gist.github.com/systemboogie/5a59f7293cf6372339fcb0f5b5536e6d","alts":[],"httpStatus":200},{"url":"https://web-platform-tests.org/index.html","alts":[],"httpStatus":200},{"url":"https://medium.com/xing-hackweek","alts":[{"type":2,"url":"medium://xing-hackweek"},{"type":3,"url":"medium://xing-hackweek"}],"httpStatus":200},{"url":"https://gist.github.com/systemboogie/5aeb41c9f872451fd15d865890103634","alts":[],"httpStatus":200},{"url":"https://gist.github.com/systemboogie/41fd47cd373db31e58a1c81dd3249ab6","alts":[],"httpStatus":200},{"url":"https://sfconservancy.org/projects/current/","alts":[],"httpStatus":200},{"url":"https://web.dev/interop-2022","alts":[],"httpStatus":200},{"url":"https://en.wikipedia.org/wiki/Blink_(browser_engine","alts":[],"httpStatus":404},{"url":"https://nightwatchjs.org/guide/overview/what-is-nightwatch.html","alts":[],"httpStatus":200},{"url":"https://cathalmacdonnacha.com/cypress-vs-playwright-which-is-best-for-e2e-testing","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/app-store/review/guidelines/#software-requirements","alts":[],"httpStatus":200},{"url":"https://groups.google.com/g/chromedriver-users/c/XclDou5fS6s/m/WMRM2S7WBAAJ","alts":[],"httpStatus":200},{"url":"https://gs.statcounter.com/","alts":[],"httpStatus":200},{"url":"https://insights.developer.mozilla.org/reports/mdn-browser-compatibility-report-2020.html#findings-browsers","alts":[],"httpStatus":200},{"url":"https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/The_web_and_web_standards#web_standards","alts":[],"httpStatus":200},{"url":"https://github.com/adobe/react-spectrum/wiki/Tracker-for-External-Browser-Bugs,-Library-Bugs,-and-Features","alts":[],"httpStatus":200},{"url":"https://support.mozilla.org/en-US/kb/choosing-firefox-update-channel","alts":[],"httpStatus":200},{"url":"https://youtu.be/cCOL7MC4Pl0?t=1794","alts":[{"type":2,"url":"vnd.youtube://www.youtube.com/watch?t=1794&v=cCOL7MC4Pl0&feature=youtu.be&feature=applinks"},{"type":3,"url":"vnd.youtube://www.youtube.com/watch?t=1794&v=cCOL7MC4Pl0&feature=youtu.be&feature=applinks"}],"httpStatus":200},{"url":"https://react-spectrum.adobe.com","alts":[],"httpStatus":200},{"url":"https://applitools.com/blog/playwright-vs-selenium/","alts":[],"httpStatus":200},{"url":"https://marcusnoll.de/%2BDigital+garden/Browser+compatibility+and+interoperability","alts":[],"httpStatus":200},{"url":"https://marcusnoll.de/Browser+automation/Browser-specific+gotchas#Viewport+height+is+greater+in+headless+mode","alts":[],"httpStatus":200},{"url":"https://applitools.com/blog/top-playwright-questions-answered/","alts":[],"httpStatus":200},{"url":"https://marcusnoll.de/Browser+automation/Browser-specific+gotchas#Accept-Language+header+not+set+as+expected","alts":[],"httpStatus":200},{"url":"https://www.npmjs.com/package/selenium-webdriver","alts":[],"httpStatus":200},{"url":"https://xenovation.com/blog/software-testing/cypress-vs-selenium#maturity-of-cypress","alts":[{"type":1,"url":"https://cdn.ampproject.org/c/s/xenovation.com/blog/software-testing/cypress-vs-selenium/amp"}],"httpStatus":200},{"url":"https://github.com/cypress-io/cypress/issues/311","alts":[],"httpStatus":200},{"url":"https://github.com/angular/protractor/issues/5502","alts":[],"httpStatus":200},{"url":"https://github.com/cypress-io/cypress/issues/136","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1670344399623},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":48,"sectionCount":8,"readingList":0,"topics":[{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"decision-guide-for-browser-test-tooling","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"decision-guide-for-browser-test-tooling-cc9b3e9d16a","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*-FoOHdT_6yYrV2ZgCtOSaQ.png","originalWidth":1326,"originalHeight":750,"isFeatured":true,"alt":"A radar chart comparing Cypress, Playwright, Puppeteer, TestCafé and WebDriver at a glance"}},{"name":"f6ee","type":3,"text":"Decision guide for browser test tooling","markups":[],"alignment":1},{"name":"6029","type":1,"text":"At NEW WORK SE, every team is free to decide on the browser test automation tooling for…","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"At NEW WORK SE, every team is free to decide on the browser test automation tooling for their project. However, information from tooling…"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"Decision guide for browser test tooling","previewContent2":{"bodyModel":{"paragraphs":[{"name":"f6ee","type":3,"text":"Decision guide for browser test tooling","markups":[]},{"name":"6029","type":1,"text":"At NEW WORK SE, every team is free to decide on the browser test automation tooling for their project. However, information from tooling vendors and other parties (e.g. blog posts) is often not detailed enough and also misleading. To fill the gaps, I decided to compile the knowledge that I…","markups":[{"type":3,"start":326,"end":334,"href":"https://medium.com/xing-hackweek","title":"","rel":"","anchorType":0}]}],"sections":[{"name":"203f","startIndex":0}]},"isFullContent":false,"subtitle":"At NEW WORK SE, every team is free to decide on the browser test automation tooling for their project. However, information from tooling…"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"7b7cb27839bd":{"id":"7b7cb27839bd","versionId":"45b5b55d5d17","creatorId":"2c8847cfc337","homeCollectionId":"35cb8c78d3cf","title":"Project-based learning: how I learned software development","detectedLanguage":"en","latestVersion":"45b5b55d5d17","latestPublishedVersion":"45b5b55d5d17","hasUnpublishedEdits":false,"latestRev":2594,"createdAt":1662543499380,"updatedAt":1664350275547,"acceptedAt":0,"firstPublishedAt":1663944371892,"latestPublishedAt":1664350271720,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Learn about the project-based learning methodology advantages through my own experience as an iOS Developer","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*Q3h_G-d7n8Bzz8A-DbVc8Q.png","filter":"","backgroundSize":"","originalWidth":1396,"originalHeight":1426,"strategy":"resample","height":0,"width":0},"wordCount":1225,"imageCount":3,"readingTime":5.172641509433962,"subtitle":"Learn about the project-based learning methodology advantages through my own experience as an iOS Developer","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":9,"isBookmarked":false,"tags":[{"slug":"ios-app-development","name":"iOS App Development","postCount":29186,"metadata":{"postCount":29186,"coverImage":{"id":"0*dRMv7td0rH5S9WsY","originalWidth":4937,"originalHeight":3291,"isFeatured":true,"unsplashPhotoId":"SXihyA4oEJs"}},"type":"Tag"},{"slug":"project-based-learning","name":"Project Based Learning","postCount":1693,"metadata":{"postCount":1693,"coverImage":{"id":"1*8UqD3aHDF5P7DzQvip5Kxw@2x.jpeg","originalWidth":2160,"originalHeight":1440,"backgroundSize":"","filter":"","isFeatured":false,"externalSrc":"","focusPercentX":-1,"focusPercentY":-1,"alt":"","repairedAt":0,"unsplashPhotoId":""}},"type":"Tag"},{"slug":"learning","name":"Learning","postCount":153965,"metadata":{"postCount":153965,"coverImage":{"id":"0*0VdnnOcbqjIXh9pE","originalWidth":4000,"originalHeight":2667,"unsplashPhotoId":"8q6e5hu3Ilc"}},"type":"Tag"},{"slug":"experience","name":"Experience","postCount":38898,"metadata":{"postCount":38898,"coverImage":{"id":"1*A3u0PpLAxUHFlaprOJIU-A.jpeg","originalWidth":1280,"originalHeight":853}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://twitter.com/yu_angela","alts":[],"httpStatus":200},{"url":"https://magic.wizards.com/","alts":[],"httpStatus":200},{"url":"https://en.wikipedia.org/wiki/API","alts":[],"httpStatus":200},{"url":"https://en.wikipedia.org/wiki/Project-based_learning","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/xcode-cloud/","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/documentation/swiftui/navigationview","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/documentation/widgetkit/creating-a-widget-extension","alts":[],"httpStatus":200},{"url":"https://developer.apple.com/documentation/swift","alts":[],"httpStatus":200},{"url":"https://www.nintenderos.com/2020/04/conoce-insular-una-app-pensada-para-los-nabos-de-animal-crossing-new-horizons/","alts":[{"type":1,"url":"https://cdn.ampproject.org/c/s/www.nintenderos.com/2020/04/conoce-insular-una-app-pensada-para-los-nabos-de-animal-crossing-new-horizons/amp/"}],"httpStatus":200}],"version":"0.3","generatedAt":1664350272255},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":42,"sectionCount":4,"readingList":0,"topics":[{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"project-based-learning-how-i-learned-software-development","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"project-based-learning-how-i-learned-software-development-7b7cb27839bd","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*Q3h_G-d7n8Bzz8A-DbVc8Q.png","originalWidth":1396,"originalHeight":1426,"isFeatured":true,"alt":"That’s me using my laptop on a train travel. I’m working on a web personal project while learning."}},{"name":"3044","type":3,"text":"Project-based learning: How I learned software development","markups":[],"alignment":1},{"name":"fc56","type":13,"text":"Learn about the project-based learning…","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Learn about the project-based learning methodology advantages through my own experience as an iOS Developer"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"3044","type":3,"text":"Project-based learning: How I learned software development","markups":[]},{"name":"fc56","type":13,"text":"Learn about the project-based learning methodology advantages through my own experience as an iOS Developer","markups":[]},{"name":"99c1","type":3,"text":"What is project-based learning?","markups":[]},{"name":"a8b6","type":1,"text":"You can learn computer-science or software development in many ways. Let me tell you the story of how I became an iOS Developer and what I’m doing to continue learning.","markups":[]},{"name":"59f2","type":1,"text":"Hello, world! 👋🏼 I’m David Alhambra, and I’m using the project-based learning methodology, or PBL, to learn and improve my…","markups":[{"type":3,"start":57,"end":79,"href":"https://en.wikipedia.org/wiki/Project-based_learning","title":"","rel":"","anchorType":0},{"type":1,"start":57,"end":80},{"type":1,"start":96,"end":99},{"type":1,"start":135,"end":162}]}],"sections":[{"name":"b5df","startIndex":0}]},"isFullContent":false,"subtitle":"Learn about the project-based learning methodology advantages through my own experience as an iOS Developer"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"339fc242b4df":{"id":"339fc242b4df","versionId":"d011b0170bcb","creatorId":"cd48b029b443","homeCollectionId":"35cb8c78d3cf","title":"DI in a Modularized Project in Swift","detectedLanguage":"en","latestVersion":"d011b0170bcb","latestPublishedVersion":"d011b0170bcb","hasUnpublishedEdits":false,"latestRev":593,"createdAt":1662531644110,"updatedAt":1663338170328,"acceptedAt":0,"firstPublishedAt":1663338167775,"latestPublishedAt":1663338167775,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"+10 years project, Objective-C + Swift, UIKit + SwiftUI…","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*8a0nc4GgQpWY23bH","filter":"","backgroundSize":"","originalWidth":3190,"originalHeight":4816,"strategy":"resample","height":0,"width":0},"wordCount":1495,"imageCount":16,"readingTime":7.191509433962264,"subtitle":"+10 years project, Objective-C + Swift, UIKit + SwiftUI…","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":12,"isBookmarked":false,"tags":[{"slug":"swift","name":"Swift","postCount":50385,"metadata":{"postCount":50385,"coverImage":{"id":"1*s7-yU41gZAuVZXvfVZJbiQ.jpeg","originalWidth":1500,"originalHeight":1000,"isFeatured":true}},"type":"Tag"},{"slug":"dependency-injection","name":"Dependency Injection","postCount":4685,"metadata":{"postCount":4685,"coverImage":{"id":"1*YQbKOWeD_hu3vaEcNpY_Bw.jpeg","originalWidth":1120,"originalHeight":1120,"isFeatured":true,"alt":"Symfony 6 Dependency Injection: A Simple Guide with Examples Symfony, a popular PHP framework, is well-known for its robustness and developer-friendly tools. One of its most powerful features is Dependency Injection (DI), which promotes cleaner, more testable, and more maintainable code. This blog delves into the concept of Dependency Injection in Symfony 6, providing examples and explanations to get you started."}},"type":"Tag"},{"slug":"apple","name":"Apple","postCount":109275,"metadata":{"postCount":109275,"coverImage":{"id":"1*Y45J_R-s3twWWDzjNWUoXQ@2x.jpeg","originalWidth":412,"originalHeight":467,"backgroundSize":"","filter":"","isFeatured":false,"externalSrc":"","focusPercentX":-1,"focusPercentY":-1,"alt":"","repairedAt":0,"unsplashPhotoId":""}},"type":"Tag"},{"slug":"ios","name":"iOS","postCount":88999,"metadata":{"postCount":88999,"coverImage":{"id":"1*Mp-mhVUhZBJqzzBdtYvuxw.jpeg","originalWidth":720,"originalHeight":1280}},"type":"Tag"},{"slug":"modularization","name":"Modularization","postCount":342,"metadata":{"postCount":342,"coverImage":{"id":"0*gndkgx_mUOwcv0kb","originalWidth":4256,"originalHeight":2832,"isFeatured":true,"unsplashPhotoId":"Q1p7bh3SHj8"}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://unsplash.com?utm_source=medium&utm_medium=referral","alts":[],"httpStatus":200},{"url":"https://unsplash.com/@jessedo81?utm_source=medium&utm_medium=referral","alts":[],"httpStatus":200},{"url":"https://github.com/Juantri94/DIProject","alts":[],"httpStatus":200},{"url":"https://apps.apple.com/us/app/xing-your-business-network/id297625850","alts":[],"httpStatus":200},{"url":"https://medium.com/@OswaldoRubio/7690cc7b1c40","alts":[{"type":3,"url":"medium://p/7690cc7b1c40"},{"type":2,"url":"medium://p/7690cc7b1c40"}],"httpStatus":200}],"version":"0.3","generatedAt":1663338169470},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":53,"sectionCount":1,"readingList":0,"topics":[{"topicId":"ab3d8f7f8eb1","slug":"ios-development","createdAt":1521651850182,"deletedAt":0,"image":{"id":"1*g_B4JNulmfXSj0AyEjImyA@2x.jpeg","originalWidth":5184,"originalHeight":3456},"name":"iOS Dev","description":"Appy talk.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"iOS App Development: Articles and News — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"di-in-a-modularized-project-in-swift","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"di-in-a-modularized-project-in-swift-339fc242b4df","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*8a0nc4GgQpWY23bH","originalWidth":3190,"originalHeight":4816,"isFeatured":true,"unsplashPhotoId":"h6xNSDlgciU"}},{"name":"24be","type":3,"text":"DI in a Modularized Project in Swift","markups":[],"alignment":1},{"name":"42f4","type":13,"text":"+10 years project, Objective-C + Swift, UIKit + SwiftUI…","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"+10 years project, Objective-C + Swift, UIKit + SwiftUI…"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"DI in a Modularized Project in Swift ","previewContent2":{"bodyModel":{"paragraphs":[{"name":"24be","type":3,"text":"DI in a Modularized Project in Swift","markups":[]},{"name":"42f4","type":13,"text":"+10 years project, Objective-C + Swift, UIKit + SwiftUI…","markups":[]},{"name":"d541","type":4,"text":"Photo by jesse orrico on Unsplash","markups":[{"type":3,"start":9,"end":21,"href":"https://unsplash.com/@jessedo81?utm_source=medium&utm_medium=referral","title":"","rel":"photo-creator","anchorType":0},{"type":3,"start":25,"end":33,"href":"https://unsplash.com?utm_source=medium&utm_medium=referral","title":"","rel":"photo-source","anchorType":0}],"layout":1,"metadata":{"id":"0*8a0nc4GgQpWY23bH","originalWidth":3190,"originalHeight":4816,"isFeatured":true,"unsplashPhotoId":"h6xNSDlgciU"}},{"name":"6193","type":1,"text":"More than two years ago the new version of the Xing app was released to a small percentage of users and every month the percentage was increasing until a few months ago when the app was 100% rolled out. Now is the time to clean old code, refactor, improve compiling…","markups":[{"type":3,"start":47,"end":55,"href":"https://apps.apple.com/us/app/xing-your-business-network/id297625850","title":"","rel":"","anchorType":0}]}],"sections":[{"name":"a1b6","startIndex":0}]},"isFullContent":false,"subtitle":"+10 years project, Objective-C + Swift, UIKit + SwiftUI…"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"7690cc7b1c40":{"id":"7690cc7b1c40","versionId":"cea878efc0fc","creatorId":"4f39b75aa490","homeCollectionId":"35cb8c78d3cf","title":"How to control your iOS dependencies","detectedLanguage":"en","latestVersion":"cea878efc0fc","latestPublishedVersion":"cea878efc0fc","hasUnpublishedEdits":false,"latestRev":1839,"createdAt":1660045514828,"updatedAt":1663247155032,"acceptedAt":0,"firstPublishedAt":1663247149332,"latestPublishedAt":1663247149332,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Measuring Cocoapod based iOS Projects complexity and dependencies","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*mZIQsdbu1FvvCcnjWZEODQ.jpeg","filter":"","backgroundSize":"","originalWidth":4032,"originalHeight":3024,"strategy":"resample","height":0,"width":0},"wordCount":1683,"imageCount":8,"readingTime":7.484276729559749,"subtitle":"Measuring Cocoapod based iOS Projects complexity and dependencies","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":12,"isBookmarked":false,"tags":[{"slug":"complexity","name":"Complexity","postCount":5720,"metadata":{"postCount":5720,"coverImage":{"id":"1*wRqIx5F2RDhBsORhUz0ElA.jpeg","originalWidth":1920,"originalHeight":992,"isFeatured":true}},"type":"Tag"},{"slug":"modularization","name":"Modularization","postCount":342,"metadata":{"postCount":342,"coverImage":{"id":"0*gndkgx_mUOwcv0kb","originalWidth":4256,"originalHeight":2832,"isFeatured":true,"unsplashPhotoId":"Q1p7bh3SHj8"}},"type":"Tag"},{"slug":"cocoapods","name":"Cocoapods","postCount":866,"metadata":{"postCount":866,"coverImage":{"id":"1*Wf2lPjNPjgY4VDgSNHwIwQ.jpeg","originalWidth":750,"originalHeight":750}},"type":"Tag"},{"slug":"dependency-graph","name":"Dependency Graph","postCount":33,"metadata":{"postCount":33,"coverImage":{"id":"1*mZIQsdbu1FvvCcnjWZEODQ.jpeg","originalWidth":4032,"originalHeight":3024,"isFeatured":true,"alt":"a guy with a computer measuring things"}},"type":"Tag"},{"slug":"ios-app-development","name":"iOS App Development","postCount":29186,"metadata":{"postCount":29186,"coverImage":{"id":"0*dRMv7td0rH5S9WsY","originalWidth":4937,"originalHeight":3291,"isFeatured":true,"unsplashPhotoId":"SXihyA4oEJs"}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://networkx.guide/algorithms/components/weakly-connected-components/","alts":[],"httpStatus":200},{"url":"https://cocoapods.org","alts":[],"httpStatus":200},{"url":"https://formulae.brew.sh/formula/graphviz","alts":[],"httpStatus":200},{"url":"https://en.wikipedia.org/wiki/Cyclomatic_complexity","alts":[],"httpStatus":200},{"url":"https://github.com/xing/jungle","alts":[],"httpStatus":404},{"url":"https://github.com/xing/jungle/issues","alts":[],"httpStatus":404},{"url":"https://apps.wordpress.com/mobile/","alts":[],"httpStatus":200},{"url":"https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2006-126.pdf","alts":[],"httpStatus":200},{"url":"https://medium.com/@Juantri/di-in-a-modularized-project-in-swift-339fc242b4df","alts":[],"httpStatus":200},{"url":"https://github.com/yonaskolb/Mint","alts":[],"httpStatus":200},{"url":"https://dash.harvard.edu/bitstream/handle/1/30838136/17-078.pdf?sequence=1&isAllowed=y","alts":[],"httpStatus":200},{"url":"https://github.com/wordpress-mobile/WordPress-iOS","alts":[],"httpStatus":200},{"url":"https://github.com/wordpress-mobile/WordPress-iOS/commit/95bd4c3a7d","alts":[],"httpStatus":200},{"url":"https://github.com/akoslowski","alts":[],"httpStatus":200},{"url":"https://github.com/sdidla","alts":[],"httpStatus":200},{"url":"https://www.xing.com/","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1663247150676},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":52,"sectionCount":1,"readingList":0,"topics":[{"topicId":"ab3d8f7f8eb1","slug":"ios-development","createdAt":1521651850182,"deletedAt":0,"image":{"id":"1*g_B4JNulmfXSj0AyEjImyA@2x.jpeg","originalWidth":5184,"originalHeight":3456},"name":"iOS Dev","description":"Appy talk.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"iOS App Development: Articles and News — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"how-to-control-your-ios-dependencies","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"how-to-control-your-ios-dependencies-7690cc7b1c40","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*mZIQsdbu1FvvCcnjWZEODQ.jpeg","originalWidth":4032,"originalHeight":3024,"isFeatured":true,"alt":"a guy with a computer measuring things"}},{"name":"previewTitle","type":3,"text":"How to control your iOS dependencies","alignment":1},{"name":"previewSubtitle","type":13,"text":"Measuring Cocoapod based iOS Projects complexity and dependencies","alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Measuring Cocoapod based iOS Projects complexity and dependencies"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"35cb8c78d3cf","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"cc08","type":3,"text":"How to control your iOS dependencies","markups":[]},{"name":"f0b4","type":13,"text":"Measuring Cocoapod based Projects complexity","markups":[]},{"name":"25fb","type":1,"text":"In large-scale projects (we have one of these at XING) with more than 30 iOS engineers collaborating in different feature-oriented teams, we have the requirement to build, test, and run our iOS App in isolation in a single mobile monolithic repository (monorepo). That’s the reason we divided the app in…","markups":[{"type":3,"start":49,"end":53,"href":"https://www.xing.com/","title":"","rel":"","anchorType":0},{"type":3,"start":304,"end":313,"href":"https://cocoapods.org","title":"","rel":"","anchorType":0}]}],"sections":[{"name":"455e","startIndex":0}]},"isFullContent":false,"subtitle":"Measuring Cocoapod based iOS Projects complexity and dependencies"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"}}},"paging":{"path":"/_/api/collections/35cb8c78d3cf/stream","next":{"to":"1663247149332","ignoredIds":[],"page":3}},"collection":{"id":"35cb8c78d3cf","name":"New Work Development","slug":"xing-engineering","tags":["SOFTWARE ENGINEERING","TECHNOLOGY","AGILE","QUALITY ASSURANCE","KUNUNU"],"creatorId":"19daab9f6796","description":"Stories about building a better working world","shortDescription":"Stories about building a better working world","image":{"imageId":"1*B1MD9EGz7rhVkx3WE3Rkog.png","filter":"","backgroundSize":"","originalWidth":1080,"originalHeight":1080,"strategy":"resample","height":0,"width":0},"metadata":{"followerCount":1029,"activeAt":1701191263172},"virtuals":{"permissions":{"canPublish":false,"canPublishAll":false,"canRepublish":false,"canRemove":false,"canManageAll":false,"canSubmit":false,"canEditPosts":false,"canAddWriters":false,"canViewStats":false,"canSendNewsletter":false,"canViewLockedPosts":false,"canViewCloaked":false,"canEditOwnPosts":false,"canBeAssignedAuthor":false,"canEnrollInHightower":false,"canLockPostsForMediumMembers":false,"canLockOwnPostsForMediumMembers":false,"canViewNewsletterV2Stats":false,"canCreateNewsletterV3":false},"isSubscribed":false,"isEnrolledInHightower":false,"isEligibleForHightower":false,"isSubscribedToCollectionEmails":false,"isMuted":false,"canToggleEmail":false,"isWriter":false},"logo":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"twitterUsername":"xingdevs","domain":"tech.new-work.se","sections":[{"type":2,"collectionHeaderMetadata":{"title":"New Work Engineering","description":"Stories about building a better working world","backgroundImage":{},"logoImage":{"id":"1*B1MD9EGz7rhVkx3WE3Rkog@2x.png","originalWidth":1080,"originalHeight":1080,"alt":"New Work Development"},"alignment":2,"layout":5}},{"type":1,"postListMetadata":{"source":1,"layout":4,"number":3,"postIds":["fac4a8b0ae15","ce24a59c653b","c8cba6478ba3"]}},{"type":1,"postListMetadata":{"source":1,"layout":5,"number":20,"postIds":["c9de1c4df5e9","50050f2688ed","daed7f566a01","6f581e30c370","96f225a12a20","6973db8e1b38","dbc38d8e479b","28369bf2a7f3","279710ba5f5b","7121a9ca5acd","59db14e4f7f0","91e79818d664","dd624c20f2c1","47ef00b8a52d","93304dabac66","217a01b42b83","cc9b3e9d16a","7b7cb27839bd","339fc242b4df","7690cc7b1c40"]}}],"favicon":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"colorPalette":{"defaultBackgroundSpectrum":{"colorPoints":[{"color":"#FF1A8917","point":0},{"color":"#FF11800E","point":0.1},{"color":"#FF0F730C","point":0.2},{"color":"#FF095407","point":1}],"backgroundColor":"#FFFFFFFF"},"highlightSpectrum":{"colorPoints":[{"color":"#FFFFFFFF","point":0},{"color":"#FFE8F3E8","point":0.1},{"color":"#FFE8F3E8","point":0.2},{"color":"#FFD1E7D1","point":0.6},{"color":"#FFA3D0A2","point":1}],"backgroundColor":"#FFFFFFFF"},"darkBackgroundSpectrum":{"colorPoints":[{"color":"#FF095407","point":0},{"color":"#FF0F730C","point":0.1},{"color":"#FF11800E","point":0.2},{"color":"#FF1A8917","point":1}],"backgroundColor":"#FF000000"}},"navItems":[{"type":1,"title":"kununu","tagSlug":"kununu","url":"https://tech.new-work.se/tagged/kununu","source":"tagSlug"},{"type":1,"title":"XING","tagSlug":"xing","url":"https://tech.new-work.se/tagged/xing","source":"tagSlug"},{"type":3,"title":"New Work HackWeek","url":"https://medium.com/xing-hackweek"}],"colorBehavior":1,"ampLogo":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"header":{"title":"New Work Engineering","description":"Stories about building a better working world","backgroundImage":{},"logoImage":{"id":"1*B1MD9EGz7rhVkx3WE3Rkog@2x.png","originalWidth":1080,"originalHeight":1080,"alt":"New Work Development"},"alignment":2,"layout":5},"paidForDomainAt":1490782087459,"subscriberCount":1029,"tagline":"Stories about building a better working world","isOptedIntoAurora":false,"isCurationAllowedByDefault":false,"polarisCoverImage":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"ptsQualifiedAt":1616092813588,"type":"Collection"},"header":{"title":"New Work Engineering","description":"Stories about building a better working world","backgroundImage":{},"logoImage":{"id":"1*B1MD9EGz7rhVkx3WE3Rkog@2x.png","originalWidth":1080,"originalHeight":1080,"alt":"New Work Development"},"alignment":2,"layout":5},"streamItems":[{"createdAt":1732388904156,"randomId":"8a401ee7452e","section":{"items":[{"post":{"postId":"fac4a8b0ae15"},"itemType":"post"},{"post":{"postId":"ce24a59c653b"},"itemType":"post"},{"post":{"postId":"c8cba6478ba3"},"itemType":"post"}],"layout":4},"itemType":"section","type":"StreamItem"},{"createdAt":1732388904156,"randomId":"2b3c2cb1e7fa","section":{"items":[{"post":{"postId":"c9de1c4df5e9"},"itemType":"post"},{"post":{"postId":"50050f2688ed"},"itemType":"post"},{"post":{"postId":"daed7f566a01"},"itemType":"post"},{"post":{"postId":"6f581e30c370"},"itemType":"post"},{"post":{"postId":"96f225a12a20"},"itemType":"post"},{"post":{"postId":"6973db8e1b38"},"itemType":"post"},{"post":{"postId":"dbc38d8e479b"},"itemType":"post"},{"post":{"postId":"28369bf2a7f3"},"itemType":"post"},{"post":{"postId":"279710ba5f5b"},"itemType":"post"},{"post":{"postId":"7121a9ca5acd"},"itemType":"post"},{"post":{"postId":"59db14e4f7f0"},"itemType":"post"},{"post":{"postId":"91e79818d664"},"itemType":"post"},{"post":{"postId":"dd624c20f2c1"},"itemType":"post"},{"post":{"postId":"47ef00b8a52d"},"itemType":"post"},{"post":{"postId":"93304dabac66"},"itemType":"post"},{"post":{"postId":"217a01b42b83"},"itemType":"post"},{"post":{"postId":"cc9b3e9d16a"},"itemType":"post"},{"post":{"postId":"7b7cb27839bd"},"itemType":"post"},{"post":{"postId":"339fc242b4df"},"itemType":"post"},{"post":{"postId":"7690cc7b1c40"},"itemType":"post"}],"layout":5},"itemType":"section","type":"StreamItem"}]}) // ]]></script><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'8e7372994fcf89a7',t:'MTczMjM4ODkwNC4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body></html>

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