Highly passionate DevOps Engineer with a strong background in designing and developing automated solutions to improve and speed-up software delivery processes for IT companies.
Avid learner, always looking into new technologies and industry trends with an emphasis on automation, sustainability and security.
I'm used with working in multicultural teams, facing the customer directly, good at sharing knowledge, meeting strict deadlines and acting as technical coordinator if the project needs demand so.
Senior DevOps Engineer, 2CheckOut, 2019-present
I've joined 2Checkout's first official DevOps team to help the company improve its software delivery processes and ease transition from monolith to microservices architecture.
- Revamped alerting system: deployed & configured Splunk development instance, wrote script for Splunk alert & monitoring deploy, to be used when delivering microservices together with associated monitoring alerts.
- Wrote build & release script for Shopping Cart product and its dependencies. Same script could also be used to provision a full working environment for developing on a new branch.
- Wrote script to deploy “Shopping Cart Builder” product as an AWS Lambda function using serverless framework.
- Wrote script for automating Grafana Dashboards import process (used for expediting application monitoring after deploying to Kubernetes).
- Wrote script for cleaning up Git repositories from stale and/or merged branches, while cross checking the status of the Jira tickets referenced in the branch names and the last commit activity on each branch.
- Created Git-hooks used on Release Candidate creation, which automated all Jira operations & tasks that were needed when a new RC was pushed, for running Jenkins jobs with unit and integration tests and for notifying teams over Slack & e-mail with release candidate commit information, number of participating Jira tickets and Jenkins job results.
- Wrote another Git-hook for enforcing a naming convention for important branch types.
- Wrote custom script & Jenkins job for validating & rejecting GitLab MRs which did not follow the naming convention (Jira Id in the title, ticket status “Release approved”). The script also automatically enabled “squash merge” for MRs, marked Jira tickets which will participate in the next Release Candidate and updated Jira tickets which belonged to hotfix branches.
- Created Jenkins jobs & integrations with GitLab for continuous testing of the code
Senior DevOps Engineer, Deutsche Bank, 2016-2019
I’ve joined DB's DevOps team to participate in the Credit Risk Future Transformation program. My main role was to design and create the tools needed to implement a continuous delivery process for the Global Credit Risk application and its different modules.
The main technologies that I’ve used as building blocks for this process were: Maven and TeamCity for build automation, Selenium for browser automation, Protractor testing framework for end-to-end testing, Liquibase for managing and tracking database changes, Windows based virtual machines for running the integration tests, Python for automating WebLogic server configuration and provisioning (through WLST), JSON for describing the build environment, Bitbucket as a source code repository, Nexus and Artifactory for storing the generated binaries and a lot of Bash shell scripts. I’ve also used Jira for issue tracking and Confluence for documenting the entire process.
While working in the Wealth Management department, I've handled project transition from legacy build tools & infrastructure, towards officially supported SDLC tools. I've automated SSL certificates renewal process by creating a custom script based on Certnanny and I've completed migration of DWS Digital Service Layer towards self-hosted services & infrastructure.
OSS Service Engineer, Ericsson, 2011-2016
I've held a 1st level support engineer position, for Ericsson's Operations Support System - Radio & Core platform, and my main attributions were:
- Provided technical service and support to new and existing customer networks.
- Analyzed, isolated and solved faults as well as contributed with corrective actions.
- Deployed product upgrades & error corrections of Ericsson or third party products.
- OSS-RC solution installation, configuration and integration (working on customer site or from the back-office as a member of the integration team).
- Configured and integrated different network nodes and solutions in new or live customer networks.
- Interfaced with Ericsson's Global Expertise center.
- Had direct contact with 3rd party vendors (hardware and software) to ensure problems are solved within SLAs.
- Interacted with customer technical staff, service engineers, operation managers and other groups within Service Delivery organization to help with day to day issues and platform maintenance tasks or to deliver trainings.
Senior Analyst Programmer, Accenture, 2007-2011
I have participated on two major OSS projects for big telecom operators. In both cases, the project scope was to implement an umbrella fault management system for handling of alarms coming from the network, allowing NOC engineers to have an integrated view on the health of the network and its customers. Some of my major responsibilities and challenges were:
- Acquired in-depth knowledge on IBM Netcool suite components (installation, configuration and customization).
- Analyzed the communication protocols used by different network equipment vendors. Performed system analysis and created the design documents for the project.
- Wrote code for Netcool components and configured them (probe rules files and lookup tables, gateway configurations and mapping files, ObjectServer automations and triggers, Impact policies and associated Oracle PL/SQL procedures).
- Wrote a Java application that simulated TL1 alarms (used to debug probe rules files and different ObjectServer automations).
- Designed and built the WebGUI graphical interfaces required by the client (pages, maps, event filters and security rights).
- Integrated the Fault Management System with the existent in-house Trouble Ticketing system.
- Assisted the client during the testing phase. Delivered trainings to the end users. Developed technical skills for new teammates.
- Prepared technical trainings and process documentation for the team, to aid with day-to-day support issues.
- Automated application monitoring and provided technical expertise for application upgrades.
- Resolved critical system outages, performed software upgrades and capacity planning.