Onboarding in One Hour
Does onboarding a new software engineer take days of pairing?
We can set up your developer tooling and workflow in one week so that onboarding takes under an hour.
Imagine how fast your development team can be up and running with…
- Minimial required local configuration
- A REPL-based workflow
- Documented dev setup and tooling to set up databases and other dependencies
- Tests run from the REPL or terminal?
Get the Gaiwan Clojure Development Tooling and Documentation Checkup
As a consultancy we get to see a lot of code bases, and it's always interesting to see how different teams approach their setup and architecture. There's no one-size-fits-all, and that's especially true in the Clojure world, where people are encouraged to put together a stack to their liking.
Unfortunately what we often see is that the dev experience suffers. It's easy to set things up in a way that hinders a good REPL-based workflow. Sometimes there's not even a working REPL setup, or there will be one for Clojure but not for ClojureScript. We also see that more often than not the dev setup and tooling isn't documented.
We expect a project's README to contain all the necessary information to get up and running, to run tests from the REPL or terminal, to set up databases and other dependencies. More often than not that information is missing, incorrect, or incomplete.
Over the last few years doing a checkup of these things has become fairly routine for every new client, we have a checklist and some established patterns, and so the first thing we do with new clients is making sure these things are in order. This helps the existing team, but it's even more important for new hires. It can transform the onboarding experience from days of pairing to just going over the README in under an hour.
From experience we know this kind of checkup could help many Clojure teams out there, which is why we've decided to offer this as a standalone package.
Results after one week
- A completely updated README, for super speedy onboarding
- Streamlined onboarding by minimizing required local configuration, and handling common mistakes gracefully, like forgetting to start the database
- Working Clojure and ClojureScript (n)REPLs
- Editor-specific instructions, depending on the team's preference
- Emacs-specific integration (if there are Emacs users) via .dir-locals.el, so that a cider-jack-in-clj&cljs is all you need to create both REPLs
- Quick REPL startup time, by using the jit pattern in user.clj
- Standard user helpers: (go), (browse), (reset), (system), etc.
- A reloadable workflow, no errors when calling (reset)
- Review of the Kaocha test run configuration and recommended plugins
- Instructions for running tests from the REPL or command line, including in watch mode
- Repl-able http handlers, redefine Ring handler functions without having to reset the system
- REPL+terminal tools/tasks like db setup, migrations, linting
- Efficient logging setup with a single logging sink into which all APIs/facades are piped
- Log levels are easy to change during development, to dial the level of detail up or down
How the Clojure Dev Tooling Checkup Week Works
- Schedule one week, Mon-Fri, for one or two Gaiwan engineers to work closely with your team.
- We start with getting input from the developers about existing frustrations.
- We go over our checklist of established patterns to see if the basics are covered.
- The rest of the week we make as many improvements as we can.
- At the end of the week you get a list of recommendations of the remaining improvements that we recommend.
- All of this for a one-time cost of €5000.
Hi, we're Gaiwan!
Founded by Arne Brasseur in 2019, the main thing that makes Gaiwan special is people and process. We aim to be a team, to work together, support each other, communicate frequently and without friction, to work smart with adequate automation, with home-grown tooling that suits our needs, with just enough process to be able to work professionally and deliver consistently. Together we are much bigger than the sum of the parts.