Want to get better at testing, but not sure where to start?
Perhaps you’re not sure what to write tests for, or what kinds of tests to write. Maybe you’ve read testing books and gone through testing tutorials, and it all makes sense when you read it, but when you try to apply what you’ve learned to your own applications, you’re lost.
Maybe you started building an application, and you built it without tests, because it wasn’t realistic to learn testing before you started building. Now you have a sizable production application with little or no tests, and it’s very unclear how to go about retroactively adding tests. The code seems to be structured in such a way that makes adding tests very difficult.
Because your app lacks automated test coverage, you can’t do much refactoring because it’s too risky. You have a lot of code you don’t like but you don’t feel like it’s safe to change it. And each deployment has to be preceded by a bunch of tedious and expensive manual testing.
Where you want to be
Your dream is for your app to have complete test coverage. In that scenario you could refactor to your heart’s content. You’d know that nothing you could do would be likely to cause much of a bug, since your tests would let you know if you broke anything.
Whenever you build a feature, you would be able to write the tests for it almost instinctively, without having to think very hard about it. Programming would become not only faster but also easier and more enjoyable.
How to get the testing skills you want
I’m Jason Swett. I’m a consultant and coach who teaches developers how to practice test-driven development and make their code easier to understand and work with.
With my help you can learn how to master the principles, tools and habits you need in order to write tests for all the code you write.
I help my students build their testing skills via pair programming sessions. Usually we meet on a weekly basis over a period of months or even years. As we progress you’ll learn the skills of not only test-driven development but also the adjacent areas like refactoring, object-oriented programming, code organization and the art of naming.
A sample coaching session
Below is a session I recorded with my friend and mentee Felipe. If you and I were to work together, it would work in a similar way.
I’m the host of the Code with Jason Podcast and the author of the Complete Guide to Rails Testing. I’ve taught programming in several countries around the world, and every week I teach programming in my Code with Jason Meetup. Most days I work from my home office in Sand Lake, Michigan.
Do you work with teams?
Yes! I work directly with teams, and I also work with engineering leaders on high-level testing strategy.
Do you offer onsite classes?
Yes, I’m happy to do that if that’s what you really want, but I usually try to talk my clients out of that. I consider it more effective to do periodic pairing sessions over a long period of time. I think you get a lot more bang for your buck that way.
I’m a developer paying out of my own pocket. Can I afford to hire you?
Unfortunately, the answer is almost certainly no. My fees are just too high.
What technologies do you work with?
My specialty is Ruby on Rails, but since testing principles are technology-independent I’m happy to consider working with any tech stack.
Want to work together?
If you’d like to talk about the possibility of working together, just fill out the form below. I’ll contact you as soon as I can, usually the same day.