It’s really hard to focus right now.
In addition to trying to help others adopt TDD, I also work with clients to produce software for them. I’m notionally supposed to be writing features for that client right now; but much like everyone else, I’m running at about 20% efficiency.
This culture and this team I am working with has never adopted TDD, and few people on the team understand unit tests.
This is normal for our industry, and from experience, I know it’s contributing to the lack of concentration for me and for others.
With the kids at home, we (my spouse and I) get interrupted often, and that leaves us pockets of work time, and if you’re a developer, you know how hard it is to stay in ‘the zone’. I refer to that ‘zone’ in How to Destroy Programmer Productivity, and if you could use a little baseball bat humor right now, I hope that link helps.
For the course I’m building, it’s easier to jump back into that every night than it is my daytime client work. The biggest reason is that because I have a failing test awaiting me when I go back to the course, I know exactly where I’m at. I don’t have to spend any time wondering what to do next; the failing test tells me what to do.
I only have to concentrate on the next right thing (sorry, Anna).
Contrast that with client work, where Unit tests and TDD approaches to building software vary among the team and culture. There, it’s harder to jump back into it. I don’t have an easily testable architecture and infrastructure waiting for me. I have my notes, and I have comments in the code; but I don’t have that part I rely on — the tests, which are especially useful during times like these. It’s a small thing, leaving a failed test to come back to, but when your attention is split among so many things, it’s extremely helpful to have.
How are you handling this? Hit reply and let me know. I’d love to hear from you. All we have is each other (especially since in most places — like where I live — we can’t even hang out with our IRL friends).