[{"data":1,"prerenderedAt":944},["ShallowReactive",2],{"/blog/future-front-end-development":3,"navigation-en-us":158,"banner-en-us":586,"footer-en-us":596,"blog-post-authors-en-us-Jacob Schatz":841,"blog-related-posts-en-us-future-front-end-development":855,"blog-promotions-en-us":880,"next-steps-en-us":934},{"id":4,"title":5,"authors":6,"body":8,"category":130,"date":131,"description":132,"extension":133,"externalUrl":134,"faq":134,"featured":135,"heroImage":136,"meta":137,"navigation":148,"path":149,"seo":150,"slug":154,"stem":155,"tags":134,"template":156,"updatedDate":134,"__hash__":157},"blogPosts/en-us/blog/future-front-end-development.md","Help shape the future of the front end at GitLab",[7],"Jacob Schatz",{"type":9,"value":10,"toc":124},"minimark",[11,21,24,27,32,35,38,41,45,48,57,60,63,73,76,80,83,92,110,113,116],[12,13,14,15,20],"p",{},"Hi! I'm Jacob Schatz, Principal Front End Engineer at ",[16,17,19],"a",{"href":18},"","GitLab",".\nWhen I started here at GitLab in December 2015, I felt like I’d joined the cool-kids club.\nI’d heard about the job on HackerNews, and thought, “I’ll apply for it and it would be awesome if I got it.”\nAnd I got the job!",[12,22,23],{},"It’s been a fantastic experience, and I’m glad to say we’re hiring more front end developers.\nWe have a unique challenge here at GitLab, working in an “open kitchen” together.\nWe must serve both a great front end user experience and a great developer experience.",[12,25,26],{},"If you’re curious about working at GitLab, read on.",[28,29,31],"h2",{"id":30},"whats-so-different-here","What’s so different here",[12,33,34],{},"The big shocker for me coming to GitLab was that everybody is involved in the plan to move things forward.\nThat’s unusual.\nEven in small companies there’s usually an “upper management divide.” They’re making decisions you’re not aware of.\nThings will change in just one day, and you don’t know why.",[12,36,37],{},"The team here at GitLab is very transparent and everyone is working for the betterment of the product.\nBecause it’s a small team, this means we pitch in on all kinds of tasks.\nIt also means your skills improve.",[12,39,40],{},"In the beginning I had a lot of questions, and people were really good about answering them.\nI'm a JavaScript developer, so working with this amazing team of Ruby developer has made my Ruby knowledge skyrocket.\nWhen you submit a merge request, you are submitting it to the public; it must be top-notch.",[28,42,44],{"id":43},"the-open-kitchen-of-open-source","The Open Kitchen of Open Source",[12,46,47],{},"It’s great to work in a company where it looks good on the inside of the product as well as the outside.",[12,49,50,51,56],{},"It’s like a kitchen.\nThere are some restaurants where, the ",[16,52,55],{"href":53,"rel":54},"https://en.wikipedia.org/wiki/Restaurant_management#Front-of-the-House_management",[],"front of house"," might be nice, but you don’t want to see that kitchen.\nAll too often the quality of the code will lose out to the need for speed, to get it done quickly.\nClients traditionally can’t see the elegance of the code. Some don’t care. Make it work!",[12,58,59],{},"Whereas at GitLab, where we are developing open source software, we’re working in an open kitchen.\nIt has to look as nice as the front of house.",[12,61,62],{},"Open source front end developers must serve two user experiences.",[64,65,66,70],"ul",{},[67,68,69],"li",{},"UX - the front end user experience for the users who interact with the UI of the application.",[67,71,72],{},"DX - the developer experience for the contributor who needs comprehensible code.",[12,74,75],{},"You’re dealing with stuff that is on the bleeding edge, and you’re doing it in a way that people can contribute.\nI want to make a way of coding and working with GitLab that will allow ease for end users, and more accessibility for contributors.\nWe have quite a challenge ahead, and we need your help.",[28,77,79],{"id":78},"want-to-join-us","Want to join us?",[12,81,82],{},"I’m the first front end developer here at GitLab.\nI was most recently working for a digital agency developing applications and sites for large retail clients like Panera Bread.\nThese sites have tons of visitors and they have to work really well.\nThey have to be fast and extremely reliable.\nThat is what I want to bring to GitLab.",[12,84,85,86,91],{},"We’re hiring two more front end developers.\nOur Ruby architecture is rock-solid, and now we need to bring out front end architecture up to that level.\nIf you’re curious, you can see open issues and activity related to front end development at GitLab, right on the ",[16,87,90],{"href":88,"rel":89},"https://handbook.gitlab.com/job-description-library/engineering/development/frontend/",[],"job description",".\nIn my interview with Job Van der Voort, VP of Product, we worked through a current frontend issue.\nOur current frontend is written in jQuery and CoffeeScript.\nOur code should be timeless in a way.\nWe need people who are really good at pure JavaScript, and don’t really care what framework we use.",[12,93,94,95,103,104,109],{},"We need people who are JavaScript veterans.\nI’m still a bit traumatized by the browser wars.\nI used to write CSS and JavaScript hacks for IE6.\nIf you were there, you’ll know what I mean.\nEven now when I see ",[16,96,99],{"href":97,"rel":98},"http://caniuse.com/#feat=css-opacity",[],[100,101,102],"code",{},"opacity"," I think “Oh no, it's only partially supported in IE8!”\nHaving that depth of experience is important at GitLab.\nYou know why code should be well-written and ",[16,105,108],{"href":106,"rel":107},"https://en.wikipedia.org/wiki/Don%27t_repeat_yourself",[],"DRY"," as much it should be a great interactive experience.",[12,111,112],{},"Some people are really dead-set on particular frameworks.\nWe can’t come in and rewrite everything.\nGitLab is released monthly.\nWe move at pace.\nWe need to work on the many small issues and at the same time think on a bigger scale: what we can do to reduce the code complexity.",[12,114,115],{},"We need to take it one step at a time.",[12,117,118,119,123],{},"If you’re curious about working in an open kitchen with us, please check out the job description: ",[16,120,122],{"href":88,"rel":121},[],"Front End Engineer",".",{"title":18,"searchDepth":125,"depth":125,"links":126},2,[127,128,129],{"id":30,"depth":125,"text":31},{"id":43,"depth":125,"text":44},{"id":78,"depth":125,"text":79},"culture","2016-01-25","Help shape the future of the front end at GitLab.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684579/Blog/Hero%20Images/kitchen.jpg",{"excerpt":138},{"type":9,"value":139},[140,144,146],[12,141,14,142,20],{},[16,143,19],{"href":18},[12,145,23],{},[12,147,26],{},true,"/en-us/blog/future-front-end-development",{"title":5,"description":132,"ogTitle":5,"ogDescription":132,"noIndex":135,"ogImage":136,"ogUrl":151,"ogSiteName":152,"ogType":153,"canonicalUrls":151},"https://about.gitlab.com/blog/future-front-end-development","https://about.gitlab.com","article","future-front-end-development","en-us/blog/future-front-end-development","BlogPost","IdWgV_FRfORU_wp4uMYO1eKWAlECD4X69yl3LNC7VcY",{"logo":159,"freeTrial":164,"sales":169,"login":174,"items":179,"search":506,"minimal":537,"duo":556,"switchNav":565,"pricingDeployment":576},{"config":160},{"href":161,"dataGaName":162,"dataGaLocation":163},"/","gitlab logo","header",{"text":165,"config":166},"Get free trial",{"href":167,"dataGaName":168,"dataGaLocation":163},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":170,"config":171},"Request a demo",{"href":172,"dataGaName":173,"dataGaLocation":163},"/sales/?contact-topic=request-demo","sales",{"text":175,"config":176},"Sign in",{"href":177,"dataGaName":178,"dataGaLocation":163},"https://gitlab.com/users/sign_in/","sign in",[180,209,309,314,428,484],{"text":181,"config":182,"menu":184},"Platform",{"dataNavLevelOne":183},"platform",{"type":185,"columns":186},"cards",[187,193,201],{"title":181,"description":188,"link":189},"The intelligent orchestration platform for DevSecOps",{"text":190,"config":191},"Explore our Platform",{"href":192,"dataGaName":183,"dataGaLocation":163},"/platform/",{"title":194,"description":195,"link":196},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":197,"config":198},"Meet GitLab Duo",{"href":199,"dataGaName":200,"dataGaLocation":163},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":202,"description":203,"link":204},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":205,"config":206},"Learn more",{"href":207,"dataGaName":208,"dataGaLocation":163},"/why-gitlab/","why gitlab",{"text":210,"left":148,"config":211,"menu":213},"Product",{"dataNavLevelOne":212},"solutions",{"type":214,"link":215,"columns":219,"feature":288},"lists",{"text":216,"config":217},"View all Solutions",{"href":218,"dataGaName":212,"dataGaLocation":163},"/solutions/",[220,244,267],{"title":221,"description":222,"link":223,"items":228},"Automation","CI/CD and automation to accelerate deployment",{"config":224},{"icon":225,"href":226,"dataGaName":227,"dataGaLocation":163},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[229,233,236,240],{"text":230,"config":231},"CI/CD",{"href":232,"dataGaLocation":163,"dataGaName":230},"/solutions/continuous-integration/",{"text":194,"config":234},{"href":199,"dataGaLocation":163,"dataGaName":235},"gitlab duo agent platform - product menu",{"text":237,"config":238},"Source Code Management",{"href":239,"dataGaLocation":163,"dataGaName":237},"/solutions/source-code-management/",{"text":241,"config":242},"Automated Software Delivery",{"href":226,"dataGaLocation":163,"dataGaName":243},"Automated software delivery",{"title":245,"description":246,"link":247,"items":252},"Security","Deliver code faster without compromising security",{"config":248},{"href":249,"dataGaName":250,"dataGaLocation":163,"icon":251},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[253,257,262],{"text":254,"config":255},"Application Security Testing",{"href":249,"dataGaName":256,"dataGaLocation":163},"Application security testing",{"text":258,"config":259},"Software Supply Chain Security",{"href":260,"dataGaLocation":163,"dataGaName":261},"/solutions/supply-chain/","Software supply chain security",{"text":263,"config":264},"Software Compliance",{"href":265,"dataGaName":266,"dataGaLocation":163},"/solutions/software-compliance/","software compliance",{"title":268,"link":269,"items":274},"Measurement",{"config":270},{"icon":271,"href":272,"dataGaName":273,"dataGaLocation":163},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[275,279,283],{"text":276,"config":277},"Visibility & Measurement",{"href":272,"dataGaLocation":163,"dataGaName":278},"Visibility and Measurement",{"text":280,"config":281},"Value Stream Management",{"href":282,"dataGaLocation":163,"dataGaName":280},"/solutions/value-stream-management/",{"text":284,"config":285},"Analytics & Insights",{"href":286,"dataGaLocation":163,"dataGaName":287},"/solutions/analytics-and-insights/","Analytics and insights",{"title":289,"type":214,"items":290},"GitLab for",[291,297,303],{"text":292,"config":293},"Enterprise",{"icon":294,"href":295,"dataGaLocation":163,"dataGaName":296},"Building","/enterprise/","enterprise",{"text":298,"config":299},"Small Business",{"icon":300,"href":301,"dataGaLocation":163,"dataGaName":302},"Work","/small-business/","small business",{"text":304,"config":305},"Public Sector",{"icon":306,"href":307,"dataGaLocation":163,"dataGaName":308},"Organization","/solutions/public-sector/","public sector",{"text":310,"config":311},"Pricing",{"href":312,"dataGaName":313,"dataGaLocation":163,"dataNavLevelOne":313},"/pricing/","pricing",{"text":315,"config":316,"menu":318},"Resources",{"dataNavLevelOne":317},"resources",{"type":214,"link":319,"columns":323,"feature":417},{"text":320,"config":321},"View all resources",{"href":322,"dataGaName":317,"dataGaLocation":163},"/resources/",[324,357,384],{"title":325,"items":326},"Getting started",[327,332,337,342,347,352],{"text":328,"config":329},"Install",{"href":330,"dataGaName":331,"dataGaLocation":163},"/install/","install",{"text":333,"config":334},"Quick start guides",{"href":335,"dataGaName":336,"dataGaLocation":163},"/get-started/","quick setup checklists",{"text":338,"config":339},"Learn",{"href":340,"dataGaLocation":163,"dataGaName":341},"https://university.gitlab.com/","learn",{"text":343,"config":344},"Product documentation",{"href":345,"dataGaName":346,"dataGaLocation":163},"https://docs.gitlab.com/","product documentation",{"text":348,"config":349},"Best practice videos",{"href":350,"dataGaName":351,"dataGaLocation":163},"/getting-started-videos/","best practice videos",{"text":353,"config":354},"Integrations",{"href":355,"dataGaName":356,"dataGaLocation":163},"/integrations/","integrations",{"title":358,"items":359},"Discover",[360,365,370,375,379],{"text":361,"config":362},"Customer success stories",{"href":363,"dataGaName":364,"dataGaLocation":163},"/customers/","customer success stories",{"text":366,"config":367},"Blog",{"href":368,"dataGaName":369,"dataGaLocation":163},"/blog/","blog",{"text":371,"config":372},"Demo Hub",{"href":373,"dataGaName":374,"dataGaLocation":163},"/demo-hub/","demo hub",{"text":376,"config":377},"The Source",{"href":378,"dataGaName":369,"dataGaLocation":163},"/the-source/",{"text":380,"config":381},"Remote",{"href":382,"dataGaName":383,"dataGaLocation":163},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":385,"items":386},"Connect",[387,392,397,402,407,412],{"text":388,"config":389},"GitLab Services",{"href":390,"dataGaName":391,"dataGaLocation":163},"/services/","services",{"text":393,"config":394},"Contribute",{"href":395,"dataGaName":396,"dataGaLocation":163},"https://contributors.gitlab.com","contribute",{"text":398,"config":399},"Community",{"href":400,"dataGaName":401,"dataGaLocation":163},"/community/","community",{"text":403,"config":404},"Forum",{"href":405,"dataGaName":406,"dataGaLocation":163},"https://forum.gitlab.com/","forum",{"text":408,"config":409},"Events",{"href":410,"dataGaName":411,"dataGaLocation":163},"/events/","events",{"text":413,"config":414},"Partners",{"href":415,"dataGaName":416,"dataGaLocation":163},"/partners/","partners",{"config":418,"title":421,"text":422,"link":423},{"background":419,"textColor":420},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":424,"config":425},"Read the latest",{"href":426,"dataGaName":427,"dataGaLocation":163},"/whats-new/","whats new",{"text":429,"config":430,"menu":432},"Company",{"dataNavLevelOne":431},"company",{"type":214,"columns":433},[434],{"items":435},[436,441,447,449,454,459,464,469,474,479],{"text":437,"config":438},"About",{"href":439,"dataGaName":440,"dataGaLocation":163},"/company/","about",{"text":442,"config":443,"footerGa":446},"Jobs",{"href":444,"dataGaName":445,"dataGaLocation":163},"/jobs/","jobs",{"dataGaName":445},{"text":408,"config":448},{"href":410,"dataGaName":411,"dataGaLocation":163},{"text":450,"config":451},"Leadership",{"href":452,"dataGaName":453,"dataGaLocation":163},"/company/team/e-group/","leadership",{"text":455,"config":456},"Handbook",{"href":457,"dataGaName":458,"dataGaLocation":163},"https://handbook.gitlab.com/","handbook",{"text":460,"config":461},"Investor relations",{"href":462,"dataGaName":463,"dataGaLocation":163},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":465,"config":466},"Trust Center",{"href":467,"dataGaName":468,"dataGaLocation":163},"/security/","trust center",{"text":470,"config":471},"AI Transparency Center",{"href":472,"dataGaName":473,"dataGaLocation":163},"/ai-transparency-center/","ai transparency center",{"text":475,"config":476},"Newsletter",{"href":477,"dataGaName":478,"dataGaLocation":163},"/company/contact/#contact-forms","newsletter",{"text":480,"config":481},"Press",{"href":482,"dataGaName":483,"dataGaLocation":163},"/press/","press",{"text":485,"config":486,"menu":487},"Contact us",{"dataNavLevelOne":431},{"type":214,"columns":488},[489],{"items":490},[491,496,501],{"text":492,"config":493},"Talk to sales",{"href":494,"dataGaName":495,"dataGaLocation":163},"/sales/","talk to sales",{"text":497,"config":498},"Support portal",{"href":499,"dataGaName":500,"dataGaLocation":163},"https://support.gitlab.com/hc/en-us","support portal",{"text":502,"config":503},"Customer portal",{"href":504,"dataGaName":505,"dataGaLocation":163},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":507,"login":508,"suggestions":515},"Close",{"text":509,"link":510},"To search repositories and projects, login to",{"text":511,"config":512},"gitlab.com",{"href":177,"dataGaName":513,"dataGaLocation":514},"search login","search",{"text":516,"default":517},"Suggestions",[518,520,524,526,530,534],{"text":194,"config":519},{"href":199,"dataGaName":194,"dataGaLocation":514},{"text":521,"config":522},"Code Suggestions (AI)",{"href":523,"dataGaName":521,"dataGaLocation":514},"/solutions/code-suggestions/",{"text":230,"config":525},{"href":232,"dataGaName":230,"dataGaLocation":514},{"text":527,"config":528},"GitLab on AWS",{"href":529,"dataGaName":527,"dataGaLocation":514},"/partners/technology-partners/aws/",{"text":531,"config":532},"GitLab on Google Cloud",{"href":533,"dataGaName":531,"dataGaLocation":514},"/partners/technology-partners/google-cloud-platform/",{"text":535,"config":536},"Why GitLab?",{"href":207,"dataGaName":535,"dataGaLocation":514},{"freeTrial":538,"mobileIcon":543,"desktopIcon":548,"secondaryButton":551},{"text":539,"config":540},"Start free trial",{"href":541,"dataGaName":168,"dataGaLocation":542},"https://gitlab.com/-/trials/new/","nav",{"altText":544,"config":545},"Gitlab Icon",{"src":546,"dataGaName":547,"dataGaLocation":542},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":544,"config":549},{"src":550,"dataGaName":547,"dataGaLocation":542},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":552,"config":553},"Get Started",{"href":554,"dataGaName":555,"dataGaLocation":542},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":557,"mobileIcon":561,"desktopIcon":563},{"text":558,"config":559},"Learn more about GitLab Duo",{"href":199,"dataGaName":560,"dataGaLocation":542},"gitlab duo",{"altText":544,"config":562},{"src":546,"dataGaName":547,"dataGaLocation":542},{"altText":544,"config":564},{"src":550,"dataGaName":547,"dataGaLocation":542},{"button":566,"mobileIcon":571,"desktopIcon":573},{"text":567,"config":568},"/switch",{"href":569,"dataGaName":570,"dataGaLocation":542},"#contact","switch",{"altText":544,"config":572},{"src":546,"dataGaName":547,"dataGaLocation":542},{"altText":544,"config":574},{"src":575,"dataGaName":547,"dataGaLocation":542},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":577,"mobileIcon":582,"desktopIcon":584},{"text":578,"config":579},"Back to pricing",{"href":312,"dataGaName":580,"dataGaLocation":542,"icon":581},"back to pricing","GoBack",{"altText":544,"config":583},{"src":546,"dataGaName":547,"dataGaLocation":542},{"altText":544,"config":585},{"src":550,"dataGaName":547,"dataGaLocation":542},{"title":587,"titleMobile":588,"button":589,"config":594},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":205,"config":590},{"href":591,"dataGaName":592,"dataGaLocation":593},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":595,"disabled":135},"release",{"data":597},{"text":598,"source":599,"edit":605,"contribute":610,"config":615,"items":620,"minimal":830},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":600,"config":601},"View page source",{"href":602,"dataGaName":603,"dataGaLocation":604},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":606,"config":607},"Edit this page",{"href":608,"dataGaName":609,"dataGaLocation":604},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":611,"config":612},"Please contribute",{"href":613,"dataGaName":614,"dataGaLocation":604},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":616,"facebook":617,"youtube":618,"linkedin":619},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[621,668,722,766,798],{"title":310,"links":622,"subMenu":637},[623,627,632],{"text":624,"config":625},"View plans",{"href":312,"dataGaName":626,"dataGaLocation":604},"view plans",{"text":628,"config":629},"Why Premium?",{"href":630,"dataGaName":631,"dataGaLocation":604},"/pricing/premium/","why premium",{"text":633,"config":634},"Why Ultimate?",{"href":635,"dataGaName":636,"dataGaLocation":604},"/pricing/ultimate/","why ultimate",[638],{"title":639,"links":640},"Contact Us",[641,644,646,648,653,658,663],{"text":642,"config":643},"Contact sales",{"href":494,"dataGaName":173,"dataGaLocation":604},{"text":497,"config":645},{"href":499,"dataGaName":500,"dataGaLocation":604},{"text":502,"config":647},{"href":504,"dataGaName":505,"dataGaLocation":604},{"text":649,"config":650},"Status",{"href":651,"dataGaName":652,"dataGaLocation":604},"https://status.gitlab.com/","status",{"text":654,"config":655},"Terms of use",{"href":656,"dataGaName":657,"dataGaLocation":604},"/terms/","terms of use",{"text":659,"config":660},"Privacy statement",{"href":661,"dataGaName":662,"dataGaLocation":604},"/privacy/","privacy statement",{"text":664,"config":665},"Cookie preferences",{"dataGaName":666,"dataGaLocation":604,"id":667,"isOneTrustButton":148},"cookie preferences","ot-sdk-btn",{"title":210,"links":669,"subMenu":678},[670,674],{"text":671,"config":672},"DevSecOps platform",{"href":192,"dataGaName":673,"dataGaLocation":604},"devsecops platform",{"text":675,"config":676},"AI-Assisted Development",{"href":199,"dataGaName":677,"dataGaLocation":604},"ai-assisted development",[679],{"title":680,"links":681},"Topics",[682,687,692,697,702,707,712,717],{"text":683,"config":684},"CICD",{"href":685,"dataGaName":686,"dataGaLocation":604},"/topics/ci-cd/","cicd",{"text":688,"config":689},"GitOps",{"href":690,"dataGaName":691,"dataGaLocation":604},"/topics/gitops/","gitops",{"text":693,"config":694},"DevOps",{"href":695,"dataGaName":696,"dataGaLocation":604},"/topics/devops/","devops",{"text":698,"config":699},"Version Control",{"href":700,"dataGaName":701,"dataGaLocation":604},"/topics/version-control/","version control",{"text":703,"config":704},"DevSecOps",{"href":705,"dataGaName":706,"dataGaLocation":604},"/topics/devsecops/","devsecops",{"text":708,"config":709},"Cloud Native",{"href":710,"dataGaName":711,"dataGaLocation":604},"/topics/cloud-native/","cloud native",{"text":713,"config":714},"AI for Coding",{"href":715,"dataGaName":716,"dataGaLocation":604},"/topics/devops/ai-for-coding/","ai for coding",{"text":718,"config":719},"Agentic AI",{"href":720,"dataGaName":721,"dataGaLocation":604},"/topics/agentic-ai/","agentic ai",{"title":723,"links":724},"Solutions",[725,727,729,734,738,741,745,748,750,753,756,761],{"text":254,"config":726},{"href":249,"dataGaName":254,"dataGaLocation":604},{"text":243,"config":728},{"href":226,"dataGaName":227,"dataGaLocation":604},{"text":730,"config":731},"Agile development",{"href":732,"dataGaName":733,"dataGaLocation":604},"/solutions/agile-delivery/","agile delivery",{"text":735,"config":736},"SCM",{"href":239,"dataGaName":737,"dataGaLocation":604},"source code management",{"text":683,"config":739},{"href":232,"dataGaName":740,"dataGaLocation":604},"continuous integration & delivery",{"text":742,"config":743},"Value stream management",{"href":282,"dataGaName":744,"dataGaLocation":604},"value stream management",{"text":688,"config":746},{"href":747,"dataGaName":691,"dataGaLocation":604},"/solutions/gitops/",{"text":292,"config":749},{"href":295,"dataGaName":296,"dataGaLocation":604},{"text":751,"config":752},"Small business",{"href":301,"dataGaName":302,"dataGaLocation":604},{"text":754,"config":755},"Public sector",{"href":307,"dataGaName":308,"dataGaLocation":604},{"text":757,"config":758},"Education",{"href":759,"dataGaName":760,"dataGaLocation":604},"/solutions/education/","education",{"text":762,"config":763},"Financial services",{"href":764,"dataGaName":765,"dataGaLocation":604},"/solutions/finance/","financial services",{"title":315,"links":767},[768,770,772,774,777,779,782,784,786,788,790,792,794,796],{"text":328,"config":769},{"href":330,"dataGaName":331,"dataGaLocation":604},{"text":333,"config":771},{"href":335,"dataGaName":336,"dataGaLocation":604},{"text":338,"config":773},{"href":340,"dataGaName":341,"dataGaLocation":604},{"text":343,"config":775},{"href":345,"dataGaName":776,"dataGaLocation":604},"docs",{"text":366,"config":778},{"href":368,"dataGaName":369,"dataGaLocation":604},{"text":780,"config":781},"What's new",{"href":426,"dataGaName":427,"dataGaLocation":604},{"text":361,"config":783},{"href":363,"dataGaName":364,"dataGaLocation":604},{"text":380,"config":785},{"href":382,"dataGaName":383,"dataGaLocation":604},{"text":388,"config":787},{"href":390,"dataGaName":391,"dataGaLocation":604},{"text":393,"config":789},{"href":395,"dataGaName":396,"dataGaLocation":604},{"text":398,"config":791},{"href":400,"dataGaName":401,"dataGaLocation":604},{"text":403,"config":793},{"href":405,"dataGaName":406,"dataGaLocation":604},{"text":408,"config":795},{"href":410,"dataGaName":411,"dataGaLocation":604},{"text":413,"config":797},{"href":415,"dataGaName":416,"dataGaLocation":604},{"title":429,"links":799},[800,802,804,806,808,810,814,819,821,823,825],{"text":437,"config":801},{"href":439,"dataGaName":431,"dataGaLocation":604},{"text":442,"config":803},{"href":444,"dataGaName":445,"dataGaLocation":604},{"text":450,"config":805},{"href":452,"dataGaName":453,"dataGaLocation":604},{"text":455,"config":807},{"href":457,"dataGaName":458,"dataGaLocation":604},{"text":460,"config":809},{"href":462,"dataGaName":463,"dataGaLocation":604},{"text":811,"config":812},"Sustainability",{"href":813,"dataGaName":811,"dataGaLocation":604},"/sustainability/",{"text":815,"config":816},"Diversity, inclusion and belonging (DIB)",{"href":817,"dataGaName":818,"dataGaLocation":604},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":465,"config":820},{"href":467,"dataGaName":468,"dataGaLocation":604},{"text":475,"config":822},{"href":477,"dataGaName":478,"dataGaLocation":604},{"text":480,"config":824},{"href":482,"dataGaName":483,"dataGaLocation":604},{"text":826,"config":827},"Modern Slavery Transparency Statement",{"href":828,"dataGaName":829,"dataGaLocation":604},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":831},[832,835,838],{"text":833,"config":834},"Terms",{"href":656,"dataGaName":657,"dataGaLocation":604},{"text":836,"config":837},"Cookies",{"dataGaName":666,"dataGaLocation":604,"id":667,"isOneTrustButton":148},{"text":839,"config":840},"Privacy",{"href":661,"dataGaName":662,"dataGaLocation":604},[842],{"id":843,"title":7,"body":134,"config":844,"content":846,"description":134,"extension":849,"meta":850,"navigation":148,"path":851,"seo":852,"stem":853,"__hash__":854},"blogAuthors/en-us/blog/authors/jacob-schatz.yml",{"template":845},"BlogAuthor",{"name":7,"config":847},{"headshot":18,"ctfId":848},"jschatz1","yml",{},"/en-us/blog/authors/jacob-schatz",{},"en-us/blog/authors/jacob-schatz","5Ni1pJap-3Oy_IR41XlYvyewBFNZN8dZyOWznuyUvoM",[856,864,872],{"title":857,"description":858,"heroImage":859,"category":130,"date":860,"authors":861,"slug":863,"externalUrl":134},"Developer Relations at GitLab: What we've learned since our start","DevRel is key to success for many tech companies. Find out how GitLab's DevRel program has evolved to stay aligned with the industry and our customers.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749672008/Blog/Hero%20Images/AdobeStock_204527293.jpg","2024-03-13",[862],"John Coghlan","developer-relations-at-gitlab-what-weve-learned-since-our-start",{"title":865,"description":866,"heroImage":867,"category":130,"date":868,"authors":869,"slug":871,"externalUrl":134},"Visualizing 11 years of GitLab contributions","Check out this animated video, which beautifully visualizes every contribution since our start.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682555/Blog/Hero%20Images/gitlabeveryonecontributesdna.png","2022-12-19",[870],"Darwin Sanoy","everyone-who-has-contributed",{"title":873,"description":874,"heroImage":875,"category":130,"date":876,"authors":877,"slug":879,"externalUrl":134},"The many routes to a tech career","GitLab team members of different ages and backgrounds share their entry into this industry.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667236/Blog/Hero%20Images/Learn-at-GL.jpg","2022-10-04",[878],"Heather Simpson","the-many-routes-to-a-tech-career",{"promotions":881},[882,896,908,920],{"id":883,"categories":884,"header":886,"text":887,"button":888,"image":893},"ai-modernization",[885],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":889,"config":890},"Get your AI maturity score",{"href":891,"dataGaName":892,"dataGaLocation":369},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":894},{"src":895},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":897,"categories":898,"header":900,"text":887,"button":901,"image":905},"devops-modernization",[899,706],"product","Are you just managing tools or shipping innovation?",{"text":902,"config":903},"Get your DevOps maturity score",{"href":904,"dataGaName":892,"dataGaLocation":369},"/assessments/devops-modernization-assessment/",{"config":906},{"src":907},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":909,"categories":910,"header":912,"text":887,"button":913,"image":917},"security-modernization",[911],"security","Are you trading speed for security?",{"text":914,"config":915},"Get your security maturity score",{"href":916,"dataGaName":892,"dataGaLocation":369},"/assessments/security-modernization-assessment/",{"config":918},{"src":919},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":921,"paths":922,"header":925,"text":926,"button":927,"image":932},"github-azure-migration",[923,924],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Is your team ready for GitHub's Azure move?","GitHub is already rebuilding around Azure. Find out what it means for you.",{"text":928,"config":929},"See how GitLab compares to GitHub",{"href":930,"dataGaName":931,"dataGaLocation":369},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":933},{"src":907},{"header":935,"blurb":936,"button":937,"secondaryButton":942},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":938,"config":939},"Get your free trial",{"href":940,"dataGaName":168,"dataGaLocation":941},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":642,"config":943},{"href":494,"dataGaName":173,"dataGaLocation":941},1786803759578]