
Bernardo Amorim
Verified Expert in Engineering
Software Developer
Porto, Portugal
Toptal member since April 1, 2016
Bernardo started developing when he was a teen. His first amazing job was being the CTO of Responde Aí, an education startup. He learned a lot about building and maintaining software while taking ongoing client requests. Later, he built a banking system from scratch at Stone while leading teams, making key architectural decisions, and representing the company in the Brazilian and global Elixir communities.
Portfolio
Experience
- SQL - 12 years
- JavaScript - 10 years
- Ruby - 7 years
- React - 7 years
- Ruby on Rails (RoR) - 7 years
- Elixir - 4 years
- Elm - 4 years
- TypeScript - 3 years
Availability
Preferred Environment
Zsh, Git, Visual Studio Code (VS Code)
The most amazing...
...thing I've done was build an entire banking system from scratch.
Work Experience
Principal Software Engineer
SaltPay
- Assembled and led the Merchant Portal team. Mentored junior and mid-level engineers while teaching them good engineering practices. Focused on code quality and introduced agile practices.
- Assembled and led the Salt ID team. Developed an in-house Identity Provider for enabling SSO across multiple apps across multiple companies. Used mainly Elixir and TypeScript for the front end.
- Implemented features in the in-house Terraform HCL generation CLI written in Go. Used these features for Tekton's CI pipelines to provision infrastructure for applications.
- Created the Elixir Guild to foster Elixir usage across the company while maintaining shared projects, like custom Tekton CI tasks and images, shared libraries for structured logging, metrics, tracing, etc.
- Conducted workshops for about 200 engineers on setting up productive local Kubernetes environments with Kind and Tilt and good observability practices, specifically structured logging and metrics with Prometheus.
Senior Software Engineer
Toptal
- Worked on the Matching team on a full-stack Ruby on Rails application.
- Worked on the Client Portal on GraphQL APIs in Ruby and a TypeScript React application.
- Contributed to an open source GitHub Codeowner linter written in Ruby.
Software Engineer
Stone Pagamentos SA
- Developed a double-entry accounting ledger as the center of our financial operations.
- Built our transactional system using event-driven communication through Kafka and implemented a Saga pattern to roll back failed transfers.
- Constructed a custom-tailored API gateway using Elixir.
- Created an internal admin using react-admin and some JSON APIs.
- Built an open-source data definition and validation library to handle our validation needs.
- Developed CQRS/ES systems using Commanded, an Elixir framework.
- Worked on our internet banking app written in Elm.
- Made a Bitcoin payment processing system in Node.js from scratch to integrate with Mundipagg.
Front-end Developer
Bractlet
- Built a new data-visualization tool in Elm, migrating existing functionality from a legacy one written in React.
- Maintained existing React components for data visualization tools.
- Collaborated on reviewing back-end code written in Ruby, Haskell, and other languages.
CTO
Respondeai.com.br
- Fostered and maintained numerous customer relationships for a significant amount of time and developed the product.
- Implemented a Word document to HTML and MathML converter. The first one was in C# and ran our own machines. The second one was in Ruby and ran on the server Github.com/bamorim/doctor_ninja.
- Created a WYSIWYG HTML and math editor prototype to mimic Word's math editing capabilities.
- Implemented a fully responsive front-end so customers could study anywhere.
- Integrated the platform with Zendesk for reporting content errors.
- Implemented a subscription managing system using only a payment gateway.
- Split the application into two apps: one for creating the content and managing it and the other for users to consume the content. Gained experience with Docker and AWS OpsWorks.
Experience
Netmosa
https://bamorim.github.io/netmosaThe idea has impressed people at CompleNet 2016, so I made my graduation project on top of that.
Netmosa allows users to code their models using embedded Lua and Fengari (Fengari.io). The app was built using React with TypeScript, and you can check the source code at the GitHub page (Github.com/bamorim/netmosa).
Exchema
https://github.com/bamorim/exchemaIt uses the idea of refinement types, in which we have a global type to which all values belong and can refine that type with the use of predicates.
Doctor Ninja
https://github.com/bamorim/doctor_ninjaGrowing Network Simulator
https://github.com/bamorim/random_walk_generatorEducation
Bachelor's Degree in Computer Engineering
Federal University of Rio de Janeiro - Rio de Janeiro, Brazil
Skills
Libraries/APIs
React, Node.js, D3.js, C3.js
Tools
Git, Vim Text Editor, Zsh, Google Analytics, Capistrano, NGINX, AWS OpsWorks, Terraform, Tilt, Grafana
Languages
Ruby, JavaScript, Elixir, TypeScript, SQL, HTML, Elm, C++, Go, Lua, MathML, CSS
Frameworks
Phoenix, Ruby on Rails (RoR), Flutter, React Native
Storage
Databases, PostgreSQL, Amazon DynamoDB, Amazon S3 (AWS S3)
Paradigms
Event-driven Architecture, Microservices
Platforms
Docker, Mixpanel, New Relic, Apache Kafka, Amazon EC2, Amazon Web Services (AWS), Kubernetes, Visual Studio Code (VS Code)
Other
Architecture, Full-stack Development, Distributed Architecture, Argo CD, Tekton, Prometheus, OpenTelemetry, Graphs, Network Science, Computer Science, Calculus, Physics, Statistics, Networks, Algorithms, Software Engineering, Machine Learning, Data Visualization
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