João Francisco de Castro Pinheiro


Linux, C, C++, Python, JavaScript, Node.js, Git, HTML, CSS, Nginx, SQL, Bash, Assembly, Latex, Matlab, Mathematica


DevOps, Concurrency, Fault Tolerance, Operating Systems, Distributed Systems, Rust, Erlang/Elixir

João Pinheiro

Software • Systems • Curiosity



Instituto Superior Técnico

Sep. 2015 - Present

4th year Electrical and Computer Engineering.

Favourite courses: Algorithms and Data Structures, Systems Progamming, Linear Algebra, Electronics I, Computer Architectures.


Fulltime Intern

Formula Student Técnico

Sep. 2017 - Jan. 2018

Revamped the team's build tools for PIC microcontrollers, reducing the compilation and programming steps to just one keypress, boosting productivity in the development cycle.

Began a refactoring of the USB-CAN Interface (written in C++/Qt) and allowed its compilation to Windows.

Experienced and was integrated in the team dynamics of a multidisciplinary engineering project, as a fulltime position.



May 2016 - Sep. 2017

Participated in a Passion Project, organized by Identity, entitled r2p. Our team developed a pair of GUI apps (client-server), in C++/Qt, to stream games from a Windows PC to a Raspberry Pi, using FreeRDP.

Codeveloped an LED Matrix. Programmed an Orange Pi as controller, using Python, with a web interface, and an Arduino as driver.

Supported various company events in Técnico, such as workshops and hackathons (e.g. SecThon 2016), working with TT@Técnico.

Helped give a workshop on electronics and soldering during Verão na ULisboa 2016 to students from the 7th to 12th grade.


Abra A keyboard typing speed game, developed with two colleagues. The players compete and see, in real time, each other's text cursors. Technologies: Node.js, WebSockets, Less, Nginx.
Pinecone Personal Linux server, administered since 2014 as a learning platform. It runs various services, such as HTTP, SMTP, SMB, git, and hosts some friends' sites and respositories.