Below we're catching up with David Lush, Head of Engineering at ONZO, the global data solutions provider for the utility sector. In the latest of our Industry Insider series, we queried how best to create the sort of team that developers enjoy working in and David Lush is sharing his wisdom on the matter.
About ONZO and David Lush
David Lush graduated with a degree in cybernetics, which included electronics, robotics, psychology of how technology is used, and also full-stack programming. His first technical role was with a company called Powertec, which entailed putting in place staff rota systems for NHS clients. In addition to learning full-stack web development, the role also involved setting up source control, bug tracking and continuous integration systems. It was, therefore, a great experience for his fledgeling career.
He then moved on to work with Visa, where his initial roles as a Software Engineer entailed systems for mobile contactless payments and mobile peer-to-peer payments. He spent nine years working for Visa and moved into more senior roles until finally becoming the Head of Digital Development. This management role entailed taking care of products such as the digital wallet marketing solution and mobile payment pieces. In this role, he also helped set up the engineering needed for an incubator and became very focused on speed to market, pilots, and evolving practices needed for continuous delivery.
His role with the incubators meant moving from a team of 80 people to a smaller team of 10 people. However, it meant that projects were all greenfield and best practices could be applied from the outset.
Around 18 months ago, David moved to join ONZO in his current role as Head of Engineering. He told us: "I feel like I've had great successes with Visa and it's a chance to work out for myself, were those successes my own? Was I the person who was making that happen or did I sit on the shoulders of others? (i.e. a little bit of imposter syndrome) I'm glad to say things have been really successful with ONZO too. So, I wasn’t just sitting on the shoulders of others. It's been a really good first year at ONZO. We have made significant improvements to our technical platform and have increased our permanent engineering team by almost 10x scale."
David explains that ONZO is a B2B company that takes a feed of smart meter data from utilities before cleansing it, gap handling, carrying out data analytics on it, and then providing the insights from the data analytics back to the Energy Company. The main aim of the business is to add value to the Energy Company, through reducing costs and increasing customer lifetime value, and its customers, by creating reasons to engage and providing enhanced products and services. The insight provided by ONZO gives utility companies unique insight about customers and the way that their smart meters are performing.
Working in an agile environment
The ONZO workplace is an agile environment, which David says he takes for granted in the modern arena. He hasn't worked in a waterfall environment for over eight years and can't imagine going back to it. He comments: "I guess the things that I really value from that are as an organisation, your individual teams, you empower them to be able to make their own decisions. It's very much about gathering feedback as you deliver, learning from your mistakes, and consistently progressing/improving the way that things are done."
He adds that once the platform was rebuilt, all ONZO customers were seamlessly migrated and new features are currently being added at a good pace. Practices are always evolving as the team matures and grows.
Is a flat hierarchy best?
David explains to us that there is no real hierarchy when it comes to decision making in his team. Best practice within an engineering team, in particular, is to make decisions which are based on data and evidence. He says: "I removed that pattern where the highest paid person in the room makes decisions. Also, around decision making, it's important to not come to a solution before you understand the problem. That's something we try to instil in the culture with the team."
When it comes to team structure, the team leads provide line management & mentoring based on geographic locations. Software delivery and workflow is managed by those same empowered teams, each split across geographic locations. ONZO has sites in London, Wroclaw in Poland, and new technology hub in Codebase, Edinburgh. Good communications with the teams in all locations are also essential for this role.
Contract vs perm?
Although David feels there is occasionally a place for contractors in his team, he aims for mostly permanent staff members. ONZO was fairly heavy with contractors when he first joined them - they had a 20:80 split of permanent to contract staff members. He recognises that contractors can bring expertise and experience to the team. He says: "You're paying somebody to come in and provide a professional service, and someone who is there with a specific goal in mind, but not necessarily invested in the long-term success of your product."
Although he would not cast doubt on the professionalism of contractors, he does feel they can be focussed on tactical rather than strategic decisions. Permanent team members, on the other hand, might well take the view that they could be looking after projects over the next three to four years so, therefore, the best long-term decisions need to be made. This is most critical for a business like ONZO which is still in a period of rapid growth. David says that for him it's about: "Building a team that people are loving working in, retaining them, and giving them room for progression."
Working as a developer with ONZO
When it comes to developers, there are several benefits of working for ONZO. The values and team culture cascade from the top down and the company has a strong mission and values. These are reflected within the hiring process so that new hires tend to be a good fit for the business from day one. The onboarding procedure is critical for making a good impression.
Providing a high spec laptop with a free choice of operating system can make a difference to many software engineers that come on board, and they can work with the toolset they prefer. David adds: "From day one, make sure that that person's got access to all of the systems they need. We really encourage them to check out the code, build it and commit a small change. Then, from day two onwards, make sure that the work that we give them is a really good fit in terms of their technical maturity as an engineer. Obviously, if someone's junior, don't throw really complex work at them and vice versa. If you've got a senior person, make sure that you challenge them and give them something that's going to get them thinking from the beginning."
Practices and technology
Two important final areas of team building within ONZO are practices and technology. When it comes to practices, David's keen to stress that it's about making the decisions that are based on evidence, while also delivering an appropriate quality level. He says: "If something's going to be production grade, make sure you've tested it really well with comprehensive automated test cases. If something's a prototype, make sure that you consciously let the NFRs slip a little bit, and don't force people to slow down on the prototype and build really robust performance, when your focus is to prove a hypothesis."
One thing that's really important for team members is to love and care for a product from the outset to the finish point, as this is empowering.
When it comes to technology, ONZO uses technologies that are appropriate to the problems being solved which can be a real mix. David continues: "I think if you look at our technology stack, it is typically quite shiny and new. When selecting our technology stack we tried to make a gamble on what we think is going to become the new normal. I'm personally quite a fan of the JVM (Java Virtual Machine). It is a nice mixture of proven / “boring” and the new shiny. On the “boring” side the operational properties are really well understood e.g.garbage collection strategies & performance profiling. On the new shiny side, there is has a proliferation of interesting new programming languages released to the JVM over the past decade e.g. Groovy, Clojure, Kotlin and Scala. This gives engineers a lot of freedom to move within a well-understood sandbox."
Not all new features and products can have a monetary value attributed to them as they may be more strategic. For example, ONZO’s engineering team is at the beginning of their A/B testing journey, which brings different challenges in a B2B business vs a more B2C oriented business.
Benefits of working at ONZO
One major benefit of working with ONZO is the opportunity to work remotely. This makes it critical to have the right support tools in place, which include Slack and regular video conferences using Zoom. Desktop shares also make it easy to work on paired programming remotely.
Another advantage of working at ONZO is that the senior leadership team is on board with all the improvements being put in place, which creates a positive atmosphere for all team members.
If you'd like to know more about ONZO, you can do so here.
Consortia are a specialist Software Development Recruitment Agency, connecting great clients with great candidates. We pride ourselves on finding the very best Software Development talent. Contact us here to talk through how we can help you with your business hiring needs.
Thank you to David Lush of ONZO for speaking to us about this subject, it's a great article. While you are here, read one of our other Development articles here:
When hiring for a developer role, you would expect candidates to endorse their best skills and characteristics. However, with the demand for technical talent far exceeding the supply, this puts developers in a very positive position. To secure the very best talent, businesses, therefore, need to seriously consider their offering and ensure they stand out from the crowd.
Alternatively, would you like a new Software Development role? Drop us your CV here.comments powered by Disqus