Hi there, I’m Kasper. 👋 I help dev teams get unstuck and find idiomatic solutions in their Ruby code or Rails applications.
I was on the Rails core team for 6 years. When I worked at Basecamp, I set an example for other developers in my conduct and elegant code. I’m terrific at naming things and coming up with concepts that fit well in an app — or gem. Now, I’d like to help you.
What is it?
This Deep-Dive call is a 2-hour intensive video call with me. I can give you specific advice on your specific case.
You’re welcome to bring coworkers too.
- Working on new features. I can show you a version that’s more idiomatic Rails, with clearer concepts and naming, so it’s easier to understand for your whole team too. This saves your team development time as well.
- You’re deadlocked. When you’ve got a code design decision that just won’t seem to settle: it’s costly. Having a team tied up can cost lost morale, and in addition to the slowdown it can cause a lot of uncertainty. I can help you all get unblocked, save you dev money and have you move forward with a better design.
- Early-stage. I can give you an overview on your architecture and domain modeling, and see if we can improve it, so your foundation is a delight for you or a future team to work in.
- Turning your Code Design into beautiful code. I can help you with every kind of gut check, so you know you’re moving in the right direction. I can also advise you on what I’d change to solidify your design. You can walk away with more confidence on where you’re heading.
- Solo-devs or small teams. When you don’t often get the chance to get other opinions on the code you’re working on and how you can level it up, I can help.
- Leveling up your team. If you’ve got team members who need general advice on where to take their skills, whether that’s in their general Ruby/Rails chops or in communication between team members, teams, departments or even stake holders**.**
- When communication problems mask as code problems. If something is unsettled on your team, or there’s communication problems, or misunderstandings it can often end up in the code as problems there. We can look over your organizations communication structure and find places to improve it, so your team can be better aligned with less friction in the overall organization.
- That one thing. You know there’s something off about it… but you’re not quite sure where to take it, I can help you figure it and get unblocked.
- Your existing gem. Whether you’ve got a gem idea and not sure where to start, or an existing gem that you’d like to improve. We can look over your Ruby/Rails gem, with my extensive Open Source experience I can guide you on both the overall approach and the current implementation.
- Extracting a gem. I can help you find the delineations between your app and a gem nestling in there, and help you extract it out. I can also help sketch out an API that looks like it’s a part of Rails — I was on the Rails core team for 6 years — so it’ll feel instantly familiar to users and show you how to implement it. With my experience of reviewing a lot of Open Source PRs I can advise you on how to processes so your team can triage and tackle feedback from your users.
- Reading/auditing a gem or dependency with you. Your app probably has many different gems you’re depending on, you may not be sure how maintainable they are, or how to get started understanding their internals to help out. I can read the source with you and give tips on diving into gems so you can build lasting context way faster — what you learn can be used for any other gem too. We can also look at a part of Rails itself, like Active Record’s connection management.
- Several hard to explain topics. When you want to touch on and discuss several topics that’s hard to explain in words. I can help you get clarity and get the words out to communicate with your team.
- A mix of all the above. The 2-hour length is meant to give us plenty of time so we don’t rush and we can visit several topics on whatever you need. We can go from higher-level code design discussions and all the way down to the nitty-gritty implementation too.