Daniel Pereira, Developer in Stockholm, Sweden
Daniel is available for hire
Hire Daniel

Daniel Pereira

Verified Expert  in Engineering

Software Developer

Location
Stockholm, Sweden
Toptal Member Since
October 25, 2017

Daniel is a software engineer with 11+ years of experience in the industry, having worked with micro-services, AWS, SaaS, Spring, and Hibernate, among other frameworks and technologies. He has worked with many teams from various sizes and cultures; from a couple of engineers in a startup to a group of 50 professionals in a big corporation. Daniel is passionate about software development, and he always looks for exciting challenges to work on.

Portfolio

Senior Sistemas
Amazon Web Services (AWS), Angular, WSO2 API Manager, Kubernetes, Docker...
Performitiv (via Toptal)
Amazon Web Services (AWS), Kibana, Elasticsearch, MongoDB, Hapi.js, Node.js...

Experience

Availability

Part-time

Preferred Environment

Angular, Java, IntelliJ IDEA, Git, Linux

The most amazing...

...project I've worked on was building a micro-services architecture to allow the company’s developers to create new products on top of it.

Work Experience

Software Architect

2018 - PRESENT
Senior Sistemas
  • Created the new company's platform. It is cloud-based, and it also can be deployed as an on-premises application. It supports millions of transactions per month, achieving an availability of 99.94% during 2018.
  • Designed and wrote the authorization service from scratch, decoupling it to be an autonomous part. The new service increased performance by 50%. It has backward-compatibility with the legacy one, allowing other services to migrate at their own pace.
  • Migrated services from Oracle Java 8 to OpenJDK 11, due to changes in Java licensing.
  • Designated by management as a tech lead on a team of seven people. I mentored juniors programmers and newcomers Software Architects.
  • Contributed to the redesign of our services front ends, formerly written in AngularJS. We developed all new front ends using Angular 2+. We got a more intuitive interface, which a more modern design on top of it.
Technologies: Amazon Web Services (AWS), Angular, WSO2 API Manager, Kubernetes, Docker, Oracle, PostgreSQL, Flyway, Hibernate, Spring, Java

Software Engineer

2018 - 2019
Performitiv (via Toptal)
  • Migrated the entire client's environment from Heroku to AWS, designing the Amazon infrastructure from scratch.
  • Implemented the client's CI infrastructure, allowing developers to deploy their code when making commits on the Git repository.
  • Enabled clients to share essential files by creating an SFTP server that synchronizes with an S3 bucket.
  • Configured Elastic Stack, allowing developers to keep track of actions happening inside the application.
Technologies: Amazon Web Services (AWS), Kibana, Elasticsearch, MongoDB, Hapi.js, Node.js, CircleCI

Frontend Software Engineer

2018 - 2018
(confidential)
  • Implemented the frontend redesign. After testing the current version with clients, designers decided to change the application flow to enable clients to register under 15 minutes. After finishing the changes, we achieved the expected goal.
  • I fixed several bugs that were blocking the client to launch the application on the projected date.
Technologies: Angular

Software Engineer

2017 - 2018
SPINS
  • Migrated our infrastructure to use CircleCI 2.0 as our CI tool, allowing developers to deploy changes by pushing code to the Git repository.
  • Worked on performance issues when generating reports reducing the execution time from four minutes to three seconds.
  • Created BI reports giving our clients better insights on the data they have on the product. We developed the frontend using Angular 2+ and used High Charts to display the graphics.
  • Developed the new API to be used by the mobile team. The API goal was to replace the old API, which had many performance issues. We were able to deliver a faster and reliable product using the new API and new mobile apps.
Technologies: JavaScript, CSS, HTML, Angular, New Relic, Kibana, CircleCI, Flyway, MySQL, Hibernate, Spring, Java

Software Architect

2016 - 2017
Senior Sistemas
  • Created a social network used by companies to improve internal communication and increase employee engagement.
  • Allowed customers to optimize their application usage by providing a mechanism to customize any endpoint on the application.
  • Created an authentication service where users could login into the system using their Facebook/Google/Linkedin profiles.
  • Enhanced the companies security process by creating a mechanism that allows requests to the application only on whitelisted IPs.
  • Created a frontend for several essential services we developed, including scheduler and customization services. With those frontends, clients could perform tasks in visual mode. The previous version forced them to execute commands using a terminal, which was not intuitive and error-prone.
Technologies: Amazon Web Services (AWS), AngularJS, WSO2 API Manager, Docker, Oracle, PostgreSQL, Flyway, Hibernate, Spring, Java

Applied Researcher

2015 - 2016
Senior Sistemas
  • Endorsed the application's security by making a penetration test, where vulnerabilities were found and reported.
  • Created a project to monitor the volume of a silo. I built this project from scratch, and it ended up receiving the Outstanding Watson Internet of Things Solution awards on the IBM Beacon Award 2017.
  • Helped the agribusiness to have better insights on whether they should stock grains, buy it or sell it. The product made was connected to the stock market and consumed information in real-time.
  • Reduced support requests from clients by developing a chatbot to answer questions about the application.
  • Allowed employees to enter the company using their smartphone by integrating the access system using NFC and QR Code.
