[{"data":1,"prerenderedAt":921},["ShallowReactive",2],{"/blog/gitlab-heroes-unmasked-lessons-from-early-mistakes":3,"navigation-en-us":140,"banner-en-us":566,"footer-en-us":576,"blog-post-authors-en-us-Jamie Rachel":818,"blog-related-posts-en-us-gitlab-heroes-unmasked-lessons-from-early-mistakes":832,"blog-promotions-en-us":857,"next-steps-en-us":911},{"id":4,"title":5,"authors":6,"body":8,"category":117,"date":118,"description":119,"extension":120,"externalUrl":121,"faq":121,"featured":122,"heroImage":123,"meta":124,"navigation":125,"path":126,"seo":127,"slug":132,"stem":133,"tags":134,"template":138,"updatedDate":121,"__hash__":139},"blogPosts/en-us/blog/gitlab-heroes-unmasked-lessons-from-early-mistakes.md","GitLab Heroes Unmasked: How a difficult start in coding led to being a valued contributor",[7],"Jamie Rachel",{"type":9,"value":10,"toc":110},"minimark",[11,28,37,40,45,52,55,58,62,73,81,84,88,99],[12,13,14,15,21,22,27],"p",{},"A key to GitLab’s success is our vast community of advocates. Here at GitLab, we call these active contributors ",[16,17,20],"a",{"href":18,"rel":19},"https://contributors.gitlab.com/docs/previous-heroes",[],"\"GitLab Heroes\"",". Each hero contributes to GitLab in numerous ways, including elevating releases, sharing best practices, speaking at events, and more.  ",[16,23,26],{"href":24,"rel":25},"https://gitlab.com/Taucher2003",[],"Niklas van Schrick",", who currently works as a Developer trainee, has been an active GitLab Hero since November 2021.",[12,29,30,31,36],{},"Niklas upholds the ",[16,32,35],{"href":33,"rel":34},"https://handbook.gitlab.com/handbook/values/",[],"GitLab values",", especially for transparency, by sharing his trials and discoveries with self-hosted instances. We all can learn from each other’s mistakes, which leads to collaborating to improve processes and build a better developer experience.",[12,38,39],{},"His journey to becoming a GitLab hero is detailed below.",[41,42,44],"h2",{"id":43},"a-difficult-beginning","A difficult beginning",[12,46,47,51],{},[48,49,50],"strong",{},"Niklas van Schrick:"," Every developer has to start somewhere. My journey started in May 2019 with Java and Minecraft. While development in Minecraft is great for fast results, based on my experience it’s not the best idea for a beginner.",[12,53,54],{},"It introduces the problem of learning a framework instead of the actual language and it delayed my learning process. I was able to write some functionality as plugins for a server, but I didn't know a single principle of the underlying language, Java. That led to code that was not easily maintainable. For each new functionality, I was building quickly without properly thinking about the structure of my code.",[12,56,57],{},"When I was starting out, I learned from another developer. Although it is great to have someone guide you through the process, it can also lead to issues. My mistake was believing everything my mentor told me and not looking for solutions myself. In this way, I learned anti-patterns of code design, which led to a full refactoring of the project at a later time. It also slowed down my learning process further as I was asking for help before searching for solutions myself.",[41,59,61],{"id":60},"the-importance-of-joining-a-developer-community","The importance of joining a developer community",[12,63,64,67,68,72],{},[48,65,66],{},"Van Schrick:"," In early 2020, we moved our projects to a self-hosted GitLab instance. It was my first experience with ",[16,69,71],{"href":70},"/topics/version-control/","version control",". It was a big advantage because we were able to see previous changes and easily identify the causes of bugs. I recommend using a version control system even in the early stages of your development journey, as it makes many things easier and keeps a history of your work. In the beginning, it is totally fine to just push to master or not even use a remote repository.",[12,74,75,76,80],{},"A big improvement for me was joining a ",[16,77,79],{"href":78},"/community/","developer community",", as there are many developers who are happy to help. I learned many new concepts that were widely used by the developers of that community, and this led to much more maintainable code. You don't even have to actively ask in the community to learn new things.",[12,82,83],{},"Most of the time, it is enough to keep up with the messages and read the conversations from others. In a helpful developer community, you always have someone who says, \"Why are you doing it like this? There are better ways to do this,\" and offers suggestions to improve the code.",[41,85,87],{"id":86},"contribute-contribute-contribute","Contribute, contribute, contribute",[12,89,90,92,93,98],{},[48,91,66],{}," Another big step is to make contributions to open source projects. It allowed me to be part of the code review process from others, and learn from it. My first contribution to an open source project, which was not led by me, was a ",[16,94,97],{"href":95,"rel":96},"https://gitlab.com/gitlab-org/gitlab/-/merge_requests/54834",[],"typo fix in a GitLab view",". I was surprised at how well the code review went and how fast it got merged. The positive experience encouraged me to join an open source project as a maintainer, and it has been a great experience. I ended up being an active contributor to the GitLab project and a GitLab Hero.",[12,100,101],{},[102,103,104,105,109],"em",{},"GitLab welcomes every new contributor and has ",[16,106,108],{"href":107},"/community/contribute/","many possibilities for your first contribution",".",{"title":111,"searchDepth":112,"depth":112,"links":113},"",2,[114,115,116],{"id":43,"depth":112,"text":44},{"id":60,"depth":112,"text":61},{"id":86,"depth":112,"text":87},"devsecops","2022-04-26","Niklas van Schrick shares his journey from learning a new language to becoming an active contributor to GitLab.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668009/Blog/Hero%20Images/wrong-way-2.jpg",{},true,"/en-us/blog/gitlab-heroes-unmasked-lessons-from-early-mistakes",{"title":128,"description":119,"ogTitle":128,"ogDescription":119,"noIndex":122,"ogImage":123,"ogUrl":129,"ogSiteName":130,"ogType":131,"canonicalUrls":129},"Overcoming coding challenges to become a valued GitLab hero","https://about.gitlab.com/blog/gitlab-heroes-unmasked-lessons-from-early-mistakes","https://about.gitlab.com","article","gitlab-heroes-unmasked-lessons-from-early-mistakes","en-us/blog/gitlab-heroes-unmasked-lessons-from-early-mistakes",[135,136,137],"contributors","open source","community","BlogPost","Nse2PSE7VAs8j0qKGc0L_6stDfxwXR2w_fD0e6c9Pik",{"logo":141,"freeTrial":146,"sales":151,"login":156,"items":161,"search":486,"minimal":517,"duo":536,"switchNav":545,"pricingDeployment":556},{"config":142},{"href":143,"dataGaName":144,"dataGaLocation":145},"/","gitlab logo","header",{"text":147,"config":148},"Get free trial",{"href":149,"dataGaName":150,"dataGaLocation":145},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":152,"config":153},"Request a demo",{"href":154,"dataGaName":155,"dataGaLocation":145},"/sales/?contact-topic=request-demo","sales",{"text":157,"config":158},"Sign in",{"href":159,"dataGaName":160,"dataGaLocation":145},"https://gitlab.com/users/sign_in/","sign in",[162,191,291,296,408,464],{"text":163,"config":164,"menu":166},"Platform",{"dataNavLevelOne":165},"platform",{"type":167,"columns":168},"cards",[169,175,183],{"title":163,"description":170,"link":171},"The intelligent orchestration platform for DevSecOps",{"text":172,"config":173},"Explore our Platform",{"href":174,"dataGaName":165,"dataGaLocation":145},"/platform/",{"title":176,"description":177,"link":178},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":179,"config":180},"Meet GitLab Duo",{"href":181,"dataGaName":182,"dataGaLocation":145},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":184,"description":185,"link":186},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":187,"config":188},"Learn more",{"href":189,"dataGaName":190,"dataGaLocation":145},"/why-gitlab/","why gitlab",{"text":192,"left":125,"config":193,"menu":195},"Product",{"dataNavLevelOne":194},"solutions",{"type":196,"link":197,"columns":201,"feature":270},"lists",{"text":198,"config":199},"View all Solutions",{"href":200,"dataGaName":194,"dataGaLocation":145},"/solutions/",[202,226,249],{"title":203,"description":204,"link":205,"items":210},"Automation","CI/CD and automation to accelerate deployment",{"config":206},{"icon":207,"href":208,"dataGaName":209,"dataGaLocation":145},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[211,215,218,222],{"text":212,"config":213},"CI/CD",{"href":214,"dataGaLocation":145,"dataGaName":212},"/solutions/continuous-integration/",{"text":176,"config":216},{"href":181,"dataGaLocation":145,"dataGaName":217},"gitlab duo agent platform - product menu",{"text":219,"config":220},"Source Code Management",{"href":221,"dataGaLocation":145,"dataGaName":219},"/solutions/source-code-management/",{"text":223,"config":224},"Automated Software Delivery",{"href":208,"dataGaLocation":145,"dataGaName":225},"Automated software delivery",{"title":227,"description":228,"link":229,"items":234},"Security","Deliver code faster without compromising security",{"config":230},{"href":231,"dataGaName":232,"dataGaLocation":145,"icon":233},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[235,239,244],{"text":236,"config":237},"Application Security Testing",{"href":231,"dataGaName":238,"dataGaLocation":145},"Application security testing",{"text":240,"config":241},"Software Supply Chain Security",{"href":242,"dataGaLocation":145,"dataGaName":243},"/solutions/supply-chain/","Software supply chain security",{"text":245,"config":246},"Software Compliance",{"href":247,"dataGaName":248,"dataGaLocation":145},"/solutions/software-compliance/","software compliance",{"title":250,"link":251,"items":256},"Measurement",{"config":252},{"icon":253,"href":254,"dataGaName":255,"dataGaLocation":145},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[257,261,265],{"text":258,"config":259},"Visibility & Measurement",{"href":254,"dataGaLocation":145,"dataGaName":260},"Visibility and Measurement",{"text":262,"config":263},"Value Stream Management",{"href":264,"dataGaLocation":145,"dataGaName":262},"/solutions/value-stream-management/",{"text":266,"config":267},"Analytics & Insights",{"href":268,"dataGaLocation":145,"dataGaName":269},"/solutions/analytics-and-insights/","Analytics and insights",{"title":271,"type":196,"items":272},"GitLab for",[273,279,285],{"text":274,"config":275},"Enterprise",{"icon":276,"href":277,"dataGaLocation":145,"dataGaName":278},"Building","/enterprise/","enterprise",{"text":280,"config":281},"Small Business",{"icon":282,"href":283,"dataGaLocation":145,"dataGaName":284},"Work","/small-business/","small business",{"text":286,"config":287},"Public Sector",{"icon":288,"href":289,"dataGaLocation":145,"dataGaName":290},"Organization","/solutions/public-sector/","public sector",{"text":292,"config":293},"Pricing",{"href":294,"dataGaName":295,"dataGaLocation":145,"dataNavLevelOne":295},"/pricing/","pricing",{"text":297,"config":298,"menu":300},"Resources",{"dataNavLevelOne":299},"resources",{"type":196,"link":301,"columns":305,"feature":397},{"text":302,"config":303},"View all resources",{"href":304,"dataGaName":299,"dataGaLocation":145},"/resources/",[306,339,366],{"title":307,"items":308},"Getting started",[309,314,319,324,329,334],{"text":310,"config":311},"Install",{"href":312,"dataGaName":313,"dataGaLocation":145},"/install/","install",{"text":315,"config":316},"Quick start guides",{"href":317,"dataGaName":318,"dataGaLocation":145},"/get-started/","quick setup checklists",{"text":320,"config":321},"Learn",{"href":322,"dataGaLocation":145,"dataGaName":323},"https://university.gitlab.com/","learn",{"text":325,"config":326},"Product documentation",{"href":327,"dataGaName":328,"dataGaLocation":145},"https://docs.gitlab.com/","product documentation",{"text":330,"config":331},"Best practice videos",{"href":332,"dataGaName":333,"dataGaLocation":145},"/getting-started-videos/","best practice videos",{"text":335,"config":336},"Integrations",{"href":337,"dataGaName":338,"dataGaLocation":145},"/integrations/","integrations",{"title":340,"items":341},"Discover",[342,347,352,357,361],{"text":343,"config":344},"Customer success stories",{"href":345,"dataGaName":346,"dataGaLocation":145},"/customers/","customer success stories",{"text":348,"config":349},"Blog",{"href":350,"dataGaName":351,"dataGaLocation":145},"/blog/","blog",{"text":353,"config":354},"Demo Hub",{"href":355,"dataGaName":356,"dataGaLocation":145},"/demo-hub/","demo hub",{"text":358,"config":359},"The Source",{"href":360,"dataGaName":351,"dataGaLocation":145},"/the-source/",{"text":362,"config":363},"Remote",{"href":364,"dataGaName":365,"dataGaLocation":145},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":367,"items":368},"Connect",[369,374,379,382,387,392],{"text":370,"config":371},"GitLab Services",{"href":372,"dataGaName":373,"dataGaLocation":145},"/services/","services",{"text":375,"config":376},"Contribute",{"href":377,"dataGaName":378,"dataGaLocation":145},"https://contributors.gitlab.com","contribute",{"text":380,"config":381},"Community",{"href":78,"dataGaName":137,"dataGaLocation":145},{"text":383,"config":384},"Forum",{"href":385,"dataGaName":386,"dataGaLocation":145},"https://forum.gitlab.com/","forum",{"text":388,"config":389},"Events",{"href":390,"dataGaName":391,"dataGaLocation":145},"/events/","events",{"text":393,"config":394},"Partners",{"href":395,"dataGaName":396,"dataGaLocation":145},"/partners/","partners",{"config":398,"title":401,"text":402,"link":403},{"background":399,"textColor":400},"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":404,"config":405},"Read the latest",{"href":406,"dataGaName":407,"dataGaLocation":145},"/whats-new/","whats new",{"text":409,"config":410,"menu":412},"Company",{"dataNavLevelOne":411},"company",{"type":196,"columns":413},[414],{"items":415},[416,421,427,429,434,439,444,449,454,459],{"text":417,"config":418},"About",{"href":419,"dataGaName":420,"dataGaLocation":145},"/company/","about",{"text":422,"config":423,"footerGa":426},"Jobs",{"href":424,"dataGaName":425,"dataGaLocation":145},"/jobs/","jobs",{"dataGaName":425},{"text":388,"config":428},{"href":390,"dataGaName":391,"dataGaLocation":145},{"text":430,"config":431},"Leadership",{"href":432,"dataGaName":433,"dataGaLocation":145},"/company/team/e-group/","leadership",{"text":435,"config":436},"Handbook",{"href":437,"dataGaName":438,"dataGaLocation":145},"https://handbook.gitlab.com/","handbook",{"text":440,"config":441},"Investor relations",{"href":442,"dataGaName":443,"dataGaLocation":145},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":445,"config":446},"Trust Center",{"href":447,"dataGaName":448,"dataGaLocation":145},"/security/","trust center",{"text":450,"config":451},"AI Transparency Center",{"href":452,"dataGaName":453,"dataGaLocation":145},"/ai-transparency-center/","ai transparency center",{"text":455,"config":456},"Newsletter",{"href":457,"dataGaName":458,"dataGaLocation":145},"/company/contact/#contact-forms","newsletter",{"text":460,"config":461},"Press",{"href":462,"dataGaName":463,"dataGaLocation":145},"/press/","press",{"text":465,"config":466,"menu":467},"Contact us",{"dataNavLevelOne":411},{"type":196,"columns":468},[469],{"items":470},[471,476,481],{"text":472,"config":473},"Talk to sales",{"href":474,"dataGaName":475,"dataGaLocation":145},"/sales/","talk to sales",{"text":477,"config":478},"Support portal",{"href":479,"dataGaName":480,"dataGaLocation":145},"https://support.gitlab.com/hc/en-us","support portal",{"text":482,"config":483},"Customer portal",{"href":484,"dataGaName":485,"dataGaLocation":145},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":487,"login":488,"suggestions":495},"Close",{"text":489,"link":490},"To search repositories and projects, login to",{"text":491,"config":492},"gitlab.com",{"href":159,"dataGaName":493,"dataGaLocation":494},"search login","search",{"text":496,"default":497},"Suggestions",[498,500,504,506,510,514],{"text":176,"config":499},{"href":181,"dataGaName":176,"dataGaLocation":494},{"text":501,"config":502},"Code Suggestions (AI)",{"href":503,"dataGaName":501,"dataGaLocation":494},"/solutions/code-suggestions/",{"text":212,"config":505},{"href":214,"dataGaName":212,"dataGaLocation":494},{"text":507,"config":508},"GitLab on AWS",{"href":509,"dataGaName":507,"dataGaLocation":494},"/partners/technology-partners/aws/",{"text":511,"config":512},"GitLab on Google Cloud",{"href":513,"dataGaName":511,"dataGaLocation":494},"/partners/technology-partners/google-cloud-platform/",{"text":515,"config":516},"Why GitLab?",{"href":189,"dataGaName":515,"dataGaLocation":494},{"freeTrial":518,"mobileIcon":523,"desktopIcon":528,"secondaryButton":531},{"text":519,"config":520},"Start free trial",{"href":521,"dataGaName":150,"dataGaLocation":522},"https://gitlab.com/-/trials/new/","nav",{"altText":524,"config":525},"Gitlab Icon",{"src":526,"dataGaName":527,"dataGaLocation":522},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":524,"config":529},{"src":530,"dataGaName":527,"dataGaLocation":522},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":532,"config":533},"Get Started",{"href":534,"dataGaName":535,"dataGaLocation":522},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":537,"mobileIcon":541,"desktopIcon":543},{"text":538,"config":539},"Learn more about GitLab Duo",{"href":181,"dataGaName":540,"dataGaLocation":522},"gitlab duo",{"altText":524,"config":542},{"src":526,"dataGaName":527,"dataGaLocation":522},{"altText":524,"config":544},{"src":530,"dataGaName":527,"dataGaLocation":522},{"button":546,"mobileIcon":551,"desktopIcon":553},{"text":547,"config":548},"/switch",{"href":549,"dataGaName":550,"dataGaLocation":522},"#contact","switch",{"altText":524,"config":552},{"src":526,"dataGaName":527,"dataGaLocation":522},{"altText":524,"config":554},{"src":555,"dataGaName":527,"dataGaLocation":522},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":557,"mobileIcon":562,"desktopIcon":564},{"text":558,"config":559},"Back to pricing",{"href":294,"dataGaName":560,"dataGaLocation":522,"icon":561},"back to pricing","GoBack",{"altText":524,"config":563},{"src":526,"dataGaName":527,"dataGaLocation":522},{"altText":524,"config":565},{"src":530,"dataGaName":527,"dataGaLocation":522},{"title":567,"titleMobile":568,"button":569,"config":574},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":187,"config":570},{"href":571,"dataGaName":572,"dataGaLocation":573},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":575,"disabled":122},"release",{"data":577},{"text":578,"source":579,"edit":585,"contribute":590,"config":595,"items":600,"minimal":807},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":580,"config":581},"View page source",{"href":582,"dataGaName":583,"dataGaLocation":584},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":586,"config":587},"Edit this page",{"href":588,"dataGaName":589,"dataGaLocation":584},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":591,"config":592},"Please contribute",{"href":593,"dataGaName":594,"dataGaLocation":584},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":596,"facebook":597,"youtube":598,"linkedin":599},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[601,648,699,743,775],{"title":292,"links":602,"subMenu":617},[603,607,612],{"text":604,"config":605},"View plans",{"href":294,"dataGaName":606,"dataGaLocation":584},"view plans",{"text":608,"config":609},"Why Premium?",{"href":610,"dataGaName":611,"dataGaLocation":584},"/pricing/premium/","why premium",{"text":613,"config":614},"Why Ultimate?",{"href":615,"dataGaName":616,"dataGaLocation":584},"/pricing/ultimate/","why ultimate",[618],{"title":619,"links":620},"Contact Us",[621,624,626,628,633,638,643],{"text":622,"config":623},"Contact sales",{"href":474,"dataGaName":155,"dataGaLocation":584},{"text":477,"config":625},{"href":479,"dataGaName":480,"dataGaLocation":584},{"text":482,"config":627},{"href":484,"dataGaName":485,"dataGaLocation":584},{"text":629,"config":630},"Status",{"href":631,"dataGaName":632,"dataGaLocation":584},"https://status.gitlab.com/","status",{"text":634,"config":635},"Terms of use",{"href":636,"dataGaName":637,"dataGaLocation":584},"/terms/","terms of use",{"text":639,"config":640},"Privacy statement",{"href":641,"dataGaName":642,"dataGaLocation":584},"/privacy/","privacy statement",{"text":644,"config":645},"Cookie preferences",{"dataGaName":646,"dataGaLocation":584,"id":647,"isOneTrustButton":125},"cookie preferences","ot-sdk-btn",{"title":192,"links":649,"subMenu":658},[650,654],{"text":651,"config":652},"DevSecOps platform",{"href":174,"dataGaName":653,"dataGaLocation":584},"devsecops platform",{"text":655,"config":656},"AI-Assisted Development",{"href":181,"dataGaName":657,"dataGaLocation":584},"ai-assisted development",[659],{"title":660,"links":661},"Topics",[662,667,672,677,680,684,689,694],{"text":663,"config":664},"CICD",{"href":665,"dataGaName":666,"dataGaLocation":584},"/topics/ci-cd/","cicd",{"text":668,"config":669},"GitOps",{"href":670,"dataGaName":671,"dataGaLocation":584},"/topics/gitops/","gitops",{"text":673,"config":674},"DevOps",{"href":675,"dataGaName":676,"dataGaLocation":584},"/topics/devops/","devops",{"text":678,"config":679},"Version Control",{"href":70,"dataGaName":71,"dataGaLocation":584},{"text":681,"config":682},"DevSecOps",{"href":683,"dataGaName":117,"dataGaLocation":584},"/topics/devsecops/",{"text":685,"config":686},"Cloud Native",{"href":687,"dataGaName":688,"dataGaLocation":584},"/topics/cloud-native/","cloud native",{"text":690,"config":691},"AI for Coding",{"href":692,"dataGaName":693,"dataGaLocation":584},"/topics/devops/ai-for-coding/","ai for coding",{"text":695,"config":696},"Agentic AI",{"href":697,"dataGaName":698,"dataGaLocation":584},"/topics/agentic-ai/","agentic ai",{"title":700,"links":701},"Solutions",[702,704,706,711,715,718,722,725,727,730,733,738],{"text":236,"config":703},{"href":231,"dataGaName":236,"dataGaLocation":584},{"text":225,"config":705},{"href":208,"dataGaName":209,"dataGaLocation":584},{"text":707,"config":708},"Agile development",{"href":709,"dataGaName":710,"dataGaLocation":584},"/solutions/agile-delivery/","agile delivery",{"text":712,"config":713},"SCM",{"href":221,"dataGaName":714,"dataGaLocation":584},"source code management",{"text":663,"config":716},{"href":214,"dataGaName":717,"dataGaLocation":584},"continuous integration & delivery",{"text":719,"config":720},"Value stream management",{"href":264,"dataGaName":721,"dataGaLocation":584},"value stream management",{"text":668,"config":723},{"href":724,"dataGaName":671,"dataGaLocation":584},"/solutions/gitops/",{"text":274,"config":726},{"href":277,"dataGaName":278,"dataGaLocation":584},{"text":728,"config":729},"Small business",{"href":283,"dataGaName":284,"dataGaLocation":584},{"text":731,"config":732},"Public sector",{"href":289,"dataGaName":290,"dataGaLocation":584},{"text":734,"config":735},"Education",{"href":736,"dataGaName":737,"dataGaLocation":584},"/solutions/education/","education",{"text":739,"config":740},"Financial services",{"href":741,"dataGaName":742,"dataGaLocation":584},"/solutions/finance/","financial services",{"title":297,"links":744},[745,747,749,751,754,756,759,761,763,765,767,769,771,773],{"text":310,"config":746},{"href":312,"dataGaName":313,"dataGaLocation":584},{"text":315,"config":748},{"href":317,"dataGaName":318,"dataGaLocation":584},{"text":320,"config":750},{"href":322,"dataGaName":323,"dataGaLocation":584},{"text":325,"config":752},{"href":327,"dataGaName":753,"dataGaLocation":584},"docs",{"text":348,"config":755},{"href":350,"dataGaName":351,"dataGaLocation":584},{"text":757,"config":758},"What's new",{"href":406,"dataGaName":407,"dataGaLocation":584},{"text":343,"config":760},{"href":345,"dataGaName":346,"dataGaLocation":584},{"text":362,"config":762},{"href":364,"dataGaName":365,"dataGaLocation":584},{"text":370,"config":764},{"href":372,"dataGaName":373,"dataGaLocation":584},{"text":375,"config":766},{"href":377,"dataGaName":378,"dataGaLocation":584},{"text":380,"config":768},{"href":78,"dataGaName":137,"dataGaLocation":584},{"text":383,"config":770},{"href":385,"dataGaName":386,"dataGaLocation":584},{"text":388,"config":772},{"href":390,"dataGaName":391,"dataGaLocation":584},{"text":393,"config":774},{"href":395,"dataGaName":396,"dataGaLocation":584},{"title":409,"links":776},[777,779,781,783,785,787,791,796,798,800,802],{"text":417,"config":778},{"href":419,"dataGaName":411,"dataGaLocation":584},{"text":422,"config":780},{"href":424,"dataGaName":425,"dataGaLocation":584},{"text":430,"config":782},{"href":432,"dataGaName":433,"dataGaLocation":584},{"text":435,"config":784},{"href":437,"dataGaName":438,"dataGaLocation":584},{"text":440,"config":786},{"href":442,"dataGaName":443,"dataGaLocation":584},{"text":788,"config":789},"Sustainability",{"href":790,"dataGaName":788,"dataGaLocation":584},"/sustainability/",{"text":792,"config":793},"Diversity, inclusion and belonging (DIB)",{"href":794,"dataGaName":795,"dataGaLocation":584},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":445,"config":797},{"href":447,"dataGaName":448,"dataGaLocation":584},{"text":455,"config":799},{"href":457,"dataGaName":458,"dataGaLocation":584},{"text":460,"config":801},{"href":462,"dataGaName":463,"dataGaLocation":584},{"text":803,"config":804},"Modern Slavery Transparency Statement",{"href":805,"dataGaName":806,"dataGaLocation":584},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":808},[809,812,815],{"text":810,"config":811},"Terms",{"href":636,"dataGaName":637,"dataGaLocation":584},{"text":813,"config":814},"Cookies",{"dataGaName":646,"dataGaLocation":584,"id":647,"isOneTrustButton":125},{"text":816,"config":817},"Privacy",{"href":641,"dataGaName":642,"dataGaLocation":584},[819],{"id":820,"title":7,"body":121,"config":821,"content":823,"description":121,"extension":826,"meta":827,"navigation":125,"path":828,"seo":829,"stem":830,"__hash__":831},"blogAuthors/en-us/blog/authors/jamie-rachel.yml",{"template":822},"BlogAuthor",{"name":7,"config":824},{"headshot":111,"ctfId":825},"jrachel1","yml",{},"/en-us/blog/authors/jamie-rachel",{},"en-us/blog/authors/jamie-rachel","s6WngLkUEcMOVQRFw-lZB9WT3fhRxvziirK5tHzN-sU",[833,841,849],{"title":834,"description":835,"heroImage":836,"category":117,"date":837,"authors":838,"slug":840,"externalUrl":121},"Consolidate your GitLab stack with Gitaly on Kubernetes","Discover how to install Gitaly on Kubernetes, which is now generally available.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1756500636/wmey6kqzzuhirk88w2de.png","2026-05-07",[839],"Olivier Campeau","gitaly-on-kubernetes-generally-available",{"title":842,"description":843,"heroImage":844,"category":117,"date":845,"authors":846,"slug":848,"externalUrl":121},"Teaching software development the easy way using GitLab","Learn how University of Washington lecturer Stephen G. Dame uses GitLab for Education to manage student assignments, distribute course materials, and provide inline code feedback at scale.\n","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659537/Blog/Hero%20Images/display-article-image-0679-1800x945-fy26.png","2026-04-29",[847],"Rod Burns","teaching-software-development-the-easy-way-using-gitlab",{"title":850,"description":851,"heroImage":852,"category":117,"date":853,"authors":854,"slug":856,"externalUrl":121},"AI is reshaping DevSecOps: Attend GitLab Transcend to see what’s next","AI-generated code is 34% of development work. Discover how to balance productivity gains with quality, reliability, and security.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1767982271/e9ogyosmuummq7j65zqg.png","2026-01-08",[855],"Manav Khurana","ai-is-reshaping-devsecops-attend-gitlab-transcend-to-see-whats-next",{"promotions":858},[859,873,885,897],{"id":860,"categories":861,"header":863,"text":864,"button":865,"image":870},"ai-modernization",[862],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":866,"config":867},"Get your AI maturity score",{"href":868,"dataGaName":869,"dataGaLocation":351},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":871},{"src":872},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":874,"categories":875,"header":877,"text":864,"button":878,"image":882},"devops-modernization",[876,117],"product","Are you just managing tools or shipping innovation?",{"text":879,"config":880},"Get your DevOps maturity score",{"href":881,"dataGaName":869,"dataGaLocation":351},"/assessments/devops-modernization-assessment/",{"config":883},{"src":884},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":886,"categories":887,"header":889,"text":864,"button":890,"image":894},"security-modernization",[888],"security","Are you trading speed for security?",{"text":891,"config":892},"Get your security maturity score",{"href":893,"dataGaName":869,"dataGaLocation":351},"/assessments/security-modernization-assessment/",{"config":895},{"src":896},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":898,"paths":899,"header":902,"text":903,"button":904,"image":909},"github-azure-migration",[900,901],"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":905,"config":906},"See how GitLab compares to GitHub",{"href":907,"dataGaName":908,"dataGaLocation":351},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":910},{"src":884},{"header":912,"blurb":913,"button":914,"secondaryButton":919},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":915,"config":916},"Get your free trial",{"href":917,"dataGaName":150,"dataGaLocation":918},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":622,"config":920},{"href":474,"dataGaName":155,"dataGaLocation":918},1786803733483]