Ivan Alejandro Garcia Porcel
Verified Expert in Engineering
Ivan is a back-end software engineer with ten 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.
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.
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 ten 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 creating 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.
Staff Software Developer and Junior Team Lead
- Used DynamoDB to store information generated in large amounts in a frequent period of time.
- Built Elasticsearch queries to retrieve data in a specific interval time, allowing to build a response with pagination, sorting, and aggregation capabilities.
- Implemented the microservices in an event-driven architecture exposing API using gRPC and REST endpoints.
Staff Software Developer
- 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 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.
- 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
- 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.
Predicting Cryosphere Information Based on the User's Locationhttps://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.
Mockito, Spring Boot, gRPC, Spring, Apache Struts 2, Swing, AngularJS, Jakarta Server Pages (JSP), Qt, Dropwizard, Hibernate, Dagger 2, Camel
REST APIs, D3.js, Liquibase, RESTEasy, Twitter API
IntelliJ IDEA, ActiveMQ, Apache Maven, Git, Apache Tomcat
Microservices, REST, Microservices Architecture
Docker, MacOS, Amazon Web Services (AWS), Kubernetes, Mapbox
SQL Server 2008, Amazon DynamoDB, Elasticsearch, PostgreSQL, Databases, Google Cloud, MySQL, Redis, CartoDB
Software Development, Competitive Programming, Testcontainers, Spring Cloud, Back-end, Higher Education, Kodo
Diploma in Higher Education
Universidad Católica Boliviana - Cochabamba, Bolivia
Bachelor's Degree in Systems Engineering
Universidad Católica Boliviana - La Paz, Bolivia