As part of our Thought Leadership function, we spent time speaking with Federico Fregosi, Lead Site Reliability Engineer at Curve. He was very keen to share his knowledge on the subject of DevOps. Consortia are positive about adding some value back into the DevOps community, as different people and organisations approach DevOps in a variety of ways. It is clear now that many organisations are moving into a DevOps culture, so sharing knowledge and best practice can help inform this.
Federico's story at Curve so far
Federico's story is inextricably linked to the development of a DevOps culture at Curve. When he joined the company, there was no DevOps team in place, it was a very small business, and much of its DevOps culture was developed by the founder, at a time when just about everyone in the company was involved in the initial development of the product. Federico was recruited as the first company DevOps engineer and tasked with the project of developing the department. He found the role challenging and exciting and has built a successful team culture within the company.
He says: "I joined the company as the first DevOps engineer. I've got to say that it's much busier now. This is very rewarding. Over the last 2 years, the business has grown so much that I feel like I've worked at four different places. Four different companies with four different dynamics...This is an example of how a DevOps engineer needs to be able to reinvent himself. What used to work a few years ago or when the company was 10 people, will not work when the company grows to 60 people. Communication is key. Make sure you have everyone on the same page.”
Growing a team at Curve
Federico feels that launching DevOps at the beginning of Curve's start-up phase was essential for Curve's early progression; up to the current point where he leads a team of four to five people. It takes time to grow a DevOps team; staff turnover can make it difficult to keep the team around five people, but this is the optimal number of employees for running the function successfully. His team works on embedding reliability into the company culture whilst ensuring that developers can be as quick as possible in delivering features.
The ideal employee for Curve’s DevOps team would be a breed of a coder and an IT Operations engineer. For Federico, it's important that his team has good technical knowledge on the tooling but also that everyone understands a bit of the theory behind the technical choices. In other words: “breadth over depth”, as this ensures they are bringing value to the business and the learning curve is not too steep.
Federico thinks that where he and his team excel is in offering: “At Curve, we try to provide a growth platform to all the employees, and that is one of our key messages. You can always be bettering yourself. People often get a chance here, and that’s due to the fact we’re still at the start-up phase. There might be a risk of getting someone whose CV isn’t too strong, but has great potential, and this can give them a chance to shine. Ownership and trust are essentials for success".
One of his team members is extremely talented and was wasted in a “barely technical” position held prior to joining Curve. Federico decided to hire him in May 2017 even if he did not look very strong on paper and there was some diffidence from the other interviewers. Over time, he proved to be an extraordinarily skilled team member and a great asset for the business. Federico is extremely proud of the overall talent and skills he has managed to bring to the Curve DevOps team.
Creating a culture worth shouting about
Creating and maintaining a positive DevOps culture within Curve means taking a proactive approach towards educating all the employees. Federico handles this by way of regular company-wide presentations and engineering meetings. This helps to raise visibility of the infrastructure work and keeps all staff working together and effectively.
The DevOps team also looks after the Production platform and liaises effectively with the development teams to make sure that all the issues are quickly identified and can be actioned directly by the developers in a “you wrote it, you run it” model. This way, the DevOps can focus on providing a strong engineering service rather than operation work. Because of this, Federico finds it too constraining to hire employees that, for example, don't know how to code. This can make it quite difficult to find the right staff for his team as it's important they can also work within the development arena.
He adds that: "Curve itself would not have been able to exist five or ten years ago. It just would not have been possible. The upfront cost to create the infrastructure able to sustain our load (about 200 million in transaction volume) would have been too big for any start-up in this space. Cloud computing and AWS enabled the company to exist".
Being hidden as a DevOps team
Another challenge he has to face is ensuring the company appreciates the value of the work carried out by the DevOps team. Ultimately, infrastructure can be a hidden aspect in any business and considered a simple cost centre. For this reason, he is hot on ensuring that his small team is able to convert all their technical know-how into understandable, bite sized chunks to communicate easily across the business.
Federico would advise anybody taking up a new and responsible position within DevOps to ensure they have the ability to convert complex technical knowledge into clear business knowledge. “When presenting work to the company, don't just focus on presenting the number of cores that your machine has, but present the cost implication of those cores. And make sure you understand the company as a whole and how it works; this way you can show where you can provide value”. It's also important for the business to achieve a good grasp of what a mature DevOps process actually is. He adds: "It's not really about getting your infrastructure in place and being happy with it. It's really about bridging the gap between development and operations and making sure that you are enabling development to be as fast as possible by leveraging an elastic infrastructure". Management training courses and business skills are also important to learn. Even if, the most important skill is really being able to explain technical aspects in a clear and jargon-free manner that's understandable to other members of the business.
Compliance in DevOps
One area that is just as important as security is compliance. Federico says: "We are a financially regulated business. When we pick up a technology, we always try to keep compliance in our minds. We were lucky enough to have someone in the company that had similar experiences, who is our current Head of Operations. Non-technical, but from a compliance and opinions point of view, she was able to influence architectural decisions".
It's critically important when launching a service, to ensure that it is compliant with the regulations of the space. Hence working collaboratively with the developers has to be a major aspect of the job. This is even more critical now that GDPR is in place and there are a number of privacy requirements needing to be met.
Monitoring as a DevOps Team
Another area important for DevOps is monitoring. Federico says “Monitoring is a key activity for our DevOps team. We strive to provide the best of breed monitoring tools to our developers. We're using both managed services and tools that we control in-house. From the ELK stack to Fluentd and Prometheus. On top of this, we're finalizing a project to support distributed tracing with Jaeger. We've also put multiple screens in the office to show everyone the status of our production environment and our deployment systems.”
Motivating a DevOps team
Federico is keen to point out that the exciting culture at Curve is highly instrumental in motivating the small DevOps team. The interesting work carried out by all members of the DevOps team and the fact that the start-up itself is progressing efficiently, all contribute to motivating the entire workforce. Ongoing training and mentoring also play a part in ensuring that these key company employees remain committed and productive at all times.
Why joining Curve as a DevOps engineer is a must
Federico is keen to recruit strong, permanent employees to the Curve DevOps team. The business is growing at a fast pace and is an exciting employer that is really heading places. Now is really the right time for talented DevOps engineers to get on board and grow their careers and learning with a progressive business that's heading into an explosive cycle of growth.
Thank you to Federico at Curve, a fintech startup, for talking to us about the work Federico and his team are doing at Curve. Are you interested in a DevOps role? Click here to see all of the available DevOps jobs, or call 0203 397 4565 to speak to our expert DevOps Team.
Alternatively, why not send us a brief here.
Federico is currently working as a Lead Site Reliability Engineer at Curve, a fintech startup. Before this, he was Software Delivery Engineer at Funambol, Inc. Federico holds an MSc in Software Engineering from City University London.