Joao da Silva Fernandes, Developer in Porto, Portugal
Joao is available for hire
Hire Joao

Joao da Silva Fernandes

Verified Expert  in Engineering

Full-stack Developer

Porto, Portugal
Toptal Member Since
August 28, 2019

João is a full-stack developer focused on Ruby on Rails who delves into the front end and infrastructure. He started his career mainly working in startup environments until 2017 when he joined Xing, Germany's most active professional network platform. He has been working as a remote contractor since 2020. João strives for long-term maintainability through code quality and a proper delivery process where testing, code reviews, and commit history are prioritized.


Topkey, Inc.
Ruby, Ruby on Rails (RoR), APIs, PostgreSQL, Codat, Unit, Cloud66, DigitalOcean...
Ruby on Rails (RoR), Stimulus, Sidekiq, MySQL, Redis, RSpec, Capybara, Selenium...
Ruby on Rails (RoR), Vue, Kubernetes, Redis, MySQL, RSpec, TypeScript, Sidekiq...




Preferred Environment

React, Ruby on Rails (RoR), Ruby, Visual Studio Code (VS Code), Git

The most amazing...

...feeling of value I've had was introducing a testing culture to a group of front-end developers and seeing the confidence in our code increase.

Work Experience

Ruby on Rails Developer for API Integrations

2022 - 2022
Topkey, Inc.
  • Implemented integration with Unit to onboard customers and issue and manage debit cards, and receive transaction information.
  • Handled the implementation of integration with Codat to allow users to set up their accounting and export transactions.
  • Set up CI with GitHub Actions for testing and linting multiple repositories.
  • Built the staging and production environments with Cloud66 and Digital Ocean.
Technologies: Ruby, Ruby on Rails (RoR), APIs, PostgreSQL, Codat, Unit, Cloud66, DigitalOcean, Stimulus

Senior Software Engineer (Contractor)

2020 - 2022
  • Reduced the test build time by 50% by optimizing database cleaning and usage of Elasticsearch.
  • Diagnosed and resolved memory issues that caused CI builds and deploys to become stuck.
  • Introduced integration tests with Capybara and Selenium.
  • Implemented 2-factor authentication for the platform administrators, and for the clients.
  • Improved performance for public API endpoints by reducing and optimizing database operations.
  • Automated the setup for users connecting their Quaderno account with Xero.
  • Enabled the team to run migrations on its tables with dozens of millions of records.
Technologies: Ruby on Rails (RoR), Stimulus, Sidekiq, MySQL, Redis, RSpec, Capybara, Selenium, GitHub, Ruby, Agile, Continuous Deployment, Continuous Delivery (CD), SQL, API Development, API Integration, Stripe, APIs, Full-stack, Unix, Git, Continuous Integration (CI), Kanban, REST

Senior Software Engineer (Contractor)

2020 - 2020
  • Integrated the website's content and user reporting functionality with Help Scout.
  • Expanded the functionality of a user blocking another one to be reflected in all areas of the website, including comments on the content of users unrelated to the block, and mentions of the blocked user.
  • Improved the integration between the repository containing the main application and another repository with the community guidelines defined in YAML to make user and content reporting more configurable by the moderation team.
  • Implemented redesigned responsive versions of the existing pages, including image and video upload pages.
Technologies: Ruby on Rails (RoR), Vue, Kubernetes, Redis, MySQL, RSpec, TypeScript, Sidekiq, Git, GitHub, Ruby, Agile, Continuous Deployment, Continuous Delivery (CD), SQL, API Integration, APIs, Full-stack, Unix, JavaScript, Responsive UI, Continuous Integration (CI), Kanban, Front-end

Senior Software Engineer

2017 - 2020
  • Ensured GDPR compliance by stopping the storage of unnecessary personal data, and implementing personal data downloading and deletion.
  • Migrated some services from Ruby on Rails 4 to Ruby on Rails 5.
  • Added image and video updates for company profiles.
  • Integrated company profiles into the company's iOS app via WebView.
  • Improved the user experience of recruiter tools by allowing them to perform bulk actions on candidates.
  • Introduced a test driven culture to the company's frontend ecosystem using Jest and React Testing Library.
Technologies: Domain-driven Design (DDD), REST, Mob Programming, Sentry, Graylog, Continuous Integration (CI), Pair Programming, Testing, Object-oriented Programming (OOP), Kubernetes, Docker, Jenkins, Continuous Delivery (CD), Continuous Deployment, Agile, CSS, GitHub, JavaScript, Cypress, Capybara, Jest, RSpec, minitest, Git, MySQL, React, Ruby on Rails (RoR), Ruby, Scrum, SQL, APIs, Full-stack, Unix, Node.js, Visual Studio Code (VS Code), SEO Tools, Front-end

Senior Software Engineer

2017 - 2017
  • Migrated the accounting system to a new double-entry system.
  • Improved the GitFlow and code-review culture in the company.
Technologies: REST, Testing, Agile, GitHub, Amazon Web Services (AWS), RSpec, Heroku, Git, PostgreSQL, Redux, React, Ruby on Rails (RoR), Ruby, SQL, Full-stack, Unix, Pair Programming


2017 - 2017
  • Maintained the platform at a point where no developers had been working on it for months.
  • Optimized back-end admin panels to accommodate the platform activity.
  • Fixed critical bugs that were disrupting the operations team and the users.
  • Hired and onboarded a long-term maintainer for the platform.
Technologies: Bitbucket, REST, Agile, Amazon Web Services (AWS), Git, HTML, PostgreSQL, Node.js, SQL, Full-stack, Unix

Software Engineer

2014 - 2017
  • Worked on financial reconciliation mechanisms with credit card payments and currency transfers.
  • Implemented a site-wide responsive redesign with a gradual page per page release.
  • Built the legal compliance mechanisms according to the UK's FCA requirements.
  • Contributed to the development of a platform for the operations team to review crowdfunding pitches sentence by sentence.
  • Created a dashboard for entrepreneurs to manage their crowdfunding campaigns.
Technologies: Analytics, Mixpanel, Capybara, REST, Testing, Object-oriented Programming (OOP), Responsive UI, Jenkins, Agile, CSS, GitHub, Git, JavaScript, jQuery, Sass, Haml, MongoDB, MySQL, Ember.js, Cucumber, RSpec, Ruby on Rails (RoR), Ruby, Scrum, SQL, API Integration, Stripe, APIs, Full-stack, Unix, HTML, Pair Programming, SEO Tools, Front-end

Testimonials Page for Alto Pharmacy
I collaborated with the design agency, Saint Friend, to implement the testimonials page for Alto Pharmacy. Saint Friend provided the designs for large and small screens, and I implemented them while suggesting solutions for corner cases not contemplated in the designs.

Technologies: Jekyll, Sass, HTML, JavaScript, jQuery

Framework to Navigate Web Pages Using the Microsoft Kinect

As part of my master's thesis, I created a C# application that connects to the browser via sockets and sends data from Microsoft Kinect. I then developed a JavaScript framework to allow for user interaction based on motion events. These interactions included pressing buttons, scrolling through the page, image and PDF interactions (pitching, zoom, and rotation), and video interactions.

Site-wide Responsive Redesign
The current Seedrs' look and feel was introduced in 2015 as part of a responsive redesign that was rolled out on a per-page basis. The pages that I worked on include the investment opportunities page and the how-to-invest page.

Technologies: Haml, Sass, jQuery

Rails 5 Upgrade
I led the Rails 5 upgrade of the company profiles section of Xing. It was a ten-year-old legacy project and required exhaustive controller test refactoring, dependency updates, and removal of legacy mass assignment code from Rails 3.

Head of the Program for Portugal's National Conference of IT Students (ENEI 2013)

In 2012, I was invited to take ownership of the program for 2013's ENEI. This project involved choosing, contacting, and scheduling speakers on topics such as information security (infosec), internet of things (IoT), web development, and mobile computing. The attendance forecast was of 300 attendees. However, we ended up having 600 attendees, which led to a last-minute expansion of the program.

Talk | Mob Programming to Deliver Better Software
I gave a talk at Pixels Camp 2019 on how to use mob programming to deliver more maintainable code with fewer defects. This practice reduces the back-and-forth actions in code review processes by having the team collaborate in a disciplined manner and providing feedback in real-time before the code gets to the code review step.


Ruby, SQL, JavaScript, HTML, TypeScript, CSS, Sass, Haml


Ruby on Rails (RoR), minitest, Redux, Stimulus, Selenium, Ember.js, Cypress, Capybara, Jest


Git, GitHub, RSpec, Sentry, Cucumber, GitLab, Bitbucket, Jenkins, Graylog, Cloud66


Testing, Continuous Deployment, Continuous Delivery (CD), Agile, Scrum, Kanban, Object-oriented Programming (OOP), Pair Programming, Mob Programming, Continuous Integration (CI), REST, Functional Programming


Full-stack, Back-end, API Integration, APIs, Front-end, Domain-driven Design (DDD), Analytics, Responsive UI, SEO Tools, Codat, Unit


React, Vue, Sidekiq, API Development, Stripe, jQuery, Node.js, Marionette.js


New Relic, Visual Studio Code (VS Code), Amazon Web Services (AWS), Docker, Kubernetes, Heroku, Mixpanel, Unix, DigitalOcean


PostgreSQL, MySQL, Redis, MongoDB

2009 - 2014

Master's Degree in Software Engineering

University of Porto, Faculty of Engineering - Porto, Portugal