Marco Martins Castanho, Developer in Lisbon, Portugal
Marco is available for hire
Hire Marco

Marco Martins Castanho

Verified Expert  in Engineering

Scrum Master and Software Developer

Lisbon, Portugal

Toptal member since June 11, 2021

Bio

Marco is a software engineer with nine years of experience in IT, focusing on both back-end and front-end development. After graduating with an MSc in electrical engineering and computer science, he worked as an IT consultant in Lisbon, Portugal. He accepted the challenge of moving to France to gather experience working in international contexts. Since then, Marco has worked as a software engineer, technical lead, and scrum master on various projects.

Portfolio

The New York Academy of Sciences
Python, Django, React, Back-end, Front-end, JavaScript, TypeScript...
Nova Technology Canada Inc.
Technical Leadership, React, Amazon Web Services (AWS), Django, Python, Fintech...
ALTEN Group
Agile, Git, JavaScript, TypeScript, Node.js, NestJS, React, SQLite, NATS...

Experience

  • Back-end - 10 years
  • Python - 7 years
  • JavaScript - 6 years
  • Node.js - 4 years
  • React - 4 years
  • TypeScript - 4 years
  • NestJS - 3 years
  • Django - 3 years

Availability

Part-time

Preferred Environment

Node.js, Python, TypeScript, React, Django, NestJS

The most amazing...

...thing I've developed was an Android app that distributes players to balance teams when playing soccer with friends.

Work Experience

Lead Engineer (via Toptal)

2021 - PRESENT
The New York Academy of Sciences
  • Fixed pre-existing issues that were causing the malfunction of core features, bringing the innovation and collaboration platform to a stable status.
  • Upgraded the main frameworks using modern versions of Django, React, and Python. Upgraded many of the project's dependencies and libraries to current versions or replaced them with alternatives.
  • Migrated the extended JavaScript front-end code to smaller and modular TypeScript components, with stricter type and data validations for cleaner and more error-proof code. Enabled linting for code quality automated validations.
  • Refactored the front-end code generally by modernizing it to the current best practice standards, cleaning previously poorly maintained legacy code, organizing the file structure, and creating modular, reusable functional components.
  • Improved back-end test coverage considerably by implementing a large set of tests to the REST endpoints of the project's main features. Added an automatic test coverage report to keep track of the coverage percentage and covered code.
  • Redesigned a few front-end pages and reusable UI components, improving the UI and UX. Re-implemented the application's internal messaging feature and designed the new UI and UX.
  • Improved the security of the REST APIs for data access in the back end by setting authentication, endpoint, and object-specific permission rules.
  • Implemented new automated background tasks to help the program administrators manage users, send bulk emails to target users, and generate usage reports.
  • Added functionalities to the project's main feature—Team Projects—such as setting milestones, inviting others to join the team, and changing the team leader. Fixed or implemented automatic validation and enforcement of business rules.
  • Investigated, fixed, tested, and deployed solutions to issues. Helped the program managers identify points of improvement. Designed and implemented solutions from a technical, functional, UI, and UX standpoint.
Technologies: Python, Django, React, Back-end, Front-end, JavaScript, TypeScript, Django REST Framework, REST APIs, Web Development, CSS, SCSS, HTML, Scripting, Celery, Full-stack, MySQL, Unit Testing, Front-end Development, Ansible, Amazon Web Services (AWS), Node.js, React Router, React Navigation, Sentry, Full-stack Development, Django ORM, Object-relational Mapping (ORM), Code Refactoring

Tech Lead

2023 - 2023
Nova Technology Canada Inc.
  • Designed a solution architecture based on the client's requirements.
  • Estimated the effort to implement the designed solution.
  • Implemented features on both the back and front ends.
  • Interviewed and hired the people who would be the technical team members.
  • Implemented the base skeleton for the Django back end.
Technologies: Technical Leadership, React, Amazon Web Services (AWS), Django, Python, Fintech, Full-stack, TypeScript, React Redux, Node.js, Software Architecture, Business Analysis, Technical Requirements, Team Leadership, Remote Team Leadership, Cross-functional Team Leadership, Full-stack Development, Django ORM, Code Review

Technical Lead and Scrum Master

2021 - 2021
ALTEN Group
  • Developed an application for a client's project that allows maintenance operators to configure and maintain electrical closets.
  • Implemented the back end that interacted with the system to get data from the electrical system and applied the changes.
  • Assisted in implementing the web application the operators use to interact with the system.
  • Collaborated with the client, a European multinational company providing energy and digital automation solutions for efficiency and sustainability.
Technologies: Agile, Git, JavaScript, TypeScript, Node.js, NestJS, React, SQLite, NATS, Protobuf, JSON Web Tokens (JWT), REST, Jest, GitLab, GitLab CI/CD, SQL, WebSockets, Back-end, APIs, Unit Testing, RPC, gRPC, Front-end, Front-end Development, Technical Leadership, TypeORM, Full-stack, Team Leadership, Object-relational Mapping (ORM), Code Review

Technical Lead

2020 - 2021
ALTEN Group
  • Managed the handover of a client's web application maintenance project from the previous contracting company.
  • Tracked and fixed bugs on the Python back end and the Angular front end.
  • Studied solutions and sized the cost of improvements in the project requested by the client.
  • Trained new trainees to understand the project and implement requested changes fully.
  • Worked with the client, a French global sporting goods retailer.
Technologies: Python, Google Cloud Platform (GCP), Python 2, Shell, Bash, Bash Script, Bower, Google Cloud, Git, Back-end, Front-end, Angular, Front-end Development, Technical Leadership

Software Engineer

2020 - 2020
ALTEN Group
  • Developed a mobile application for money transactions.
  • Implemented new screens for the application, both user interface and functionalities.
  • Proposed improvements on both UI and UX to the design team.
Technologies: React Native, Node.js, TypeScript, JavaScript, Git, GitLab, REST, Mobile, Mobile Development, Cross-platform, Digital Payments, Mobile Banking

Software Engineer

2020 - 2020
ALTEN Group
  • Developed a Node.js application for internal use of the company to help project managers manage clients' projects.
  • Implemented new features on the NestJS back end to plot a project's burndown chart.
  • Improved the project's unit test coverage by writing unit tests for new and existing features.
Technologies: TypeScript, JavaScript, Node.js, NestJS, MongoDB, Jest, REST, REST APIs, Jira, Jira REST API, Git, GitLab, NoSQL, Back-end, Docker, Docker Compose, APIs, Unit Testing, Architecture, Express.js, MERN Stack, Code Review

Technical Lead

2020 - 2020
ALTEN Group
  • Studied the request for proposals from a potential client to apply for a client project regarding automation of login in multiple applications running in cars infotainment systems.
  • Studied possible solutions to implement the automated login in Android systems.
  • Wrote a report detailing the technical solution presented to the potential client as part of the technical and financial proposition.
  • Worked with the client, a French global automotive supplier of car audio, automotive navigation systems, and visual and communication equipment.
Technologies: Android, Web Security

Software Engineer

2018 - 2020
Amadeus
  • Maintained an application's back-end nodes in Python and C++ to book train tickets in multiple providers.
  • Implemented new back-end nodes in Python for storing data in MongoDB and made them accessible through a REST API.
  • Performed a functional and technical analysis of new features to be implemented in the Python back ends.
Technologies: Agile, Scrum, Python, REST, SQL, MongoDB, JSON, Test-driven Development (TDD), C++, Git, Jira, Confluence, Bitbucket, Bash Script, NoSQL, Python 2, Python 3, Back-end, Flask, REST APIs, Python API, SOAP, XML, Unit Testing, Architecture, JavaScript, Technical Leadership, Testing, Code Review, Code Refactoring

Test Automation Engineer

2016 - 2018
Celfocus
  • Implemented scripts to automate the Session Initiation Protocol (SIP) application server testing, focusing on load testing.
  • Executed performance tests on the SIP server and wrote performance test reports.
  • Maintained the testing environments for automated and functional testing teams, such as managing the state of environments, installing and migrating new releases, and managing database seeding.
  • Created tools to help the functional testing team automate configuration processes.
Technologies: C++, Microsoft SQL Server, Java, Session Initiation Protocol (SIP), Python, Ruby, Git, Shell, Bash, Bash Script, SQL, Python 3, PostgreSQL, Scraping, Testing, Selenium

Junior Developer

2015 - 2016
Celfocus
  • Maintained a web portal that allows users to configure their preferences for using an enterprise phone system.
  • Maintained SOAP and REST services on an Oracle Service Bus—services consumed by the web portal.
  • Implemented a REST API in Java and migrated the services from OSB to this new server.
Technologies: JavaScript, SOAP, REST, Oracle Service Bus (OSB), Java, REST APIs, Git, GitLab, Back-end, Front-end

Junior Developer

2014 - 2015
Celfocus
  • Implemented a new feature on a C++ SIP application server that manages the establishment of phone calls, which impacted many other features.
  • Tracked, analyzed, and fixed issues using HP Quality Center and Application Lifecycle Management (ALM) tool.
  • Implemented scripts to help in the testing of new features or bug fixes.
Technologies: C++, PostgreSQL, Session Initiation Protocol (SIP), Boost, Shell, Bash, Bash Script, Back-end

Smarteam: An App to Manage Sports Games with Friends

https://github.com/marcomartinscastanho/Smarteam
An Android application for managing sports games with friends, keeping track of results, and obtaining a balanced distribution of teams. My idea was based on the need to have balanced teams when I played soccer regularly with friends. I developed the application while learning Android.

Cooking Recipes Manager

https://github.com/marcomartinscastanho/Secret-Ingredient
A React-based web application that allows storing, managing, viewing, and printing recipes. This training project uses Firebase back end with a React/TypeScript front end. I developed the entire React application.
The project is ongoing.

Twitter Image Scraper

https://github.com/marcomartinscastanho/twitter-image-scraper
This project consists of three parts:
• a Google Chrome extension that scrapes images from an open Twitter tab and saves them to a gallery.
• a Django back-end that manages the image gallery.
• a React front-end that displays the image gallery.

It was developed as a way to practice and learn a set of useful skills.

CREUA Movie Sessions

https://github.com/marcomartinscastanho/creua-movie-sessions
A React web app to randomly select a movie director from a list and present their filmography. The list is maintained in a Google spreadsheet read by the application through Google API. The app also stores the record of selected movie directors on Firebase to prevent the same director from being selected twice in a row.

CookAI

https://github.com/marcomartinscastanho/CookAI
Built a Next.js web application integrating OpenAI API to generate cooking recipes using artificial intelligence. Also, I implemented user authentication to enable users to save recipes in their profiles.
2007 - 2014

Master's Degree in Electrical Engineering

Instituto Superior Técnico - Lisbon, Portugal

JULY 2024 - PRESENT

GitLab CI/CD: Pipelines, CI/CD and DevOps for Beginners

Udemy

FEBRUARY 2024 - PRESENT

GraphQL by Example

Udemy

FEBRUARY 2024 - PRESENT

NextJS & OpenAI - 2024 Edition

Udemy

SEPTEMBER 2020 - PRESENT

Build a Back-end REST API with Python and Django | Advanced

Udemy

AUGUST 2020 - PRESENT

Django 3 | Full-stack Websites with Python Web Development

Udemy

MAY 2020 - PRESENT

The Complete 2020 Flutter Development Bootcamp with Dart

Udemy

APRIL 2020 - PRESENT

The Complete Android Oreo Developer Course

Udemy

FEBRUARY 2020 - PRESENT

The Complete Regular Expressions Course For Beginners

Udemy

FEBRUARY 2020 - PRESENT

Professional Scrum Master I

Scrum.org

FEBRUARY 2020 - PRESENT

Business Analysis Fundamentals

Udemy

SEPTEMBER 2019 - PRESENT

Complete Python Bootcamp: Go From Zero to Hero in Python 3

Udemy

FEBRUARY 2019 - PRESENT

Git and Bitbucket

Amadeus

Libraries/APIs

REST APIs, Node.js, React, Protobuf, Jira REST API, Python API, React Redux, Redux-Saga, React Router, React Navigation, React Query, Django ORM

Tools

Git, Jira, GitLab, Bitbucket, Shell, GitLab CI/CD, Confluence, Bower, Docker Compose, Celery, Ansible, Sentry, Prisma, ChatGPT

Languages

Python, TypeScript, Python 3, SQL, JavaScript, HTML, C, Java, C++, Ruby, Dart, Regex, Bash, Bash Script, Python 2, XML, CSS, SCSS, GraphQL, Sass

Paradigms

REST, Scrum, Test-driven Development (TDD), RESTful Development, Code Refactoring, Agile, Design Patterns, Microservices, Unit Testing, Mobile Development, Cross-platform, Testing, Object-relational Mapping (ORM), DevOps

Storage

JSON, SQLite, PostgreSQL, MongoDB, NoSQL, Microsoft SQL Server, Google Cloud, MySQL

Frameworks

NestJS, JSON Web Tokens (JWT), Django, Django REST Framework, Express.js, Jest, React Native, Flutter, Bootstrap, Boost, Flask, gRPC, Redux, Chrome, Angular, Next.js, Tailwind CSS, Selenium

Platforms

Visual Studio Code (VS Code), Android, Google Cloud Platform (GCP), Firebase, Windows, Mobile, Docker, MacOS, Unix, Netlify, Amazon Web Services (AWS), Vercel, AWS Elastic Beanstalk

Other

Back-end, Scrum Master, Front-end, Front-end Development, Full-stack Development, Code Review, Session Initiation Protocol (SIP), SOAP, Oracle Service Bus (OSB), NATS, IT Business Analysis, Business Analysis, RESTful Microservices, Web Security, WebSockets, APIs, Web Development, Scripting, Full-stack, Architecture, RPC, Chrome Extensions, Web Scraping, Technical Leadership, Native Mobile Apps, Mobile App Development, Fintech, Software Architecture, Technical Requirements, TypeORM, Digital Payments, Mobile Banking, OpenAI, MERN Stack, Scraping, GraphQL Code Generator, Apollo, Apollo Server, Team Leadership, Remote Team Leadership, Cross-functional Team Leadership, CI/CD Pipelines

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring