[{"data":1,"prerenderedAt":1021},["ShallowReactive",2],{"/blog/pragmatic-redesign-for-gitlab":3,"navigation-en-us":233,"banner-en-us":661,"footer-en-us":671,"blog-post-authors-en-us-Dmitriy, Job":916,"blog-related-posts-en-us-pragmatic-redesign-for-gitlab":932,"blog-promotions-en-us":957,"next-steps-en-us":1011},{"id":4,"title":5,"authors":6,"body":8,"category":205,"date":206,"description":207,"extension":208,"externalUrl":209,"faq":209,"featured":210,"heroImage":211,"meta":212,"navigation":223,"path":224,"seo":225,"slug":229,"stem":230,"tags":209,"template":231,"updatedDate":209,"__hash__":232},"blogPosts/en-us/blog/pragmatic-redesign-for-gitlab.md","Pragmatic Redesign for GitLab",[7],"Dmitriy, Job",{"type":9,"value":10,"toc":196},"minimark",[11,28,33,36,39,58,64,71,75,78,81,84,87,92,98,102,105,108,111,117,120,123,126,130,133,136,150,156,160,167,170,180,185,190],[12,13,14,15,19,20,23,24,27],"p",{},"We have some big UI changes coming with the release of GitLab 7.7, on January 22nd.\nIn this post, we'll show you ",[16,17,18],"em",{},"why"," we're changing the user interface, ",[16,21,22],{},"how"," we did it and ",[16,25,26],{},"what"," we ended up with.",[29,30,32],"h2",{"id":31},"redesign-to-solve-problems","Redesign to Solve Problems",[12,34,35],{},"Changes to the interface are always stressful. So you shouldn't even start to redesign without a list of issues you intent to solve. This way, your users get compensated for the changes with improved usability.",[12,37,38],{},"There are several problems with the current UI of GitLab and it was hard to fix them without making big changes.\nThis is the list of issues we started with:",[40,41,42,46,49,52,55],"ul",{},[43,44,45],"li",{},"Limited space in project navigation. We can't fit all items with counters",[43,47,48],{},"Two stacked levels of navigation is expensive in screen real estate",[43,50,51],{},"All navigation is on top. It's annoying to have to scroll up to navigate",[43,53,54],{},"No space for icons. We love icons!",[43,56,57],{},"Settings pages add a third level of navigation, which is too complex.",[12,59,60],{},[61,62,63],"strong",{},"What it looked like:",[12,65,66],{},[67,68],"img",{"alt":69,"src":70},"old screenshot","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782404905/site/Content%20Images/redesign/old.png",[29,72,74],{"id":73},"prototype","Prototype",[12,76,77],{},"We set a simple goal: Maximize improvements with minimal changes. To do this, we started with the existing UI, rather than a blank page.",[12,79,80],{},"Instead of Photoshop, we turned to the web inspector in the browser to prototype. Make some changes, screenshot, repeat. Dmitriy noted: \"This reminds of playing old-school video games, where you have to start over with every death.\"",[12,82,83],{},"After a day of prototyping, we piled up quite some screenshots. We immediately threw away a large part and let the rest sink in.",[12,85,86],{},"A few days later, the winner was obvious.",[12,88,89],{},[61,90,91],{},"The winning prototype",[12,93,94],{},[67,95],{"alt":96,"src":97},"concept screenshot","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782404906/site/Content%20Images/redesign/winner.png",[29,99,101],{"id":100},"get-feedback","Get Feedback",[12,103,104],{},"Changing the UI is uncomfortable for the end-users.\nYou need time to adapt to the changes.",[12,106,107],{},"For this reason, people often get upset about a redesign.\nEven if your redesign is much better.",[12,109,110],{},"We wanted to brace our community and ourselves for this,\nso we started with a tweet",[12,112,113],{},[67,114],{"alt":115,"src":116},"tweet with screenshot","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782404906/site/Content%20Images/redesign/tweet.png",[12,118,119],{},"We got lots of great advice and most people seemed to like our idea.\nThe next steps were clear.",[12,121,122],{},"We implemented, improved and polished the design.\nAs we build with and on our community, we couldn't wait to share it.\nWe set up a staging server with the new changes.\nThis way, everyone could try the redesign even before it landed in master.",[12,124,125],{},"Working with an open source product allows us to work with our (awesome) community.\nContributors started submitting merge requests with improvements to our redesign.\nThis was a great sign.",[29,127,129],{"id":128},"evaluate","Evaluate",[12,131,132],{},"At start of this post we described problems we want to solve with redesign.\nAnd during work its important to remember the goal.\nSo we just listed each problem was solved by new layout:",[12,134,135],{},"We started with a list of issues we wanted to solve with the redesign. Focus is important, so we went back and made sure we checked all boxes:",[40,137,138,141,144,147],{},[43,139,140],{},"Limited space in project navigation: fixed by moving it to the side.",[43,142,143],{},"This also gives us more vertical screen real estate\n-We fixed the navigation, so no more scrolling!",[43,145,146],{},"Better use of icons! We even introduced a responsive state, where on only the icons are shown.",[43,148,149],{},"We got rid of the third level of navigation",[12,151,152],{},[67,153],{"alt":154,"src":155},"desktop screenshot","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782404904/site/Content%20Images/redesign/final3.png",[29,157,159],{"id":158},"finish-up","Finish up",[12,161,162,163,166],{},"With the support of the community, we started to build on top of the redesign.",[164,165],"br",{},"\nWe changed the layout of several pages to make use of the extra space\nand applied another layer of polish.\nWith everything aligned and fixed, we were done.",[12,168,169],{},"We're really excited about the process of redesigning the navigation.\nThe cooperation with the community and implementation of their feedback was invaluable.\nWe hope you'll love it too.",[12,171,172,173,179],{},"The new navigation will be released with GitLab 7.7 on January 22nd.\nIf you want to give it a try now, head over to ",[174,175,178],"a",{"href":176,"rel":177},"https://gitlab.com/users/sign_up",[],"GitLab.com",",\nas the changes are already live there!",[12,181,182],{},[67,183],{"alt":154,"src":184},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1782404902/site/Content%20Images/redesign/final1.png",[12,186,187],{},[67,188],{"alt":154,"src":189},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1782404904/site/Content%20Images/redesign/final2.png",[12,191,192],{},[67,193],{"alt":194,"src":195},"mobile screenshot","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782404905/site/Content%20Images/redesign/final_mobile.png",{"title":197,"searchDepth":198,"depth":198,"links":199},"",2,[200,201,202,203,204],{"id":31,"depth":198,"text":32},{"id":73,"depth":198,"text":74},{"id":100,"depth":198,"text":101},{"id":128,"depth":198,"text":129},{"id":158,"depth":198,"text":159},"culture","2015-01-16","In this post, we'll show you why we're changingthe the GitLab 7.7 user interface, how we did it and what the end result is.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684299/Blog/Hero%20Images/big.png",{"excerpt":213},{"type":9,"value":214},[215],[12,216,14,217,19,219,23,221,27],{},[16,218,18],{},[16,220,22],{},[16,222,26],{},true,"/en-us/blog/pragmatic-redesign-for-gitlab",{"title":5,"description":207,"ogTitle":5,"ogDescription":207,"noIndex":210,"ogImage":211,"ogUrl":226,"ogSiteName":227,"ogType":228,"canonicalUrls":226},"https://about.gitlab.com/blog/pragmatic-redesign-for-gitlab","https://about.gitlab.com","article","pragmatic-redesign-for-gitlab","en-us/blog/pragmatic-redesign-for-gitlab","BlogPost","ZnO0F9Th4CqCdqXK4hhZgaTkdSQB320aagRvO6Xrye0",{"logo":234,"freeTrial":239,"sales":244,"login":249,"items":254,"search":581,"minimal":612,"duo":631,"switchNav":640,"pricingDeployment":651},{"config":235},{"href":236,"dataGaName":237,"dataGaLocation":238},"/","gitlab logo","header",{"text":240,"config":241},"Get free trial",{"href":242,"dataGaName":243,"dataGaLocation":238},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":245,"config":246},"Request a demo",{"href":247,"dataGaName":248,"dataGaLocation":238},"/sales/?contact-topic=request-demo","sales",{"text":250,"config":251},"Sign in",{"href":252,"dataGaName":253,"dataGaLocation":238},"https://gitlab.com/users/sign_in/","sign in",[255,284,384,389,503,559],{"text":256,"config":257,"menu":259},"Platform",{"dataNavLevelOne":258},"platform",{"type":260,"columns":261},"cards",[262,268,276],{"title":256,"description":263,"link":264},"The intelligent orchestration platform for DevSecOps",{"text":265,"config":266},"Explore our Platform",{"href":267,"dataGaName":258,"dataGaLocation":238},"/platform/",{"title":269,"description":270,"link":271},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":272,"config":273},"Meet GitLab Duo",{"href":274,"dataGaName":275,"dataGaLocation":238},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":277,"description":278,"link":279},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":280,"config":281},"Learn more",{"href":282,"dataGaName":283,"dataGaLocation":238},"/why-gitlab/","why gitlab",{"text":285,"left":223,"config":286,"menu":288},"Product",{"dataNavLevelOne":287},"solutions",{"type":289,"link":290,"columns":294,"feature":363},"lists",{"text":291,"config":292},"View all Solutions",{"href":293,"dataGaName":287,"dataGaLocation":238},"/solutions/",[295,319,342],{"title":296,"description":297,"link":298,"items":303},"Automation","CI/CD and automation to accelerate deployment",{"config":299},{"icon":300,"href":301,"dataGaName":302,"dataGaLocation":238},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[304,308,311,315],{"text":305,"config":306},"CI/CD",{"href":307,"dataGaLocation":238,"dataGaName":305},"/solutions/continuous-integration/",{"text":269,"config":309},{"href":274,"dataGaLocation":238,"dataGaName":310},"gitlab duo agent platform - product menu",{"text":312,"config":313},"Source Code Management",{"href":314,"dataGaLocation":238,"dataGaName":312},"/solutions/source-code-management/",{"text":316,"config":317},"Automated Software Delivery",{"href":301,"dataGaLocation":238,"dataGaName":318},"Automated software delivery",{"title":320,"description":321,"link":322,"items":327},"Security","Deliver code faster without compromising security",{"config":323},{"href":324,"dataGaName":325,"dataGaLocation":238,"icon":326},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[328,332,337],{"text":329,"config":330},"Application Security Testing",{"href":324,"dataGaName":331,"dataGaLocation":238},"Application security testing",{"text":333,"config":334},"Software Supply Chain Security",{"href":335,"dataGaLocation":238,"dataGaName":336},"/solutions/supply-chain/","Software supply chain security",{"text":338,"config":339},"Software Compliance",{"href":340,"dataGaName":341,"dataGaLocation":238},"/solutions/software-compliance/","software compliance",{"title":343,"link":344,"items":349},"Measurement",{"config":345},{"icon":346,"href":347,"dataGaName":348,"dataGaLocation":238},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[350,354,358],{"text":351,"config":352},"Visibility & Measurement",{"href":347,"dataGaLocation":238,"dataGaName":353},"Visibility and Measurement",{"text":355,"config":356},"Value Stream Management",{"href":357,"dataGaLocation":238,"dataGaName":355},"/solutions/value-stream-management/",{"text":359,"config":360},"Analytics & Insights",{"href":361,"dataGaLocation":238,"dataGaName":362},"/solutions/analytics-and-insights/","Analytics and insights",{"title":364,"type":289,"items":365},"GitLab for",[366,372,378],{"text":367,"config":368},"Enterprise",{"icon":369,"href":370,"dataGaLocation":238,"dataGaName":371},"Building","/enterprise/","enterprise",{"text":373,"config":374},"Small Business",{"icon":375,"href":376,"dataGaLocation":238,"dataGaName":377},"Work","/small-business/","small business",{"text":379,"config":380},"Public Sector",{"icon":381,"href":382,"dataGaLocation":238,"dataGaName":383},"Organization","/solutions/public-sector/","public sector",{"text":385,"config":386},"Pricing",{"href":387,"dataGaName":388,"dataGaLocation":238,"dataNavLevelOne":388},"/pricing/","pricing",{"text":390,"config":391,"menu":393},"Resources",{"dataNavLevelOne":392},"resources",{"type":289,"link":394,"columns":398,"feature":492},{"text":395,"config":396},"View all resources",{"href":397,"dataGaName":392,"dataGaLocation":238},"/resources/",[399,432,459],{"title":400,"items":401},"Getting started",[402,407,412,417,422,427],{"text":403,"config":404},"Install",{"href":405,"dataGaName":406,"dataGaLocation":238},"/install/","install",{"text":408,"config":409},"Quick start guides",{"href":410,"dataGaName":411,"dataGaLocation":238},"/get-started/","quick setup checklists",{"text":413,"config":414},"Learn",{"href":415,"dataGaLocation":238,"dataGaName":416},"https://university.gitlab.com/","learn",{"text":418,"config":419},"Product documentation",{"href":420,"dataGaName":421,"dataGaLocation":238},"https://docs.gitlab.com/","product documentation",{"text":423,"config":424},"Best practice videos",{"href":425,"dataGaName":426,"dataGaLocation":238},"/getting-started-videos/","best practice videos",{"text":428,"config":429},"Integrations",{"href":430,"dataGaName":431,"dataGaLocation":238},"/integrations/","integrations",{"title":433,"items":434},"Discover",[435,440,445,450,454],{"text":436,"config":437},"Customer success stories",{"href":438,"dataGaName":439,"dataGaLocation":238},"/customers/","customer success stories",{"text":441,"config":442},"Blog",{"href":443,"dataGaName":444,"dataGaLocation":238},"/blog/","blog",{"text":446,"config":447},"Demo Hub",{"href":448,"dataGaName":449,"dataGaLocation":238},"/demo-hub/","demo hub",{"text":451,"config":452},"The Source",{"href":453,"dataGaName":444,"dataGaLocation":238},"/the-source/",{"text":455,"config":456},"Remote",{"href":457,"dataGaName":458,"dataGaLocation":238},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":460,"items":461},"Connect",[462,467,472,477,482,487],{"text":463,"config":464},"GitLab Services",{"href":465,"dataGaName":466,"dataGaLocation":238},"/services/","services",{"text":468,"config":469},"Contribute",{"href":470,"dataGaName":471,"dataGaLocation":238},"https://contributors.gitlab.com","contribute",{"text":473,"config":474},"Community",{"href":475,"dataGaName":476,"dataGaLocation":238},"/community/","community",{"text":478,"config":479},"Forum",{"href":480,"dataGaName":481,"dataGaLocation":238},"https://forum.gitlab.com/","forum",{"text":483,"config":484},"Events",{"href":485,"dataGaName":486,"dataGaLocation":238},"/events/","events",{"text":488,"config":489},"Partners",{"href":490,"dataGaName":491,"dataGaLocation":238},"/partners/","partners",{"config":493,"title":496,"text":497,"link":498},{"background":494,"textColor":495},"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":499,"config":500},"Read the latest",{"href":501,"dataGaName":502,"dataGaLocation":238},"/whats-new/","whats new",{"text":504,"config":505,"menu":507},"Company",{"dataNavLevelOne":506},"company",{"type":289,"columns":508},[509],{"items":510},[511,516,522,524,529,534,539,544,549,554],{"text":512,"config":513},"About",{"href":514,"dataGaName":515,"dataGaLocation":238},"/company/","about",{"text":517,"config":518,"footerGa":521},"Jobs",{"href":519,"dataGaName":520,"dataGaLocation":238},"/jobs/","jobs",{"dataGaName":520},{"text":483,"config":523},{"href":485,"dataGaName":486,"dataGaLocation":238},{"text":525,"config":526},"Leadership",{"href":527,"dataGaName":528,"dataGaLocation":238},"/company/team/e-group/","leadership",{"text":530,"config":531},"Handbook",{"href":532,"dataGaName":533,"dataGaLocation":238},"https://handbook.gitlab.com/","handbook",{"text":535,"config":536},"Investor relations",{"href":537,"dataGaName":538,"dataGaLocation":238},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":540,"config":541},"Trust Center",{"href":542,"dataGaName":543,"dataGaLocation":238},"/security/","trust center",{"text":545,"config":546},"AI Transparency Center",{"href":547,"dataGaName":548,"dataGaLocation":238},"/ai-transparency-center/","ai transparency center",{"text":550,"config":551},"Newsletter",{"href":552,"dataGaName":553,"dataGaLocation":238},"/company/contact/#contact-forms","newsletter",{"text":555,"config":556},"Press",{"href":557,"dataGaName":558,"dataGaLocation":238},"/press/","press",{"text":560,"config":561,"menu":562},"Contact us",{"dataNavLevelOne":506},{"type":289,"columns":563},[564],{"items":565},[566,571,576],{"text":567,"config":568},"Talk to sales",{"href":569,"dataGaName":570,"dataGaLocation":238},"/sales/","talk to sales",{"text":572,"config":573},"Support portal",{"href":574,"dataGaName":575,"dataGaLocation":238},"https://support.gitlab.com/hc/en-us","support portal",{"text":577,"config":578},"Customer portal",{"href":579,"dataGaName":580,"dataGaLocation":238},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":582,"login":583,"suggestions":590},"Close",{"text":584,"link":585},"To search repositories and projects, login to",{"text":586,"config":587},"gitlab.com",{"href":252,"dataGaName":588,"dataGaLocation":589},"search login","search",{"text":591,"default":592},"Suggestions",[593,595,599,601,605,609],{"text":269,"config":594},{"href":274,"dataGaName":269,"dataGaLocation":589},{"text":596,"config":597},"Code Suggestions (AI)",{"href":598,"dataGaName":596,"dataGaLocation":589},"/solutions/code-suggestions/",{"text":305,"config":600},{"href":307,"dataGaName":305,"dataGaLocation":589},{"text":602,"config":603},"GitLab on AWS",{"href":604,"dataGaName":602,"dataGaLocation":589},"/partners/technology-partners/aws/",{"text":606,"config":607},"GitLab on Google Cloud",{"href":608,"dataGaName":606,"dataGaLocation":589},"/partners/technology-partners/google-cloud-platform/",{"text":610,"config":611},"Why GitLab?",{"href":282,"dataGaName":610,"dataGaLocation":589},{"freeTrial":613,"mobileIcon":618,"desktopIcon":623,"secondaryButton":626},{"text":614,"config":615},"Start free trial",{"href":616,"dataGaName":243,"dataGaLocation":617},"https://gitlab.com/-/trials/new/","nav",{"altText":619,"config":620},"Gitlab Icon",{"src":621,"dataGaName":622,"dataGaLocation":617},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":619,"config":624},{"src":625,"dataGaName":622,"dataGaLocation":617},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":627,"config":628},"Get Started",{"href":629,"dataGaName":630,"dataGaLocation":617},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":632,"mobileIcon":636,"desktopIcon":638},{"text":633,"config":634},"Learn more about GitLab Duo",{"href":274,"dataGaName":635,"dataGaLocation":617},"gitlab duo",{"altText":619,"config":637},{"src":621,"dataGaName":622,"dataGaLocation":617},{"altText":619,"config":639},{"src":625,"dataGaName":622,"dataGaLocation":617},{"button":641,"mobileIcon":646,"desktopIcon":648},{"text":642,"config":643},"/switch",{"href":644,"dataGaName":645,"dataGaLocation":617},"#contact","switch",{"altText":619,"config":647},{"src":621,"dataGaName":622,"dataGaLocation":617},{"altText":619,"config":649},{"src":650,"dataGaName":622,"dataGaLocation":617},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":652,"mobileIcon":657,"desktopIcon":659},{"text":653,"config":654},"Back to pricing",{"href":387,"dataGaName":655,"dataGaLocation":617,"icon":656},"back to pricing","GoBack",{"altText":619,"config":658},{"src":621,"dataGaName":622,"dataGaLocation":617},{"altText":619,"config":660},{"src":625,"dataGaName":622,"dataGaLocation":617},{"title":662,"titleMobile":663,"button":664,"config":669},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":280,"config":665},{"href":666,"dataGaName":667,"dataGaLocation":668},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":670,"disabled":210},"release",{"data":672},{"text":673,"source":674,"edit":680,"contribute":685,"config":690,"items":695,"minimal":905},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":675,"config":676},"View page source",{"href":677,"dataGaName":678,"dataGaLocation":679},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":681,"config":682},"Edit this page",{"href":683,"dataGaName":684,"dataGaLocation":679},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":686,"config":687},"Please contribute",{"href":688,"dataGaName":689,"dataGaLocation":679},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":691,"facebook":692,"youtube":693,"linkedin":694},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[696,743,797,841,873],{"title":385,"links":697,"subMenu":712},[698,702,707],{"text":699,"config":700},"View plans",{"href":387,"dataGaName":701,"dataGaLocation":679},"view plans",{"text":703,"config":704},"Why Premium?",{"href":705,"dataGaName":706,"dataGaLocation":679},"/pricing/premium/","why premium",{"text":708,"config":709},"Why Ultimate?",{"href":710,"dataGaName":711,"dataGaLocation":679},"/pricing/ultimate/","why ultimate",[713],{"title":714,"links":715},"Contact Us",[716,719,721,723,728,733,738],{"text":717,"config":718},"Contact sales",{"href":569,"dataGaName":248,"dataGaLocation":679},{"text":572,"config":720},{"href":574,"dataGaName":575,"dataGaLocation":679},{"text":577,"config":722},{"href":579,"dataGaName":580,"dataGaLocation":679},{"text":724,"config":725},"Status",{"href":726,"dataGaName":727,"dataGaLocation":679},"https://status.gitlab.com/","status",{"text":729,"config":730},"Terms of use",{"href":731,"dataGaName":732,"dataGaLocation":679},"/terms/","terms of use",{"text":734,"config":735},"Privacy statement",{"href":736,"dataGaName":737,"dataGaLocation":679},"/privacy/","privacy statement",{"text":739,"config":740},"Cookie preferences",{"dataGaName":741,"dataGaLocation":679,"id":742,"isOneTrustButton":223},"cookie preferences","ot-sdk-btn",{"title":285,"links":744,"subMenu":753},[745,749],{"text":746,"config":747},"DevSecOps platform",{"href":267,"dataGaName":748,"dataGaLocation":679},"devsecops platform",{"text":750,"config":751},"AI-Assisted Development",{"href":274,"dataGaName":752,"dataGaLocation":679},"ai-assisted development",[754],{"title":755,"links":756},"Topics",[757,762,767,772,777,782,787,792],{"text":758,"config":759},"CICD",{"href":760,"dataGaName":761,"dataGaLocation":679},"/topics/ci-cd/","cicd",{"text":763,"config":764},"GitOps",{"href":765,"dataGaName":766,"dataGaLocation":679},"/topics/gitops/","gitops",{"text":768,"config":769},"DevOps",{"href":770,"dataGaName":771,"dataGaLocation":679},"/topics/devops/","devops",{"text":773,"config":774},"Version Control",{"href":775,"dataGaName":776,"dataGaLocation":679},"/topics/version-control/","version control",{"text":778,"config":779},"DevSecOps",{"href":780,"dataGaName":781,"dataGaLocation":679},"/topics/devsecops/","devsecops",{"text":783,"config":784},"Cloud Native",{"href":785,"dataGaName":786,"dataGaLocation":679},"/topics/cloud-native/","cloud native",{"text":788,"config":789},"AI for Coding",{"href":790,"dataGaName":791,"dataGaLocation":679},"/topics/devops/ai-for-coding/","ai for coding",{"text":793,"config":794},"Agentic AI",{"href":795,"dataGaName":796,"dataGaLocation":679},"/topics/agentic-ai/","agentic ai",{"title":798,"links":799},"Solutions",[800,802,804,809,813,816,820,823,825,828,831,836],{"text":329,"config":801},{"href":324,"dataGaName":329,"dataGaLocation":679},{"text":318,"config":803},{"href":301,"dataGaName":302,"dataGaLocation":679},{"text":805,"config":806},"Agile development",{"href":807,"dataGaName":808,"dataGaLocation":679},"/solutions/agile-delivery/","agile delivery",{"text":810,"config":811},"SCM",{"href":314,"dataGaName":812,"dataGaLocation":679},"source code management",{"text":758,"config":814},{"href":307,"dataGaName":815,"dataGaLocation":679},"continuous integration & delivery",{"text":817,"config":818},"Value stream management",{"href":357,"dataGaName":819,"dataGaLocation":679},"value stream management",{"text":763,"config":821},{"href":822,"dataGaName":766,"dataGaLocation":679},"/solutions/gitops/",{"text":367,"config":824},{"href":370,"dataGaName":371,"dataGaLocation":679},{"text":826,"config":827},"Small business",{"href":376,"dataGaName":377,"dataGaLocation":679},{"text":829,"config":830},"Public sector",{"href":382,"dataGaName":383,"dataGaLocation":679},{"text":832,"config":833},"Education",{"href":834,"dataGaName":835,"dataGaLocation":679},"/solutions/education/","education",{"text":837,"config":838},"Financial services",{"href":839,"dataGaName":840,"dataGaLocation":679},"/solutions/finance/","financial services",{"title":390,"links":842},[843,845,847,849,852,854,857,859,861,863,865,867,869,871],{"text":403,"config":844},{"href":405,"dataGaName":406,"dataGaLocation":679},{"text":408,"config":846},{"href":410,"dataGaName":411,"dataGaLocation":679},{"text":413,"config":848},{"href":415,"dataGaName":416,"dataGaLocation":679},{"text":418,"config":850},{"href":420,"dataGaName":851,"dataGaLocation":679},"docs",{"text":441,"config":853},{"href":443,"dataGaName":444,"dataGaLocation":679},{"text":855,"config":856},"What's new",{"href":501,"dataGaName":502,"dataGaLocation":679},{"text":436,"config":858},{"href":438,"dataGaName":439,"dataGaLocation":679},{"text":455,"config":860},{"href":457,"dataGaName":458,"dataGaLocation":679},{"text":463,"config":862},{"href":465,"dataGaName":466,"dataGaLocation":679},{"text":468,"config":864},{"href":470,"dataGaName":471,"dataGaLocation":679},{"text":473,"config":866},{"href":475,"dataGaName":476,"dataGaLocation":679},{"text":478,"config":868},{"href":480,"dataGaName":481,"dataGaLocation":679},{"text":483,"config":870},{"href":485,"dataGaName":486,"dataGaLocation":679},{"text":488,"config":872},{"href":490,"dataGaName":491,"dataGaLocation":679},{"title":504,"links":874},[875,877,879,881,883,885,889,894,896,898,900],{"text":512,"config":876},{"href":514,"dataGaName":506,"dataGaLocation":679},{"text":517,"config":878},{"href":519,"dataGaName":520,"dataGaLocation":679},{"text":525,"config":880},{"href":527,"dataGaName":528,"dataGaLocation":679},{"text":530,"config":882},{"href":532,"dataGaName":533,"dataGaLocation":679},{"text":535,"config":884},{"href":537,"dataGaName":538,"dataGaLocation":679},{"text":886,"config":887},"Sustainability",{"href":888,"dataGaName":886,"dataGaLocation":679},"/sustainability/",{"text":890,"config":891},"Diversity, inclusion and belonging (DIB)",{"href":892,"dataGaName":893,"dataGaLocation":679},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":540,"config":895},{"href":542,"dataGaName":543,"dataGaLocation":679},{"text":550,"config":897},{"href":552,"dataGaName":553,"dataGaLocation":679},{"text":555,"config":899},{"href":557,"dataGaName":558,"dataGaLocation":679},{"text":901,"config":902},"Modern Slavery Transparency Statement",{"href":903,"dataGaName":904,"dataGaLocation":679},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":906},[907,910,913],{"text":908,"config":909},"Terms",{"href":731,"dataGaName":732,"dataGaLocation":679},{"text":911,"config":912},"Cookies",{"dataGaName":741,"dataGaLocation":679,"id":742,"isOneTrustButton":223},{"text":914,"config":915},"Privacy",{"href":736,"dataGaName":737,"dataGaLocation":679},[917],{"id":918,"title":919,"body":209,"config":920,"content":922,"description":209,"extension":926,"meta":927,"navigation":223,"path":928,"seo":929,"stem":930,"__hash__":931},"blogAuthors/en-us/blog/authors/dmitriy-job.yml","Dmitriy Job",{"template":921},"BlogAuthor",{"name":7,"config":923},{"headshot":924,"ctfId":925},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","Dmitriy-Job","yml",{},"/en-us/blog/authors/dmitriy-job",{},"en-us/blog/authors/dmitriy-job","QJG82_gO7ly1Dr88PZgIr9LbI1P77Jyx8zO_dS4eW_0",[933,941,949],{"title":934,"description":935,"heroImage":936,"category":205,"date":937,"authors":938,"slug":940,"externalUrl":209},"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",[939],"John Coghlan","developer-relations-at-gitlab-what-weve-learned-since-our-start",{"title":942,"description":943,"heroImage":944,"category":205,"date":945,"authors":946,"slug":948,"externalUrl":209},"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",[947],"Darwin Sanoy","everyone-who-has-contributed",{"title":950,"description":951,"heroImage":952,"category":205,"date":953,"authors":954,"slug":956,"externalUrl":209},"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",[955],"Heather Simpson","the-many-routes-to-a-tech-career",{"promotions":958},[959,973,985,997],{"id":960,"categories":961,"header":963,"text":964,"button":965,"image":970},"ai-modernization",[962],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":966,"config":967},"Get your AI maturity score",{"href":968,"dataGaName":969,"dataGaLocation":444},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":971},{"src":972},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":974,"categories":975,"header":977,"text":964,"button":978,"image":982},"devops-modernization",[976,781],"product","Are you just managing tools or shipping innovation?",{"text":979,"config":980},"Get your DevOps maturity score",{"href":981,"dataGaName":969,"dataGaLocation":444},"/assessments/devops-modernization-assessment/",{"config":983},{"src":984},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":986,"categories":987,"header":989,"text":964,"button":990,"image":994},"security-modernization",[988],"security","Are you trading speed for security?",{"text":991,"config":992},"Get your security maturity score",{"href":993,"dataGaName":969,"dataGaLocation":444},"/assessments/security-modernization-assessment/",{"config":995},{"src":996},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":998,"paths":999,"header":1002,"text":1003,"button":1004,"image":1009},"github-azure-migration",[1000,1001],"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":1005,"config":1006},"See how GitLab compares to GitHub",{"href":1007,"dataGaName":1008,"dataGaLocation":444},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1010},{"src":984},{"header":1012,"blurb":1013,"button":1014,"secondaryButton":1019},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1015,"config":1016},"Get your free trial",{"href":1017,"dataGaName":243,"dataGaLocation":1018},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":717,"config":1020},{"href":569,"dataGaName":248,"dataGaLocation":1018},1786803773891]