Unlike some unfortunate people who found out on the day and missed out, I had the opportunity to attend the Alt.Net Unconference in Birmingham this Saturday.
Now I know some of you think Saturday Conferences are too far outside your work time. But hear me out on this first. This is a free event, which means no expensive expense approval. It included lunch so no personal cost apart from transport to get there. And if you really struggle with that, you could negotiate some time-in-leu with your manager for the following Monday to attend. The benefit to you and your company from an event like this is massive. Also, as a social event for the chance to geek out about the technology you love, or love to hate on, it is fantastic.
Enough of the sales pitch, what was it like?
For those of you unfamiliar with an unconference, the simplified version is that there is no agenda, whoever turns up are the right people. We make an agenda in the morning from attendee submissions. These can be talk topics, conversation topics where you have some knowledge to share, questions to ask or want to spend some time as a group learning something cool. We vote on and schedule the talks, and the get right into it.
And our agenda was exceptional. You have those moments leading up to conferences with the dilemma of choice. That is where the day started. Quantum computing with Q#, Functional Programming, dotnet CLI, git, motivating presenters, Reference Data Architecture, Blazor, Docker, Systems Thinking, Xamarin, I can't make an exhaustive list. There was a great breadth of choice in topics submitted and chosen.
I had a few takeaways from the sessions I attended that I want to share.
Reference Data Architecture
In programming, we kind of understand the idea of reference data. We may even have some in our database. This is a similar concept that can be used as a tool when architecting complex MicroService systems. Specifically to avoid coupling. I found the ideas and explanations from Ian Cooper and Toby Henderson from Huddle, where they have used this approach in a few places, to be very educational and inspiring. I can't do the explanation justice in one paragraph so will pull this topic into a future post. The key takeaway for me was to remember that "Don't repeat yourself" refers more to the duplication of knowledge, not necessarily the duplication of data or code.
For those in the session on Reference Data earlier at #AltNetBrum here is Pat Helland's paper: Data on the Outside vs. Data on the Inside.https://t.co/qg5AVDdgNG— Ian Cooper (@ICooper) June 30, 2018
IMO, essential reading for anyone doing microservices.
Layla from Twilio gave a great introduction to Liberating Structures. This is an umbrella term for a bunch of ideas, concepts and templates for running meetings, planning sessions, and Agile ceremonies to enhance and encourage better communication. Recommend checking this out of you work in a team at all. Some great ideas for things to try, and do communication better. A takeaway from this was learning about both a Fish Bowl and a Park Bench, and what the difference was.
Merging these together, we had a great discussion going through the what and why of some of these front-end acronyms, and why Microsoft puts them into Visual Studio templates, why you should care. This lead on to dotnet core CLI. Running quickly through the power of the CLI, I showed everyone how to create, build, test, pack and publish with the CLI, and never opening visual studio (including creating a solution file and adding projects).
For anyone who couldn't keep the pace, I have a .Net Core CLI Blog Series that you can refer back to.
This lead nicely into Jim Bennett talking about dotnet new templates, how to create them, and the power they have, including as a foundation for both Visual Studio "File=>New Project" templates and the equivalent in Visual Studio for Mac. The demo was in context to the new Xamarin templates he is putting together.
Systems thinking - Why Agile alone is not enough
This was an interesting talk by Marco Consolaro looking at biological and environmental systems, and how we can learning and apply systems thinking to peoples and teams and companies. Some real food for thought.
I had one takeaway from one slide, around the goals of the individual. The system is driven by both the goals of the system, as well as the goals of its parts. As members of a team, we have our own goals as well as the team goal. By communicating our own goals to the rest of the system (team) we can get and provide better support to allow all of us to meet both (Conclusion mine, not Marcos).
This was just one small aspect that I took away, but the principles of Systems Thinking is a nice foundation for lots of ideas and approaches that could feed into agile development.
I finished off with a little git and GitHub tutorial. It felt a bit rushed, and a bit of a shambles but I think I conveyed enough for the attendees to take away and start learning more. If nothing else, I showed enough UI of the edit, stage, commit cycle that it didn't look too hard or scary. Bit rusty on running that demo, though.
We wrapped up the day with a Park Bench. This is something I had not been part of before. Let me set the scene.
Four chairs sit vacant at the front of the room. Around it, a semicircle of other chairs sits expectantly facing towards them. Reluctantly the chairs are filled, leaving the front seats full of nervous folk. The rules are stated: Those four chairs may only make statements, the others, only questions. A question is asked. the seats must answer with their statement.
Suddenly a questioner wants to state. but how? They de-throne one of their peers from one of the four special chairs and take their place as Question-Answerer. For now. Soon enough someone else will have a statement. And so the cycle continues.
This was actually really cool. Though not everyone got a chance to sit up the front, everyone who has something to add to the conversations could get up and do so. And anyone who had a question got the chance to ask it. I would choose to do this again and might take it back to the office as something to try if the right situation arose.
The topic of conversion started around the idea of .Net renaissance, and the question of if .Net is dead or dying as an industry, inspired by Ian Cooper's .NET Renaissance talk from a few years ago. Some great discussion was had, and we cycled through some other interesting topics along the way, from Languages, Legacy, Salary, to open source, Microsoft then vs now and job security. I don't know if there was a conclusion to the question, but some great discussion none-the-less.
That's a rap. To the Pub!
Any great geek out event must finish with a chance to socialise. And with the unusually hot weather in the Uk this last week or so, an outdoor pub just up the road at the Custard Factory seemed ideal. This was a nice debrief, and a chance to further get to know the other attendees and those that had spoken.
Anyone thinking about attending an unconference in the future, Do It! It is great fun, great learning, and not your usual conference.
I learned about this from the last conference, and here I learned about DDD East Anglia. Might go check that out. Might see you there?