Day 30 - Reflect on your experience

You made it! Well done, you.

For this, our final task, please reflect upon your experience. Consider flipping back through the older threads to refresh your memory of the exercises.

When you do, please share what arises on this forum thread (or via email, if you prefer).

Constructive criticism, observations, ideas for the next cohort, key takeaways, and questions are all welcome.

I truly enjoyed running this course for all of you. Thanks so much for your feedback, and especially your enthusiasm. Your excitement was contagious, and made the work of producing the course feel light.

Thanks again for being part of this. This 30-day challenge is over, but let’s stay in touch.

-Ben

Really pleased with this experience, some of the positive takeaways:

  • learned a few new tricks many of which have been applied to real problems I’m facing at work (ex: the “slowest test” challenge got me to discover the --durations argument for pytest, which proved to be critically useful in debugging a slow test problem on our build server yesterday)
  • built a habit of “little wins” every day which I hope to continue past this challenge
  • got others in my workplace excited about quality
  • demonstrated to my coworkers that 20 minutes a day can make a big difference

Some “criticisms”:

  • The Day 29 challenge felt a bit icky, while it’s cool to promote the cool stuff you’re working on, taking an entire challenge day to say “Hey check out this stuff I made” felt kinda cheesy, and TBH made me tune out a bit. Maybe Day 29 & 30 could be consolidated into a single challenge: “Reflect back on the last 30 days, and while you are, here’s a few things I’ve built/done/am doing that will help support/reinforce what you experienced”. I think this would be far more likely to get people to actually check out the items of note, whereas a day that is nothing but plugs tends to get ignored/dismissed out of hand.
  • A coworker of mine expressed a sentiment that sometimes the challenges didn’t feel like “code” challenges. Examples like creating snippets or trimming branches are worthwhile activities, but didn’t jive with their preconceived expectations from an activity called “the 30 day code quality challenge”. Perhaps the name is misleading? I definitely wouldn’t want to see those activities go away (they’re extremely worthwhile), but some alignment of expectations up front might help.
  • one thing that I experienced that might be less common for others: many of the challenges are geared towards larger or established projects. I’m currently working on a greenfield project, which made some exercises difficult to apply & as a result didn’t get much out of those days (there aren’t any overgrown classes in this project – yet, no DB schema to audit – yet, etc). I’m not sure if/how that could be alleviated, and TBH brownfield is more common than greenfield so maybe this isn’t really a problem for most people who’ll do the CQC.

Some ideas for future challenges:

  • explore test coverage tools & spend 20 minutes backfilling some missing unit tests.
  • pick an example refactor from the Refactoring book by Fowler & apply to your codebase
  • write a blog post or explain to a coworker about something you recently learned
  • spend 20 minutes learning some new tricks with your shell of choice (be it bash, zsh, fish, etc)
  • share on the forum a command-line tool you use all the time that perhaps others might not know. Why is it useful? What do you use it for?
  • look at the build times for your project, is there any way you can improve those build times? (caching, parallelizing build steps, etc)
  • Check out https://github.com/kamranahmedse/design-patterns-for-humans and think if any of those patterns could be applied to your project to help solve a maintenance problem you’re facing.

Some open questions:

  • will the CQC be offered again? If so, will it be the same exercises, or will they be changed out for new ones? I ask partly because this was the 2nd time I did the CQC (the first time was in Jan when it got cut short), and this time around it was helpful for me to be able to point coworkers at the notes I did from the first time to give them a sense of what the CQC is about.
  • I wonder if there’s a way a community could be born out of this CQC. While just doing the 30 days is totally worthwhile, it’d be awesome to continue discussions with peers around how they’re getting their little wins every day.

In any case, if people reading this would like to keep in touch, you can find me on Twitter at @CodependentCodr and find my blog at https://www.codependentcodr.com/

Lastly, thanks @ben so much for organizing and facilitating this, really truly appreciate all the hard work!

1 Like

Ben, thanks for running this. I enjoyed following along and participating. I did find some of the challenges difficult to “complete” based on push back from other developers in my company. But personally, I got value from every challenge.

1 Like

FWIW, I found this event inspiring and as such I’m going to try and post periodic “Code Quality Challenges” on my blog in the same vein as what we saw in this event.

Overview of my plans: https://www.codependentcodr.com/code-quality-challenge-0-getting-started.html#code-quality-challenge-0-getting-started

First challenge: https://www.codependentcodr.com/code-quality-challenge-1-test-coverage.html#code-quality-challenge-1-test-coverage