Our first Jersey City JUG session for 2021 followed the evolutionary design conversation from last month, as Emily Bache introduced a safety-enhancing technique for evolving the design of legacy code. She demonstrated Approval Tests and code coverage, then split us into groups of three to get tests around the provided codebase. (This entailed belatedly enabling Breakout Rooms for my Zoom account on the fly, with everyone’s help. Totally worth it.)

My top insight from today’s session: every Approval Test is inherently also a test for the absence of the unexpected. Not something we usually test for, because it requires some expensive thinking — but with Approval Tests it just happens. An argument for including at least a few of these tests in your suite.

For more insights, both from Emily and from my fellow participants, watch the session.

Emily’s new book

Check out Technical Agile Coaching with the Samman method, in which Emily carefully documents a particular way software development coaches can more effectively engage with clients. In my experience, engaging in this way is much more effective and cost-effective for clients than any other way I’ve tried. If you coach programmers, this book will help you. Don’t believe me? Take Kent Beck’s foreword for it.

(See also Emily’s other books.)

Posted January 11, 2021 at 11:48:00 AM EST Tags:

This month’s meetup of the Jersey City Java User Group continued the refactoring conversation from last month, as J. B. Rainsberger presented Unlocking the Awesome Power of Refactoring and discussion ensued. On at least three occasions, J. B. anticipated and answered a question we might have before being able to see that it had indeed been asked. One more remarkable trick from a consultant, coach, and trainer loaded with neat tricks.

For my part, after a Zoom hiccup I even managed to record nearly the whole thing. Give it a watch, and join the JC-JUG Meetup group to keep up with what’s coming next.

PubMob with J. B.

J. B. has one remaining Evolutionary Design Without Tests ensemble programming session this month with open seats. Programming with him is a thoughtful and enjoyable experience. Register and see for yourself.

Posted December 16, 2020 at 01:32:00 AM EST Tags:

Last month’s meetup of the Jersey City Java User Group got us off to a rollicking restart. At yesterday’s, Ted M. Young (also known as JitterTed) presented Stop Obsessing about Primitives. Ted’s focus on how people learn means you’re just about guaranteed to come away with ideas you can use. I sure did. Give it a watch. And join the JC-JUG Meetup group (if you haven’t already) to stay tuned for our next speaker.

PubMob with me

Been working with legacy code and wishing for more degrees of freedom — but your time and energy for skill development are limited? Boy howdy.

Give yourself 75 minutes of joint attention to meet the Strangler application pattern. We’ll program together in a thoughtfully prepared codebase with no more than 5 other participants, one of whom is often a very special guest coach. We’ll test-drive new features into some infamous old C code without touching that code at all. You’ll learn when to consider using Strangler and what to watch out for when you do.

Next week, in either of two timeslots. Register.

Posted November 18, 2020 at 02:54:18 AM EST Tags:

On Friday, November 13, Faye Thompson and I once again co-facilitated Two Midwesterners Politely Invite You To Explore Coding at Agile Arizona (rebranded “Agile Arisofa” for our remote-only era). The abstract:

Wonder what it’s like to do what programmers do? Maybe people have tried to explain it, but didn’t put it in terms that computed for you. Or maybe you would like to become more technical, but the mere thought of trying to code has felt intimidating. Today is a new day!

Faye’s a non-programmer from Ohio, Amitai’s a sometimes-programmer from Illinois, and with your help, we’ll solve a problem by thinking and coding together. If you want to, you can take a brief turn at the keyboard; if not, no biggie. When we’re done, we think you’ll have a new kind of feeling about code and coding. You might even want to pursue it further.

Fitting this into 60 minutes was a bit squeezy, so we made two tradeoffs:

  1. Instead of finishing the test-driven story, get just enough examples to show the process
  2. Instead of giving navigators the full navigating experience, do lots of navigating myself to get us somewhere interesting enough by the end

This seems to have worked out, by our own lights and by those of our participants, several of whom stuck around after the bell to ask Faye more questions about TDD and mobbing. I’d have liked to be available afterward too, but a kid needed my help navigating bedtime.

Posted November 13, 2020 at 01:00:00 PM EST Tags:

Remember when meetups still happened in locations? Of the 50 attendees at our first meetup of the revived Jersey City Java User Group, one admitted to living in the New York metropolitan area. And it wasn’t even me, the organizer. And the talk wasn’t even about Java.

Did I fall down on the job? No, I think this was the perfect way to start JC-JUG back up. GeePaw Hill (Twitter) knows from Java, and I hope he’ll come back and present about Kotlin. Give his More Smaller Steps a watch. In it, he distills issues we all face in software development, where the game is to incrementally change complex systems made of inseparably commingled social and technical facets.

Our November speaker is already lined up. Details soon.

PubMob with me

Got limited time and energy for skill development? Boy howdy.

I’m offering 75 minutes of joint attention doing Mob Programming in thoughtfully prepared legacy code. Get to know Strangler, when to consider using the pattern, and what to watch out for. Test-drive new features into some infamous old C code without touching that code at all. Your choice of two timeslots later this month.

Posted October 6, 2020 at 05:32:02 PM EDT Tags: