Let us introduce Jelena, a member of our DevOps team in Novi Sad! She started her career in this field almost three years ago, and, as she likes to say, it started by accident when she got a laptop as a present, but with Linux on it. The curiosity took the lead as she wanted to figure out more about what is happening behind the machine’s pretty colors. Step by step, Jelena became a Development and Operations engineer, which means that she is now supporting her development teams by providing an automated infrastructure that is stable for deploying their applications.
“In the beginning, there was this System Administrator role whose main purpose was to dictate the infrastructure that developers needed to fit into; but over time, the role of connecting System Administrators with developers emerged - DevOps. Today, this role represents finding clever and inventive ways to provide and automate the infrastructure supporting what our Software Engineers create. I also believe that my role carries the responsibility of educating the development part of the team to understand how the system functions for them to be aware of how the code changes affect the bigger picture.”
Automation - Good Cop, Bad Cop
“We always strive towards automation. Automated processes enable us to easily detect defects, increase release frequency, and reduce the time to recover if a failure occurs - not to mention the shorter development cycle. In other words, automating your processes will give you the power of figuring out what’s wrong in just a couple of clicks - of course, if the automation is done right.” Jelena added that deployment to production is a critical moment for things to potentially crash and admitted that she likes to keep a close track of this step of the process by making sure everything deploys according to the standards. “Ideally, continuous deployment means that everything is automated, but I believe that the whole team needs to be very mature and well-coordinated, as well as the product itself, in order to work within that kind of a system set-up. Implementing fully automated processes is both a goal and a process of its own.”
What Are The Risks? Well, We Could Break Everything.
Another bright side of deployment automation is that you can always return to the latest stable solution you had. “I remember one time our Scrum Master asked what the risks of making a certain change within the system are. The answer was, we could break EVERYTHING,” Jelena said through laughter and added: “Those who don’t back up - will.” We assume that having a good recovery base is what helps DevOps Engineers sleep peacefully. “Being aware of the consequences certain changes may bring is a result of transparent communication within us as a team, where sharing concerns and coming up with solutions that serve as a compromise between the code and the structure is a goal we all share,” she added.
Jelena also mentioned that changes and updates of tools, infrastructure, or approaches are pretty standard in today’s industry and that building agile solutions terminate lots of risks.
DevOps as an Integral Part of the Development Team
In Symphony, every team has their dedicated DevOps Engineer, “which allows us to understand the product as a whole and work directly with the development team. I find that beneficial since working together means educating each other about what is feasible from both sides. This way, we are all transparent about what the other side can expect as support.” - says Jelena emphasizing the importance of direct cooperation with the team.“When it comes to continuous deployment, DevOps needs to get familiar with the system first, and developers are the ones who help us get the right perspective on the needs of a product they are building. On the other hand, we build deployment pipelines for developers to use regularly, so we must introduce those pipelines’ functionality and structure to the developers. Therefore, naturally, being in the same team eases the process and helps us bond by working on the same mission of building great software.”
Keep It Slow Until You Reach The Happy Flow
Continuous deployment is the primary goal of every Scrum team, and DevOps engineers give their contribution by providing a clean structure of deployment pipelines, lowering the risks of errors which results in achieving a so-called Happy Flow. “Building your process on automated pipelines and just tracking logs is an ideal scenario every DevOps engineer pursues. Pulling off a Happy Flow is never easy since the processes depend on one another as well as on the teammates, but it is not impossible. We are always striving towards optimizing our resources, which is one of the reasons I chose to speak about Jenkins at our Meetup in March. I see many benefits regarding this tool in my everyday work - it’s open-source, which is a huge deal when it comes to the DevOps community, it’s free, has innovative plug-ins that follow the trends, and it’s easy to use.”
Our DevOps team in Novi Sad consists of 4 engineers, led by a Principal DevOps, and they are looking to welcome new teammates in the future.
Are you one of them? There’s always an opportunity to join our team in Novi Sad, so check out our openings!