Tommy Garcia
Verified Expert in Engineering
Software Developer
With 20 years of experience in the software development industry, Tommy has successfully developed desktop, web, and mobile solutions using the .NET platform, JavaScript frameworks (Node.js and Angular), and Java. Tommy enjoys advising people on software usage and offering them strategies to increase their business value.
Portfolio
Experience
Availability
Preferred Environment
React, .NET Core, JavaScript, Linux
The most amazing...
...thing I've implemented was the Viola-Jones algorithm for object detection with parallelization in CUDA using standard C under Linux.
Work Experience
Back-end Developer
ContractPodAi
- Developed a new framework to test and deploy microservices providing developers a platform to organize the code, offer dependency rules, apply design patterns, and provide infrastructure to make integration tests quickly.
- Provided the design, work plan, and framework of the first microservice in the company. Service dedicated for management of e-signing process integrated with Adobe Sign, DocuSign APIs and Azure Service Bus.
- Created a test suite in Postman to include test cases for all the endpoints of the APIs produced by the company; this test suite was integrated with Azure Pipelines.
- Fixed security issues of the web app after running security scanning tools.
Software Developer
Saarthi Simulations Inc
- Moved and recoded several sections of a legacy responsive Web App from Node.js/React to .NET Core/ React.
- Improved the overall performance and maintainability of the application by implementing the SOLID design principles and performance tests.
- Improved system testability by implementing mocking for unit tests and providing infrastructure to separate the integration tests.
Full-stack Developer
York University
- Developed an external application for integration with the Canvas learning management platform.
- Created a back end to interact with Canvas API through REST and a GraphQL interface.
- Integrated Oracle as an external database.
- Created the front end with React.
- Added a custom data grid in the user interface with fixed composed columns.
Back-end Developer
Tulane University
- Created a tool to synchronize data between StarRez and Blackboard (e-learning systems).
Back-end Developer
Caterpillar
- Improved the performance for high-frequency APIs with some of them supporting around seven calls per second in production.
- Improved the security of the system; used Fortify tool to scan and fix security issues.
- Designed and developed new APIs.
- Proposed new architecture based on microservices.
- Proposed a methodology to speed up the development process; some of the proposed changes were implemented.
Back-end Developer
Karius, Inc.
- Supported the design and development of REST API microservices using the .NET core.
- Implemented additional microservices using Scala and the Lagom framework.
- Collaborated in designing the tasks, technical decisions, analysis, and work planning.
- Developed a mechanism for data integrity checks during deployment.
- Created Docker containers for development environment.
- Deployed and developed a data streaming sandbox with Kafka, AWS SQS and NET Core.
SQL/Tools Developer
Optiva
- Built data transformation tools with Python and C#.
- Created several reports with SQL Server Reporting Services.
- Performed SQL tuning for reports.
- Supported the creation of a development process for the reports team.
- Supported SQL Server Reporting Services.
Full-stack Developer
Aurea
- Created REST API microservices to analyze software, test coverage reports and detect weak unit tests.
- Built containers in Docker and integrated with several microservices through messaging using Amazon SQS.
- Managed a continuous integration and delivery with Team City and configured agents in AWS EC2.
- Achieved more than 80% in test coverage for all micro-services.
Full-stack Developer
Lifety
- Developed a REST API for eCommerce and integrated it with Zoho CRM, a payment system, and shipping services.
- Performed cache management with Redis for a better performance and transaction execution with external systems.
- Deployed in AWS with Elastic Beanstalk service and Elasticache.
- Automated test tasks concerning unit and E2E tests in AWS EC2.
- Developed the front end with Angular and built templates with Mustache.
Android Developer
NestNet Group
- Created an Android application for taxi drivers surveillance.
- Integrated with AWS S3 for a large amount of picture storage.
- Supported a face recognition feature for people entering a vehicle using the Google Vision API.
- Created a REST API back end with MongoDB and Node.js.
- Developed an Android application for managing multiple taxi drivers; it was integrated with Google Maps, Google Drive, and a Sinch Messaging API.
- Built an Android application for localization using Google Maps API.
Machine Learning Software Developer
NestNet Group
- Implemented the Viola-Jones framework for object detection in C.
- Made a cascade algorithm parallel with CUDA, it runs faster than the OpenCV one.
- Developed clients in C# and C under Linux and Windows for an accurate analysis.
- Created Bayesian and Gaussian probabilistic models implemented in C++ for performance comparison with the Viola-Jones framework.
- Implemented a Gaussian Human skin detector for images.
- Experimented with an OpenCV cascade detector for performance comparison.
Full-stack Developer
Coatl Capital
- Implemented windows application for financial management using the .NET platform; some processes included loans, customers, debt, risk analysis, and reports.
- Constructed the back end with .NET and deployed it to a Web API in Windows Azure and SQL Server in Azure.
- Built the front end using WPF under a Model-View-Presenter architectural pattern.
- Created my own cache mechanism for better performance and better experience in the front end.
Software Architect
Rosen Group
- Planned, designed, and led the implementation of several releases (two or three per year) of the main software product for the integrity solutions in the oil industry called ROAIMS.
- Handled and prototyped requirements from customers around the world every week.
- Supported the test team in order to implement best practices, automation of tests, and tool evaluation for SOA services testing.
- Supported the structure of the team foundation server for continuous integration, testing automation, gated check-in from developers, and domain division in DLLS compilation to support one software with multiple layers.
- Designed and implemented strategies to increase the performance of the software between 100% and 400% in different modules.
- Established, with the development team, best practices and design methodologies like test-driven design (TDD) and domain-driven design (DDD) via regular training and pair programming.
- Adapted some architecture department processes to support the Agile methodology in the architecture department.
- Performed live presentations for customers around the world to show the advances and solve technical questions.
- Integrated the support team for improving the system and handling the requests of the clients.
- Maintained the document repository application; this module was integrated with third-party providers like SharePoint and Documentum.
Lead Software Developer
ICETEX
- Designed and implemented one of the information systems for national scholarships and financial aid of the Colombian government.
- Managed big data in an epoch with no current big data technologies using Oracle with PL-SQL.
- Implemented dynamic generation forms with ASP.NET and pure JavaScript with no frameworks help (there was no reliable framework).
- Conducted meetings with the stakeholders in order to provide guidance with the requirements definition.
- Passed on my knowledge of best practices to the team—the code and forms are still being used in production.
Software Developer
Talentos Unicos
- Designed and implemented a survey system for organizational climate and 360-degree feedback for big companies like UNICEF and Coca-Cola.
- Globalized the software to support multiple languages.
- Synchronized multiple desktop clients and web clients.
- Created a reusable reporting framework.
- Developed a framework for the dynamic generation of ASP.NET code from the desktop clients.
Software Developer
Sistemas eCAS
- Created from scratch an old ERP system made in COBOL.
- Implemented several dynamic DOM manipulations with pure JavaScript.
- Handled effectively a high amount of data in 2002-era internet browsers; many parts of the code are still in production.
Experience
Electron/Vue.js — Bible Software
C/C++/CUDA — Viola-Jones ML Framework
https://github.com/TommyEsteban/XionAndroid Geolocation App
Android App for Taxi Drivers
Arduino Robot — Explorer Vehicle
https://github.com/TommyEsteban/SapphireNode.js eCommerce Solution
I used JavaScript with Node.js caching with Redis for better performance and reliability of API transactions. I deployed it on Amazon AWS Beanstalk service.
Education
Certificate in Software Architecture
Software Engineering Institute - Pittsburgh, PA, USA
Bachelor's Degree in Software Development
Politécnico Grancolombiano - Bogotá, Colombia
Skills
Frameworks
.NET, .NET Core, ASP.NET, Lagom, Angular, ASP.NET Web API, NUnit, AngularJS, Express.js, .NET 5
Languages
SQL, JavaScript, C#, HTML, Scala, TypeScript, GraphQL, Python, C++, C, CSS
Libraries/APIs
Node.js, Entity Framework, OpenCV, Google Drive API, Google Vision API, jQuery, Vue, React
Paradigms
REST, Microservices, Azure DevOps, Distributed Computing, Parallel Computing, Test-driven Development (TDD), Behavior-driven Development (BDD)
Platforms
Android, Amazon Web Services (AWS), Oracle, Azure, Linux, Heroku, Amazon EC2, Visual Studio Code (VS Code), NVIDIA CUDA, Docker
Storage
MongoDB, MySQL, Microsoft SQL Server, PostgreSQL, SQL Server Reporting Services (SSRS), Oracle SQL, Amazon S3 (AWS S3), IBM Db2, Redis
Other
Domain-driven Design (DDD)
Tools
Amazon Simple Queue Service (SQS), React Apollo, Git, Android Studio, Postman
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