Hello friend! Are you ready for another piping hot edition of pie-mail?
It was a massive couple of weeks just gone. TestBash home was incredible - I was so lucky to be a part of it, and all the talks and content were amazing. All the recordings are available to MoT pro members, I strongly recommend taking the time to go check it out.
I also shared the stage at ProductTalks Auckland, at An Ode to Product Managers. Another great night, where I got to share some stuff, but also learn a lot. You can watch the recording here. Special shout out to my co-speakers Darragh, Diana, Alister and Chanel, and our host Shipra, for an amazing night. And an extra special thanks to my former employer UneeQ for hosting - it was great to be back there!
After all that, life has calmed down a little - but not a lot. Enough that I could cobble together an email though!
🎓 This week I learned... 🎓
...about Domain Driven Design!
Domain Driven Design is an approach to building applications that relies heavily on domain knowledge to determine the shape of the application.
What that practically means is that things like functions and objects in code, map directly to concepts in the business domain. My understanding is, that it's particularly useful for making sense of overly complex applications.
It seems kinda obvious, but, being intentional about it means that engineering and the business can develop a shared language about what they're building.
It also means, if it's done well, that applications are easily extendible, because they've been built to map to the business domain.
Here's one place I think Domain Driven Design will be useful:
Throughout my career, I've run into problems where terms have been overloaded. Especially in B2B type organisations where words like 'customer' or 'user' can easily have multiple meanings. If the business defines terminology well, and that makes its way in to code, I think that could save on a lot of confusion and problems.
I'm still new to the concept of Domain Driven Design - there's books on the subject - but I like the idea and I'd like to learn more!
✨ Some interesting links ✨
Load Testing with Gatling part II:
The second chapter in Constance Armitage's excellent series on doing load testing. As always, the content is great, and the visuals make it excellent.
Why too much WIP causes so many problems:
This is an excellent video from John Cutler on Work In Progress (WIP) and the flow on effect of having too much WIP at any time. It's ten minutes long, and absolutely worth your time.
Flexbox is one of those frontend things that comes up for me time and time again, with the end result being "I should go and learn about that properly". Flexbox adventure - an interactive game all about Flexbox principles - is the way to learn it. Go play, have fun, learn.
Improving the deployment experience of a ten-year old application
This is a nice and interesting story about how Etsy managed improvements to their blue-green deployment strategy. I've never worked anywhere that implements blue-green deployment, but it seems like a neat idea, and I'd like to try it.
Coaching testers versus coaching developers
Kim Engels notes on the differences between giving test coaching to these two different roles is really interesting - it really highlights that these two things are not the same, and shouldn't be treated as such.
🧩 Puzzle time 🧩
Time for a Regular Expression question! Some people love 'em, some people hate 'em, but at some point, you're gonna come across 'em.
Someone sent this to me this week.
A web app has a form with fields that can be filled in.
There's a function that checks any field on the form for this regular expression:
If it found a match, the function would strip out the string following the match before running any more code.
Today's question is - what is this regular expression searching for... and why would it strip out anything after it?
It's worth noting, that this is some pretty old code - you wouldn't do it this way any more. Also, you probably also want to use some tool like https://regex101.com/ to figure out what the regex is doing!
Highlight this text to see a hint: the function was called xss_cleaner()
🎪 Events coming up 🎪
Events for those of you in New Zealand:
Stewardship programme (29 June, Auckland):
So, this one is kind of interesting. UX Auckland, Product Tank and Content Strategy Meetups are linking up to try out stewardship.
Stewardship is a professional relationship between two industry peers to share and learn off each other. Seems like a great networking opportunity!
Panel discussion - what test leaders look for when hiring (29 June, Auckland):
Ministry of Testing Auckland host three leaders from top Auckland companies to answer your questions. Join Zafraan Ameer
Pramod Bommisetty, and Ivan Stojkovic for what promises to be a great night.
Fireside chat with Jamie Beaton (6 July, Auckland):
Startup Grind are virtually hosting Jamie Beaton - CEO and Co-Founder of Crimson Education. Another great opportunity to hear from one of the voices behind one of NZ's exciting new up and coming software companies!
The FacePalm Moments (13 July, Tauranga):
A fun series of talks from TalkCode Tauranga all about the 'professional fails' - the facepalm moments. I'm sure everyone will be able to relate!
Events for anyone anywhere!
Grow your career with Tech Communities (29 June):
Ministry of Test host the incredible Nishi Grover Garg! She'll be giving a masterclass on leveraging tech communities to grow your career.
Test Leadership AMA (13 July):
The one and only Butch Mayhew will be answering all your questions around being a leader in testing. I've had the pleasure of virtually meeting Butch, and hearing him speak a couple of times now - and he's an incredibly great and knowledgeable individual. This one is a must see!
👋 Thanks for reading! 👋
Does anyone ever make it this far through the email? I'm curious. Hit me back.
James a.k.a. JPie 🥧