Paulo Augusto Dacach Bichara
Verified Expert in Engineering
Full-stack Developer
Salvador, Brazil
Toptal member since July 22, 2019
Paulo is a full-stack engineer with almost 20 years of experience developing solutions in JavaScript, Node.js and Java, along with expertise in web application security and Linux environments. Freelancing for international companies for the past 8 years, Paulo is a team player who's always looking for challenging and innovative projects to test his skills and keep evolving as a professional.
Portfolio
Experience
Availability
Preferred Environment
Git, Visual Studio Code (VS Code), IntelliJ IDEA, Linux, Gradle
The most amazing...
...thing I've done in the past few years was to successfully migrate 500 TB of digital assets from a third-party DAM API into the company cloud storage.
Work Experience
API Developer | Media Migration Project
Jellysmack - Main
- Re-hired for an extension of the previous contract, I supported the migration of around 500 TB of digital assets with the tool I developed previously.
- Improved the digital assets migration solution by handling better edge cases, monitoring the production environment, and improving the CPU and memory resource consumption.
- Created a multipart download and upload solution to bypass a memory leak in the upload by stream operation from the AWS SDK, making the ECS containers die out of memory for files with 200+ GB.
- Developed a read-only file browser using React to allow users to navigate through the folder structure and download previously migrated digital assets.
- Created many Express.js API endpoints related to the new features and improvements, including the asset browser.
- Reduced the response times of many API endpoints as the database grew by analyzing the involved query execution plan and creating database indexes.
- Acted as the technical leader for a back-end engineer, delegating tasks, providing technical guidance, and doing code reviews.
- Kept the unit test coverage over 90% by writing unit tests and enforcing their importance as part of code reviews.
API Developer
Jellysmack - Main
- Developed a solution composed of an Express.js API, a React SPA, and two Node.js (SQS queues consuming) daemons to allow the execution and monitoring of digital asset migrations from a 3rd-party DAM platform into an Amazon S3 bucket.
- Wrote a Node.js script to extract asset metadata from another 3rd-party DAM platform by consuming their API and saving the data into a PostgreSQL database.
- Created an asset search and download solution, including an API built with Express.js and a React SPA, allowing users to search through, analyze the asset metadata, and download the assets from an Amazon S3 bucket.
- Implemented and published three private npm packages containing functionality like SQS client logic, Prisma data schema, database migrations, 3rd-party API client code, handling rate limits, fault tolerance, and API key allocation.
- Protected all of the developed APIs and integrated all the implemented front-end applications with Okta, the company's identity and access management service.
- Containerized all solutions by providing a Dockerfile for each component (later used by GitLab CI/CD pipelines to deploy to Amazon ECS) and Docker and Docker Compose to manage the local development infrastructure.
- Wrote many unit tests using Jest, with a test coverage of over 90% on all created solutions.
Full-stack JavaScript Developer
Nettbil
- Hired by a company in the car industry to join their core team and maintain/evolve their set of Node.js and JavaScript web solutions supporting the selling/buying of used cars through auctions.
- Worked on many features by implementing new API endpoints using LoopBack and Fastify, integrating UI components and pages from the React front ends, and creating/evolving internal packages containing common functionality.
- Created and maintained implementations using SSE, caching, publisher/subscriber, and queues (the last three using Redis).
- Contributed to an increase in the overall quality of software products by being an advocate and consolidating the automated testing culture in the company.
- Wrote many end-to-end tests using Cypress, unit tests using Jest, and load tests using k6 and integrated those with the company CI/CD pipelines, besides presenting workshops for the other developers about testing techniques.
- Created a JWT-based OAuth 2.0 server implementation using Fastify to replace the existing authentication mechanism.
- Enhanced the CI/CD process by automating version management and release creation with release notes, deployments, and deployment notifications.
Full-stack Software Engineer
AllKiosk
- Hired by a client that provides solutions based on the design and integration of self-service kiosks.
- Architected and implemented the MVP of a web solution to manage payment requests, monitor status from all kiosks, and proxy requests to the processing server among other features.
- Implemented the back-end as a Spring Boot 2 REST API, protected by OAuth 2.0 with JWTs as access tokens, writing unit tests using JUnit 5. Created a PostgreSQL database and used Liquibase as part of the back-end to manage migrations.
- Built the front-end as a React/Redux SPA, writing tests using Jest and Enzyme, among others.
- Created the GitLab CI/CD pipelines for both projects, automatically testing (with test coverage over 80%), building and publishing both Docker images to the container registry.
Software Architect
Ignite Technologies
- Improved the web application security of Symphony Commerce, an eCommerce platform with 5+ million active registered users, by optimizing the cookie-based authentication using Spring Security and the Kong API gateway definitions.
- Performed code maintenance (mostly bug fixes) in both Java Spring Boot back-end and React front-end applications.
- Dealt with client requests from the support channel related to the production environment.
Software Architect
DevFactory
- Worked on the aLine project: a software factory platform that increases software development quality by providing a continuous integration and code coverage tool.
- Operated mainly on the code quality analyzer module, adding support for platforms like Python and JavaScript.
- Allocated to the TestServer team, which develops a statistics processor and provider related to source code test coverage and results.
- Created several REST APIs using Spring Boot and Java 8. Also, integrated many projects with the company CI/CD environment (using Jenkins, GitHub, Jira, Docker, Kubernetes, and AWS services).
- Wrote functional, micro-benchmarks, and performance tests and finally optimized different aspects of multiple projects (caching, SQL and NoSQL database operations, network latency, web application security, etc.).
Software Architect
Aurea
- Allocated to maintain and evolve the CXMonitor products (monitoring, analytics, and security platform for web applications). This was the first fully remote work experience.
- Contributed by including a Java EE 7 JWT-based OAuth 2.0 server implementation to protect underlying web applications.
- Created Bash shell and Ant scripts to support the project build cycle working on Linux, maintained the UI using Apache Struts, JSTL, and jQuery, and dealt with clients' technical requests related to the production environment.
- Worked on a development process that involved writing unit, integration, and regression tests, passing through code reviews, and participating in regular meetings. this was the first professional experience with Docker and Apache Cassandra.
Software Architect
Geofusion
- Collaborated with the team responsible for maintaining and evolving the OnMaps product: a Java 7 geomarketing platform composed of REST microservices and a hybrid (JSF + JavaScript) front-end with Oracle Mapviewer.
- Developed several new features handling spatial data over Oracle, Apache Solr, and MongoDB, including researching, designing, and implementing a routing algorithm with critical performance restrictions.
- Implemented new front-end features using Backbone.js, Require.js, Handlebars, Bluebird, and Bootstrap.
- Proposed and implemented a new, more robust solution with SSO capabilities for the company platform using Java 7, CAS, reCAPTCHA, and Spring Web Flow, after creating a report pointing out vulnerabilities in the old authentication architecture.
- Became one of the technical team leaders in Sao Paulo and the internal reference on web application security.
- Prepared and presented technical workshops for other developers and architects about project challenges, describing the solution architecture and the technologies used.
Senior Developer
RGM
- Automated the build, test, and report process of an existing Java EE 6 governmental resource planning web application using Apache Maven 3.
- Created a minimal CI environment using Jenkins, improving product quality and team productivity.
- Changed the old deprecated base application server with JBoss Application Server 7, reducing the start, deploy, test, and general request handling times.
- Implemented front-end features using Apache Struts 2 and jQuery.
- Created UML diagrams using Enterprise Architect to serve as a reference in the development process.
Senior Developer
Central de Vendas
- Maintained and evolved a document management system (DMS) using Jakarta EE 6, Apache Maven, JSF2, PrimeFaces and JBoss AS 7, allowing clients to search and download previously scanned documents indexed by the company.
- Charged with the hardening process of GNU/Linux servers, pen testing jobs with Metasploit, applying security fixes, setting up VPNs (IPSec and SSL), and dealing with client security audits and constraints.
- Collaborated with the security committee and wrote part of the organization's security policy based on PCI Standards.
Researcher
Federal University of Bahia
- Implemented new features and maintained a CAD tool for optimal planning and project of optical networks through Eclipse RCP development (Java 5) called HiperionCAD.
- Directed the team towards the best genetic algorithm implementation to use, as the last was also the subject of my final graduation project.
- Implemented the solution to find the optimal network components configuration using GA.
- Co-authored a paper published in an international conference relevant to the subject.
- Developed a chart generation module for another solution that processes industrial machinery vibration noise (providing live issue identification) using the .NET framework.
Experience
Typescript S3 Uploader
https://gitlab.com/pauloadb/typescript-s3-uploaderThe motivation behind this project was for me to learn and practice Typescript using it in a real-world application, besides sharing some advanced code for transferring files to S3 buckets. For more information about the project and the source code, please visit the project URL.
OnMaps
HiperionCAD: A Computer Aided Design for the Optimization of Optical Networks
https://ieeexplore.ieee.org/abstract/document/4578395CX Monitor
https://www.aurea.com/library/cx-monitor/Spring Boot Prototype Application
https://github.com/paulobichara/spring-boot-prototypeProject Specifics:
• REST API with JWT authentication
• Method level authorization
• SpringFox 2.9.2 integration (with JWT support)
• Spring integration with Liquibase
• Gradle 5.5 as a project management tool
• JUnit 5 for tests
Education
Bachelor of Science (BSc) Degree in Computer Science
Faculdade Ruy Barbosa - Salvador, Bahia, Brazil
Certifications
Machine Learning
Coursera
Algorithms on Strings
Coursera
Algorithms on Graphs
Coursera
Data Structures
Coursera
Algorithmic Toolbox
Coursera
Linux Network Servers
4Linux
Junior Level Linux Professional (LPIC-1)
Linux Professional Institute
Skills
Libraries/APIs
Node.js, Liquibase, React, REST APIs, Winston, jQuery, Handlebars, Backbone.js
Tools
GitHub, Jira, Git, Jenkins, Gradle, Apache Maven, Amazon Elastic Container Service (ECS), Amazon Simple Queue Service (SQS), IntelliJ IDEA, Eclipse IDE, GitLab, Webpack, AWS SDK, Prisma, Docker Compose, GitLab CI/CD, Turbo, Subversion (SVN), Solr, OpenVPN, Apache Tomcat, Apache HTTP Server, Eclipse RCP, Apache Solr, Travis CI, Amazon CloudWatch, Application Servers
Languages
Java 8, Java, JavaScript, Java EE 8, SQL, HTML, Bash, Bash Script, TypeScript, Java 7, Java 6, UML, XML, CSS
Frameworks
Spring Boot, Spring, Spring Security, JSON Web Tokens (JWT), OAuth 2, Jest, Cypress, JUnit, Hibernate, Express.js, Redux, Apache Struts, Ant Design, Apache Struts 2, JSF, Loopback, Fastify, Bootstrap
Paradigms
Agile Software Development, REST, Scrum, Back-end Architecture, Unit Testing, Testing, Microservices, Design Patterns, Samba
Platforms
Visual Studio Code (VS Code), Linux, Docker, Amazon Web Services (AWS), Kubernetes, Amazon EC2, Eclipse, Oracle, JBoss, Openswan
Storage
MySQL, Redis, Neo4j, Amazon S3 (AWS S3), Databases, MongoDB, PostgreSQL, Datadog, NoSQL
Other
OAuth, Shell Scripting, CAS, Full-stack, APIs, CI/CD Pipelines, Message Queues, Architecture, Axios, Software Architecture, Technical Leadership, Single Sign-on (SSO), API Integration, Code Review, Web Development, Back-end, Algorithms, Data Structures, Programming, Cloud Architecture, Back-end Development, Full-stack Development, Integration Testing, Caching, Okta, OpenID Connect (OIDC), Graphs, Networks, Operating Systems, Amazon RDS, WebLogic, Machine Learning, Oracle WebLogic Application Server, Oracle MapViewer, Oracle Spatial, Software Development, Artificial Intelligence (AI), Integrated Circuits, Robotics, Physics, Calculus, Analytical Geometry, Enzyme
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