[{"data":1,"prerenderedAt":942},["ShallowReactive",2],{"/en-us/blog/authors/emily-von-hoffmann":3,"navigation-en-us":21,"banner-en-us":432,"footer-en-us":442,"blog-author-posts-en-us-emily-von-hoffmann":684},{"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":352,"minimal":383,"duo":402,"switchNav":411,"pricingDeployment":422},{"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,273,333],{"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":264},"Resources",{"dataNavLevelOne":174},"resources",{"text":176,"config":177},"View all resources",{"href":178,"dataGaName":174,"dataGaLocation":27},"/resources/",[180,213,236],{"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,231],{"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},"The Source",{"href":229,"dataGaName":230,"dataGaLocation":27},"/the-source/","the source",{"text":232,"config":233},"Remote",{"href":234,"dataGaName":235,"dataGaLocation":27},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":237,"items":238},"Connect",[239,244,249,254,259],{"text":240,"config":241},"GitLab Services",{"href":242,"dataGaName":243,"dataGaLocation":27},"/services/","services",{"text":245,"config":246},"Community",{"href":247,"dataGaName":248,"dataGaLocation":27},"/community/","community",{"text":250,"config":251},"Forum",{"href":252,"dataGaName":253,"dataGaLocation":27},"https://forum.gitlab.com/","forum",{"text":255,"config":256},"Events",{"href":257,"dataGaName":258,"dataGaLocation":27},"/events/","events",{"text":260,"config":261},"Partners",{"href":262,"dataGaName":263,"dataGaLocation":27},"/partners/","partners",{"textColor":265,"title":266,"text":267,"link":268},"#000","What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":269,"config":270},"Read the latest",{"href":271,"dataGaName":272,"dataGaLocation":27},"/releases/whats-new/","whats new",{"text":274,"config":275,"lists":277},"Company",{"dataNavLevelOne":276},"company",[278],{"items":279},[280,285,291,293,298,303,308,313,318,323,328],{"text":281,"config":282},"About",{"href":283,"dataGaName":284,"dataGaLocation":27},"/company/","about",{"text":286,"config":287,"footerGa":290},"Jobs",{"href":288,"dataGaName":289,"dataGaLocation":27},"/jobs/","jobs",{"dataGaName":289},{"text":255,"config":292},{"href":257,"dataGaName":258,"dataGaLocation":27},{"text":294,"config":295},"Leadership",{"href":296,"dataGaName":297,"dataGaLocation":27},"/company/team/e-group/","leadership",{"text":299,"config":300},"Team",{"href":301,"dataGaName":302,"dataGaLocation":27},"/company/team/","team",{"text":304,"config":305},"Handbook",{"href":306,"dataGaName":307,"dataGaLocation":27},"https://handbook.gitlab.com/","handbook",{"text":309,"config":310},"Investor relations",{"href":311,"dataGaName":312,"dataGaLocation":27},"https://ir.gitlab.com/","investor relations",{"text":314,"config":315},"Trust Center",{"href":316,"dataGaName":317,"dataGaLocation":27},"/security/","trust center",{"text":319,"config":320},"AI Transparency Center",{"href":321,"dataGaName":322,"dataGaLocation":27},"/ai-transparency-center/","ai transparency center",{"text":324,"config":325},"Newsletter",{"href":326,"dataGaName":327,"dataGaLocation":27},"/company/contact/#contact-forms","newsletter",{"text":329,"config":330},"Press",{"href":331,"dataGaName":332,"dataGaLocation":27},"/press/","press",{"text":334,"config":335,"lists":336},"Contact us",{"dataNavLevelOne":276},[337],{"items":338},[339,342,347],{"text":34,"config":340},{"href":36,"dataGaName":341,"dataGaLocation":27},"talk to sales",{"text":343,"config":344},"Support portal",{"href":345,"dataGaName":346,"dataGaLocation":27},"https://support.gitlab.com","support portal",{"text":348,"config":349},"Customer portal",{"href":350,"dataGaName":351,"dataGaLocation":27},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":353,"login":354,"suggestions":361},"Close",{"text":355,"link":356},"To search repositories and projects, login to",{"text":357,"config":358},"gitlab.com",{"href":41,"dataGaName":359,"dataGaLocation":360},"search login","search",{"text":362,"default":363},"Suggestions",[364,366,370,372,376,380],{"text":56,"config":365},{"href":61,"dataGaName":56,"dataGaLocation":360},{"text":367,"config":368},"Code Suggestions (AI)",{"href":369,"dataGaName":367,"dataGaLocation":360},"/solutions/code-suggestions/",{"text":90,"config":371},{"href":92,"dataGaName":90,"dataGaLocation":360},{"text":373,"config":374},"GitLab on AWS",{"href":375,"dataGaName":373,"dataGaLocation":360},"/partners/technology-partners/aws/",{"text":377,"config":378},"GitLab on Google Cloud",{"href":379,"dataGaName":377,"dataGaLocation":360},"/partners/technology-partners/google-cloud-platform/",{"text":381,"config":382},"Why GitLab?",{"href":69,"dataGaName":381,"dataGaLocation":360},{"freeTrial":384,"mobileIcon":389,"desktopIcon":394,"secondaryButton":397},{"text":385,"config":386},"Start free trial",{"href":387,"dataGaName":32,"dataGaLocation":388},"https://gitlab.com/-/trials/new/","nav",{"altText":390,"config":391},"Gitlab Icon",{"src":392,"dataGaName":393,"dataGaLocation":388},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":390,"config":395},{"src":396,"dataGaName":393,"dataGaLocation":388},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":398,"config":399},"Get Started",{"href":400,"dataGaName":401,"dataGaLocation":388},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":403,"mobileIcon":407,"desktopIcon":409},{"text":404,"config":405},"Learn more about GitLab Duo",{"href":61,"dataGaName":406,"dataGaLocation":388},"gitlab duo",{"altText":390,"config":408},{"src":392,"dataGaName":393,"dataGaLocation":388},{"altText":390,"config":410},{"src":396,"dataGaName":393,"dataGaLocation":388},{"button":412,"mobileIcon":417,"desktopIcon":419},{"text":413,"config":414},"/switch",{"href":415,"dataGaName":416,"dataGaLocation":388},"#contact","switch",{"altText":390,"config":418},{"src":392,"dataGaName":393,"dataGaLocation":388},{"altText":390,"config":420},{"src":421,"dataGaName":393,"dataGaLocation":388},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":423,"mobileIcon":428,"desktopIcon":430},{"text":424,"config":425},"Back to pricing",{"href":169,"dataGaName":426,"dataGaLocation":388,"icon":427},"back to pricing","GoBack",{"altText":390,"config":429},{"src":392,"dataGaName":393,"dataGaLocation":388},{"altText":390,"config":431},{"src":396,"dataGaName":393,"dataGaLocation":388},{"title":433,"button":434,"config":439},"See how agentic AI transforms software delivery",{"text":435,"config":436},"Watch GitLab Transcend now",{"href":437,"dataGaName":438,"dataGaLocation":27},"/events/transcend/virtual/","transcend event",{"layout":440,"icon":441,"disabled":16},"release","AiStar",{"data":443},{"text":444,"source":445,"edit":451,"contribute":456,"config":461,"items":466,"minimal":673},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":446,"config":447},"View page source",{"href":448,"dataGaName":449,"dataGaLocation":450},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":452,"config":453},"Edit this page",{"href":454,"dataGaName":455,"dataGaLocation":450},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":457,"config":458},"Please contribute",{"href":459,"dataGaName":460,"dataGaLocation":450},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":462,"facebook":463,"youtube":464,"linkedin":465},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[467,514,568,612,639],{"title":167,"links":468,"subMenu":483},[469,473,478],{"text":470,"config":471},"View plans",{"href":169,"dataGaName":472,"dataGaLocation":450},"view plans",{"text":474,"config":475},"Why Premium?",{"href":476,"dataGaName":477,"dataGaLocation":450},"/pricing/premium/","why premium",{"text":479,"config":480},"Why Ultimate?",{"href":481,"dataGaName":482,"dataGaLocation":450},"/pricing/ultimate/","why ultimate",[484],{"title":485,"links":486},"Contact Us",[487,490,492,494,499,504,509],{"text":488,"config":489},"Contact sales",{"href":36,"dataGaName":37,"dataGaLocation":450},{"text":343,"config":491},{"href":345,"dataGaName":346,"dataGaLocation":450},{"text":348,"config":493},{"href":350,"dataGaName":351,"dataGaLocation":450},{"text":495,"config":496},"Status",{"href":497,"dataGaName":498,"dataGaLocation":450},"https://status.gitlab.com/","status",{"text":500,"config":501},"Terms of use",{"href":502,"dataGaName":503,"dataGaLocation":450},"/terms/","terms of use",{"text":505,"config":506},"Privacy statement",{"href":507,"dataGaName":508,"dataGaLocation":450},"/privacy/","privacy statement",{"text":510,"config":511},"Cookie preferences",{"dataGaName":512,"dataGaLocation":450,"id":513,"isOneTrustButton":16},"cookie preferences","ot-sdk-btn",{"title":72,"links":515,"subMenu":524},[516,520],{"text":517,"config":518},"DevSecOps platform",{"href":54,"dataGaName":519,"dataGaLocation":450},"devsecops platform",{"text":521,"config":522},"AI-Assisted Development",{"href":61,"dataGaName":523,"dataGaLocation":450},"ai-assisted development",[525],{"title":526,"links":527},"Topics",[528,533,538,543,548,553,558,563],{"text":529,"config":530},"CICD",{"href":531,"dataGaName":532,"dataGaLocation":450},"/topics/ci-cd/","cicd",{"text":534,"config":535},"GitOps",{"href":536,"dataGaName":537,"dataGaLocation":450},"/topics/gitops/","gitops",{"text":539,"config":540},"DevOps",{"href":541,"dataGaName":542,"dataGaLocation":450},"/topics/devops/","devops",{"text":544,"config":545},"Version Control",{"href":546,"dataGaName":547,"dataGaLocation":450},"/topics/version-control/","version control",{"text":549,"config":550},"DevSecOps",{"href":551,"dataGaName":552,"dataGaLocation":450},"/topics/devsecops/","devsecops",{"text":554,"config":555},"Cloud Native",{"href":556,"dataGaName":557,"dataGaLocation":450},"/topics/cloud-native/","cloud native",{"text":559,"config":560},"AI for Coding",{"href":561,"dataGaName":562,"dataGaLocation":450},"/topics/devops/ai-for-coding/","ai for coding",{"text":564,"config":565},"Agentic AI",{"href":566,"dataGaName":567,"dataGaLocation":450},"/topics/agentic-ai/","agentic ai",{"title":569,"links":570},"Solutions",[571,573,575,580,584,587,591,594,596,599,602,607],{"text":114,"config":572},{"href":109,"dataGaName":114,"dataGaLocation":450},{"text":103,"config":574},{"href":86,"dataGaName":87,"dataGaLocation":450},{"text":576,"config":577},"Agile development",{"href":578,"dataGaName":579,"dataGaLocation":450},"/solutions/agile-delivery/","agile delivery",{"text":581,"config":582},"SCM",{"href":99,"dataGaName":583,"dataGaLocation":450},"source code management",{"text":529,"config":585},{"href":92,"dataGaName":586,"dataGaLocation":450},"continuous integration & delivery",{"text":588,"config":589},"Value stream management",{"href":142,"dataGaName":590,"dataGaLocation":450},"value stream management",{"text":534,"config":592},{"href":593,"dataGaName":537,"dataGaLocation":450},"/solutions/gitops/",{"text":152,"config":595},{"href":154,"dataGaName":155,"dataGaLocation":450},{"text":597,"config":598},"Small business",{"href":159,"dataGaName":160,"dataGaLocation":450},{"text":600,"config":601},"Public sector",{"href":164,"dataGaName":165,"dataGaLocation":450},{"text":603,"config":604},"Education",{"href":605,"dataGaName":606,"dataGaLocation":450},"/solutions/education/","education",{"text":608,"config":609},"Financial services",{"href":610,"dataGaName":611,"dataGaLocation":450},"/solutions/finance/","financial services",{"title":172,"links":613},[614,616,618,620,623,625,627,629,631,633,635,637],{"text":184,"config":615},{"href":186,"dataGaName":187,"dataGaLocation":450},{"text":189,"config":617},{"href":191,"dataGaName":192,"dataGaLocation":450},{"text":194,"config":619},{"href":196,"dataGaName":197,"dataGaLocation":450},{"text":199,"config":621},{"href":201,"dataGaName":622,"dataGaLocation":450},"docs",{"text":222,"config":624},{"href":224,"dataGaName":225,"dataGaLocation":450},{"text":217,"config":626},{"href":219,"dataGaName":220,"dataGaLocation":450},{"text":232,"config":628},{"href":234,"dataGaName":235,"dataGaLocation":450},{"text":240,"config":630},{"href":242,"dataGaName":243,"dataGaLocation":450},{"text":245,"config":632},{"href":247,"dataGaName":248,"dataGaLocation":450},{"text":250,"config":634},{"href":252,"dataGaName":253,"dataGaLocation":450},{"text":255,"config":636},{"href":257,"dataGaName":258,"dataGaLocation":450},{"text":260,"config":638},{"href":262,"dataGaName":263,"dataGaLocation":450},{"title":274,"links":640},[641,643,645,647,649,651,653,657,662,664,666,668],{"text":281,"config":642},{"href":283,"dataGaName":276,"dataGaLocation":450},{"text":286,"config":644},{"href":288,"dataGaName":289,"dataGaLocation":450},{"text":294,"config":646},{"href":296,"dataGaName":297,"dataGaLocation":450},{"text":299,"config":648},{"href":301,"dataGaName":302,"dataGaLocation":450},{"text":304,"config":650},{"href":306,"dataGaName":307,"dataGaLocation":450},{"text":309,"config":652},{"href":311,"dataGaName":312,"dataGaLocation":450},{"text":654,"config":655},"Sustainability",{"href":656,"dataGaName":654,"dataGaLocation":450},"/sustainability/",{"text":658,"config":659},"Diversity, inclusion and belonging (DIB)",{"href":660,"dataGaName":661,"dataGaLocation":450},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":314,"config":663},{"href":316,"dataGaName":317,"dataGaLocation":450},{"text":324,"config":665},{"href":326,"dataGaName":327,"dataGaLocation":450},{"text":329,"config":667},{"href":331,"dataGaName":332,"dataGaLocation":450},{"text":669,"config":670},"Modern Slavery Transparency Statement",{"href":671,"dataGaName":672,"dataGaLocation":450},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":674},[675,678,681],{"text":676,"config":677},"Terms",{"href":502,"dataGaName":503,"dataGaLocation":450},{"text":679,"config":680},"Cookies",{"dataGaName":512,"dataGaLocation":450,"id":513,"isOneTrustButton":16},{"text":682,"config":683},"Privacy",{"href":507,"dataGaName":508,"dataGaLocation":450},[685,695,704,714,724,734,744,753,762,771,780,790,799,808,817,826,835,844,853,862,871,880,889,898,907,916,924,933],{"content":686,"config":693},{"title":687,"heroImage":688,"category":689,"description":690,"authors":691,"date":692},"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":694,"externalUrl":-1},"a-tale-of-two-editors",{"content":696,"config":702},{"title":697,"heroImage":698,"category":276,"description":699,"authors":700,"date":701},"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":703,"externalUrl":-1},"how-you-can-help-shape-the-future-of-securing-applications-at-gitlab",{"content":705,"config":712},{"title":706,"heroImage":707,"category":708,"description":709,"authors":710,"date":711},"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":713,"externalUrl":-1},"five-things-we-learned-from-you-in-recent-ux-research",{"content":715,"config":722},{"title":716,"heroImage":717,"category":718,"description":719,"authors":720,"date":721},"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":723,"externalUrl":-1},"how-do-you-contribute",{"content":725,"config":732},{"title":726,"heroImage":727,"category":276,"description":728,"authors":729,"date":731},"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,730],"Rebecca Dodd","2019-01-10",{"slug":733,"externalUrl":-1},"gitlab-2018-year-in-review",{"content":735,"config":742},{"title":736,"heroImage":737,"category":738,"description":739,"authors":740,"date":741},"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":743,"externalUrl":-1},"configure-post",{"content":745,"config":751},{"title":746,"heroImage":747,"category":276,"description":748,"authors":749,"date":750},"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":752,"externalUrl":-1},"how-do-we-handle-engineering-led-initiatives-that-dont-belong-to-one-team",{"content":754,"config":760},{"title":755,"heroImage":756,"category":738,"description":757,"authors":758,"date":759},"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":761,"externalUrl":-1},"why-you-should-join-the-gitlab-security-team",{"content":763,"config":769},{"title":764,"heroImage":765,"category":689,"description":766,"authors":767,"date":768},"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":770,"externalUrl":-1},"managers-more-optimistic-than-developers",{"content":772,"config":778},{"title":773,"heroImage":774,"category":276,"description":775,"authors":776,"date":777},"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":779,"externalUrl":-1},"watch-the-gitlab-summit-from-your-desk",{"content":781,"config":788},{"title":782,"heroImage":783,"category":784,"description":785,"authors":786,"date":787},"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":789,"externalUrl":-1},"why-your-code-review-process-is-broken-and-how-to-fix-it",{"content":791,"config":797},{"title":792,"heroImage":793,"category":689,"description":794,"authors":795,"date":796},"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":798,"externalUrl":-1},"learning-curve-is-the-biggest-challenge-developers-face-with-git",{"content":800,"config":806},{"title":801,"heroImage":802,"category":784,"description":803,"authors":804,"date":805},"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":807,"externalUrl":-1},"inside-gitlabs-code-review-flow",{"content":809,"config":815},{"title":810,"heroImage":811,"category":738,"description":812,"authors":813,"date":814},"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":816,"externalUrl":-1},"mapping-work-to-do-versus-time-with-burndown-charts",{"content":818,"config":824},{"title":819,"heroImage":820,"category":689,"description":821,"authors":822,"date":823},"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":825,"externalUrl":-1},"how-innersourcing-can-help-your-security-team",{"content":827,"config":833},{"title":828,"heroImage":829,"category":784,"description":830,"authors":831,"date":832},"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":834,"externalUrl":-1},"demo-mastering-code-review-with-gitlab",{"content":836,"config":842},{"title":837,"heroImage":838,"category":784,"description":839,"authors":840,"date":841},"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":843,"externalUrl":-1},"buffer-and-gitlab-ceos-talk-transparency",{"content":845,"config":851},{"title":846,"heroImage":847,"category":689,"description":848,"authors":849,"date":850},"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":852,"externalUrl":-1},"developers-crave-modern-tools",{"content":854,"config":860},{"title":855,"heroImage":856,"category":738,"description":857,"authors":858,"date":859},"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":861,"externalUrl":-1},"designing-for-the-modern-developer-recap",{"content":863,"config":869},{"title":864,"heroImage":865,"category":784,"description":866,"authors":867,"date":868},"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":870,"externalUrl":-1},"how-to-keep-remote-teams-engaged",{"content":872,"config":878},{"title":873,"heroImage":874,"category":738,"description":875,"authors":876,"date":877},"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":879,"externalUrl":-1},"a-creative-agencys-gitlab-wishlist",{"content":881,"config":887},{"title":882,"heroImage":883,"category":276,"description":884,"authors":885,"date":886},"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":888,"externalUrl":-1},"gitlab-at-does-2016",{"content":890,"config":896},{"title":891,"heroImage":892,"category":718,"description":893,"authors":894,"date":895},"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":897,"externalUrl":-1},"why-vaadin-chose-gitlab",{"content":899,"config":905},{"title":900,"heroImage":901,"category":738,"description":902,"authors":903,"date":904},"'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":906,"externalUrl":-1},"gitlab-is-a-slam-dunk",{"content":908,"config":914},{"title":909,"heroImage":910,"category":276,"description":911,"authors":912,"date":913},"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":915,"externalUrl":-1},"gitlab-adoption-growing-at-cern",{"content":917,"config":922},{"title":918,"heroImage":919,"category":718,"description":920,"authors":921,"date":913},"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":923,"externalUrl":-1},"how-to-build-a-strong-dev-community",{"content":925,"config":931},{"title":926,"heroImage":927,"category":276,"description":928,"authors":929,"date":930},"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":932,"externalUrl":-1},"cognitive-logic-talks-migrating-to-gitlab",{"content":934,"config":940},{"title":935,"heroImage":936,"category":784,"description":937,"authors":938,"date":939},"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":941,"externalUrl":-1},"three-things-i-learned-in-my-first-month-at-gitlab",1777493589669]