Pedro Beirão

Software Engineer

Porto, PT.

About

Highly skilled Software Engineer with a passion for developing maintainable, user-centric open-source solutions and a strong background in full-stack development, distributed systems, and robotics. Proven ability to lead and contribute to complex projects, from maintaining popular source ports to researching novel browser-native engineering environments, consistently delivering high-impact results and fostering active communities.

Work

dsda-doom

|

Maintainer

→

Summary

Led the development and maintenance of dsda-doom, a popular Doom source port, ensuring its continued evolution and quality for a dedicated community.

Highlights

Appointed maintainer of a widely used Doom source port after years of significant contributions, demonstrating deep expertise in C, CMake, OpenGL, and SDL.

Managed CI/CD pipelines and conducted rigorous code reviews to uphold high standards for project stability and performance.

Contributed to a project with an active community, focusing on long-term maintainability and enhanced user experience.

dsdarchive

|

Maintainer

→

Summary

Maintained the official website for Doom's speedrunning community, ensuring a robust and performant platform for users.

Highlights

Oversaw the maintenance and operational integrity of a critical website supporting the Doom speedrunning community, handling server hosting and web development.

Utilized Ruby on Rails and SQL expertise to ensure high availability and responsiveness of the platform.

Managed web development tasks, contributing to a seamless user experience for community members.

Doom Cross Port Collab

|

Team Member

→

Summary

Contributed to a collaborative team focused on establishing new standards for cross-port development within the Doom community.

Highlights

Collaborated on defining and implementing new technical standards to ensure enhanced cross-port development and future-proofing for the Doom community.

Applied expertise in standards design and strategic planning to foster improved collaboration among diverse development teams.

Actively participated in a collaboration effort aimed at improving consistency and quality across various Doom ports.

dsda-launcher

|

Author / Lead Developer

→

Summary

Developed and launched a highly requested cross-platform desktop application that quickly became the standard launcher for the community.

Highlights

Engineered and deployed a cross-platform desktop launcher using C++ and Qt, which rapidly replaced the existing tool due to superior functionality and user adoption.

Implemented robust CI/CD practices and focused on UI development to deliver a user-friendly and efficient application.

Responded to popular community demand, creating a tool that significantly improved the user experience for Doom players.

SYSTEC

|

Researcher

→

Summary

Conducted research on a novel architecture for a collaborative browser-native engineering tool for IEC 61499 distributed automation.

Highlights

Researched and developed a new architecture for a browser-native collaborative engineering tool, focusing on IEC 61499 distributed automation.

Leveraged expertise in Web development, Docker, Python, and Websockets to design a scalable and robust solution.

Authored a dissertation detailing the research findings and architectural implementation, contributing to academic knowledge in the field.

Various Game Jams

|

Game Developer / Participant

→

Summary

Engaged in multiple multi-day game jams, developing game prototypes independently and in international teams under tight deadlines.

Highlights

Successfully developed and delivered game prototypes in 3 multi-day game jams, participating both solo and within international teams.

Demonstrated proficiency in C#, Unity, and Godot, showcasing rapid prototyping and execution under pressure.

Collaborated effectively in international teams, contributing to successful project completion within challenging timeframes.

Jet Set Billy

|

Game Developer / Author

→

Summary

Recreated the cult classic game 'Jet Set Willy' for the ZX Spectrum, demonstrating strong reverse engineering and development skills.

Highlights

Engineered a faithful recreation of the classic 'Jet Set Willy' game, applying Java, UML, and unit testing for robust development.

Successfully reverse-engineered game mechanics and logic to deliver an accurate and functional retro game experience.

Demonstrated strong problem-solving and analytical skills in replicating complex legacy system behavior.

pyopenglDoom

|

Renderer Developer / Author

→

Summary

Developed a Doom renderer using PyOpenGL, focusing on binary data structures and advanced rendering techniques.

Highlights

Created a custom Doom renderer utilizing PyOpenGL, mastering the interpretation and manipulation of complex binary structured data.

Showcased advanced Python and OpenGL skills in developing efficient and accurate graphics rendering solutions.

Enhanced understanding of low-level data processing and graphics pipeline implementation through practical application.

mindcuber-python

|

Robotics Programmer / Author

→

Summary

Programmed a robot to autonomously solve a Rubik's cube using an ev3 Mindstorms, optimizing for on-board execution without external storage.

Highlights

Developed a Python program for an ev3 Mindstorms robot to autonomously solve a Rubik's cube, optimizing for on-board execution without SD card dependency.

Applied robotics and Python programming expertise to create an innovative and self-contained automated solution.

Demonstrated problem-solving and algorithmic thinking in designing a system capable of complex physical manipulation.

Education

FEUP

Porto, Porto, Portugal
→
Master Informatics and Computer Engineering

UTwente

Enschede, Overijssel, Netherlands
→
Semester Abroad ERASMUS

FEUP

Porto, Porto, Portugal
→
Bachelor Informatics and Computer Engineering

Publications

PTERO: A Collaborative Browser-Native Engineering Environment for IEC 61499 Distributed Automation

A publication detailing the research and development of a collaborative browser-native engineering environment designed for IEC 61499 distributed automation.

Languages

Portuguese

English

Dutch

Skills

Programming Languages

C, C++, Python, Javascript, SQL, Ruby, Java, C#.

Infrastructure & DevOps

CI/CD, Docker, CMake, Git, Server Hosting.

Frameworks & Libraries

Ruby on Rails, Qt, OpenGL, Unity, Godot, SDL.

Web Technologies

Websockets, Web development, LaTeX.

Methodologies & Tools

Code reviewing, Standards design, Future proofing, Collaboration, UML, Unit tests, Binary data, Crossplatform, UI development, Execution under pressure.

Specialized Domains

Robot, Game Jams, Source Port Development, Distributed Automation (IEC 61499).