Saturday, 30 July 2016

BelfastGophers Meetup


So of my Resolutions the one I've been worst at is going out and getting involved in the community via meetups etc. I've been to a couple so far this year and a conference (Agile in the City) but I know it's something I need to do a bit more of.

I've been tinkering with Go a little bit in my own time and really enjoyed it so I was really excited about the chance to go and talk to people who are using it as part of their day jobs as part of the Belfast Go Meetup.



I mentioned to one of the organizers that what I love about Go is that it feels like a dynamic language and in a lot of ways it reminds me of Ruby (I know! I'm a heretic). He told me that everyone he talks to identifies or associates go with their favourite or most used language. Not long after one of the speakers mentioned how easy Go was to pickup from Python and he felt there was a lot of similarities...These guys know their stuff.

So the actual meetup was an introduction to Go including setting up and installing. We covered the hello world before moving on to an echo application dealing with user input and then using the standard library to build a web server and lastly a putty like client. The progress over the night was great and the explanations were sound.

I had done a few of those things before myself but it was still nice to touch on them again and hear the explanations for some things. One of the reasons I enjoy getting to these events is the sometimes tangential topics that come up. Some of the ones that came up and will send me off looking for

Glide - Was mentioned as offering a dependency management solution for Go but it's something that's a little fractured in the community
Podge -  Seems like a scaffolder like yeoman but maybe a little lighter on function
Club-Mate Cola - I'm a weirdo who is very very into his soft drinks. The hosts of the evening, Farset Labs, had a number of drinks from Club Mate. Whilst I didn't quite get near them or the pizza they are on my list for next time :)


So long story short, if you're like me and normally a little wary of actually going to these events don't be. Everyone is friendly and there for the same reason. If you're in Belfast there's another Go Meetup next month and I'll hopefully see you there! If you're not in Belfast make a beeline for your local go meetup and experience a language that's an absolute joy to play with

Friday, 8 July 2016

A/B Testing

A/B Testing


What an introduction to this book. It starts with reference to the Obama campaign an how A/B testing was used to help drive results there. Wow. Got my attention. Then we get hit with a reference to the Optimizely product that the author helped create to try and offer A/B testing as a product as a lot of companies build something bespoke to manage it. You very quickly get the feeling that the author knows this subject very well

So I came in to this book with some background knowledge on what A/B testing is. For those who don't have that it's when you experiment with a few variations to a random sample of your user base. There has been an explosion on blog posts on this from many sources, one of the most telling for me has been LinkedIn who have put up a number. It seemed like A/B testing was one of the biggest tech buzzes of 2015 with a lot of companies really starting to share information about their proprietary implementations

A/B Testing is something that has really appealed to me in recent times since I started managing the UI Library team in work. I think the flexibility that comes with A/B testing sounds almost too good to be true and I would love to put that into the hands of our team. I also would love for us to be a little more metric driven, that makes me sound like a jerk manager... the fact still remains I would like a little more metrics in the day to day to help guide decisions and reflect on previous decisions.

When mentioning A/B testing before I was told by some colleagues that as we are an administrative website changing customer behaviour wasn't necessarily the most important thing to us. Our users NEED us  day to day to acheive something they have to do, this isn't a social media thing when the behaviour is optional and we're looking to encourage it. Our application suite is moving away from these administrative automation workflows and more into collaborative value add interactions. This changes the way we interact with our customer in some ways and as such I feel like A/B Testing
offers us something we NEED now.

This book offers a lot of insight in terms of getting organisational buy in and applying correct analysis of the data.My takeaway from this book was that if you want to do A/B testing then it's incredible important that you  know what you are looking to improve. What do you do? What are you looking to do? If you don't know that how can you create tests that will help you to that goal


Have you had any experience of A/B testing? I would love to hear from you on twitter or right here in the comments section!

Book Reviews - Lean from the Trenches and Managing Oneself

Lean from the trenches

This is an excellent book by someone who is a fantastic advocate of lean. Henrik Kniberg has been involved with Spotify, were he introduced the team health check concept, and Lego amonst many others. This book deals with a government project for the police force and he talks through real examples and real experience about how they managed to deliver it on time and on budget. Catch him talking about the topic on vimeo

I cannot recommend this book highly enough. Go read it and the many other excellent pieces of information he's given out.

Links to some of the excellent things he's produced with Spotify


Managing Oneself


This Harvard Business Review essay is on taking responsibility to manage your own career as the workplace has evolved a lot since people would stay at one company for 40 years. Short read but with some resonating questions which can be summed up as being very open with self evaluation and knowing what it is that motivates you and what you can bring to the table.

Definitely worth a read for anyone who is feeling a little aimless


Habitat.sh

I am a big Chef fanboy. It's not something I hide very well or attempt to hide. Chef was a huge part of my role within a release engineering team for a few hours and I think that using it has made lots of positive impacts to the organisation I work for as we strive towards continuous delivery.

You can imagine my giddy excitement then when the current Release Engineering team managed to snag a few Chef employees to come into our office to talk about their new product habitat. Also I'm really struggling to get out to events this year and that's probably one of the career resolutions I've struggled with the most.

Nathen Hervey and Thom May gave us a an overview of the solution and it was great. They have a fantastic interactive demo you can walk through in your browser on their site as well so go and take a look at that.

I'll try to give a brief thought on why Habitat is so exciting. Chef has a node orientated view of the world. That's where the rubber hits the road and things like runlists and recipes get applied and attributes get levelled out and that's brilliant for a lot of applications that people run or for infrastructure servers but it does muddy the waters a little when it comes to distributed services and the clusters that offer that service. That's where Habitat comes in with it's gossip protocol to spread config updates and the supervisor to manage the processes you are getting considerable value add over Chef.

There was of course ways to try and bend Chef to work with these services. We had for example many clusters of couchbase servers that fulfill different behaviours within the same environment and so we used the Role concept in Chef to manage that. That was because for the most part the install was the same but there was some config (other cluster members) that was what differentiated one cluster from another. Using roles allowed us to dynamically discover other servers that existed in the cluster but sadly didn't alllow for us to update all of them at once like Habitat is built for.

The one question I have is how this is going to interact with Chef and other stores in terms of forming an open source toolchain that will allow for you to manage and deploy modern distributed services. Most of the demo we saw involved manually pushing messages in using the gossip protocol (which is used in Ubers RingPop) and so I'm guessing you could probably have Chef Providers or similar which would allow you to do that. I would guess you want to have your config that you've just pushed to your production cluster stored somewhere... Also the attribute precedence setting and levelling in Chef is GOLD so you would really want to be able to hook back into that.

I am feeling pretty excited about the opportunities that habitat.sh can bring to us so much so I've started learning Rust so I can attempt to contribute something to the product.