Pedro Martins Timóteo da Costa, Developer in São Paulo - State of São Paulo, Brazil
Pedro is available for hire
Hire Pedro

Pedro Martins Timóteo da Costa

Verified Expert  in Engineering

SOLID Principles Developer

Location
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.

Availability

Part-time

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

2019 - PRESENT
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.
Technologies: Amazon Web Services (AWS), JavaScript, HTML, Octopus Deploy, TeamCity, ASP.NET Core, .NET Core, C#

Software Engineer

2019 - 2020
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.
Technologies: Automated UI Testing, C#

RPA Developer

2018 - 2019
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.
Technologies: JavaScript, CSS, HTML, C#

Freelance C# and .NET Developer

2018 - 2018
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.
Technologies: Wix, RabbitMQ, .NET, C#

Freelance Full-stack .NET Developer

2018 - 2018
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.
Technologies: Bootstrap, OData, Entity Framework, TypeScript, Angular, ASP.NET Web API, C#

Software Developer

2017 - 2018
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.
Technologies: Ruby on Rails (RoR), Ruby, Visual Studio, Oracle, Microsoft SQL Server, VB.NET, C#

Mobile Developer

2016 - 2017
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.
Technologies: Microsoft SQL Server, Entity Framework, Windows Presentation Foundation (WPF), ASP.NET Web API, Xamarin

Web Developer

2014 - 2016
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.
Technologies: PL/SQL, Entity Framework, Microsoft SQL Server, Bootstrap, jQuery, ASP.NET MVC, C#

Junior Software Developer

2012 - 2014
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.
Technologies: T-SQL (Transact-SQL), jQuery, Active Server Pages (ASP), ASP.NET MVC, VB.NET, C#

Poola Exchange

Personal project of a decentralized pool-based exchange. I created this project for learning purposes, but I believe it could be actually used in real life if deployed to the Ethereum mainnet. The project consists of a Smart Contract and a React application that used web3 to interact with this contract. The Smart Contract allows users to create liquidity pools of any ERC20 tokens they want at any price in ETH, and based on how many people buy from their pools; they get allowances to withdraw ETH or buy tokens from other Pools.

Capta | App Vendas (Sales App)

• A Xamarin Android app that integrates with a legacy ERP
• 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

• Created a C# app to migrate data from a legacy app to a Microsoft Dynamics CRM database, using the Dynamics CRM web service.
• 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

• An ASP.NET MVC application for managing the delivery status of tax obligations to the government.
• 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

• Developed features for the app using Angular 4, TypeScript, Node.js, Express, and MySQL.
• 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

• An ASP.NET MVC application that allows clients to import and manage their tax data.
• 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.

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)

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

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

Other

SOLID Principles, IoC, Ajax, OData, Automated UI Testing, Cryptocurrency, ERC-20, Octopus Deploy

Platforms

AWS Lambda, Visual Studio Code (VS Code), Xamarin, Windows, Oracle, Amazon Web Services (AWS), Linux, Android, MvvmCross, Ethereum, Blockchain, AWS Elastic Beanstalk

2013 - 2014

Associate's Degree in System Analysis and Development

Faculdade de Informática e Administração Paulista | FIAP - São Paulo, SP, Brazil

AUGUST 2017 - AUGUST 2018

Xamarin Certified Mobile Developer

Xamarin

DECEMBER 2014 - PRESENT

Microsoft Specialist - Programming in C# Specialist: 70-483

Microsoft

JUNE 2014 - PRESENT

MCP - Querying Microsoft SQL Server 2012: 70-461

Microsoft

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring