Friday morning I took the day off of work so I could fly over to Sydney to take part in a gathering of Australian Microsoft MVPs. Friday afternoon there was a networking/”unconference” event held at Microsoft’s North Ryde campus.
Later we travelled back to Darling Harbor to have some fun at Strike, trying out their Escape Rooms (lots of fun).
The next morning we gathered for breakfast followed by a full day of speakers and workshops. Everyone got these really nice cards of appreciation with personalised Lego mini-figures. Not sure that my hair is brown, but then I’m not really sure what colour it is – the days of being blonde, or even ‘dirty’ blonde are well behind me 😀
During the afternoon, I was asked to do a short presentation about running a user group. I can tell you I was more than a little bit nervous getting up in front of such an experienced group of people, but I think it went ok.
Early Sunday morning, I flew back home. All in all a great time catching up with friends and learning a lot.
TL; DR - This is a really compelling talk. Go watch it, and share it with your colleagues!
My notes and highlights follow. These are not a substitute for watching/listening to the talk, and the best thing (if you ever get the opportunity) would be to see Richard deliver this in person.
- Is design complexity + cognitive load. Is NOT quick & dirty code
- Bad code is not technical debt, it’s just bad code
- Quantifying – look at trends over time
- do a “technical debt sprint”
- “Boy Scout Rule”
- Micro-refactoring – do anytime
- Macro-refactoring – plan and only do one at a time to limit disruption to team
- Both should have tests in place – ideally behavioural tests (so you’re testing the behaviour not the implementation)
- Really useful
- Still need to be managed properly
- Be Professional – you don’t need permission to do your job properly
- Have a Definition of Done and stick to it.
- Automate everything you can
- code styles/rules
- Change Team Culture
Code Reviews (suck)
- Traditional code reviews often don’t work well for a number of reasons
- Try doing peer refactoring
- Or pair programming when it is “strong-style” where both people are engaged.
- Put the mouse away!
- Mob programming – maximise team intelligence
- Experiment and find out what works for your team
- Avoid branching if possible. If not possible make it short-lived. This is because merging is costly
- Premature optimisation
- Resist temptations
- Shared learning
- Run hackathons
- Adhere to that Definition of Done
Technical debt can be a good thing, but bad code never is.
It’s been a busy week!
On Wednesday evening we hosted the regular monthly meeting of the Adelaide .NET User Group in the Adelaide offices of RL Solutions. Our speaker was to be Jon Skeet talking about C# 7, joining us remotely from the UK. This involved a bit of logistical planning, including getting in enough seats for the expected crowd, getting a good PA (thanks Tom!), borrowing a nice data projector (thanks Keith!) and making sure everyone could get into the building after hours (thanks Vic!).
There were a few gotchas along the way – I’d remembered the front door to our building closes at 6pm, but forgot that the lifts required a security card from 5.30pm. Then my laptop decided to freeze its screen when I reconnected the data projector and tried to launch PowerPoint as we were about to start. We got everyone upstairs and I rebooted my laptop and Jon was able to present his talk. I then realised that the pizzas were going to be delivered too early. So a quick change of schedule to introduce a 5 minute interval in the middle of the talk so everyone could grab some food before continuing on with part 2. Not to mention Tom running out to get some disposable plates as I’d overlooked those too.
But in the scheme of things, they were all pretty minor. All in all, I think it was a pretty successful night and I think lots of positive comments about Jon’s talk and also our office (the bar was especially popular!)
We recorded the Hangout so you can watch Jon’s presentation:
Friday afternoon is not when we’d normally have a user group meeting, but Adam Cogan was keen to visit and give us a preview of his Ignite Conference talk on What’s New in Visual Studio 2017 and Visual Studio Code. The timing of Adam’s talk turned out to be quite good, as Microsoft have just announced the release date for Visual Studio 2017. Set your alarms for 2.30am on March 8th (Adelaide time) for a live streaming launch event.
I’ve already got two speakers (Ben Laan on Load Testing and Bronwen Zande on HoloLens) lined up for March, so I think we’ll make April’s meeting our local Adelaide launch event for VS 2017 (combined with Jack Ni on IoT).
It’s going to be a busy year!