Vitor Fernandes
Verified Expert in Engineering
Software Developer
Vitor is a full-stack software developer who always strives to produce simple, clean, and reusable code that meets a project's needs. He's been using the .NET framework stack since its release. In the last few years, his deepening interest in scalable systems has led him to Node.js, Angular, and its ecosystem. He likes learning new technologies almost as much as he likes listening to 70's music which is a lot!
Portfolio
Experience
Availability
Preferred Environment
Git, Visual Studio, Windows, Visual Studio Code (VS Code), Linux
The most amazing...
...thing I've built was the TV broadcast graphics system for the ICF Canoe Sprint U23 World Championships 2015 (Bit.ly/1PKvS5V).
Work Experience
Front-end Developer
Procure-to-Pay SaaS Company (via Toptal)
- Participated in multiple development teams, contributing to the development of different system modules such as expenses, invoicing or supplier portal (using AngularJS, Node.js, and Jasmine for unit tests).
- Implemented real-time notifications to end-users for relevant system counts, using Socket.io combined with AWS SNS.
- Improved the application's build scripts and configuration of linting tools, resulting in a sustained increase to code coverage and reduced build times.
- Implemented code reviews and team knowledge sharing sessions, contributing to the overall increase in team technical knowledge.
- Developed a documentation site for a system's public API with contents automatically generated from Swagger Open API definition files.
- Implemented public API authentication using AWS Lambda to integrate with back-end Java authentication services.
Full-stack Web Developer
Fitness Startup (via Toptal)
- Developed a web portal using an AngularJS-based client with a RESTful API developed in ASP.NET Web API.
- Integrated with Azure Search Services for content indexing and searching.
- Implemented Azure web jobs for background processing tasks like image resizing.
- Created unit and end-to-end tests for RESTful API.
- Configured build process for client application based on Gulp.
- Optimized database querying using Dapper.
Lead Developer
Gotv Media Software
- Developed a bespoke HR scheduling system for managing TV technical outsourcing teams.
- Constructed a REST API back-end using ASP.NET Core and an Entity Framework with a PostgreSQL database.
- Built a responsive AngularJS SPA's front-end that allows managers to create the schedules and employees to view them.
- Created a service using Node.js to integrate with Jasper Reports for generating PDF reports.
- Developed an open-source library for ASP.NET Core to integrate with Odoo data services using JSON-RPC, using xUnit for unit testing.
- Implemented a notification system to notify employees by email when there are schedule changes.
Team Leader | Lead Developer
Gotv Media Software
- Designed and developed a newsroom production system for TV newsrooms.
- Created the API services using ASP.NET Web API with EF code-first migrations running on OWIN infrastructure.
- Implemented the authentication layer using OAuth2 JWT tokens and IdentityServer3.
- Helped in the development of the front-end application using AngularJS.
- Used an xUnit testing framework for unit-testing the data services layer.
Lead Developer
Gotv Media Software
- Developed a system for searching, collecting, and displaying social media posts and images on TV shows. The system was used during music summer festivals in Portugal, during a live show of Rock In Rio, and is used daily on several live TV shows at SIC.
- Integrated Facebook, Twitter, and Instagram APIs for searching and collecting posts in real-time based on ad hoc search criteria.
- Developed a moderation application using WPF with Caliburn.Micro where content moderators can select and approve posts to show.
- Developed a control application for IPad to allow on-air talents to select which posts to show; used Titanium Mobile.
Lead Developer
Gotv Media Software
- Developed a system for managing and running SMS Value-Added services during TV and radio shows.
- Setup a Kannel gateway to integrate with mobile operators SMS gateways using SMPP protocol.
- Implemented SMS message handling logic to enforce the different service types rules, like votings or secret codes.
- Created a Silverlight back-office application where service managers can check participation statistics and draw winners.
- Used the Google Docs API to generate daily participation statistics reports.
Lead Developer
Gotv Media Software
- Developed a data visualization system for TV traffic bulletins.
- Integrated the data providers so that they can gather real-time traffic status data updates, and events using XML and CSV files.
- Built a playout control application using C# WPF with Caliburn.Micro for controlling the graphics on the control room.
- Developed a playout control application for iPad with Titanium Mobile to allow on-air talents to manipulate and control the graphics.
- Constructed a back-office system using Silverlight for journalists to check traffic status and prepare the news bulletins.
Team Leader | Lead Developer
Gotv Media Software
- Developed a TV infographics system for live sports broadcasts. The system was used in live broadcasts for several Portuguese and International events, like UEFA Europa League, European Sprint Canoe Championships, or the Portuguese Football Cup.
- Created desktop statistics collection applications using C# WinForms for registering sports events and aggregate statistics for teams and individual players for several sports, like football, volleyball, basketball, or sprint canoe.
- Implemented the competition score and timing systems to get times, scores, and classification data.
- Integrated the graphics playout system with the statistics database to auto-fill the graphics with up-to-date information.
Team Leader | Lead Developer
Gotv Media Software
- Implemented a TV broadcast graphics playout system for showing real-time election results using C# WinForms. The system has been used successfully during several election processes in Portugal by SIC, Spain by TeleMadrid and Angola by TPA over the years.
- Integrated the official election results providers using WCF SOAP web services and CSV files for getting updated results in real-time. Also did web scrapping to get results directly from the official website.
- Integrated Orad/VIzrt graphics playout engines for showing graphics on-air in virtual scenarios and in-studio videowalls.
- Developed custom control applications for IPad using Titanium Mobile to allow on-air talents direct control of the graphics.
Team Leader | Lead Developer
Gotv Media Software
- Worked as a team leader and developer of InfoStudio, a TV broadcast Infographics management system, was responsible for setting product requirements and defining project architecture.
- Helped in the development of all the data management applications using .NET WinForms and WPF and integrated with several data providers for stocks, traffic and weather information. Also implemented the data layer using SQL Server stored procedures.
- Developed the core libraries for network communication and control of broadcast graphics playout engines like Orad or Vizrt.
- Integrated the ENPS newsroom control system that allows journalists to fill in graphics directly on the news bulletin rundowns.
- Integrated the Harris playout system for auto-triggering the graphics during the TV broadcast using serial port communication protocols.
- Worked on a project that spanned the .NET framework all the way from 1.0 to 4.0.
- Administered the company's IT infrastructure, backups, emails, and website (comprised of two Windows and two Linux servers).
Experience
Traffic TV
https://www.youtube.com/watch?v=3jjirUXayvghttp://www.gotv.pt/
InfoStudio
http://www.infostudio.tv/GitHub Pull Request statistics
https://github.com/vfernandestoptal/github-pr-reportsOdoo Rpc ASP.NET Core Library
https://github.com/vmlf01/OdooRpc.CoreCLR.ClientGoRing
Angular Portugal
http://www.meetup.com/Angular-Portugal/Upgrade to Angular
https://slides.com/vitorfernandes/upgrade-to-angularAngular2 Welcome Party
Node.js | JavaScript Everywhere
https://github.com/vmlf01/nodejs-presentationAngularJS 1.x Intro Workshop
https://github.com/AngularPortugal/script-warsPromises, The Tao of Angular
http://pt.slideshare.net/vmlf/promises-the-taoofangularSkills
Languages
ECMAScript (ES6), JavaScript, SQL, XML, C#, TypeScript, T-SQL (Transact-SQL), GraphQL, Sass, HTML5, XAML, Less, CSS3
Frameworks
AngularJS, Angular, ASP.NET Web API, Entity 6, Windows Presentation Foundation (WPF), Caliburn.Micro, Bootstrap 3, Entity Framework Core, ASP.NET, ASP.NET MVC, Jasmine, Angular Material, ASP.NET Core, OAuth 2, Windows Communication Framework (WCF), Bootstrap, ASP.NET MVC 6, Json.NET, NancyFx, UI-Router, Express.js
Libraries/APIs
LINQ, Windows Forms (WinForms), Node.js, Q Promises, Log4Net, Web API, Entity Framework, GitHub API, Socket.IO, AngularUI, Passport.js, Task Parallel Library (TPL), Lodash, Underscore.js, Facebook API, Sockets, Should.js, JasperReports, Instagram API, Twitter API, Chai, jQuery
Tools
Webpack, Microsoft Visual Studio, GitLab, SmartGit, Subversion (SVN), Gulp, Bower, NPM, TortoiseGit, TortoiseSVN, Git, GitHub, Visual Studio, Odoo, Dapper, Azure Search, Jenkins, Amazon Simple Notification Service (Amazon SNS), Amazon Simple Queue Service (SQS), AngularFire, Adobe Photoshop, Shell, MongoLab, Vagrant, Grunt, xUnit, WCF RIA Services, Sublime Text 3, NGINX, Mongoose, Appcelerator Titanium, MS Silverlight, Mocha
Paradigms
Model View ViewModel (MVVM), REST, Object-oriented Programming (OOP), Dependency Injection, Unit Testing, Model View Controller (MVC), Scrum, Agile Software Development, Responsive Web Design (RWD), Continuous Integration (CI), Test-driven Development (TDD)
Storage
JSON, Database Modeling, Microsoft SQL Server, MongoDB, Azure Blobs, SQLite
Other
Multithreading, OWIN, Service, Azure WebJobs, OpenID Connect (OIDC), SOAP, Web Services, HTTP, SSH, Identity Server, Kannel, IIS
Platforms
Visual Studio Code (VS Code), Docker, AWS Lambda, Azure, Linux, Windows
Education
Bachelor of Science in Management and Information Technology
Instituto Superior de Gestão - Lisbon, Portugal
Certifications
C100DEV: MongoDB Certified Developer Associate Level
MongoDB
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