Onboarding is an opportunity for companies and new employees to put their best foot forward. But in many ways, developer onboarding is fraught with challenges — a tidal wave of tools, outdated documentation, a jungle of bash scripts and bugs.
It takes time and more than a little frustration to get new devs fully up to speed. Most of our customers report that four or more days are wasted just getting set up. Then, once the new developers are finally writing code, they face the CI/CD pipeline, where they wait in fear that it will reject their code.
“At a previous company, it was common practice to just hand new developers a jungle of bash scripts. Their only guidance was documentation that was scattershot and not comprehensive. After I got up to speed on that house knowledge, I encountered a number of bugs. It was agony — and that’s why I really appreciate Garden’s approach to onboarding.”
Tao Hansen, Developer Advocate, Garden
Why is better developer onboarding important?
Developer onboarding is a critical part of the developer experience that impacts retention and productivity. Making the onboarding process smooth can:
- Improve development team velocity
- Increase the lifetime value of new developers
- Retain developers with a positive developer experience from day one
Successful developer onboarding focuses on reducing the time to first commit. Zavvy, a company that specializes in onboarding and training solutions, recommends that time to first commit happens within three days for small-to-medium-size businesses and within a fortnight for large enterprises.
Brian Cooksey explains the importance of fast onboarding at Zapier. “In shipping something small, a new engineer experiences our typical git workflow, the code review process, and a production deploy. That early win builds confidence and momentum. It also sets the precedent for the expectation we have of shipping things,” he writes in How We Onboard New Engineers at Zapier.
Garden: A different approach to developer onboarding and productivity
Garden is pioneering a new approach to developer productivity that accelerates software delivery by radically reducing wasted time and effort — you can read more about how Garden accelerates the software development lifecycle here. By streamlining the development process, we also make onboarding new developers easier and less stressful.
Garden customers improve new developer onboarding
Companies that choose Garden to increase developer productivity achieve a major decrease in developer onboarding time. Reprise reduced developer ramp-up time from 4 days to 30 minutes. Garden customer Minted saw similar improvements, from issuing their developer a new laptop to having their main code base running.
How does Garden cut onboarding from days to hours?
A 97% reduction in onboarding time sounds too good to be true, so let’s dig into exactly how Garden’s productivity features improve new developer onboarding.
Garden enables you to codify and ship an entire toolchain to a development team, or a new developer. You can declare every element of the software development lifecycle from end to end. The ability to create the infrastructure as code, and all of the software deployments that run on that infrastructure, are codified within the same stack. As a result, our platform includes all of the tools new developers need on day one.
Typically, a developer working with Docker desktop locally has to weave together a number of steps in order to get their Docker file to a deployable instance on their Kubernetes cluster. With Garden, a DevOps team, a DevOps engineer, a platform team, or whoever is handing over that development environment, specifies the entire workflow from local Kubernetes to remote Kubernetes.
Instead of downloading a bunch of tools to assemble the inner loop, the new developer just downloads Garden. They develop a Docker file on their local machine and can run that through the rest of the development cycle without worrying about the different pieces. Garden takes care of all of those steps for them, covering all aspects of build, deploy, test and run.
Digging deeper into how Garden takes onboarding from long days to short hours
Download one tool and start coding
Our remote Kubernetes cluster does most of the onboarding for you.
The remote Kubernetes cluster is one of Garden’s best features. It enables new developers to use very powerful remote development patterns without downloading a bunch of tools. They don’t even need a Docker container engine installed locally.
New developers just open up their new laptop, install the Garden CLI, clone the repository, and they’re ready to work. The Kubernetes cluster would already be running based on specifications within the Garden file. They’ll be provisioned a namespace by the platform team, or the team that they're embedded into. Now, essentially all of their onboarding has been done for them.
Provision and populate your database in one step
Garden Tasks cuts days off of onboarding by automating database creation.
New developers need a database that’s up and running so the application they’re developing has something to speak to. Figuring out how to provision the database and populate it with dummy data can add a few days to onboarding.
Garden Tasks allows teams to state this type of dependency and explicitly define how to complete the task within the Garden file. When a new developer runs Garden, it creates the database and dummy data that the developer needs to get running and be productive.
Boost new developer performance on day one
Caching features increase speed and reduce time spent waiting.
Garden’s smart caching means developers don’t need to build the same images or rerun tests twice. This accelerates the inner loop, the time between a developer typing code and seeing it represented in front of them. Developers get feedback in seconds and can stay focused on the application that they're developing.
“I used to have to wait days to see my changes in real environments, in a messy shared staging environment. Now I get my own environment from scratch and test my changes in seconds.”
Michell Friedman, Software Engineer, Oak North
Garden starts caching the first time a developer runs it on their local development machine. By the second run of the Garden tool, they developer is already getting huge performance boosts, increasing their speed and reducing waiting time. New developers can feel growing confidence as they move faster, instead of being frustrated by long wait times.
Keep environments consistent and clean
Automated environment cleanup guarantees the environment your new developer is using matches the environment used by the rest of the team
Developers can get attached to their environments and keep them around longer than they should. These “pet” environments eventually stop resembling anything that a new developer would work in. This makes it hard for seasoned developers to understand the challenges a new developer might be facing.
With automated environment cleanup, environments are destroyed after they do their intended job. Because they’re consistently spun up and torn down, they don’t drift from the specifications. This eliminates the problem of configuration drift, which can be especially problematic in large teams.
Give developers confidence that their code will work in the CI/CD pipeline
With production-like environments, new developers don’t have to fear rejection by the CI/CD pipeline.
For most developers, their local environment doesn’t look anything like their CI/CD pipeline or production. This means they have no way of knowing whether the application they wrote will pass the CI/CD pipeline and work as it should.
Garden solves this by enabling developers to work in production-like environments on their local machines. Garden workflows define your CI/CD pipeline in a way that is totally generic: it will run on your developer’s machine just as well as it runs in GitHub.
New developers don't need to be worried that their code will be rejected once it gets to the CI/CD pipeline, because they’ve already run the Garden workflow on their local machine. They can feel more confident from day one.
Developers ramp up faster and continue to make productivity gains
Swapping fear and agony for confidence and ease goes a long way in starting the developer relationship off right. From there, Garden’s developer-friendly features continue to help new developers ramp up faster and accelerate their productivity.
“How quickly new hires ramp up has a direct impact on an engineering team’s velocity — and thus, how quickly your product can ship,”
Kristen Buchanan in Want a High Performing Dev Team? Improve Your Time to Productivity.
By enabling teams to codify many of the steps required to get started on new projects, Garden reduces ramp-up time and accelerates productivity. Once one developer writes a Garden file, they can propagate that throughout their team. This eliminates all the time developers spend figuring out tools and writing bash scripts before they start a project. The next team member simply runs the Garden startup command and they're ready to start coding.
This helps new developers ramp up and become fully productive much faster. Pluralsight found that most organizations fall into one of two camps: those where it takes three to four months to ramp up new developers, and those where it takes 11 to 12 months. By enabling developers to ramp up faster, companies in the three- to four-month camp get an extra eight months of productivity for each new hire.
Garden accelerates everything from developer onboarding through production
Garden is about healthy developer productivity. We increase developer velocity by helping developers reclaim the hours of time wasted waiting, debugging and context-switching.
Garden works with the tools you’ve already invested in and makes everything more efficient, eliminating wasted time and freeing developers to focus on coding from day one. It’s something you have to experience for yourself.
“The time saved by using Garden is really hard to quantify, it's massive.”
Sara, Reprise Product Manager
Want to learn more? Schedule a call to learn how Garden can integrate with your existing tools and accelerate everything from onboarding through production.