It’s not news to anyone any more, so I’m sure everyone knows Amazon Web Services (our major cloud infrastructure provider) suffered an outage within one of their availability zones on Sunday June 5th. AWS is split up into various geographic regions, and within each region, a number of availability zones. I’m going to assume most readers know about this, but if you don’t, check out Amazon on how they describe these things. On Sunday one of these availability zones suffered a “power event”, owing to Sydney’s wild weather on the weekend, bringing it to its knees. Lots of Australian based websites had major problems.
In August we held our 2nd ever community and charity based Hack Day at REA: Hack it Forward.
More than 110 people in our Melbourne and Xi’an offices spent two days hacking for social causes, non-profit organisations and helping people in need. This year we partnered with more fantastic groups including:
Yet another wonderful event with 25 projects being tackled in 48 hours by smart, passionate people.
Best of all we captured it all in this little video. Enjoy 🙂
Let’s face it, writing software is hard. And frankly we humans suck at it. We need all the help we can get. Our industry has developed many tools and techniques over the years to provide “safety rails”, from the invention of the macro assembler through to sophisticated integration and automated testing frameworks. But somewhere along the way the idea of static analysis went out of favour.
I’m here to convince you that static analysis tools still have a place in modern software engineering.
Most Agile retrospectives are about how the team is feeling e.g. happy, sad, confused etc. We then try and understand the cause of the problem so that we can fix it, in the same way that we try to debug an issue with a software program. This approach makes sense when dealing with complicated problems, such as software, which have direct cause effect relationships. However, when working with team dynamics, people interactions and feelings, we are working with, and within, a complex system that doesn’t have a direct cause and effect relationships.
Trying to understand the root cause of something in a complex system can take a lot of time, and isn’t necessarily helpful in finding the desired solution. In complex systems, there is no direct relationship between a problem and the desired solution – this is one of the things that defines a complex system
Solutions-focused approaches to change have shown that a more direct approach for complex systems is to investigate for clues of where evidence of the solution you want is happening already and do more of it. In addition you can also identify small actions to take, like mini-experiments, to see if these actions nudge the complex system in the direction of the desired solution.
O(n) Week Day 1, 2015 – Somewhere in the Yarra Valley, Victoria: A group of fresh young faces gather in small groups around a house-cum-conference-centre nestled amongst the trees. A communal dinner has been shared and there are beers and soft drinks in-hand: some play pool, some cluster around a newly learnt eurogame, some just chat. Our 2015 graduates are starting to relax and unwind at the end of their first day of (O)n Week.
Over the past 12 months REA Group has been moving towards a structure where individual teams will manage their own infrastructure.
Start ups (or companies that behave like one) should already have devops culture. At REA Group we’re trying to bring a startup feel to individual teams, so engineers at the team level can decide on what new technology they want to try out, test and learn ahead of the rest of the organisation, and ensure the company stays adaptable and ahead of the curve.