miguelpduarte

Miguel Duarte

Informatics Engineering Student

Passionate about performance and code efficiency. Always looking for opportunities to grow. Linux enthusiast and open source software supporter. Security padawan.

Take a look at my ExperienceEducation and Projects  or check out my Blog!

Experience

Software Engineering Intern

Trust Fractal, GmBH

07/2019 - 09/2019

Took part in the development of an OAuth platform for personal identification (Log in with Fractal ID) with KYC/AML regulation. The main difficulty was to quickly adapt to a big codebase in a new technology stack while also having to understand the complex OAuth protocol, along with following strict security standards.

My two biggest breakthroughs were succesfully migrating the GitHub organization’s configurations to Terraform (enabling them to be peer- reviewed and version controlled) and setting up a mailer service in a micro-service that enabled sending e-mail confirmations for live verification bookings.

Technologies used:

  • Ruby on Rails, minitest
  • Docker, CircleCI, Terraform
  • React, Redux, Jest, react-testing-library

Full-Stack Developer Summer Intern

Blip.pt

07/2018 - 09/2018

Developed a Full-Stack application for sharing user-submitted tips and tricks for Git. The main difficulty was never having worked in Web Development before.

A major breakthrough was real-time communication using WebSockets for efficient live notifications.

Technologies used:

  • Back-end: Node+Express, MySQL, Mocha+Chai
  • Front-end: React+Redux, Bootstrap, Jest

President

NIAEFEUP

06/2018 - 07/2020

Informatics Division of the Student's Union of FEUP, responsible for several projects and events throughout the school year. Member since 05/2017.

Tasks:

  • Managing the group's activities and members, with frequent contact with other entities, including other student branches, FEUP's internal organizations and several companies.
  • Administration of the student branch's website and server.
  • Managing the development of a web platform for companies to advertise their job and intership offers to students.

Head of Logistics Department

Semana de Informática 2018

04/2018 - 11/2018

Organizing the Logistics Department of this 4-day event comprised of talks and workshops (and other surprises) by the students, for the students (organized by students of the Master's Degree in Informatics Engineering of FEUP (MIEIC) that belong to NIAEFEUP).

Year Representative

Course Student Accompanying Commitee

09/2016 - Present

Year representative in board with teachers and students of other years. Representing my current year and aiming to improve the Course's Curricular Units via feedback and suggestions.

Additionally started participating in FEUP's pedagogical council (representing MIEIC's students) since 11/2019 approximatedly, in which College-level decisions are taken in regards to continuously improving the quality of education in this institution.

Volunteer

Talk a Bit 2018

01/2019 - 01/2019

Student-organized Informatics' conference that occurrs every year and is organized in the context of a course unit at FEUP. I helped handle the event's logistics.

Volunteer

ENEI 2018

03/2018 - 03/2018

The National Meeting of Informatics Students is a portuguese conference that aims to bring together students of informatics to learn, socialize and connect with each other and the business world. The 2018 edition of the event took place in FEUP, in Porto and gathered around 700 participants, along with lecturers from diverse areas and sponsors from several companies, ranging from big to small.

Education

Integrated Masters in Informatics and Computer Engineering (MIEIC)

Faculdade de Engenharia da Universidade do Porto (FEUP)

09/2016 - Present

Student of a 5-year Integrated Master's Degree. Expected graduation date of July 2021.

Projects

Niployments

11/2018 - 01/2019

Custom-built Continuous Deployment tool for the branch’s projects. Features Slack integration via its API and auto-deployment via Git.

The biggest challenge was being able to provide a consistent environment for deployment, which was solved by robust Bash scripts and careful Docker configuration.

I created this since I notised how troublesome and undocumented the manual configuration of the branch's server was. This was an effort to not only automate what can be automated but also document what can't in order for the "next ones in line" be able to take advantage of this ease of use, since now the configurations are simplified and version controlled :)

Technologies:

  • Bash, Docker, Git, Apache, Linux SysAdmin

move-ment (Public Transport Schedule Viewer)

06/2019 - 08/2019

Open-source Front-End for public transport schedules. The existing app and website are not very good, thus the creation of this responsive PWApp.

The major challenges were creating a design on my own and working with an undocumented API. These problems were overcome by being persistent and through trial and error.

Sadly the project is currently not working since the APIs used were locked down by the transportation network companies. I hope to either contact them about this situation (unlikely to work out, sadly) or reverse-engineer the "protection" and probably get over it via some reverse proxies or similar :)

Technologies:

  • GatsbyJS, React
  • Material UI
  • Progressive Web App (PWA)

Personal Website

07/2018 - Present

Static Website that queries Markdown and JSON files using GraphQL, developed using React and GatsbyJS.

Technologies:

  • GatsbyJS, React
  • GraphQL (via Gatsby, querying Markdown and JSON files, for example)

GET - Get Entertaining Topics - LTW@FEUP

11/2018 - 01/2019

Social network for sharing user-submitted stories. Technical restriction of not using frameworks or libraries of any kind as a way to be introduced to the basics of web development without abstractions that might hide concepts. Developed in a team of 3 people. Had the highest scoring project grade.

Technologies:

  • Back-end: Vanilla PHP + SQLite
  • Front-end: HTML/CSS + Vanilla JS

Mad Bishops - LAIG@FEUP

11/2018 - 01/2019

Developed the visual interface for the board game "Mad Bishops" using WebCGF (a WebGL library) and JavaScript. Integrated it with the game logic developed in SICStus Prolog during the semester in PLOG@FEUP.

Final Course Grade of 20/20.

Technologies:

  • JavaScript
  • WebCGF (WebGL-based library)
  • SICStus Prolog (for the game logic and game back-end)

Robinix - LCOM@FEUP

10/2017 - 10/2017

Low level game in the context of the Computer Labs (LCOM) course unit that implemented several device drivers (timer, keyboard, mouse, graphics, RTC and Serial Port), later on chosen for a showcase to High School students about the course (in Semana Profissão Engenheiro).

Final Course Grade of 20/20.

Technologies:

  • C, Assembly
  • UNIX, Shell scripting, Makefile

JS-Games

09/2017 - 09/2018

Early steps into learning Javascript by recreating popular games. Impelemnted Brickbreak, Minesweeper, Pong and Tetris, sometimes in more limited versions than the original games.

These were implemented mostly over 1-2 day sprints during the school year, thus their unfinished state and potential bugs. However, since this was one of my first personal projects that actually became anything useful, I found it interesting enough to share :)

Technologies:

  • Javascript for the core implementation
  • HTML for some visual aspects, with maybe some inline CSS here and there