JZ's Blog
About Me
Figure 1: I can talk to computers and people. How may I help you?
What do I do?
I am currently employed as a Senior Software Engineer at Brasil Paralelo, using all I know of functional programming and information systems to improve server stability and performance on a streaming platform.
I am an advocate of strongly typed functional programming, and I consider my biggest career achievement the fact I helped to build Brazil's first F# team at Datarisk.
On my spare time, I help talented developers to become the technology leaders they were destined to be, so that they take their abilities to the limit and give back to the world in proportion to gifts they were given.
What technologies am I good with?
I honestly think you should hire me by my capacity to learn computer technologies and overall experience with information systems, and not by any specific tool I know how to use. However, I do know you have a tech stack in mind. For this reason, following is a list of stuff I have worked with. I listed only technologies with which I have over 1 years of experience putting software on production.
- F#, Saturn, Giraffe, Fable, Elmish
- C# and ASP.NET
- Clojure, Clojurescript, reagent, reframe
- Python and Django
- Reach, Javascript, and Typescript
- Postgresql, MySql, Elasticsearch
- Docker, docker-compose, kubernetes
Overall, people often consider me a fullstack developer. I do have more experience with backend software, but I find it an accident. I really see myself as a general purpose programmer, and I am glad to hack anything. If I could pick a job title for me it would be Programming Mathematician.
What have I done?
Senior Software Engineer at Brasil Paralelo (October 2022 ~ Now)
I am currently maintaining a streaming platform (similar to Netflix) for over 500k users. So far my biggest achievement was locating performance bottlenecks and optimizing the server's startup routine. After my improvements, the system was able to handle 2x numbers of views, with only 6.5% of the total CPU needed to support heavy traffic (when compared to previous patch).
Technologies used: clojure and pedestal, node, mongodb, graphql, redis, and kafka.
Sabbatical Quarter #1 (July 2022 ~ September 2022)
I took a break from my career, and spent some time studying by myself.
On the first month of this break, I tackled the following books:
- The art of immutable architecture
- Designing Data-Intensive Applications
- Time and Relational Theory
I also tackled books on Economics, Philosophy, and Religion.
To my surprise, I found myself more interested in Philosophy and Religion and thus spent the second month reading as much as I could about these topics, and dedicated the third month to visiting family and developing a spiritual life. I also read "Clojure for the Brave and Truth" in preparation for my new job.
Head of Technology at Datarisk (April 2022 ~ June 2022)
During this period I assumed responsibility for recruitment, evolution and documentation of team' processes, and management of the technology costs. I helped the company during a transition period between 2 CTOs. It was a great experience, but I realized I still have a few years of programming in me before I turn into a totally managerial role.
Some times I programmed as well, but I mostly did a bunch of other stuff, from recruiting, to conducting Scrum rituals, to coaching young developers.
Senior Software Engineer at Datarisk (Jan 2021 ~ Mar 2022)
I helped to build a team of F# Software Engineers. It was the vision of the CTO to use F# fullstack, and I was the senior developer who made it happen. I learned the language, the main frameworks, and put the first demo in production. From them on I helped the junior team to replicate the stack on other initiatives. By the end of the period, we had launched 5 F# projects, and became one of the first Brazilian companies to apply strongly typed functional programming on production.
Additionally, I presented our adoption on F# Exchange (international online conference), as well as TDC 2022 (Brazilian conference).
Software Engineer at Brick Abode (July 2017 ~ Dec 2020)
I worked on a handful of outsourced projects for startups around the world, from which I highlight the following experiences:
| Project Summary | Technologies Used | Project Duration |
|---|---|---|
| Platform that integrates content and marketing data from Facebook, Instagram, and YouTube. | C#, Docker, Postgresql | 9 months |
| Auction house and marketplace for trading music royalties | Python, Django, React, MySQL | 18 months |
| Cryptocurrency exchange platform | C#, Postgresql | 6 months |
On all of the project above I was a lead software engineer, meaning that, additionally to programming and carrying implementation through delivery, I had the responsibility of talking to customers, designing solutions, and orchestrating the work of junior developers.
Software Engineer at Simbiose Ventures (Nov 2015 ~ June 2017)
I helped Simbiose progress on the construction of their own search engine. The project was written in Java, and had clients in several languages. I was responsible to solving concurrency problems, improving system performance, and documenting the architecture of the system.
Computer Science Exchange Student at Rice University (July 2014 ~ July 2015)
As an undergrad, I spent 1 year at Rice taking classes on Computer Science (AI, machine learning, computer networks, robotics, …). I also joined a hackathon (engineering competition over a weekend) and got awarded best usage of hardware.
Bachelor Degree at Electrical Engineer at Universidade de BrasÃlia (Jan 2011 ~ Dec 2016)
I learned to program and dedicated a bunch of time to Mathematics (number theory, analysis, differential equations, …). Half way through graduation I knew I wanted to be a programmer, but realized it was quicker to finish my EE major than switching degrees. I did as many extra classes on Computer Science as I could (os, automata, databases, …).
Where do I want to get?
I seek to to leverage my skills to the best possible effect. I am flexible on how to implement such goal, but here is the best plan that I was able to come up so far:
- Work w/ relevant companies in order to: a) improve myself and b) build my reputation
- Run a software outsourcing business where I use my reputation and network to find customers
- Run a software school business where I use the perspective of working for great companies as a way to attract talented developers
- Teach the young developers all I know about thriving in the software business, as well as personal life improvements
VIM or Emacs?
Emacs. I used VIM for almost 10 years, but recently switched to Emacs. You can find more about this here.