Cloud asset management.
What is Firefly? Why did you build it?
Firefly is a startup company we founded one year ago as a cloud asset management tool for DevOps, engineers, and cloud engineering teams. It allows you to get a full visibility about what you have on your multi-cloud, multi-account ecosystem, and then helps you to manage everything as code automatically, detect drifts and enforce policies.
I have been doing DevOps for more than 10 years and one of the main challenges is that the landscape of tooling is fragmented. When you need to manage so many components and there is a constant shortage of talent, it becomes very challenging to be in control of everything. Moreover, there are a lot of great tools out there that are solving certain aspects of cloud management, such as FinOps, Security, or Governance, but there were few tools that solved all the complexities of cloud and infrastructure management. Firefly is solving that kind of problem, giving everything in a single platform and allowing you to make sure that everything is in accordance with the best practices - it allows you to regain control over your entire cloud footprint.
A lot of the benefits that Firefly provides is around automated tasks and essentially doing more with existing resources. For example, if you have a certain environment and you would like to manage it in a modern way, e.g infrastructure-as-code, one of the options, without Firefly, is basically creating that environment from scratch and writing a code template to provision that environment, which can take a lot of time and human errors. Firefly discovers the environment and provides you the code in an automated way. So instead of putting in the time and effort to learn the environment and code it, Firefly gives you visibility and auto-generates code that is relevant for the environment - it shortens the time that it takes to write everything in IaC, allowing Cloud and DevOps teams to focus more on innovation and shorten time-to-production .
What does a "day in the life" look like for you?
As a co-founder and Chief Product Officer, I have the responsibility of doing product and product management, making sure that the engineering team has everything it needs in order to deliver the software. Moreover I take ownership of all of the sprint ceremony, but there is also a higher level of duties, such as making sure we are scaling the company and its culture. I'm also investing a lot of time to learn about the usage of the customers, what is their day-to-day and what is the next step in the product. I spend a lot of time brainstorming about the greater vision of how Firefly can be in a few years and what kind of other pains we can address with that platform.
What is the team structure around Firefly?
We are around 30 people as of today and constantly growing. We have a relatively thin management layer consisting of myself, my partners, and a few VPs and directors; Similarly to other startups in our stage, the majority of the company are software engineers in the R&D department.
How did you first get into software development?
I've been playing with computers since I was a child. I think I got my first computer when I was nine or ten years old. I’ve always been curious about the underlying components of the interface. I used to open the computer and play with its parts and learn what is memory, what is a CPU. I started at a very early stage and when the internet came to our life, I had the opportunity to explore and learn even more.
During my mandatory service in the Israeli Defense Forces, I was a system administrator in one of the units. It expanded my knowledge in operating systems,networking,service and stuff like that. But when I completed my service, I was more curious about how to build software, and how to code. I had the opportunity to have my first job as a software engineer, when cloud was only introduced. From there it was natural for me to do the shift to DevOps, which is a combination of software engineering, operations, and IT stuff, which I was already familiar with. And I've been doing it for the last 10 years.
When I was focused mainly on DevOps, I was working in Python, before that it was Perl scripting, but I have also experimented with web development, mainly in PHP. As an infrastructure guy, I really like shell scripting, so I'm doing it as well, but I think my favorite language of all is Python.
What's the tech stack for Firefly?
Most of the services are written in Golang, and for the front end we are using VueJS. We are trying to build everything on top of Kubernetes - every service is basically a Kubernetes deployment and we have a few serverless functions for certain type of jobs, but most of the engineers here are cloud engineers that know how to build SaaS offerings on top of AWS, so we try to leverage everything that is managed by AWS, like the data stores and other kind of streaming services.
What is the most interesting development challenge you've faced working on Firefly?
I think the most of the challenges we face are related to scaling, like how to make sure the stuff that we are building right now is ready for the next big customer that is stressing our application and making sure the SLAs and the experience of the users will remain the same. There is a lot of focus in engineering on making sure everything is scalable and putting the right controls and monitoring to make sure we are on top of everything that is happening.
What is the most interesting tech tool/product/project/thing are you playing around with at the moment?
We are building a lot of internal applications using a SaaS tool called Retool. This is a wonderful solution for us that allows us to build applications with low code and no code to manage Firefly. In the previous placeI used to work, there was a lot of effort invested creating those internal portals. When we discovered Retool, we started leveraging it and we saw that it was very user-friendly. The value that we are getting without writing a lot of code, just with drag and dropping stuff and connecting integrations, is wonderful.
Describe your computer hardware setup
I'm using a MacBook Pro and to be honest, I'm relatively new to Mac - this is the first time that I'm using a Mac, before that I was mainly using a PC with Linux. I think what is unique about my setup is my mouse, that is a trackball. I've been using a trackball for many years - it's perfect for me, but if anyone sitting next to me tries to use it, they always struggle.
Describe your computer software setup
IDE: VS Code.
Source control: GitHub.
Describe your desk setup
I have an ordinary desk with a fabulous desk pad with some very nice designs on it. I also like to put some small dolls or giveaways I got from certain conferences I attended or spoke at, e.g Kubecon, HashiConf, re:invent, etc. Besides that it's a simple setup.
Daytime or nighttime? Night.
Tea or coffee? Coffee.
Silence or music? Music.
What non-tech activities do you like to do?
I really like to go to music festivals, specifically psytrance, and techno and stuff like that.