goto Chicago Conference 2015

May 13, 2015   

This week I went to GOTO Chicago conference. It was held in Westin hotel on Clark street. The conference was on 11th and 12th May 2015. GOTO is an yearly conference and has been going on from some time. My employer sponsored the conference also.

It was a great conference and had a mix of talks on Programming Languages, Distributed Computing, Testing, General (Agile) etc. I attended bunch of talks delivered by some wonderful speakers.

Monday


GOTO conf Chicago 2015 By Anita Sengupta(Shared on Twitter)

Curiosity’s Entry Descent and Landing on Mars by Anita Sengupta(@Doctor_Astro) - Who doesn’t love space and space exploration. This was ending keynote and Anita made it one to remember for the ages. She talked about how Nasa JPL team managed to land a robot on Mars surface with state of the art technology and lots of hard work. Anita worked on Curiosity mars rover and built the supersonic parachute used by the rover. She is currently working as a project manager for “Cold Atom Laboratory”.

Jepsen IV: Hope Springs Eternal by Kyle Kingsbury(@aphyr) - Kyle is famous for his distributed database testing tool called Jespen. Kyle is a very good speaker and his slides were top class. If you are in distributed computing or databases, check out Kyle’s work. Slides

Applying Reactive Programming with RxJava by Ben Christensen from Netflix(@benjchristensen) - The talk was about Java and Rx by Netflix. Good talk about writing async code in Java and How Netflix does it. It was good to see how another programming language apart from Go doing async and concurrency. Slides

Deploy like a Boss by Oliver Nicholas(@wonlove) - In this talk Oliver talked about how Uber deploys to production. They started with shell scripts but now they use Mesos + Marathon for deployment.

Patterns for Docker Success by Simon Eskildsen(@sirupsen) - Simon was a great presenter and he talked about how Shopify is using Docker. He talked about what other companies trying to use Docker can use from Shopify experience. Slides

How I finally stopped worrying and learnt to love Conway’s Law by James Lewis(@boicy) Evolutionary Architecture & Micro-Services - A Match Enabled by Continuous Delivery by Rebecca Parsons(@rebeccaparsons) - Both of these talks were about Micro-services architecture and how organizations can benefit with Micro-services. Rebecca even talked about when to use micro-services. She suggested that if you are building a new system you should start with a monolith architecture but with good design and then move to micro-services. If you start with micro services, you might define the boundaries of your system wrong.
Slides from James Lewis talk
Slides from Rebecca Parsons talk

End-to-end Encryption in Cloud Services by Patrick Linskey - This is the talk that I could not understand much. Speaker tried his best but either crypto is hard or end to end encryption is very hard. Slides

Tuesday

How did we end up Here by Martin Thompson(@mjpt777) and Todd Montgomery(@toddlmontgomery) - Martin and Todd talked about current trends and issues with software development. They talked about increasing complexity and how to solve the problem. They also talked about diversity issues in Software engineering field. Slide

Level Up Your Automated Tests by Trisha Gee(@trisha_gee) - This was one of the talk from testing track. Trisha talked about how to have the culture of writing tests. She said that tests can be used as a documentation also and that resonated very well with everybody in the room. She also gave some examples from her work with Spock and JUnit. She forgot to charge her laptop and ended up using hand written slides and that was cool. :) Slide

Unselfish Testing by Jay Fields(@thejayfields) - Jay has written a book on JUnit testing. Jay also emphasized the point of writing better tests. He gave examples about how to make tests better and follow the DRY principle. Slide

Faster Java Objects by Gil Tene(@giltene) -Gil is CTO of Azul systems and talked about faster java objects. Basically they want to have flat memory layout for objects in Java so that they can make them easily streamable. It was a fascinating talk and I learned few things coz I am also working on a problem of reading binary from c structs. Slide

How Go is making us faster by Wilfried Schobeiri(@nphase) - Wil gave a talk on how MediaMath is using Go lang. I was not present for this talk but I have already seen this couple of time. It is real good talk and brings out some of the great things about Go lang, such as easy to learn, fast, and good concurrency. Slide

Don’t give up on serializability just yet! by Neha Narula(@neha) - Neha talked about distributed computing and how serializability plays its part. She talked about Spanner and other distributed systems. Slides

Applying the Saga Pattern by Caitie McCaffrey(@caitie) - In this talk Caitie talked about her work with Halo 4 (game) and how she used Saga pattern to solve a distributed computing problem. She also talked about how transactions happen with Saga pattern and how other people can also leverage Saga pattern. Slides

Coordination-Free Computations by Christopher Meiklejohn(@cmeik) - This was a very advanced talk on distributed computing where Christopher talked about coordination free computation. He works on Riak team and he showed how he used Riak and CRDT’s. He is working on a distributed programming language called LASP. Slides

From Homogeneous Monolith to Radically Heterogeneous Microservices: The Wunderlist 3 Story by Chad Fowler(@chadfowler) - A fun ending keynote from Chad. He talked about how he changed Wunderlist from a monolith to micro services. He talked about clean architecture and how it is important to keep complexity in check in a system. He also talked about how we should take inspiration from our own system(body) and build a system that heal itself. Slides

This was a great conference but diversity is still an issue for software industry. There were very few women in audience/speakers. This is a big issue and some speakers even pointed out on stage too. So we all need to work towards making software engineering a more diverse place.