Lena Feygin is an experienced DevOps leader for Taboola, the world's largest content discovery platform that enables publishers and advertisers to increase audience engagement by delivering personalized content to users. Her software development career led her to the emerging DevOps industry over eight years ago and she was hooked. Lena formed the first DevOps initiative at Hewlett-Packard Enterprise in the research and development group, and since then has become a leading force behind implementing DevOps at the companies she works for.
I am an experienced DevOps leader, release engineer and continuous integration (CI) and continuous delivery (CD) architect with over a decade of experience in software industry. My current role is leading a release engineering team in Taboola, based in Israel. I also have a B.Sc. in computer science and an MBA in management.
I started my career as a full stack developer in a small internet company. However after a very short time I was pulled into build, CI/CD processes and automation tasks. There was no DevOps just yet back then, but in 2011 when DevOps was already rising, I received a green light to form the first DevOps team and to lead the DevOps initiative in the R&D group in HPE. Since then I've defined myself as a DevOps leader and enjoy driving DevOps initiatives tremendously.
What character traits / habits make you successful in DevOps?
I believe that in order to be successful in DevOps you need to have these traits:
Broad view of the system and a general curiosity of how things work.
Ability to reverse engineer.
A love for versatile tasks: coding/ debugging/ troubleshooting/ scripting and never be "afraid" of any kind of programming language/platform/framework/script (even if you're unfamiliar).
An open mind and desire to learn new things.
What skills are needed to become a DevOps leader?
I think a DevOps leader must have a great technical skill set: always learn new technologies, be progressive, have a clear technical vision. However, it is also super important to have a winning team and great personal skills in order to be able to inspire developers to follow your lead. It is crucial to build a diverse team of engineers that have a different skill set and come from different technical backgrounds.
What are some lessons you have learned on your DevOps career journey?
In the many years of my career I believe I learned several very important lessons:
Start small, but keep the big picture in mind.
Some of the biggest failures that I've encountered in my career were due to over-architecture or trying to build an overly complicated system. You should always start small and keep the big picture in mind. Break any project into small steps. First, build something basic and make sure it works. Review it with the customer. You might realize in an early stage, that the idea is not working or the customer is not satisfied. This is actually what agile development is all about, however we, as people, still have the tendency to overcomplicate things. So we should always keep in mind: baby steps!
Everything is code.
Anything you create should be treated as code, versioned and trackable. Even if it is a feature, configuration or deployment process, or anything else that comes to mind - same rule applies. So many changes happen during the day and it is sometimes challenging to keep up. It is also quite hard to keep documentation up to date. Write clear code, add comments and/or small readme file where necessary and push to source control.
Automate everything!
If you found yourself executing the same process more than twice, automate it! Even if you wrote the best documentation for the process or installed the server entirely by the book, things change. The process might get updated and someone will forget to update the documentation. Also documentation can just get lost in the streams of online data. Your "flawless" server might fall into the wrong hands, and someone might just install something new manually and not document. Here you have a beautiful snowflake on your hands: a server that no one knows how it was installed/configured. Automate! Add clear comments if necessary in your automation code. Don't create snowflakes!
What do you look for in a great company/boss/mentor?
I want the company that I work for to be modern, progressive, fast-paced and successful. I want the R&D manager to understand the necessity of stable and reliable CI/CD processes (that can decrease time to market tremendously). I want my job to be challenging and I want to be able to learn new things all the time. In addition, as a woman, it is also very important to me that the company treats both women and men equally.
As for my boss/mentor - I'm looking for a strong leader, that has technical background and wants to push things forward: always innovate, always on the move, always changing. I want to know that I have her/his full support and that she/he knows how to push through obstacles.
It is also very important to remember that we are all human. People are what drives technology forward. Therefore I would like my manager to have great people skills and to be able to adopt to different individualities, backgrounds and goals. I was lucky enough to work with some amazing managers, real role models during my career. We still keep in touch and we often help each other out, even though we do not work in the same company anymore. I see the role of a manager as one of the most important aspects in workplace. This is one of the reason why I invest a lot of effort in my team, so we can be the best team there can be.
Any closing thoughts?
I think that DevOps became more Dev then Ops in the last years, since almost everything we do can be coded nowadays. I think that’s probably why modern companies are shifting the teams’ roles from classic DevOps to Release Engineering.
I feel less connected to the Ops part, although I do it quite a lot. My dream of a perfect DevOps practice is to implement stable, reliable and self-service processes, so developers do not need to interact with the team on a daily basis. Also, I find DevOps to be one of the most interesting fields in R&D. We get to be involved in almost every R&D aspect: any feature, any service, any process - all have to go through DevOps team, either for CI/CD or build or monitoring or something else. We are the ones that set the tone in R&D: we define release processes, we create gates for merges, deployments, etc.
Another big plus, in my perspective, is that DevOps keeps evolving rapidly and changing all the time, which makes us to learn new technologies all the time.
Unfortunately, there are not many women in this field. I am usually the only woman in the DevOps group in every company I've worked for so I hope my personal success in DevOps will inspire some women to consider that path as well. If you have read this far, make the next step: go talk to your DevOps team! Learn what they do. Perhaps you will find your next dream job.
Editor's Note: Photo credited to Maria Pulver.