You’ve put together a software team. How might you invest in it?
We offer both public and in-house workshops that will improve your team’s performance as both individuals and as a group.
A small selection is below; please contact us at [email protected] to talk about your team development.
- Interviewer Skills and Recruiting Process
- Uncomfortable Refactoring
- Effective Code Reviews
- Better Coding Through Team Values
Looking for more targeted training? We do that too!
Interviewer Skills and Recruiting Process
This two-part workshop targets your team as a whole, and helps them work towards a shared goal together.
You know you need to hire more software developers. Maybe you even know exactly what kind of developers you need to hire. But when a candidate is sitting in front of you, how will you know whether they would be a good hire, or a bad hire?
In the first workshop, we’ll go through a series of exercises for everyone on your team involved in the recruiting process to know what you’re looking for and how you’ll identify it. After identifying both what you need and how you’ll know it when it’s in front of you, each member of your hiring team can be confident that any future interview will definitively answer the question “Should we hire this candidate?”.
After the workshop, participants will have identified and agreed on
- What is important to the team when considering a candidate
- Metrics for evaluating hiring values
- What the recruiting process looks like for the team
In the second workshop, we’ll focus on the interviewer skills needed in the recruiting process. After the second workshop, participants will have learned
- Why and how to put candidates at ease
- Tactics for guiding candidates towards higher-signal answers
- Redirecting conversations and keeping candidates on track
- How to persuade candidates that your company is the place for them
This workshop is debuting at RailsConf 2018! Join us after the last morning’s keynote, in Room 317-318, 10:50am-12:20pm.
Sometimes refactoring requires making decisions that might make you feel uncomfortable and question your life choices. In this workshop, we are going to explore the situations in which doing everything you stand against is really the right thing. We are going to write some repetitive code! We are going to delete a test and not replace it! Whether you are a longtime or newer programmer, you will come out of this workshop with a deeper appreciation for when to DRY, and the dangers of wrong abstractions. You’ll gain the confidence to make design decisions that go against convention.
Effective Code Reviews
Code reviews can improve your codebase and improve all participants’ technical skills. But sometimes it feels like neither of those is happening. There are a few common code review traps that developers can find themselves in. Sometimes reviews get rushed through to production, and while no major bugs ensue, longterm architectural constraints are unintentionally introduced. Sometimes reviews become a battleground between stylistic preferences while a team wrestles with what they value as individuals and as a group. And sometimes reviews are blocked for reasons that aren’t as important as delivering value to the customer sooner.
Is your code review process helping you, or holding you back? Are features not shipping because of churn in your process? Are bugs or maintenance costs slipping in that could have been caught in code review?
In this workshop, we work with your team to identify and understand what most holds them back, and coach the team to make code review into a process that helps rather than hinders. After this workshop, your team will have learned
- How much and what kind of feedback is important to give
- How to deliver actionable, specific, and kind comments
- How to identify differences when individuals hold different values
- How to resolve differences in individuals’ values
- When it would be valuable to block a PR from being merged
Better Coding Through Team Values
How much time does your team spend on technical disagreements?
How long do change requests get bogged down for when something not covered by the existing styleguide is causing the team to delay the merge while they figure out how to achieve consensus so they can update the styleguide?
How much productivity gets lost when one teammate tries to accommodate another, only to learn later that what’s good for one person isn’t best for the other?
What if there were some values your team could agree on, and use as a standard to resolve all these differences? What if when new differences arise, they could create new values that would resolve related differences in the future?
This workshop helps your team explore who they are as individuals, and how that builds into who they are as a team, and ultimately how that colors the technical decisions they make. At the end of the workshop, your developers will be better equipped to work more smoothly as a group. So the next time someone wants to introduce a little Haskell into the codebase, your team will have the answer for what they want to do about it and why.
Drop us a line to learn how we can help your company: [email protected]