I can help you Make Your Code More Testable™️ with Refactoring and Hexagonal Architecture. https://t.co/Nh6hZudB8J. Coding Coach & Trainer; Java, Spring, & TDD. he/him
Sep 7, 2022 • 7 tweets • 2 min read
I often get asked "what project should I work on to improve my skills?" My response is:
1. If possible, make it useful for you or your family. That way you'll be motivated to work on it and get real-world feedback for things to change/add.
2. Focus on interesting BEHAVIOR.
Why "behavior"? Well, it depends on what kinda of work you like, but for me, I like rich and interesting domains (hence my fondness for domain-driven design), vs. just integrating things (valuable for sure!).
Sep 7, 2022 • 5 tweets • 2 min read
As a learner, a skill to focus on is how to ask good technical questions. Lots of resources for this, but time and again I see folks asking questions that are missing necessary information or don't properly express the actual problem you're trying to solve.
People are willing to help (we love to solve problems!), but you have to make possible for others to help.
If your question is a short sentence, it's not going to get a good answer (unless it's a "I'm not even sure what to ask" level of question).
Sep 6, 2022 • 8 tweets • 2 min read
I'm generally an outside-in kind of TDDer (though the test might start against an object just inside of the edge). It's not right or wrong, just is what I'm comfortable with.
However, there are times when inside-out—starting by TDDing a single class—is less work. And that's...
...when I have a clearly defined specification for a class, which doesn't happen often. Most often it's with (finite) state machines.
1 boolean in a class is just a flag. 2 booleans is multiple state situation. 3+ is a state machine in hiding (a form of Primitive Obsession).
Jul 5, 2018 • 13 tweets • 5 min read
Some days I'm really frustrated by people holding opinions in the face of experiments and data showing the opposite. It's one thing to say that the experiment isn't valid (and then please say why you think so), it's another to misread it entirely.
I'll be the first to admit that experiments around things like TDD are hard, but Medium posts like this one don't even attempt to look at the literature. blog.usejournal.com/lean-testing-o…
Oct 29, 2017 • 14 tweets • 2 min read
Had not heard the term "Cognitive Apprenticeship" before, but it applies 💯to training/coaching coders. johntomsett.com/2017/10/22/thi…
Since apprentices can't "watch" your thinking, it's critical that we "think out loud" as much as possible when demonstrating our work.