Bernardo Amorim, Developer in Porto, Portugal
Bernardo is available for hire
Hire Bernardo

Bernardo Amorim

Verified Expert  in Engineering

Software Developer

Location
Porto, Portugal
Toptal Member Since
April 1, 2016

Bernardo started developing when he was a teen. 他的第一份了不起的工作是担任教育创业公司Responde Aí的首席技术官. 他在处理客户请求的同时,学到了很多关于构建和维护软件的知识. Later, 他在带领团队的同时,从零开始建立了一个银行系统, making key architectural decisions, 并代表公司在巴西和全球Elixir社区.

Portfolio

SaltPay
TypeScript, React, Elixir, Go, Terraform, Argo CD, Tekton, Tilt, Kubernetes...
Toptal
Ruby, Ruby on Rails, TypeScript, React, SQL, HTML
Stone Pagamentos SA
PostgreSQL, Docker, Kubernetes, Apache Kafka, React, Elm, Elixir, SQL, HTML...

Experience

Availability

Part-time

Preferred Environment

Zsh, Git, Visual Studio Code (VS Code)

The most amazing...

...我所做的就是从零开始建立一个完整的银行系统.

Work Experience

Principal Software Engineer

2021 - 2022
SaltPay
  • Assembled and led the Merchant Portal team. 指导初级和中级工程师,同时教授他们良好的工程实践. 关注代码质量并引入敏捷实践.
  • Assembled and led the Salt ID team. 开发了一个内部Identity Provider,用于跨多个公司的多个应用程序启用SSO. 前端主要使用Elixir和TypeScript.
  • 在用Go编写的内部Terraform HCL生成CLI中实现了功能. 将这些特性用于Tekton的CI管道,为应用程序提供基础设施.
  • 创建Elixir公会,以促进Elixir在整个公司的使用,同时保持共享项目, like custom Tekton CI tasks and images, shared libraries for structured logging, metrics, tracing, etc.
  • 为大约200名工程师举办研讨会,讨论如何使用Kind和Tilt以及良好的可观察性实践来建立高效的本地Kubernetes环境, 特别是普罗米修斯的结构化日志和度量.
Technologies: TypeScript, React, Elixir, Go, Terraform, Argo CD, Tekton, Tilt, Kubernetes, Prometheus, Grafana, OpenTelemetry, SQL, HTML, Distributed Architecture, Microservices

Senior Software Engineer

2020 - 2021
Toptal
  • 在一个全栈Ruby on Rails应用的Matching团队工作.
  • 在Ruby中使用GraphQL api和TypeScript React应用程序开发客户端门户.
  • 对用Ruby编写的开源GitHub Codeowner linter做出了贡献.
技术:Ruby, Ruby on Rails (RoR), TypeScript, React, SQL, HTML

Software Engineer

2017 - 2019
Stone Pagamentos SA
  • 开发了复式分类帐作为我们财务运作的中心.
  • 通过Kafka使用事件驱动的通信构建我们的事务系统,并实现了一个Saga模式来回滚失败的传输.
  • 使用Elixir构建了一个定制的API网关.
  • 使用react-admin和一些JSON api创建一个内部管理员.
  • 构建了一个开源的数据定义和验证库来处理我们的验证需求.
  • 使用Elixir框架command开发CQRS/ES系统.
  • Worked on our internet banking app written in Elm.
  • Made a Bitcoin payment processing system in Node.js from scratch to integrate with Mundipagg.
Technologies: PostgreSQL, Docker, Kubernetes, Apache Kafka, React, Elm, Elixir, SQL, HTML, Event-driven Architecture, Distributed Architecture, Microservices

Front-end Developer

2016 - 2017
Bractlet
  • Built a new data-visualization tool in Elm, 从用React编写的遗留功能中迁移现有功能.
  • 维护现有的数据可视化工具React组件.
  • 合作审查用Ruby、Haskell和其他语言编写的后端代码.
