I am a software engineer. My main area of interest is distributed systems and concurrency, which I have been studying for almost 3 years now. I have a varied experience. See my latest updates below.
Software development for me is the challenge to solve the problem at hand in a simple way. I believe that this is the only way we can control the software complexity and understand its workings. No miraculous tools/practices matters if we don't understand what they do and what the project really needs. That is why I guide my projects through principles like: understand the problem, understand the solution, adopt simplifications and avoid excessive generalizations.
Regarding tecnologies, I prefer the Go programming language and a Microservices architecture. I also have experience with Java, C, and Python. I use Linux for 6 years now and have developed a good understanding of how it works. Others tecnologies like Vi, Docker and Git have their place in my projects.
I understand that tecnologies don't do miracles, and I reserved a significant time in my education to learn more about communication, and organizational and social challenges. My experience in CJR Junior Enterprise and in Toastmasters helped me a lot in this regard.
Connect With Me
- Worked on Linux kernel development as part of the Operating Systems course taught by Prof. Jason Nieh at Columbia University. [November 2015]
- Worked on the development of a BitTorrent Bleep Linux command-line client as a course project. [May 2015]
- Studied consistency guarantees in the middle of network partitions and jepsen. [May 2015]
- Worked on the development of wavelet.audio as a course project. [December 2014]
- Studied race conditions and threadsanitizer as a course project. [December 2014]
- Started masters at Columbia University [September 2014]
- Completed bachelor's thesis on a dynamic distributed memory (see FreeStore). [July 2014]