DevOps emerged to break down the silos between development and operations teams, speeding up release cycles, reducing errors, and improving communication. For developers, this meant the opportunity to play a more central role in the software development process. In this regard, Mey Beisaron’s broad experience with programming languages and technologies motivated her to transition from backend development to DevOps. In this episode, Mey, Software Engineer, Public Speaker and Mentor, describes her transition and shares her thoughts on getting comfortable in this emerging field.
In her six years as a backend developer, Mey Beisaron worked for big companies and startups alike. Each new role, team, and workplace introduced her to different programming languages, architectures, systems, and solutions. It was this variety of knowledge that helped her become a DevOps engineer, what she calls, as a confessed Star Wars fan, “the dark side” of software development.
Mey’s journey from developer to DevOps engineer
While thriving as a developer, Mey felt “like an outsider in a lot of internal discussions in the company.” As she explains, DevOps makes sure to free developers from the cognitive load of CI/CD processes, letting them focus on writing the code and not worrying about the rest of the process. Eventually, Mey gave in to her desire of knowing what happened during the rest of the product cycle and moved to DevOps.
Sure enough, the transition to DevOps demanded Mey a new perspective. While she may encounter different solutions in backend development, these are limited for someone in a DevOps role who needs to understand a broader range of systems and requirements, as well as teams and architectural decisions.
Still, Mey’s experiences as a developer help her do her job as DevOps, which she sums up as “providing tools that are efficient, easy to use, and stable” to developers. “When I write a new piece of Python code that is going to be used by those developers, I ask myself, ‘Is this simple enough? Is this something that they’re going to be able to use without asking a bunch of questions?’ ”, she explains. Mey can understand the development aspects, know what can be achieved with code, and effectively collaborate with various teams to address their needs. Additionally, she knows how much knowledge she should assume from developers and judges whether or not developers need to know something in particular.
Besides, Mey also regarded this unique perspective as an advantage in case she didn’t like it she could always go back to being a backend or full stack developer, with the advantage of having gained more knowledge about the deployment process and obtain with this bigger picture a competitive edge over her peers.
Tips for a successful transition to DevOps
Mey emphasizes having the desire to learn as a requirement to dive deep into the realm of DevOps. Moreover, from her own experience, she remarks having an excellent supporting team leader when transitioning to DevOps. Team leaders provide guidance, mentorship, and help in acquiring the necessary knowledge and skills for this role. Mey suggests being transparent with the team leader about your current level of knowledge so they can understand where you stand and provide tailored guidance on what areas you need to focus on to become a proficient DevOps professional.
Likewise, Mey suggests that organizations struggling to find DevOps professionals should consider providing opportunities for developers who are willing to make the switch. In like manner, she advises aspiring DevOps to select the right company or team to embark on this new journey. Finding the ideal fit may not be evident during the interview phase, but it’s crucial to assess if the team is supportive and conducive to learning.
For those already in DevOps positions, and especially those starting in a new job, Mey recommends creating your own flow charts and documentation. Even if existing documentation is available, new documentation adds value to the company and, more importantly, helps you better understand the systems and processes involved: “If you can write about something if you can describe the flow of a system, it means that you understand the system,” she affirms.
In turn, if you have trouble with getting around how the system works, it helps identify areas where you need to seek more knowledge and, as Mey puts it, to “understand what is that you don’t understand.” It is only then that you can ask specific questions about the areas you want or need to learn more about.
Forter DevOps: Empowering developers with Kubernetes and Helm
Forter is a unicorn company that provides fraud protection to digital e-commerce platforms. Currently, the company has about 500 people of which about 120 integrate the engineering department distributed over 20 teams.
Forter’s DevOps supports all these teams, as well as the system’s over 400 microservices. Forter DevOps is divided into four teams: security, observability, CI (also known internally as Developer Experience (DX)), and CD (or runtime team).
Forter’s DevOps is currently working on bringing Kubernetes to its system. As part of this process, Mey takes ownership of the deployment definition, which consists of “defining how your application will be running inside the Kubernetes cluster,” including the pod —a group of containers that share resources and with a common running specification— and port configuration so pods can communicate within the cluster.
Mey is also leading the migrations to Kubernetes. For this task, she has to collaborate with the many developer teams to assist them in changing ”the way that they deploy and run their applications from running on VMs on EC2 instances to running inside a Kubernetes cluster with service mesh.” In designing this new system, she has to be aware of what the developers might need to learn of it and divide the knowledge appropriately: “Potentially you do some teaching and some mentorship in that area,” she says. Additionally, DevOps educates developers on Kubernetes writing documentation that includes only the information they require for using it, as well as a glossary of coin terms and links to complementary resources.
According to Mey, Fortet’s infrastructure as code (IaC) allows “the developers that don’t want to know too much, being able to almost not know too much.” In other words, while developers do require to know the code and be able to run it, they don’t have to go too deep. However, developers who are interested in having more control of their resources and customize their experience have the option to learn more.
Mey says that Forter has a policy that allows for both types of developers to be at ease, using Helm, an industry standard and well-documented tool, for automating application management. Thanks to Helm, developers can either only define values for their deployment definition or “do a Helm chart from scratch.”
Boosting your career through public speaking
Aside from her role as a DevOps engineer, Mey also got into public speaking as a way to improve her skills in face-to-face job interviews. She ensures that while it might look easy from the outside, it’s actually quite challenging and demands her to keep polishing her skills.
However, public speaking does pay off and has helped Mey with more than job interviews. In fact, she learned to use public speaking as a system to force herself to learn about a given subject: “I will first submit a talk to a conference and then I’ll go learn about this thing,” she affirms. Moreover, Mey also uses public speaking of a project of her own as a way of gaining a deeper knowledge of it, reviewing it, and learning what worked and what didn’t.
Besides, Mey affirms public speaking will help you network and showcase that you are a professional and even more so, a tech lead that knows “what it is that you’re talking about” and showcase your ability “to pass on knowledge” to your peers.