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.