Miguel Prieto
Verified Expert in Engineering
Full-stack Developer
Asuncion, Paraguay
Toptal member since April 27, 2016
Miguel describes his job as turning ideas and requirements into production-ready, maintainable, and scalable code that runs within a well-engineered environment. He has collaborated on different projects with many technologies in his years of experience as a developer, architect, and consultant. Regardless of the task at hand or the technology, Miguel embraces software development challenges with professionalism and enthusiasm.
Portfolio
Experience
- Java - 12 years
- JavaScript - 10 years
- Groovy - 10 years
- Spring Boot - 5 years
- React - 3 years
- Kotlin - 2 years
- Netflix - 2 years
- Kubernetes - 1 year
Availability
Preferred Environment
Git, Visual Studio Code (VS Code), IntelliJ IDEA, Zsh, Bash, Java, Kotlin, Groovy, Docker, Kubernetes
The most amazing...
...project I've built with other Toptalers was a video streaming platform using WebRTC and RTMP and a post-processing pipeline with AWS Lambda and MediaConvert.
Work Experience
Senior Software Engineer
Orkes
- Built an authentication and authorization framework for a microservices orchestration platform (Orkes Conductor) based on the popular open source platform Conductor created by Netflix.
- Integrated Auth0, Okta, Firebase, and Generic OIDC providers as authentication providers into Orkes Conductor.
- Oversaw the release of Orkes Conductor Playground—a free environment for developers to try out and explore more about Conductor.
- Worked on designing and implementing several key enterprise features such as tagging Metadata, security and performance enhancement of HTTP task, Webhook support, GraalJS integration, and Metadata Migration.
- Assumed the role of a technical project manager during a successful SOC2 Type 2 audit. Adjusted the software development lifecycle to achieve compliance.
- Implemented infrastructure security measures and monitoring to achieve SOC2 Type 2 compliance.
- Contributed to Netflix Conductor and other open source projects related to it.
Lead Back-end Engineer
Latch (via Toptal)
- Designed and documented the back-end architecture of new services that enabled Latch to open a new vertical in commercial buildings.
- Supported the PM in the development and estimation of user stories that gave visibility to the project.
- Defined the technical approach and enforced best practices within the team.
- Bootstrapped the projects of the new back-end components.
- Designed and implemented a REST API for client/back-end communication and gRPC API for sync inter-process communication.
- Established conventions and guidelines on how to write Kafka consumers using Spring Boot and Spring Kafka.
- Released a Commercial MVP on time in one of Manhattan’s most iconic buildings.
Front-end Engineer
Synthesis AI (via Toptal)
- Built a React application for user onboarding and user and job visualization and management.
- Designed a REST API in collaboration with the back-end development team.
- Integrated with Stripe for saving payment methods and collecting payments.
- Cooperated in establishing a development process to properly track the project's progress using Github's project planning for developer tools.
- Set up the deployment of the React application to AWS using CircleCI.
- Released an MVP meeting an aggressive deadline without sacrificing quality.
Full-stack Engineer
Kekal (via Toptal)
- Wrote a WebRTC live stream component using React Functional Components, Redux, and TypeScript to allow educators to stream classes from the browser.
- Built the back end as Spring Boot microservices, written in Kotlin and deployed as dockerized containers on AWS Fargate.
- Created a video processing pipeline using AWS Lambda functions, written in JavaScript employing AWS MediaConvert, SQS, and S3.
- Set up a production-ready self-hosted Wowza Streaming Engine in EC2.
- Wrote a Wowza Streaming Engine module in Java for authentication and to persist and retrieve video metadata.
- Automated the deployment of the WSE module using Ansible.
- Built an integration with an Indian payment gateway, RazorPay.
Full-stack Engineer
Colorado General Assembly (via Toptal)
- Developed the UI of a custom document management system based on existing mockups using ES6, React, and Redux.
- Wrote tests for React Components using Jest and Enzyme.
- Built a RESTful API to retrieve, store, and search documents using Java and Spring Boot.
- Wrote unit and integration tests for services and controllers using JUnit 5, AssertJ, Mockito, and other libraries and utilities provided by spring-boot-starter-test.
- Set up a CI/CD pipeline using Bitbucket Pipelines for both front and back ends.
- Created a CLI tool to translate documents in a legacy markup language to XML using ANTLR.
Senior Software Engineer
Rooam (via Toptal)
- Designed and implemented RESTful APIs for features such as user authentication using Facebook, phone verification, and paying and closing a tab at a bar or restaurant.
- Built Spring Boot applications for the features mentioned above following a message passing microservices architecture using Groovy, MongoDB and RabbitMQ.
- Created Ansible playbooks for provisioning and deployment of services in cloud providers such as DigitalOcean and Linode.
- Created Jenkins jobs for automation of jobs such as building the back-end applications and mobile apps.
- Led the development of the Android application and also supported it with bug fixes.
- Implemented a web application using React for ticket management at large events such as festivals and restaurants.
- Integrated Rooam's back end with external services like Twilio, Mailgun, Mailchimp, Stripe, Braintree, and others.
Java Architect
Aurea Software
- Developed a web application that acts as a wizard to onboard new customers to an existing enterprise mail failover system using mainly jQuery, Spring Boot, and PostgreSQL.
- Developed a Java library (used by other developers at the company) that communicates with a REST API for user and account management.
- Deployed and maintained a nontrivial back-end infrastructure of 50+ EC2 instances in AWS.
- Solved infrastructure and deployment issues during migration to AWS.
- Transferred knowledge and trained new engineers.
Senior Software Developer
Sodep S.A.
- Developed a web-based document management system with very strict security requirements using Java Enterprise technologies. It's currently used in banks and financial entities.
- Maintained and developed new features for an indoor navigation system for Netherlands-based company Smartsigns.
- Developed three mobile apps in Java ME and Windows Mobile (in late 2010) for indoor navigation studies and research.
- Led and played a key role in the product development for Captura, an application which allows users to capture field data using mobile devices.
- Developed an Android application and its back end for a major nonprofit organization that helps children with disabilities (Teletón).
- Redesigned and continued the development of an Android application used in the research of bipolar disorder by the Hospital de Clínic de Barcelona.
- Developed a Facebook app that allowed users to change their profile and cover picture with an image from Teletón to show their support.
- Taught Java as a Java EE instructor at Sudameris Bank.
- Created web automation tests with Selenium WebDriver for regression testing of web applications using Jenkins.
Software Developer
Nucleo S.A. (Telecom Personal Paraguay)
- Maintained and developed an enterprise-oriented mobile application based on STK menus to capture field data using STKML, SATML, and Java Card.
- Developed Windows services that communicated via SMPP with the SMSC to obtain data from the STK applications, validate it, and store it in the database.
- Created a web application in ASP.NET using C# that allowed users to visualize their data.
- Developed several mobile applications with Java ME.
- Created custom web reports for the marketing department using ASP.NET.
Freelance Software Developer and Consultant
Simeic
- Implemented an accounting module of an ERP using PHP with SOAP-based web services on the back end and a GTK#-based client.
- Created an expense control application using JEE 5.
- Provided Linux system administration.
- Consulted on IT matters for small and medium-sized businesses.
- Developed custom software for cross-checking reports and printing invoices in VB.NET.
Experience
Teletón
Teletón needed to evolve, to move beyond traditional media (TV and radio) into social media as an organization. So, with Sodep S.A., it started a massive project which included a complete restructure of the communication workflow and the development of software that would allow efficient live storytelling of the events.
The mobile applications (which can be downloaded from the stores) are some of the visible results of the whole project.
Captura
An admin user designs a form with an easy-to-use drag-and-drop form designer in the web application. Then he/she sets the appropriate permissions and the form is synced to the devices.
Mobile users who receive that form will be able to input data in various formats (simple text, time, date, pictures, location, etc.) according to the form's design.
Input data can then be visualized through several customizable reports on the web application or it can be accessed through a REST API which allows integration with other existing systems or applications.
Rooam
https://rooam.coFor someone who loves technology and building applications, Rooam was a great experience because I was one of the main contributors in an awesome and ambitious project which resulted in an app that solves a major pain point at bars and restaurants in the US, paying your tab.
Education
Bachelor's Degree in Computer Science
Universidad Católica Nuestra Señora de la Asunción - Asunción, Paraguay
Certifications
Functional Programming Principles in Scala
École Polytechnique Fédérale de Lausanne | via Coursera
Data Structures
UC San Diego | via Coursera
Algorithmic Toolbox
UC San Diego | via Coursera
Parallel, Concurrent, and Distributed Programming in Java Specialization
Rice University | via Coursera
Building Scalable Java Microservices with Spring Boot and Spring Cloud
Google Cloud | via Coursera
Kotlin for Java Developers
JetBrains | via Coursera
Programming Mobile Services for Android Handheld Systems: Concurrency
Vanderbilt University | via Coursera
Programming Mobile Applications for Android Handheld Systems: Part 2
University of Maryland | via Coursera
Programming Cloud Services for Android Handheld Systems: Spring
Vanderbilt University | via Coursera
Programming Cloud Services for Android Handheld Systems: Security
Vanderbilt University | via Coursera
Cloud Computing Concepts
University of Illinois at Urbana-Champaign | via Coursera
Programming Mobile Applications for Android Handheld Systems: Part 1
University of Maryland | via Coursera
Programming Cloud Services for Android Handheld Systems
Vanderbilt University | via Coursera
Skills
Libraries/APIs
React, JDBC, jQuery, RequireJS, Backbone.js, Liquibase, Terragrunt, REST APIs
Tools
Gradle, RabbitMQ, Amazon Elastic Container Service (ECS), Amazon Elastic Container Registry (ECR), Amazon Simple Queue Service (SQS), Apache Maven, Ansible, Jira, IntelliJ IDEA, Android Studio, Git, Apache Tomcat, Postfix, Java Card, ANTLR, Jenkins, CircleCI, Terraform, Zsh, Auth0
Languages
Groovy, Java, Kotlin, HTML, TypeScript, GraphQL, JavaScript, PHP, C#, ECMAScript (ES6), SQL, Scala, Bash, CSS
Frameworks
Spring Boot, JUnit, Spring, JPA, gRPC, .NET, Mono, JSF, Spring MVC, Bootstrap, ASP.NET, Redux, Jest, Spring Security, Hibernate, Yarn, Play Framework
Paradigms
REST, Microservices, Test-driven Development (TDD), Role-based Access Control (RBAC)
Platforms
Netflix, AWS Lambda, Android, Kubernetes, Visual Studio Code (VS Code), Linux, JEE, Java ME, Windows Mobile, iOS, Amazon Web Services (AWS), Docker, Apache Kafka, OS X, Azure, Firebase
Storage
MongoDB, Amazon S3 (AWS S3), MySQL, PostgreSQL, Spring Data, Microsoft SQL Server, Redis
Other
Unix Shell Scripting, Single-page Applications (SPAs), Web Services, SMPP, Orchestration, Single Sign-on (SSO), Okta, OpenID Connect (OIDC)
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring