Marco Martins Castanho
Verified Expert in Engineering
Scrum Master and Software Developer
Lisbon, Portugal
Toptal member since June 11, 2021
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
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
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)
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.
Tech Lead
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.
Technical Lead and Scrum Master
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.
Technical Lead
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.
Software Engineer
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.
Software Engineer
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.
Technical Lead
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.
Software Engineer
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.
Test Automation Engineer
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.
Junior Developer
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.
Junior Developer
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.
Experience
Smarteam: An App to Manage Sports Games with Friends
https://github.com/marcomartinscastanho/SmarteamCooking Recipes Manager
https://github.com/marcomartinscastanho/Secret-IngredientThe project is ongoing.
Twitter Image Scraper
https://github.com/marcomartinscastanho/twitter-image-scraper• 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-sessionsCookAI
https://github.com/marcomartinscastanho/CookAIEducation
Master's Degree in Electrical Engineering
Instituto Superior Técnico - Lisbon, Portugal
Certifications
GitLab CI/CD: Pipelines, CI/CD and DevOps for Beginners
Udemy
GraphQL by Example
Udemy
NextJS & OpenAI - 2024 Edition
Udemy
Build a Back-end REST API with Python and Django | Advanced
Udemy
Django 3 | Full-stack Websites with Python Web Development
Udemy
The Complete 2020 Flutter Development Bootcamp with Dart
Udemy
The Complete Android Oreo Developer Course
Udemy
The Complete Regular Expressions Course For Beginners
Udemy
Professional Scrum Master I
Scrum.org
Business Analysis Fundamentals
Udemy
Complete Python Bootcamp: Go From Zero to Hero in Python 3
Udemy
Git and Bitbucket
Amadeus
Skills
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring