Bernardo Amorim
Verified Expert in Engineering
Software Developer
Bernardo started developing when he was a teen. 他的第一份了不起的工作是担任教育创业公司Responde Aí的首席技术官. 他在处理客户请求的同时,学到了很多关于构建和维护软件的知识. Later, 他在带领团队的同时,从零开始建立了一个银行系统, making key architectural decisions, 并代表公司在巴西和全球Elixir社区.
Portfolio
Experience
Availability
Preferred Environment
Zsh, Git, Visual Studio Code (VS Code)
The most amazing...
...我所做的就是从零开始建立一个完整的银行系统.
Work Experience
Principal Software Engineer
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环境, 特别是普罗米修斯的结构化日志和度量.
Senior Software Engineer
Toptal
- 在一个全栈Ruby on Rails应用的Matching团队工作.
- 在Ruby中使用GraphQL api和TypeScript React应用程序开发客户端门户.
- 对用Ruby编写的开源GitHub Codeowner linter做出了贡献.
Software Engineer
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.
Front-end Developer
Bractlet
- Built a new data-visualization tool in Elm, 从用React编写的遗留功能中迁移现有功能.
- 维护现有的数据可视化工具React组件.
- 合作审查用Ruby、Haskell和其他语言编写的后端代码.
CTO
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.
Experience
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/exchemaIt uses the idea of refinement types, 其中,我们有一个全局类型,所有值都属于该类型,并且可以使用谓词对该类型进行细化.
Doctor Ninja
http://github.com/bamorim/doctor_ninjaGrowing Network Simulator
http://github.com/bamorim/random_walk_generatorSkills
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
Education
Bachelor's Degree in Computer Engineering
里约热内卢联邦大学-巴西,里约热内卢