[{"data":1,"prerenderedAt":941},["ShallowReactive",2],{"/en-us/blog/authors/emily-von-hoffmann":3,"navigation-en-us":21,"banner-en-us":431,"footer-en-us":441,"blog-author-posts-en-us-emily-von-hoffmann":683},{"id":4,"title":5,"body":6,"config":7,"content":9,"description":6,"extension":14,"meta":15,"navigation":16,"path":17,"seo":18,"stem":19,"__hash__":20},"blogAuthors/en-us/blog/authors/emily-von-hoffmann.yml","Emily Von Hoffmann",null,{"template":8},"BlogAuthor",{"name":10,"config":11},"Emily von Hoffmann",{"headshot":12,"ctfId":13},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","evhoffmann","yml",{},true,"/en-us/blog/authors/emily-von-hoffmann",{},"en-us/blog/authors/emily-von-hoffmann","zBEVnM69VnbjDNRxhqMvtqH47MYHt1wraGaN6nBYmAU",{"data":22},{"logo":23,"freeTrial":28,"sales":33,"login":38,"items":43,"search":351,"minimal":382,"duo":401,"switchNav":410,"pricingDeployment":421},{"config":24},{"href":25,"dataGaName":26,"dataGaLocation":27},"/","gitlab logo","header",{"text":29,"config":30},"Get free trial",{"href":31,"dataGaName":32,"dataGaLocation":27},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":34,"config":35},"Talk to sales",{"href":36,"dataGaName":37,"dataGaLocation":27},"/sales/","sales",{"text":39,"config":40},"Sign in",{"href":41,"dataGaName":42,"dataGaLocation":27},"https://gitlab.com/users/sign_in/","sign in",[44,71,166,171,272,332],{"text":45,"config":46,"cards":48},"Platform",{"dataNavLevelOne":47},"platform",[49,55,63],{"title":45,"description":50,"link":51},"The intelligent orchestration platform for DevSecOps",{"text":52,"config":53},"Explore our Platform",{"href":54,"dataGaName":47,"dataGaLocation":27},"/platform/",{"title":56,"description":57,"link":58},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":59,"config":60},"Meet GitLab Duo",{"href":61,"dataGaName":62,"dataGaLocation":27},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":64,"description":65,"link":66},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":67,"config":68},"Learn more",{"href":69,"dataGaName":70,"dataGaLocation":27},"/why-gitlab/","why gitlab",{"text":72,"left":16,"config":73,"link":75,"lists":79,"footer":148},"Product",{"dataNavLevelOne":74},"solutions",{"text":76,"config":77},"View all Solutions",{"href":78,"dataGaName":74,"dataGaLocation":27},"/solutions/",[80,104,127],{"title":81,"description":82,"link":83,"items":88},"Automation","CI/CD and automation to accelerate deployment",{"config":84},{"icon":85,"href":86,"dataGaName":87,"dataGaLocation":27},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[89,93,96,100],{"text":90,"config":91},"CI/CD",{"href":92,"dataGaLocation":27,"dataGaName":90},"/solutions/continuous-integration/",{"text":56,"config":94},{"href":61,"dataGaLocation":27,"dataGaName":95},"gitlab duo agent platform - product menu",{"text":97,"config":98},"Source Code Management",{"href":99,"dataGaLocation":27,"dataGaName":97},"/solutions/source-code-management/",{"text":101,"config":102},"Automated Software Delivery",{"href":86,"dataGaLocation":27,"dataGaName":103},"Automated software delivery",{"title":105,"description":106,"link":107,"items":112},"Security","Deliver code faster without compromising security",{"config":108},{"href":109,"dataGaName":110,"dataGaLocation":27,"icon":111},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[113,117,122],{"text":114,"config":115},"Application Security Testing",{"href":109,"dataGaName":116,"dataGaLocation":27},"Application security testing",{"text":118,"config":119},"Software Supply Chain Security",{"href":120,"dataGaLocation":27,"dataGaName":121},"/solutions/supply-chain/","Software supply chain security",{"text":123,"config":124},"Software Compliance",{"href":125,"dataGaName":126,"dataGaLocation":27},"/solutions/software-compliance/","software compliance",{"title":128,"link":129,"items":134},"Measurement",{"config":130},{"icon":131,"href":132,"dataGaName":133,"dataGaLocation":27},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[135,139,143],{"text":136,"config":137},"Visibility & Measurement",{"href":132,"dataGaLocation":27,"dataGaName":138},"Visibility and Measurement",{"text":140,"config":141},"Value Stream Management",{"href":142,"dataGaLocation":27,"dataGaName":140},"/solutions/value-stream-management/",{"text":144,"config":145},"Analytics & Insights",{"href":146,"dataGaLocation":27,"dataGaName":147},"/solutions/analytics-and-insights/","Analytics and insights",{"title":149,"items":150},"GitLab for",[151,156,161],{"text":152,"config":153},"Enterprise",{"href":154,"dataGaLocation":27,"dataGaName":155},"/enterprise/","enterprise",{"text":157,"config":158},"Small Business",{"href":159,"dataGaLocation":27,"dataGaName":160},"/small-business/","small business",{"text":162,"config":163},"Public Sector",{"href":164,"dataGaLocation":27,"dataGaName":165},"/solutions/public-sector/","public sector",{"text":167,"config":168},"Pricing",{"href":169,"dataGaName":170,"dataGaLocation":27,"dataNavLevelOne":170},"/pricing/","pricing",{"text":172,"config":173,"link":175,"lists":179,"feature":259},"Resources",{"dataNavLevelOne":174},"resources",{"text":176,"config":177},"View all resources",{"href":178,"dataGaName":174,"dataGaLocation":27},"/resources/",[180,213,231],{"title":181,"items":182},"Getting started",[183,188,193,198,203,208],{"text":184,"config":185},"Install",{"href":186,"dataGaName":187,"dataGaLocation":27},"/install/","install",{"text":189,"config":190},"Quick start guides",{"href":191,"dataGaName":192,"dataGaLocation":27},"/get-started/","quick setup checklists",{"text":194,"config":195},"Learn",{"href":196,"dataGaLocation":27,"dataGaName":197},"https://university.gitlab.com/","learn",{"text":199,"config":200},"Product documentation",{"href":201,"dataGaName":202,"dataGaLocation":27},"https://docs.gitlab.com/","product documentation",{"text":204,"config":205},"Best practice videos",{"href":206,"dataGaName":207,"dataGaLocation":27},"/getting-started-videos/","best practice videos",{"text":209,"config":210},"Integrations",{"href":211,"dataGaName":212,"dataGaLocation":27},"/integrations/","integrations",{"title":214,"items":215},"Discover",[216,221,226],{"text":217,"config":218},"Customer success stories",{"href":219,"dataGaName":220,"dataGaLocation":27},"/customers/","customer success stories",{"text":222,"config":223},"Blog",{"href":224,"dataGaName":225,"dataGaLocation":27},"/blog/","blog",{"text":227,"config":228},"Remote",{"href":229,"dataGaName":230,"dataGaLocation":27},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":232,"items":233},"Connect",[234,239,244,249,254],{"text":235,"config":236},"GitLab Services",{"href":237,"dataGaName":238,"dataGaLocation":27},"/services/","services",{"text":240,"config":241},"Community",{"href":242,"dataGaName":243,"dataGaLocation":27},"/community/","community",{"text":245,"config":246},"Forum",{"href":247,"dataGaName":248,"dataGaLocation":27},"https://forum.gitlab.com/","forum",{"text":250,"config":251},"Events",{"href":252,"dataGaName":253,"dataGaLocation":27},"/events/","events",{"text":255,"config":256},"Partners",{"href":257,"dataGaName":258,"dataGaLocation":27},"/partners/","partners",{"backgroundColor":260,"textColor":261,"text":262,"image":263,"link":267},"#2f2a6b","#fff","Insights for the future of software development",{"altText":264,"config":265},"the source promo card",{"src":266},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":268,"config":269},"Read the latest",{"href":270,"dataGaName":271,"dataGaLocation":27},"/the-source/","the source",{"text":273,"config":274,"lists":276},"Company",{"dataNavLevelOne":275},"company",[277],{"items":278},[279,284,290,292,297,302,307,312,317,322,327],{"text":280,"config":281},"About",{"href":282,"dataGaName":283,"dataGaLocation":27},"/company/","about",{"text":285,"config":286,"footerGa":289},"Jobs",{"href":287,"dataGaName":288,"dataGaLocation":27},"/jobs/","jobs",{"dataGaName":288},{"text":250,"config":291},{"href":252,"dataGaName":253,"dataGaLocation":27},{"text":293,"config":294},"Leadership",{"href":295,"dataGaName":296,"dataGaLocation":27},"/company/team/e-group/","leadership",{"text":298,"config":299},"Team",{"href":300,"dataGaName":301,"dataGaLocation":27},"/company/team/","team",{"text":303,"config":304},"Handbook",{"href":305,"dataGaName":306,"dataGaLocation":27},"https://handbook.gitlab.com/","handbook",{"text":308,"config":309},"Investor relations",{"href":310,"dataGaName":311,"dataGaLocation":27},"https://ir.gitlab.com/","investor relations",{"text":313,"config":314},"Trust Center",{"href":315,"dataGaName":316,"dataGaLocation":27},"/security/","trust center",{"text":318,"config":319},"AI Transparency Center",{"href":320,"dataGaName":321,"dataGaLocation":27},"/ai-transparency-center/","ai transparency center",{"text":323,"config":324},"Newsletter",{"href":325,"dataGaName":326,"dataGaLocation":27},"/company/contact/#contact-forms","newsletter",{"text":328,"config":329},"Press",{"href":330,"dataGaName":331,"dataGaLocation":27},"/press/","press",{"text":333,"config":334,"lists":335},"Contact us",{"dataNavLevelOne":275},[336],{"items":337},[338,341,346],{"text":34,"config":339},{"href":36,"dataGaName":340,"dataGaLocation":27},"talk to sales",{"text":342,"config":343},"Support portal",{"href":344,"dataGaName":345,"dataGaLocation":27},"https://support.gitlab.com","support portal",{"text":347,"config":348},"Customer portal",{"href":349,"dataGaName":350,"dataGaLocation":27},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":352,"login":353,"suggestions":360},"Close",{"text":354,"link":355},"To search repositories and projects, login to",{"text":356,"config":357},"gitlab.com",{"href":41,"dataGaName":358,"dataGaLocation":359},"search login","search",{"text":361,"default":362},"Suggestions",[363,365,369,371,375,379],{"text":56,"config":364},{"href":61,"dataGaName":56,"dataGaLocation":359},{"text":366,"config":367},"Code Suggestions (AI)",{"href":368,"dataGaName":366,"dataGaLocation":359},"/solutions/code-suggestions/",{"text":90,"config":370},{"href":92,"dataGaName":90,"dataGaLocation":359},{"text":372,"config":373},"GitLab on AWS",{"href":374,"dataGaName":372,"dataGaLocation":359},"/partners/technology-partners/aws/",{"text":376,"config":377},"GitLab on Google Cloud",{"href":378,"dataGaName":376,"dataGaLocation":359},"/partners/technology-partners/google-cloud-platform/",{"text":380,"config":381},"Why GitLab?",{"href":69,"dataGaName":380,"dataGaLocation":359},{"freeTrial":383,"mobileIcon":388,"desktopIcon":393,"secondaryButton":396},{"text":384,"config":385},"Start free trial",{"href":386,"dataGaName":32,"dataGaLocation":387},"https://gitlab.com/-/trials/new/","nav",{"altText":389,"config":390},"Gitlab Icon",{"src":391,"dataGaName":392,"dataGaLocation":387},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":389,"config":394},{"src":395,"dataGaName":392,"dataGaLocation":387},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":397,"config":398},"Get Started",{"href":399,"dataGaName":400,"dataGaLocation":387},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":402,"mobileIcon":406,"desktopIcon":408},{"text":403,"config":404},"Learn more about GitLab Duo",{"href":61,"dataGaName":405,"dataGaLocation":387},"gitlab duo",{"altText":389,"config":407},{"src":391,"dataGaName":392,"dataGaLocation":387},{"altText":389,"config":409},{"src":395,"dataGaName":392,"dataGaLocation":387},{"button":411,"mobileIcon":416,"desktopIcon":418},{"text":412,"config":413},"/switch",{"href":414,"dataGaName":415,"dataGaLocation":387},"#contact","switch",{"altText":389,"config":417},{"src":391,"dataGaName":392,"dataGaLocation":387},{"altText":389,"config":419},{"src":420,"dataGaName":392,"dataGaLocation":387},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":422,"mobileIcon":427,"desktopIcon":429},{"text":423,"config":424},"Back to pricing",{"href":169,"dataGaName":425,"dataGaLocation":387,"icon":426},"back to pricing","GoBack",{"altText":389,"config":428},{"src":391,"dataGaName":392,"dataGaLocation":387},{"altText":389,"config":430},{"src":395,"dataGaName":392,"dataGaLocation":387},{"title":432,"button":433,"config":438},"See how agentic AI transforms software delivery",{"text":434,"config":435},"Watch GitLab Transcend now",{"href":436,"dataGaName":437,"dataGaLocation":27},"/events/transcend/virtual/","transcend event",{"layout":439,"icon":440,"disabled":16},"release","AiStar",{"data":442},{"text":443,"source":444,"edit":450,"contribute":455,"config":460,"items":465,"minimal":672},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":445,"config":446},"View page source",{"href":447,"dataGaName":448,"dataGaLocation":449},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":451,"config":452},"Edit this page",{"href":453,"dataGaName":454,"dataGaLocation":449},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":456,"config":457},"Please contribute",{"href":458,"dataGaName":459,"dataGaLocation":449},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":461,"facebook":462,"youtube":463,"linkedin":464},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[466,513,567,611,638],{"title":167,"links":467,"subMenu":482},[468,472,477],{"text":469,"config":470},"View plans",{"href":169,"dataGaName":471,"dataGaLocation":449},"view plans",{"text":473,"config":474},"Why Premium?",{"href":475,"dataGaName":476,"dataGaLocation":449},"/pricing/premium/","why premium",{"text":478,"config":479},"Why Ultimate?",{"href":480,"dataGaName":481,"dataGaLocation":449},"/pricing/ultimate/","why ultimate",[483],{"title":484,"links":485},"Contact Us",[486,489,491,493,498,503,508],{"text":487,"config":488},"Contact sales",{"href":36,"dataGaName":37,"dataGaLocation":449},{"text":342,"config":490},{"href":344,"dataGaName":345,"dataGaLocation":449},{"text":347,"config":492},{"href":349,"dataGaName":350,"dataGaLocation":449},{"text":494,"config":495},"Status",{"href":496,"dataGaName":497,"dataGaLocation":449},"https://status.gitlab.com/","status",{"text":499,"config":500},"Terms of use",{"href":501,"dataGaName":502,"dataGaLocation":449},"/terms/","terms of use",{"text":504,"config":505},"Privacy statement",{"href":506,"dataGaName":507,"dataGaLocation":449},"/privacy/","privacy statement",{"text":509,"config":510},"Cookie preferences",{"dataGaName":511,"dataGaLocation":449,"id":512,"isOneTrustButton":16},"cookie preferences","ot-sdk-btn",{"title":72,"links":514,"subMenu":523},[515,519],{"text":516,"config":517},"DevSecOps platform",{"href":54,"dataGaName":518,"dataGaLocation":449},"devsecops platform",{"text":520,"config":521},"AI-Assisted Development",{"href":61,"dataGaName":522,"dataGaLocation":449},"ai-assisted development",[524],{"title":525,"links":526},"Topics",[527,532,537,542,547,552,557,562],{"text":528,"config":529},"CICD",{"href":530,"dataGaName":531,"dataGaLocation":449},"/topics/ci-cd/","cicd",{"text":533,"config":534},"GitOps",{"href":535,"dataGaName":536,"dataGaLocation":449},"/topics/gitops/","gitops",{"text":538,"config":539},"DevOps",{"href":540,"dataGaName":541,"dataGaLocation":449},"/topics/devops/","devops",{"text":543,"config":544},"Version Control",{"href":545,"dataGaName":546,"dataGaLocation":449},"/topics/version-control/","version control",{"text":548,"config":549},"DevSecOps",{"href":550,"dataGaName":551,"dataGaLocation":449},"/topics/devsecops/","devsecops",{"text":553,"config":554},"Cloud Native",{"href":555,"dataGaName":556,"dataGaLocation":449},"/topics/cloud-native/","cloud native",{"text":558,"config":559},"AI for Coding",{"href":560,"dataGaName":561,"dataGaLocation":449},"/topics/devops/ai-for-coding/","ai for coding",{"text":563,"config":564},"Agentic AI",{"href":565,"dataGaName":566,"dataGaLocation":449},"/topics/agentic-ai/","agentic ai",{"title":568,"links":569},"Solutions",[570,572,574,579,583,586,590,593,595,598,601,606],{"text":114,"config":571},{"href":109,"dataGaName":114,"dataGaLocation":449},{"text":103,"config":573},{"href":86,"dataGaName":87,"dataGaLocation":449},{"text":575,"config":576},"Agile development",{"href":577,"dataGaName":578,"dataGaLocation":449},"/solutions/agile-delivery/","agile delivery",{"text":580,"config":581},"SCM",{"href":99,"dataGaName":582,"dataGaLocation":449},"source code management",{"text":528,"config":584},{"href":92,"dataGaName":585,"dataGaLocation":449},"continuous integration & delivery",{"text":587,"config":588},"Value stream management",{"href":142,"dataGaName":589,"dataGaLocation":449},"value stream management",{"text":533,"config":591},{"href":592,"dataGaName":536,"dataGaLocation":449},"/solutions/gitops/",{"text":152,"config":594},{"href":154,"dataGaName":155,"dataGaLocation":449},{"text":596,"config":597},"Small business",{"href":159,"dataGaName":160,"dataGaLocation":449},{"text":599,"config":600},"Public sector",{"href":164,"dataGaName":165,"dataGaLocation":449},{"text":602,"config":603},"Education",{"href":604,"dataGaName":605,"dataGaLocation":449},"/solutions/education/","education",{"text":607,"config":608},"Financial services",{"href":609,"dataGaName":610,"dataGaLocation":449},"/solutions/finance/","financial services",{"title":172,"links":612},[613,615,617,619,622,624,626,628,630,632,634,636],{"text":184,"config":614},{"href":186,"dataGaName":187,"dataGaLocation":449},{"text":189,"config":616},{"href":191,"dataGaName":192,"dataGaLocation":449},{"text":194,"config":618},{"href":196,"dataGaName":197,"dataGaLocation":449},{"text":199,"config":620},{"href":201,"dataGaName":621,"dataGaLocation":449},"docs",{"text":222,"config":623},{"href":224,"dataGaName":225,"dataGaLocation":449},{"text":217,"config":625},{"href":219,"dataGaName":220,"dataGaLocation":449},{"text":227,"config":627},{"href":229,"dataGaName":230,"dataGaLocation":449},{"text":235,"config":629},{"href":237,"dataGaName":238,"dataGaLocation":449},{"text":240,"config":631},{"href":242,"dataGaName":243,"dataGaLocation":449},{"text":245,"config":633},{"href":247,"dataGaName":248,"dataGaLocation":449},{"text":250,"config":635},{"href":252,"dataGaName":253,"dataGaLocation":449},{"text":255,"config":637},{"href":257,"dataGaName":258,"dataGaLocation":449},{"title":273,"links":639},[640,642,644,646,648,650,652,656,661,663,665,667],{"text":280,"config":641},{"href":282,"dataGaName":275,"dataGaLocation":449},{"text":285,"config":643},{"href":287,"dataGaName":288,"dataGaLocation":449},{"text":293,"config":645},{"href":295,"dataGaName":296,"dataGaLocation":449},{"text":298,"config":647},{"href":300,"dataGaName":301,"dataGaLocation":449},{"text":303,"config":649},{"href":305,"dataGaName":306,"dataGaLocation":449},{"text":308,"config":651},{"href":310,"dataGaName":311,"dataGaLocation":449},{"text":653,"config":654},"Sustainability",{"href":655,"dataGaName":653,"dataGaLocation":449},"/sustainability/",{"text":657,"config":658},"Diversity, inclusion and belonging (DIB)",{"href":659,"dataGaName":660,"dataGaLocation":449},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":313,"config":662},{"href":315,"dataGaName":316,"dataGaLocation":449},{"text":323,"config":664},{"href":325,"dataGaName":326,"dataGaLocation":449},{"text":328,"config":666},{"href":330,"dataGaName":331,"dataGaLocation":449},{"text":668,"config":669},"Modern Slavery Transparency Statement",{"href":670,"dataGaName":671,"dataGaLocation":449},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":673},[674,677,680],{"text":675,"config":676},"Terms",{"href":501,"dataGaName":502,"dataGaLocation":449},{"text":678,"config":679},"Cookies",{"dataGaName":511,"dataGaLocation":449,"id":512,"isOneTrustButton":16},{"text":681,"config":682},"Privacy",{"href":506,"dataGaName":507,"dataGaLocation":449},[684,694,703,713,723,733,743,752,761,770,779,789,798,807,816,825,834,843,852,861,870,879,888,897,906,915,923,932],{"content":685,"config":692},{"title":686,"heroImage":687,"category":688,"description":689,"authors":690,"date":691},"A tale of two file editors","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668339/Blog/Hero%20Images/a-tale-of-two-editors.jpg","insights","How UX Research revealed unexpected patterns in how people use two GitLab file editors: the single-file editor and the Web IDE.",[10],"2020-09-01",{"slug":693,"externalUrl":-1},"a-tale-of-two-editors",{"content":695,"config":701},{"title":696,"heroImage":697,"category":275,"description":698,"authors":699,"date":700},"How you can help shape the future of securing applications with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668495/Blog/Hero%20Images/how-you-can-help-shape-the-future-of-securing-applications-at-gitlab.jpg","We want to provide the best experience in keeping your application safe after your code is in production.",[10],"2019-11-14",{"slug":702,"externalUrl":-1},"how-you-can-help-shape-the-future-of-securing-applications-at-gitlab",{"content":704,"config":711},{"title":705,"heroImage":706,"category":707,"description":708,"authors":709,"date":710},"5 Things we learned from you in recent UX research","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680847/Blog/Hero%20Images/seven-things-we-learned-from-you-in-recent-ux-research.jpg","unfiltered","How you use Snippets, whether to rename Auto DevOps, how to improve our billing process, and more.",[10],"2019-10-21",{"slug":712,"externalUrl":-1},"five-things-we-learned-from-you-in-recent-ux-research",{"content":714,"config":721},{"title":715,"heroImage":716,"category":717,"description":718,"authors":719,"date":720},"How do you contribute?","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679742/Blog/Hero%20Images/contribute-social-cover.png","open-source","Your contribution graph captures a moment in time like few things can, and we want to celebrate it.",[10],"2019-05-07",{"slug":722,"externalUrl":-1},"how-do-you-contribute",{"content":724,"config":731},{"title":725,"heroImage":726,"category":275,"description":727,"authors":728,"date":730},"2018: GitLab's year in review","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670162/Blog/Hero%20Images/happy-holidays-cover.png","Take a look at the highlight reel from 2018 – from landing $100M in funding to welcoming a host of great open source projects to GitLab.",[10,729],"Rebecca Dodd","2019-01-10",{"slug":732,"externalUrl":-1},"gitlab-2018-year-in-review",{"content":734,"config":741},{"title":735,"heroImage":736,"category":737,"description":738,"authors":739,"date":740},"We restructured to allow better cross-functional collaboration — here's how it's going.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678839/Blog/Hero%20Images/inside-look-at-new-cross-functional-teams-at-gitlab.jpg","engineering","Implementing a new structure sounds like a big change, but our Configure group is here to give you the scoop.",[10],"2018-12-13",{"slug":742,"externalUrl":-1},"configure-post",{"content":744,"config":750},{"title":745,"heroImage":746,"category":275,"description":747,"authors":748,"date":749},"How do we handle engineering-led issues that don't belong to one team?","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678916/Blog/Hero%20Images/how-do-we-handle-engineering-led-initiatives.jpg","A recent issue sparked a lively discussion between engineering and product leadership about how 'cross-vertical' issues should be prioritized to avoid the bystander effect.",[10],"2018-10-30",{"slug":751,"externalUrl":-1},"how-do-we-handle-engineering-led-initiatives-that-dont-belong-to-one-team",{"content":753,"config":759},{"title":754,"heroImage":755,"category":737,"description":756,"authors":757,"date":758},"Why you should join the GitLab security team","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668486/Blog/Hero%20Images/why-you-should-join-the-gitlab-security-team.jpg","Meet Director of Security Kathy Wang for a look inside our remote (and growing!) security team.",[10],"2018-08-09",{"slug":760,"externalUrl":-1},"why-you-should-join-the-gitlab-security-team",{"content":762,"config":768},{"title":763,"heroImage":764,"category":688,"description":765,"authors":766,"date":767},"How do developers and managers feel about their jobs?","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663753/Blog/Hero%20Images/managers-more-optimistic-than-developers.jpg","How do you assess job satisfaction? Here's a look inside the findings and methods of our Global Developer Report.",[10],"2018-03-20",{"slug":769,"externalUrl":-1},"managers-more-optimistic-than-developers",{"content":771,"config":777},{"title":772,"heroImage":773,"category":275,"description":774,"authors":775,"date":776},"We're coming to you live from Crete, at the GitLab Summit!","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680330/Blog/Hero%20Images/greece-summit-2017.png","Read on for all the events you can watch and participate in.",[10],"2017-10-17",{"slug":778,"externalUrl":-1},"watch-the-gitlab-summit-from-your-desk",{"content":780,"config":787},{"title":781,"heroImage":782,"category":783,"description":784,"authors":785,"date":786},"Why your code review process is broken, and how to fix it","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679775/Blog/Hero%20Images/why-your-code-review-process-is-broken-and-how-to-fix-it.jpg","culture","What do you do when you follow your code review process, and you’re still rudely greeted by code full of bugs, or a flood of user complaints?",[10],"2017-07-25",{"slug":788,"externalUrl":-1},"why-your-code-review-process-is-broken-and-how-to-fix-it",{"content":790,"config":796},{"title":791,"heroImage":792,"category":688,"description":793,"authors":794,"date":795},"Why Git is worth the learning curve","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684078/Blog/Hero%20Images/why-git-is-worth-the-learning-curve.jpg","Although the learning curve can pose a challenge, teams have a real incentive to transition to Git.",[10],"2017-05-17",{"slug":797,"externalUrl":-1},"learning-curve-is-the-biggest-challenge-developers-face-with-git",{"content":799,"config":805},{"title":800,"heroImage":801,"category":783,"description":802,"authors":803,"date":804},"Inside GitLab’s code review flow","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667591/Blog/Hero%20Images/code-review-blog.jpg","We keep a quality-conscious mindset throughout the development process, sharing the responsibility among everyone instead of seeing review as an obstacle at the end.",[10],"2017-05-02",{"slug":806,"externalUrl":-1},"inside-gitlabs-code-review-flow",{"content":808,"config":814},{"title":809,"heroImage":810,"category":737,"description":811,"authors":812,"date":813},"Demo - Mapping work versus time, with burndown charts","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666633/Blog/Hero%20Images/gitlab-2016-in-review-cover.png","Our Frontend Lead Jacob Schatz explains how managers and ICs can benefit from our burndown chart feature, released in GitLab 9.1.",[10],"2017-04-25",{"slug":815,"externalUrl":-1},"mapping-work-to-do-versus-time-with-burndown-charts",{"content":817,"config":823},{"title":818,"heroImage":819,"category":688,"description":820,"authors":821,"date":822},"How innersourcing can help your security team","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749676117/Blog/Hero%20Images/data.png","Security is a major concern during the development process — innersourcing can help.",[10],"2017-04-19",{"slug":824,"externalUrl":-1},"how-innersourcing-can-help-your-security-team",{"content":826,"config":832},{"title":827,"heroImage":828,"category":783,"description":829,"authors":830,"date":831},"Demo: Mastering code review with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670664/Blog/Hero%20Images/code.png","Code review shouldn't be a burden, it should make your team better and faster so you can keep delivering new features on time.",[10],"2017-03-17",{"slug":833,"externalUrl":-1},"demo-mastering-code-review-with-gitlab",{"content":835,"config":841},{"title":836,"heroImage":837,"category":783,"description":838,"authors":839,"date":840},"GitLab & Buffer CEOs talk transparency at scale","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749683999/Blog/Hero%20Images/ee-products-hero-image.jpg","The two transparency advocates recently met to talk about openness in business, what they keep confidential, and some things they've learned as their companies grow.",[10],"2017-03-14",{"slug":842,"externalUrl":-1},"buffer-and-gitlab-ceos-talk-transparency",{"content":844,"config":850},{"title":845,"heroImage":846,"category":688,"description":847,"authors":848,"date":849},"The secret to developer happiness? Use better tools","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668402/Blog/Hero%20Images/code-gitlab-tanuki.png","The way developers work has changed, and they’re opting to leave behind outdated tools.",[10],"2017-02-27",{"slug":851,"externalUrl":-1},"developers-crave-modern-tools",{"content":853,"config":859},{"title":854,"heroImage":855,"category":737,"description":856,"authors":857,"date":858},"Designing for the modern developer","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749683970/Blog/Hero%20Images/designing-for-the-modern-developer.jpg","Recap and recording from our recent webcast featuring the GitLab user experience (UX) team",[10],"2017-01-24",{"slug":860,"externalUrl":-1},"designing-for-the-modern-developer-recap",{"content":862,"config":868},{"title":863,"heroImage":864,"category":783,"description":865,"authors":866,"date":867},"How to keep remote (volunteer) teams engaged","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670694/Blog/Hero%20Images/how-to-keep-remote-teams-engaged-cover.jpg","Our Director of Strategic Partnerships chats about remote engagement challenges at a charity that encourages kids to get interested in space, finding interesting parallels with open source projects.",[10],"2016-12-21",{"slug":869,"externalUrl":-1},"how-to-keep-remote-teams-engaged",{"content":871,"config":877},{"title":872,"heroImage":873,"category":737,"description":874,"authors":875,"date":876},"Customer story: A creative agency's GitLab wishlist","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670681/Blog/Hero%20Images/a-creative-agencys-gitlab-wishlist.jpg","A Lukkien developer shares his team's challenges with Git and GitLab for their UX designs, and requests a few tweaks they'd find useful.",[10],"2016-12-15",{"slug":878,"externalUrl":-1},"a-creative-agencys-gitlab-wishlist",{"content":880,"config":886},{"title":881,"heroImage":882,"category":275,"description":883,"authors":884,"date":885},"GitLab at DOES San Francisco 2016","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670702/Blog/Hero%20Images/party.jpg","We're the new kids on the block in the Git space. Here are some other things about us you should know, in a segment of DevOpsTV.",[10],"2016-12-06",{"slug":887,"externalUrl":-1},"gitlab-at-does-2016",{"content":889,"config":895},{"title":890,"heroImage":891,"category":717,"description":892,"authors":893,"date":894},"Customer Story: Why Vaadin chose GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670710/Blog/Hero%20Images/why-vaadin-chose-gitlab-cover.png","Vaadin needed a new solution after their multiple platforms began costing too much time and frustration.",[10],"2016-12-05",{"slug":896,"externalUrl":-1},"why-vaadin-chose-gitlab",{"content":898,"config":904},{"title":899,"heroImage":900,"category":737,"description":901,"authors":902,"date":903},"'GitLab is a slam dunk': One team lead weighs his options","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663798/Blog/Hero%20Images/gitlab-is-a-slam-dunk.jpg","Developer Warren Postma shares his opinions on VCS, after years of trying out all the alternatives.",[10],"2016-11-27",{"slug":905,"externalUrl":-1},"gitlab-is-a-slam-dunk",{"content":907,"config":913},{"title":908,"heroImage":909,"category":275,"description":910,"authors":911,"date":912},"Customer Story: GitLab adoption growing at CERN","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670719/Blog/Hero%20Images/cern.jpg","CERN, the European Organization for Nuclear Research, is increasingly using GitLab to host software projects and code for configuration management.",[10],"2016-11-23",{"slug":914,"externalUrl":-1},"gitlab-adoption-growing-at-cern",{"content":916,"config":921},{"title":917,"heroImage":918,"category":717,"description":919,"authors":920,"date":912},"How to build a strong developer community","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670726/Blog/Hero%20Images/how-to-build-a-strong-developer-community.jpg","Our developer advocate Amanda Folson shares some community building tips with Jasmine Anteunis, co-founder of startup Recast.ai",[10],{"slug":922,"externalUrl":-1},"how-to-build-a-strong-dev-community",{"content":924,"config":930},{"title":925,"heroImage":926,"category":275,"description":927,"authors":928,"date":929},"Customer Story: Data startup Cognitive Logic talks migrating to GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670658/Blog/Hero%20Images/data-startup-cognitive-logic-talks-migrating-to-gitlab.jpg","Data analytics startup Cognitive Logic helps companies store, share, and examine consumer information without compromising security.",[10],"2016-11-22",{"slug":931,"externalUrl":-1},"cognitive-logic-talks-migrating-to-gitlab",{"content":933,"config":939},{"title":934,"heroImage":935,"category":783,"description":936,"authors":937,"date":938},"3 things I learned in my first month at GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663743/Blog/Hero%20Images/three-things-i-learned-in-my-first-month-at-gitlab.jpg","Adapting to life at GitLab--marketing edition!",[10],"2016-11-02",{"slug":940,"externalUrl":-1},"three-things-i-learned-in-my-first-month-at-gitlab",1777302620947]