(0) Augusto Ornelas Mantilla

Pragmatic programmer.

Always trying to improve my skills and processes.

Passionate about good software design.

I like to understand concepts deeply and find ways to express them simply and concisely.

  1. Technical Skill Set
  2. Portfolio
  3. Experience
  4. Education
y x

(1) Technical Skill Set

Programming languages:

I mainly work with Python, Go and Javascript, but I've also developed programs in Rust, Java, Prolog, Mathematica, C and C++. Additionally, I always like and feel confident to learn new programming languages and frameworks.

Programming paradigms:

I can write code in object oriented, functional and imperative style.

Shell scripting:

Experience writing bash and pure POSIX compliant shell scripts.

Web development:

I have experience working with the fundamental web protocols: (HTTP, TCP, UDP).

And I developed this web page myself 😄.

DBMS:

Experience working with database management systems, specifically relational databases like MySQL and PostgreSQL.

Linux:

6 years of experience using Linux: Debian and Arch based systems.

Mathematical Ability:

I enjoy solving math and physics problems and I'm not afraid of researching mathematical concepts to elaborate a coding solution.

Git:

I've used Git daily for the last 6 years to handle work and personal projects.

Languages:

I'm fluent in Spanish, Portuguese, English and I have a B2 level in French

x y

(2) Portfolio

GoSplit, Web-app to handle shared expenses (in development) written in Go .

RPN calculator written in Rust.

A plug-in for Kakoune (my text editor) to highlight text representing colors written in Rust.

A testing tool written in Go using the Go AST to ensure only allowed functions are used by students when submitting their code.

My Linux configuration files.

My own Xorg window manager written in Rust.

A small program to convert images from PNG to ASCII written in Rust.

Design and redaction of a Rust bootcamp making a complete tour of the language. Here is the introduction video.

a b c h

(3) Experience

Back-end Software Developer (Python)

Permanent contract at Acronis, France

2022 2024

Implement new features and bug-fixes in back-end written in Python using Flask

Implement new functionality and fixes in REST API

Implement and optimize SQL queries

Implement new back-end features in a highly available environment in order to automate in-house cloud infrastructure provisioning, configuration and fault tolerance.

Analyze and summarize trade-offs of alternative implementation to the determine the best one for our needs.

Implement back-end features interfacing with Openstack Services through its REST API to enable automation and services for users in order to manage cloud infrastructure.

Debug issues in a highly distributed systems using PostgreSQL, communication through HTTP REST APIs and Unix sockets.

Build and maintain a custom Linux Distribution based on RHEL.

Implement back-end functionality using the Raft consensus algorithm to ensure high availability of services.

Debug open-source tools such as RabbitMQ and different Openstack modules.

Interoperate with object storage services such as Amazon S3.

Collaborate with technical documentation

Write and validate tests.

Review and give feedback in pull/merge requests.

Full-Stack Software Developer (Go and Javascript)

Freelancer

2022

Gather requirements, estimate, evaluate feasibility and design the system.

Implement web apps in Go using HTML templates.

Design database schema.

Write and optimize SQL queries.

Write and maintain Docker images.

Deploy and maintain production servers.

Software developer (Go, Rust and JavaScript)

Permanent contract at 01 Edu Lisbon

20192021

Develop back-end web services in NodeJS

Write and optimize SQL and GraphQL queries.

Implement and maintain a REST API for various functionalities.

Develop Back-end web services in Go

Create Shell scripts to automate daily tasks allowing the team to save time and be more productive.

Conceive and implement testing and benchmarking frameworks in Go, Rust and JavaScript, to verify the correctness of the code and enforce restrictions

Design, supervise and aid a team in creating curricula in Go and Rust, implementing all common data structures and algorithms: search, sorting, linked lists, binary trees, sets, hash maps, graphs, etc., as well as challenging projects from solving mathematical puzzles to implementing rudimentary 3D game engines and Unix shells.

Create and maintain Docker images for the different microservices.

Software developer

Internship at 01 Edu Madeira

2019

Writing pedagogical content and tests in Go for an intensive bootcamp.

Writing exercises and tests in Go covering fundamental data-structures and algorithms

Developing tools and pedagogical content to teach programming.

h r

(4) Education

2016-2019: Bachelor's Degree in Software Engineering from the University of Madeira, Madeira, Portugal.
Academic Excellence Award - Top of the year in 2016-2017, 2017-2018 and 2019-2020.

2012-2015: Electrical Engineering studies in the University Simon Bolivar, Caracas, Venezuela.

2012: High-School diploma in Science from Colegio Bolivar y Garibaldi, Caracas, Venezuela.

o r