技术:HTML, CSS, JavaScript,数据可视化,D3.js, C3.js, Elm, React

CTO

2012 - 2014
Respondeai.com.br
  • 在很长一段时间内培养和维护众多客户关系,并开发产品.
  • 实现了Word文档到HTML和MathML的转换. The first one was in C# and ran our own machines. 第二个是用Ruby编写的,在服务器Github上运行.com/bamorim/doctor_ninja.
  • 创建了一个所见即所得的HTML和数学编辑器原型来模拟Word的数学编辑功能.
  • 实现了完全响应的前端,因此客户可以在任何地方学习.
  • 将平台与Zendesk集成,用于报告内容错误.
  • 实现了一个仅使用支付网关的订阅管理系统.
  • 将应用程序拆分为两个应用程序:一个用于创建和管理内容,另一个用于用户消费内容. Gained experience with Docker and AWS OpsWorks.
Technologies: Amazon Web Services (AWS), AWS OpsWorks, Amazon EC2, Amazon DynamoDB, Amazon S3 (AWS S3), NGINX, Docker, Capistrano, New Relic, Google Analytics, Mixpanel, React, JavaScript, PostgreSQL, Ruby on Rails (RoR), Ruby, SQL, HTML

Netmosa

http://bamorim.github.io/netmosa
这开始是我对“无重启随机行走的增长网络”研究的贡献之一,它给了我们一些关于模型如何工作的视觉和直观的反馈.

这个想法在2016年的compleenet上给人们留下了深刻的印象,所以我在此基础上做了我的毕业设计.

Netmosa允许用户使用嵌入式Lua和Fengari (Fengari.io). The app was built using React with TypeScript, 你可以在GitHub页面查看源代码(GitHub.com/bamorim/netmosa).

Exchema

http://github.com/bamorim/exchema
Exchema是一个用于定义、验证和强制数据的库. 它允许您在运行时检查给定值的类型.

It uses the idea of refinement types, 其中,我们有一个全局类型,所有值都属于该类型,并且可以使用谓词对该类型进行细化.

Doctor Ninja

http://github.com/bamorim/doctor_ninja
一个Ruby中的库,可以将MS Word的DocX文件转换为HTML. 但是,为了在没有栅格化的情况下维护数学,我们将其转换为MathML,这是一种W3C标准. Responde Ai使用了这种方法,使“专家”能够使用他们已经知道的工具创建内容, like MS Word, while ensuring a good, consistent, mobile-friendly experience for the end-user.

Growing Network Simulator

http://github.com/bamorim/random_walk_generator
为我在LAND UFRJ(研究实验室)的研究构建了一个c++模拟器,用于“通过随机行走而不重新启动生长图形”。. 这是用来模拟网络增长模型的,我们在实验室集群上运行它.

Languages

Ruby, JavaScript, Elixir, TypeScript, SQL, HTML, Elm, c++, Go, Lua, MathML, CSS

Frameworks

Phoenix, Ruby on Rails (RoR)

Libraries/APIs

React, D3.js, C3.js

Tools

Git, Vim Text Editor, Zsh,谷歌Analytics, Capistrano, NGINX, AWS OpsWorks, Terraform, Grafana

Paradigms

Event-driven Architecture, Microservices

Platforms

Docker, Mixpanel, New Relic, Apache Kafka, Amazon EC2, Amazon Web Services (AWS), Kubernetes, Visual Studio Code (VS Code)

Storage

PostgreSQL, Amazon DynamoDB, Amazon S3 (AWS S3)

Other

Distributed Architecture, Argo CD, Tekton, Tilt, Prometheus, OpenTelemetry, Graphs, Network Science, Computer Science, Calculus, Physics, Statistics, Networks, Algorithms, Software Engineering, Machine Learning, Data Visualization

2014 - 2020

Bachelor's Degree in Computer Engineering

里约热内卢联邦大学-巴西,里约热内卢