
Pedro Martins Timóteo da Costa
Verified Expert in Engineering
SOLID Principles Developer
São Paulo - State of São Paulo, Brazil
Toptal member since November 13, 2017
Since 2012 Pedro has been developing software with C#, JavaScript, and related technologies. Pedro is proficient in working on the back end, front end, building CI/CD pipelines, and is extremely flexible and eager to learn new technologies and paradigms, which allows him to integrate very well into any team.
Portfolio
Experience
- SQL - 9 years
- C# - 9 years
- JavaScript - 8 years
- Test-driven Development (TDD) - 6 years
- SOLID Principles - 5 years
- ASP.NET Web API - 4 years
- ASP.NET MVC - 4 years
- TypeScript - 1 year
Availability
Preferred Environment
Git, Visual Studio, Windows, Linux, Visual Studio Code (VS Code), IDEA IDE, JetBrains Rider, Amazon Web Services (AWS)
The most amazing...
...achievement was improving a legacy application increasing its performance at least 500 times, which allowed us to get a new client.
Work Experience
Software Engineer
Albelli
- Worked in an agile micro-services-oriented environment. Designed several services and components using C#, .NET, and AWS.
- Implemented Redis cache in our checkout platform, which led to our platform being 100% available even while receiving thousands of orders and requests during Black Friday.
- Helped to design the decoupled micro-services architecture for migrating our email-marketing platform.
- Improved the CI/CD pipeline in two of our legacy applications, making deploying new features twice as fast.
- Investigated and made changes to several connected services and applications in order to comply with new tax legislation from one of the countries where the company operates.
- Migrated data from legacy systems to AWS DynamoDB in a very short time span.
Software Engineer
Epirion Knowledge Solutions
- Helped to create a C# library to allow querying and sending commands to Windows and web elements using the same API.
- Created a Windows application using WPF to scrape applications and web pages and show their elements and properties in a tree-view format.
- Used parallelism and asynchronous programming to make the application faster and responsive.
- Implemented several non-trivial features like using the mouse position to locate elements on the tree and showing borders around the element.
- Used a TDD approach for designing most of the application features to ensure stability when adding new code.
RPA Developer
NBCUniversal
- Developed several software bots to automate different types of laborious tasks on multi-billion dollar company.
- Created integrations with Veracode to automatically scan our deployment packages, greatly speeding up our development process.
- Worked as the main developer to automate several steps of end-of-year tax declaration, saving at least 160 hours of manual work.
- Developed automation process for automating cash processing for a department, saving several hours of manual labor every month.
- Served as reference developer for junior developers, providing several workshops on topics like SOLID and TDD.
- Used SignalR to create integration that allows triggering our bots by sending a command to a chat bot.
Freelance C# and .NET Developer
SennaLabs (via Toptal)
- Supported a Windows batch application that reads a messaging queue and trade stocks accordingly to the message.
- Created a desktop application for managing multiple clients for the messaging queue, enabling faster processing of the received messages.
- Enabled the application to be able to process multiple requests by correctly applying the Garbage Collector and Object Lifecycle fundamentals.
- Created an installer for the application using the WiX Toolset.
Freelance Full-stack .NET Developer
Patrick Philipp (via Toptal)
- Designed and implemented REST API following the OData standards using the ASP.NET WEB API.
- Created a client application using Angular.
- Implemented the Builder design pattern to create an OData client with Angular and TypeScript.
- Developed a generic controller with ASP.NET WEB API, that defines basic operations like CRUD and batch creation.
- Created a feature that allows users to control multiple levels of access for all of the application's screens.
- Implemented JWT-based authentication with refresh tokens.
- Created reusable Angular component to allow easier CRUD operations through multiple entities.
- Implemented the use of lazy-loading on routes to make the application faster.
- Created reusable Angular components to encapsulate third-party components, therefore avoiding code repetition at the component's configuration.
Software Developer
TaxWeb Compliance Fiscal
- Created a build process for the visual studio team services that greatly minimized the time to create the installer for a desktop application.
- Developed a functionality for creating and configuring a Windows schedule to import large amounts of XML files to a SQL Server database.
- Optimized the legacy code that was taking days to finish its execution and made it finish in 30 minutes, just by applying the correct data structures to that scenario.
- Refactored very convoluted code into reusable pieces using SOLID principles.
- Created features for identifying problems with the client's tax compliance.
Mobile Developer
Capta Tecnologia
- Created Android apps using Xamarin to integrate with a large legacy ERP built by the company.
- Developed a REST API to provide data to mobile applications.
- Built sockets to enable the real-time communication between an Android application and a legacy back-end.
- Developed a feature for a mobile app to dynamically create screens and validate business rules based on a back-end configuration.
- Created a generic CRUD architecture in a WPF application—making it trivial to create CRUD for new entities.
- Integrated an Android application with external libraries and devices in order to enable credit and debit card payments in the application.
- Integrated an Android application with different barcode-reader devices.
Web Developer
LAM-IT
- Developed a web application to manage employee timeslots and what projects they were working on.
- Deployed ASP.NET MVC applications to IIS servers.
- Created PL/SQL queries to generate the tax obligations files that are sent to the Brazilian government.
- Used third-party libraries to create reports in PDF and Excel.
- Automatized the clients' processes by doing HTML screen-scraping by using VB.NET.
Junior Software Developer
Paicon Technologies
- Developed integrations between multiple legacy systems and a Microsoft Dynamics CRM 2011 application.
- Optimized a series of T-SQL queries used in business reports.
- Created a functionality to allow managers to edit users' access.
- Developed custom workflows for Microsoft Dynamics CRM 2011 using C#.
- Developed a C# application to read an inbox and normalize it in order to allow it to be inserted in a SQL Server database.
Experience
Poola Exchange
Capta | App Vendas (Sales App)
• Designed and implemented the MVVM architecture using MvvmCross.
• Developed complex screens with dynamic fields and business rules based on a back-end configuration.
• Used WebSockets to create a real-time communication feature that allows managers to call for an available salesperson.
• Created a Web API to provide data for the mobile app.
• Integrated the app with Bluetooth barcode readers—allowing much faster reads than if it was done with the cellphone camera.
Migration of a Sales Module from a Legacy App to a Microsoft Dynamics CRM
• Developed C# code to integrate and synchronize the data between the legacy application and the Dynamics CRM database.
• Created custom workflows for the Dynamics CRM using C#.
• Developed a C# application to read a mailbox, extract and normalize bidding data from the emails, and ultimately insert it into the Microsoft Dynamics CRM database.
Compliance Management System
• Implemented a feature for displaying a calendar with the clients' tax compliance status; for example, which obligations they need to deliver next.
• Developed a service for sending emails with the clients' tax compliance status.
• Created log-feature that saves every interaction that users have with the system's data.
Portal Medei
• Acted as the technical leader for the project, establishing patterns, and helping junior developers.
• Created a reusable component to handle parent-child data.
• Developed an additional reusable component to display validation errors.
Recon.Web
• Implemented an authorization feature with multiple levels; for example, if the user has access to a parent's record, he also has access to their child's records.
• Implemented a data import feature that validates every record and field, displaying appropriate messages to the user in case of errors.
• Created a generic CRUD functionality using Knockout.js, jQuery, and AJAX.
Education
Associate's Degree in System Analysis and Development
Faculdade de Informática e Administração Paulista | FIAP - São Paulo, SP, Brazil
Certifications
Xamarin Certified Mobile Developer
Xamarin
Microsoft Specialist - Programming in C# Specialist: 70-483
Microsoft
MCP - Querying Microsoft SQL Server 2012: 70-461
Microsoft
Skills
Libraries/APIs
API Development, REST APIs, SQLite.NET, jQuery, Entity Framework, Sockets, React, Web3.js, Chai
Tools
Microsoft Visual Studio, Git, Dapper, Visual Studio, RabbitMQ, Wix, IDEA IDE, JetBrains Rider, Mocha, AWS CloudFormation, TeamCity
Languages
JavaScript, SQL, HTML, C#, T-SQL (Transact-SQL), TypeScript, XML, CSS, VB.NET, Ruby, Active Server Pages (ASP), Solidity, CSS3, HTML5
Frameworks
.NET Core, .NET, ASP.NET Web API, Bootstrap, ASP.NET MVC, Angular, Entity, Ruby on Rails (RoR), ASP.NET Core, Hardhat, Windows Presentation Foundation (WPF), Knockout (Knockout.js)
Paradigms
Test-driven Development (TDD), RESTful Development, REST, Model View ViewModel (MVVM), Continuous Integration (CI), Continuous Delivery (CD)
Storage
JSON, SQL Server 2012, SQLite, SQL Server Management Studio (SSMS), Microsoft SQL Server, PL/SQL, Amazon DynamoDB
Platforms
AWS Lambda, Visual Studio Code (VS Code), Xamarin, Windows, Oracle, Amazon Web Services (AWS), Linux, Android, MvvmCross, Ethereum, Blockchain, AWS Elastic Beanstalk
Other
SOLID Principles, IoC, Ajax, OData, Automated UI Testing, Cryptocurrency, ERC-20, Octopus Deploy
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