Background image
HomeJoin our team!

DevOps Engineer Trainee

Summary

Due to the company’s DNA, a DevOps Engineer at Mikroways faces new challenges on a daily basis, requiring a great capacity for learning, creativity, and a proactive attitude.

The person joining this position will be part of the Mikroways team responsible for delivering services to clients. In this role, they will collaborate in the development of innovative solutions based on DevOps principles and using tools such as Docker, Kubernetes, Ansible, Terraform, and working with public such as AWS, GCP, Azure. Also we work with private clouds like OpenStack.

The DevOps Engineer Trainee position begins with a training period during which the person acquires the necessary knowledge to perform as a DevOps. In this period, the person must complete a series of activities that replicate real-world work situations, with the goal of obtaining the minimum knowledge needed to ensure solutions delivered to clients. For this reason, while in the trainee phase, they do not work on client projects.

Once the trainee stage is completed, which lasts from 2 to 3 months, the person advances to the role of Junior DevOps Engineer, joining client projects.

Responsibilities

  • Packaging applications into containers.
  • Installing and managing container orchestrators.
  • Configuring continuous integration, delivery, and deployment pipelines.
  • Deploying applications on orchestrators using CI/CD pipelines.
  • Automating the creation of servers, networks, storage, etc.
  • Deploying services on public and private clouds.
  • Configuring application and server monitoring.

Personal aptitudes

  • Learning Capacity: The job requires constantly learning new tools and technologies.
  • Problem Solving: For the development of our solutions, it’s important to be able to understand the essence of each problem, generate possible resolution alternatives, and implement the most suitable one according to the specific project needs.
  • Proactivity: Generating, proposing, and implementing ideas and solutions on one’s own initiative.
  • Good Communication Skills: For interaction with clients and the team itself, it’s important to communicate clearly, both orally and in writing.
  • Teamwork: Our work is complex, and therefore we form teams that allow us to enhance everyone’s capabilities and knowledge.
  • Organizational Skills and Commitment to Agreements: Having flexible schedules and working remotely should not affect meeting commitments with clients or the team, which requires good organizational skills and assuming the necessary responsibility.
  • Working Under Pressure: Although it’s not the norm and the best practices we adopt and promote aim to avoid issues, working with production services implies that sometimes problems must be resolved under the pressure of fixing them as soon as possible.

Professional knowledge

  • Proficiency in at least two programming languages: Python, JavaScript, PHP, Java, etc.
  • Familiarity with at least one development framework.
  • Networking: TCP/IP model addressing schemes, subnetting concepts, routing tables, NAT, DNS, HTTP.
  • Basic usage of GIT: clone, pull, push, branches. Resolving conflicts. Utilizing GitHub and GitLab workflows based on Pull and Merge Requests respectively.
  • Installation of Linux operating systems, console management for system administration and configuration. Shell scripting.
  • Usage of environment variables.
  • Understanding and usage of regular expressions.
  • Relational databases: Basic usage of MySQL or PostgreSQL from the console.
  • Markups: Understanding and ability to use JSON, YAML, XML, and Markdown formats.
  • Understanding texts and videos in English. Oral and written communication skills are a significant plus.