Ivan Alejandro Garcia Porcel
Verified Expert in Engineering
Back-end Developer
Cochabamba, Cochabamba Department, Bolivia
Toptal member since August 31, 2022
Ivan is a back-end software engineer with 10 years of experience working on Java-related technologies and developing from monolithic applications to microservices in multiple industries, such as healthcare, automotive, and antivirus software. He can assimilate new ideas efficiently and deliver thoughtful solutions to complex problems. Ivan enjoys participating in hackathons and competitive programming contests.
Portfolio
Experience
Availability
Preferred Environment
MacOS, IntelliJ IDEA, Apache Maven, Docker, Git
The most amazing...
...project I've worked on is a car assembly industry solution used by companies like Ford and Jaguar Land Rover.
Work Experience
Software Engineer
United Airlines (via Online Freelance Agency)
- Migrated functionality from a monolithic (Java 6 deployed to WebSphere) to a microservice architecture (Java 17, Spring Boot, and AWS); it included following best practices of unit and integration tests, CI/CD, and documentation.
- Integrated REST APIs with Datadog (logs and traces) and AWS services (i.e., Secrets Manager).
- Achieved zero Critical, Very High, High, and Medium vulnerability status for Veracode scans in multiple applications.
Software Engineer
eBay (via Online Freelance Agency)
- Maintained, fixed, and developed an internal application composed of three microservices exposing REST and gRPC endpoints, using MongoDB and a specific set of batch jobs.
- Wrote integration and E2E tests, ensuring that functionality was covered from calling REST endpoints to storing proper information in MongoDB.
- Integrated a spring batch job to pull data from GitHub and push results into a REST endpoint from a microservice, which I also implemented.
Software Engineer
Greenlight (via Online Freelance Agency)
- Migrated gRPC endpoints from a Node.js monolithic application to a Kotlin-based microservices architecture hosted in AWS and used by around 10 million users.
- Collaborated with the team to improve code and mutation test coverage in two different microservices using Mockito and Testcontainers.
- Maintained the existing Node.js monolithic application hosted in AWS and implemented new features.
Java Software Engineer
Brightinsight (via Online Freelance Agency)
- Developed a Java library to add data extension capabilities to the existent PostgreSQL tables, supporting the creation of custom tables and indexing over columns.
- Followed the FHIR standard to implement three Dockerized microservices exposing REST and gRPC endpoints. Used PostgreSQL, Testcontainers, and Mockito for integration and unit tests.
- Improved performance of REST endpoints to support and process between one and two thousand concurrent transactions per minute by adding a Redis cache layer and the batch insert and update strategy.
Semi-senior Software Developer and Junior Team Lead
Jalasoft
- Used DynamoDB to store information generated in large amounts over a frequent period.
- Built Elasticsearch queries to retrieve data at specific intervals, allowing for the building of a response with pagination, sorting, and aggregation capabilities.
- Implemented the microservices in an event-driven architecture exposing API using gRPC and REST endpoints.
Semi-senior Software Developer
Jalasoft
- Applied the UI/UX style guidelines using best practices with Sass, which also involved modifying the back end using Java.
- Added features to a desktop application implemented with C++ using the Qt library.
- Fixed a multi-thread functionality in a Qt-based application, allowing users to launch concurrent processes to modify images and videos.
Software Development Team Lead
New Vision Data
- Designed and implemented a Java module to track, report, and locate assets and parts involved in the process of car assembly.
- Implemented ActiveMQ and WebSphere integration through a Camel server, allowing communication of a Java application with a Jaguar Land Rover custom system and improving productivity and response time in car material replenishment.
- Designed and implemented a distributed cache module in Java to support and store traffic among embedded ActiveMQ servers in monolithic applications, improving the number of transactions processed from twenty-five per second to two hundred per second.
Full-stack Developer
Litec S.R.L.
- Developed a geographic information system that provided real-time reports and maps based on user tweets with a determined topic and information obtained using Twitter API with Java, allowing users to visualize it on a web page using Google Maps.
- Integrated Google Maps with CartoDB and Mapbox to display the location of tweets across different states.
- Developed a system that provided visual and statistical reports based on information provided by public institutions. It was implemented using D3.js and NVD3.
Java Software Developer
Mojix
- Created and maintained an asset management system for car assembly industries and implemented it in Jaguar Land Rover, Ford, Subaru, and GETRAG facilities.
- Designed and implemented a module to horizontally scale a monolithic application; it added failover, load balancing, and health check capabilities for each monolithic server.
- Developed an installation tool using Java Swing to download and install needed files and programs to run a Tomcat-based application.
Experience
Predicting Cryosphere Information Based on the User's Location
https://2018.spaceappschallenge.org/challenges/icy-glare/find-my-cryosphere/teams/cryoingdevs/project/In 2016, the city of La Paz, Bolivia, suffered a problem of lack of water. Our team wanted to prevent this from happening again by using data to predict the melting behavior in nearby mountain ranges. As the cryosphere shows us the frozen areas on our planet, we decided to use the data provided by NASA to determine the changes in the freeze zones in a region and to predict the effects of global melting.
VIPRE Cloud
https://vipre.com/products/endpoint-security/end-point-cloud/Greenlight
https://greenlight.com/Education
Diploma in Higher Education
Universidad Católica Boliviana - Cochabamba, Bolivia
Bachelor's Degree in Systems Engineering
Universidad Católica Boliviana - La Paz, Bolivia
Certifications
Supervised Machine Learning: Regression and Classification
Coursera
Skills
Libraries/APIs
REST API, D3.js, Liquibase, RESTEasy, X (formerly Twitter) API
Tools
IntelliJ IDEA, ActiveMQ, Apache Maven, Git, Apache Tomcat, GitHub, Jira, Confluence
Languages
Java, JavaScript, SQL, Sass, C++, Kotlin, Java, Java
Frameworks
Mockito, Spring Boot, gRPC, Spring, Apache Struts 2, Java, AngularJS, Java, Qt Development, Dropwizard, Hibernate, Dagger 2, Camel, Spring Batch
Paradigms
Microservices Development, REST, Microservices Architecture
Platforms
Docker, MacOS, AWS, Kubernetes, Mapbox
Storage
SQL Server, AWS, Elasticsearch, PostgreSQL, Database, Google Cloud Development, MySQL, Redis, CartoDB, MongoDB, Datadog
Other
Software Development, Competitive Programming, Testcontainers, Spring, Back-end Developers, Higher Education, Kodo, Supervised Machine Learning, Argo CD
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