This article is republished from my original 'The 4th and final day of Microsoft Ignite' post in LinkedIn.
The final day of Ignite is a half day so people can get back home in time for the weekend. I saw delegates from all parts of New Zealand, Australia and of course speakers from around the world. Walking through the Sky City hotel to my first session, there were lines of people in Microsoft t-shirts checking out and it made me realize what a huge undertaking this conference was. 2500 delegates and 140 sessions (up to 8 sessions across 2 conference centres at any one time), the party, keynote, breakout labs, vendor booths and catering. Wow! Quite a logistical feat.
My first session was by Hannah Gray from Xero, who gave an excellent talk on her journey from developer to manager and the skills required along the way. Xero is of course a cloud native accounting software provider which has disrupted the competition with rapid feature growth, an easy to use (and pretty) interface and a great price point. Hannah is the Technical Group Lead, and her talk explained how she moved into management and some of the challenges she faced along the way.
A couple of stand-out points for me were growing a support network of your peers to bounce ideas off of. While I did this as a developer, it's harder to do as your responsibilities increase, especially in smaller organisations. You may have to go outside your company to find a peer network as a manager or leader in a small team - you may be the only one in that position in your company! It's worth it though, to get feedback and ideas on how to approach issues.
The other point I took away was about career progression. I've met so many people that may be brilliant technically but aren't necessarily people leaders. It's important to be able to judge which path you should take in your career, and to recognize that management or leadership isn't just the next step for everyone. Xero actually has two tracks, technical and people leadership to reward those people who excel technically but don't want to take on staff management.
Next was an architectural talk by Stefano Tempesta, who came from Switzerland to present. He is VP of Engineering for a school and talked about the emergency notification system they developed using Event Sourcing and the Command Query Responsibility Separation (CQRS) pattern. This is new to me, but feels appropriate for large scale, event driven systems. Instead of storing data as rows in database tables which need to be locked for update, Event Sourcing stores a series of events and synthesizes a view from the events, rather than from a table row. This means that while a view is being queried more events can be added - there's no row-locking or database transactions getting in the way.
CQRS is a complementary pattern that uses a different model for updates (commands) than for reads (queries). Stefano's example involved a large number of events, such as SMS messages, responses, phone calls and other information coming in to let the school know whether students were safe or not. In an emergency situation the school would message all students and attempt to display, in the quickest possible time, confirmation of replies. This is an extremely event driven system and CQRS allows updates to be modeled as events appended to a database table, while the read model summarizes this data rather than looking at individual events.
My final session was on a system developed by Datacom to track the performance of baggage tugs at Auckland Airport. This was one of those excellent sessions that brought together a number of different topics into a single talk - Internet of Things, Azure, and Power BI for visualizing the data collected. The IoT devices developed by Datacom combined a Raspberry Pi with a GPS module and iBeacons to track tugs between aircraft and the baggage handling conveyor belts. The Power BI dashboard showed the locations of the tugs, and projected how long it would take for passengers to receive their baggage.
This information could be used in future by the airport to schedule flights, optimizing the flow of baggage through the carousels or to show when there were delays so that more tugs or carousels could be opened. It's cool to see someone analyse a system looking for constraints, and making improvements at the bottleneck. To quote Gene Kim in The Phoenix Project "Any improvements made anywhere besides the bottleneck are an illusion."
The amount of data points being collected here also made me think of the previous session, and how Event Sourcing and CQRS were perfect for the scale of data produced by IoT devices. The number of tugs in use at Auckland Airport is low, but if you extended the system to use RFID tags on luggage you would explode the amount of data you collected. A system that appended events to a table then synthesized a view from these datapoints might better cope with load than a traditional system that updated records to track throughput or changes.
The conference ended with lunch and prizes. You could scan the RFID tag on your pass at a number of booths and go in to win prizes like Bluetooth speakers, a light saber, and a couple of Xbox S consoles. There was also a Surface Book prize draw for those that had submitted session reviews. While I didn't win anything, I definitely took away a load of useful information, and can see myself applying some of the techniques I learned in the near future. I'd highly recommend the conference to anyone in IT, be it Microsoft focused or not. Thanks again to my employer Equinox IT for sending me, and I hope I will be back again next year!
Adam Knight is a Senior Solution Architect based in Equinox IT's Auckland, New Zealand office.