João Paulo "JP" Bochi
jpbochi@pm.me
Bachelor’s Degree in Computer Science from UFRGS (Brazil)
lives in Prague, Czechia
- Full-stack poliglot software engineer, with preference for the backend
- JavaScript, C#, Ruby, Java, Scala
- Node.js, React, Redux, Mocha, Express, Rails, Sinatra
- Adept of Lean, DevOps, CI/CD, and related principles
- Docker, Ansible, AWS, GCP, Azure
- DynamoDB, MongoDB, Redis, MySQL, Oracle, and other relational DBs
I'm a challenge-driven professional, with solid software engineering expertise, strong product thinking, and good leadership/mentorship experience. I'm at ease with all phases of a project, from its problem exploration, through construction, to maintenance. I've been battle-tested and have a good track record of dealing well under pressure.
I'm motivated by hard problems and smart people. I have a constant need for learning, and I believe everyone is uniquely capable of teaching me something. Individuals should define their own success. My personal career success definition is to be a principal/staff/lead software engineer. I excel as a technical expert, either dedicated to one product at a time or company-wide architectural design. I am willing and capable of leading teams, but do not want to be anyone's manager.
I got my CS degree in 2004, but started my professional software experience earlier than that. My initial focus was C# and .NET, and later became a polyglot programmer writing Ruby, Java, Scala, Python, and JavaScript (my current favorite). I have a strong experience with infrastructure with AWS, Docker, Terraform, Ansible, Kubernetes, and others. I'm passionate about CI/CD, and tend to be the guy that pushes the team forward to enhance our test and deploy pipeline.
I live with my wife, my son, and my pet hedgehog in Prague. In my free time, I enjoy my family, books, movies, beer, and some eventual programming for fun. I'm fond of open source, and made contributions of my own. For example, in 2015, I helped protonmail.com set up their early CI pipeline for their open source web UI. 5 years later, I ended up working for them.
Professional Experience
Omnipresent
Nov 2020 to present,I was the second engineer to join this start up. I took a leadership role laying some of its architectural groundwork.
ProtonMail
Sep 2019 to Nov 2020,Due to my unique skills, ProtonMail's CTO hired me as a contractor to work a single internal transformation project. I built from scratch a Kubernetes-based replacement for the company's QA and Staging environments, with automated deploys to fully isolated environments.
Rackspace
2016 to 2019,I helped build the software behind Rackspace's Managed AWS offering. I worked with billing, logging, and alerting automation. One product I helped build from scratch sets up version-controlled infrastructure pipelines for customers using GitHub, Terraform, and CircleCI. It currently manages both AWS and GCP.
SoundCloud
2014 to 2016,I rewrote a system responsible for processing and storing data sent by external partners. I kept some of the original design, but built all the infrastructure automation, and integration with our continuous delivery pipeline. Last time I checked, we had 150+ TB. As the system had to be expanded with extra features, I became the informal technical leader of a small team of 4 engineers.
ThoughtWorks
2011 to 2014,There, I became a full-fledged professional. I got used to programming in many languages and operating systems. Agile got in my blood. CI and CD became routine.
I've worked for 3 very distinct products there. The first used C#, SQL Server, and loads of JavaScript. The second was ecommerce system for one of the biggest media holdings in Latin America. The architecture we designed was heavily based in micro-services written in Ruby, with data storage in MongoDB. The third was the customer-facing control panel of a large cloud hosting company in the US. The continuous delivery was amazingly efficient, especially considering the size of the team.
Dell
2000 to 2011, a few Brazilian companies, plusCheck my linkedIn for more details.
Personal Work / Open Source / Hobby Programming
-
drun: It's a wrapper around docker run that will mount the current directory and a few other tricks. It's useful to run some python/node/ruby/whatever script without having to install anything locally. Code at https://github.com/jpbochi/drun.
-
Some other contributions to open source, including mochajs.org, ko-validation, a Knockout extension, halberd (a HAL library).
-
Duelo, a board game: This is the game I built in my teens, and made some rewrites over the years. In the rewrites, I focused more on boardgames engine underneath than on Duelo itself. In one attempt, I used C# and a frontend with HTML5 Canvas and jQuery. It was even worth a post at AppHarbor's blog at the time.
Education
Computer Science degree at UFRGS (from 2000 to 2004). My focus areas were AI and CG. My conclusion project was a system that recreated 3D models from photos.
Teaching/Coaching
-
Instructor at Microsoft Student to Business Advanced (2009 and 2010): A set of official MS courses were instructed to a class of high-school and undergraduate students. I taught VS 2008: ADO.NET 3.5 (6464A) and MCF (6461A).
-
Instructor at Rails Girls (November 2013): I was one of the instructors. Details at the ThoughtWorks' blog.
Other Links
- LinkedIn: https://www.linkedin.com/in/jpbochi
- GitHub: https://github.com/jpbochi
- Stack Overflow: http://stackoverflow.com/users/123897/jpbochi
- Nice articles I wrote in my C# days:
updated in Oct 2021 - https://github.com/jpbochi/cv#readme