Technologies: Amazon Web Services (AWS), IBM Watson, WebGL, Raspberry Pi, Linux, Internet of Things (IoT), Android, Python, JavaScript, Java

System Architect

2014 - 2015
Senior Sistemas
  • Allowed developers to reuse their code by making a REST layer on the company's proprietary framework.
  • Enhanced the client's productivity by delivering seven workflows to the client, where they automated processes that used paper before.
Technologies: JUnit, Jenkins, Jersey, Java

Programmer

2009 - 2014
Senior Sistemas
  • Migrated Ext JS from version 2 to version 3. This migration removed some coupling we had on our side of the code.
  • Created a language to allow users to make an advanced search on our entities. The search had functions very similar to the ones Outlook provides to search email.
  • Contributed to memory and performance improvements on a system that was migrated from Delphi to Java. Since both platforms are very different, we had to dive deep into the JVM to make improvements.
Technologies: JUnit, CSS, HTML, JavaScript, JavaCC, Java

Programmer

2008 - 2009
Tron Informática
  • Created a report generator to allow clients to generate their own reports. It was easier to use than iReports, and it was focused on the business entities rather than the database tables.
Technologies: JasperReports, Swing, Java

Micro-services Architecture

I built a micro-services architecture along with a team of eight other Software Architects. This architecture is message-driven, using RabbitMQ as the broker mechanism. It has services such as user management, authentication, authorization, customization, configuration management, scheduling, translation, cache, and much more. It also includes features like Single Sign-On, and it has support for both REST and SOAP services.

We can deploy the platform in both cloud and on-premises environments, and it doesn't have vendor lock-in with any cloud provider. Developers deploy new versions using the pipeline provided by the CI Server, using Docker and Kubernetes.

This platform generated hundreds of new services inside the company, and it is allowing all legacy systems to be available in the cloud.

Enterprise Social Network

I made an enterprise social network, distributed in the SaaS model. People would create publications and other people interacted by liking it or adding a comment.

The social network's primary focus was to share relevant news across the company. Different from an intranet portal, it gives employees the power to interact with the publication. It also allowed them to create the content themselves, which increased engagement by a wide margin.

Early stats collected from the service revealed that engagement increased by more than 200% compared to legacy solutions.

Silo Monitoring Solution

In Brazil energy is expensive on weekdays, since most industries only work from Monday to Friday, thus making the demand very high. Since the energy provider doesn't have a high demand on weekends, they incentivize companies by charging less money on Saturdays and Sundays.

One of our clients sells rice, and they have a very automated environment that could run with very few people working, which means they could benefit from this incentive. To make it happen, they need their silos to be empty by Friday afternoon, so the rice could be processed and store during the weekend. Since verifying the silos were empty was a manual process, it was often not completed by Friday afternoon. On these occasions, they would not be able to produce during the weekend, which did not allow them to take advantage of the lower energy rates.

I made a solution that verified the silo level in real-time and would warn if the silo needed to be emptied by Friday afternoon. We had sensors to measure the percentage of the silo that was filled, and we had a dashboard to keep track of this information. This project saved the client a considerable amount of money since they could produce on the weekends, reducing their energy costs.

Performance and Memory Improvements on Product

We had a system that was migrated from Delphi to Java. This migration was made by a converter that kept the original structure from Delphi and used JNI to make the native calls. Both languages have very distinct architectures, which led to inferior performance in the Java version. I worked to reduce both memory usage and increase performance on this system.

This project helped me understand how the JVM works under the hood for subjects like Garbage Collection. It also gave me a lot of experience with tools that analyze the program memory and performance, such as Memory Analyzer and JVisualVM. After the project was finished, the memory and performance were vastly improved, allowing the Java version to replace the Delphi version in production.

This project enabled the company to remove Delphi from their stack, which was a goal they had from a long time.

Languages

HTML, SQL, Java, Java 8, JavaScript, Sass, CSS, TypeScript, Python

Frameworks

Hibernate, Angular, Jersey, JUnit, Spring, AngularJS, Swing, Hapi.js

Tools

Eclipse IDE, Flyway, CircleCI, IntelliJ IDEA, Git, Postman, Kibana, Gulp, NPM, JavaCC, IBM Watson, Jenkins

Paradigms

Agile, Microservices

Platforms

Docker, Amazon Web Services (AWS), Android, Windows, Linux, Kubernetes, New Relic, Oracle, Raspberry Pi

Other

Data Structures, WSO2, WSO2 API Manager, Internet of Things (IoT)

Libraries/APIs

Node.js, jQuery, WebGL, JasperReports

Storage

PostgreSQL, MongoDB, MySQL, Elasticsearch

2015 - 2016

Specialization in Distributed Software Architecture

PUC - Pontifícia Universidade Católica - Minas Gerais, Brazil

2008 - 2012

Bachelor's Degree in Computer Science

FURB - Universidade Regional de Blumenau - Blumenau, Brazil

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