Scroll To View More
João Reis, Software Developer in Santa Maria da Feira, Portugal
João Reis

Software Developer in Santa Maria da Feira, Portugal

Member since July 20, 2015
João is an experienced back-end developer, passionate about software architecture and design. Because he loves challenges, he is always ready to learn new technology. He has spent a semester studying abroad and currently works with DataStax remotely, which gives him experience in communicating and working with people of different cultures and languages, both remotely and on site.
João is now available for hire

Portfolio

  • DataStax
    C#, .NET Framework, .NET Core, Apache Cassandra, DataStax Enterprise
  • Farfetch
    ASP .NET MVC, ASP .NET Web API, ASP .NET Core, C#, Cassandra, SQL Server...
  • Serious Mojo, Inc. (via Toptal)
    C#, ASP .NET MVC, Windows Forms, SQL Server, Stored Procedures, HTML...

Experience

  • C#, 5 years
  • Java, 3 years
  • SQL, 3 years
  • Cassandra, 3 years
  • Apache Kafka, 2 years
  • Redis, 1 year
  • Elasticsearch, 1 year
Santa Maria da Feira, Portugal

Availability

Part-time

Preferred Environment

Windows, Ubuntu, Eclipse, Visual Studio, Git

The most amazing...

...thing I've coded is a game-theoretic algorithm running on the GPU that generated strategies for poker players.

Employment

  • Senior Software Engineer

    2018 - PRESENT
    DataStax
    • Developed C# drivers.
    Technologies: C#, .NET Framework, .NET Core, Apache Cassandra, DataStax Enterprise
  • Software Engineer

    2016 - 2018
    Farfetch
    • Developed frameworks that were used by other engineering teams.
    • Researched new technologies in order to improve the platform.
    • Developed highly available, scalable, and secure services/applications.
    • Kick-started technical projects.
    Technologies: ASP .NET MVC, ASP .NET Web API, ASP .NET Core, C#, Cassandra, SQL Server, Kafka, ElasticSearch, Redis, RabbitMQ, MongoDB, Docker, Consul, IdentityServer, OAuth 2, OpenID Connect, Azure
  • ASP.NET (C#) Developer

    2015 - 2015
    Serious Mojo, Inc. (via Toptal)
    • Implemented a game server in .NET that sends commands to clients using Pubnub.
    • Implemented a web application using ASP NET MVC 5. This web app authenticates clients with 2-factor authentication.
    • Implemented a client GUI application using Windows Forms.
    Technologies: C#, ASP .NET MVC, Windows Forms, SQL Server, Stored Procedures, HTML, JavaScript, jQuery, Ruxit, PubNub, CDYNE, Unity DI, NSubstitute
  • Assistant of Pratical Classes

    2014 - 2014
    Faculty of Engineering, University of Porto
    • Assisted in introductory C/C++ programming classes.
    Technologies: Visual Studio, C, C++
  • Research Assistant

    2014 - 2014
    Faculty of Engineering, University of Porto
    • Developed a web application that processes DNA sequences uploaded by users and scans them for known transposable elements. The web app was developed using PHP Yii Framework, HTML, CSS, and JS.
    • Created and maintained a MySQL database used by the previously mentioned web app.
    • Studied the different types of transposable elements that exist in DNA sequences. Looked for existing programs that are able to scan DNA sequences and find those transposons. Studied how these programs work and how they can be incorporated with a web app.
    Technologies: Linux, Perl, C, C++, PHP, Yii Framework, MySQL
  • Tutor

    2013 - 2013
    Tutoring Center, Santa Maria da Feira
    • Gave private lessons to college freshmen that were learning C/C++ programming.
    Technologies: C, C++

Experience

  • Training Grow (Development)

    This project’s purpose was the planning and development of a training platform to be integrated in iTGrow's systems.

    iTGrow is a company focused on "attracting, selecting and complementing the formation of young engineers, through training programs and skill training on-the-job."

    As such, a training platform, adapted to their needs, is a huge step in the improvement of iTGrow’s business processes. This training platform's main objective is to streamline the whole process of training, by offering training courses and the possibility to manage and attend them.

    The web application was implemented in C#/ASP.NET and Microsoft SQL Server 2012 was used for the database.

  • Let's Play (Development)
    http://lets-play-feup.appspot.com/

    Academic project developed by a team of 5 members. It's an Android application that helps sports lovers find partners for their sports games.

    This app helps you find players for your games in case someone could not show up at the last minute, for instance. It also helps you find games when you are alone and you want to play some sports.

  • Distributed Trouble Ticket System (Development)

    This project consists of a distributed system with two database servers, two GUI applications, and one web application. Every application runs on the .NET platform.

    One GUI application is used by users that submit tickets and the other GUI application is used by the users that solve them. The web application is also used by users that submit tickets.

    Every application communicates with each other in the system using SOAP web services that were developed using WCF. The GUI applications were developed with WPF and the web application was developed with ASP .NET MVC 5. Microsoft SQL Server was used for the database servers.

  • A GPU Implementation of Counterfactual Regret Minimization (Development)

    Counterfactual Regret Minimization (CFR) is an algorithm that can be used to develop agents with very solid strategies for massive games of imperfect information. However it requires a large amount of execution time, especially when applied to large extensive games.

    This project proposed an implementation of CFR that runs on the GPU, using CUDA, which is able to take advantage of the ability of GPUs to process many parallel streams of data. Using this approach, it turned out to be possible to reduce the execution time in some variants of Poker.

  • Automated Guided Vehicles (Development)

    Desktop application that simulates the normal functioning of a factory with several machines and auto-guided vehicles that are able to cooperate with each other to achieve a common objective.

    Artificial Intelligence concepts were applied and Java (JADE framework) was the language used to develop this software.

  • Web Application for Automatic Detection of Transposons (Development)

    Web application developed in PHP (Yii Framework) and supported by a MySQL database that provides the feature to automatically detect transposable elements in DNA sequences that can be uploaded by users.

  • Exchange Semester at Aalto University (Other amazing things)
    http://sci.aalto.fi/en/about/

    Exchange Semester during 2014 at the School of Science, Aalto University (Espoo, Finland), studying Computer Science and Engineering.

Skills

  • Languages

    UML, Stored Procedure, Java, C#, SQL, XML, C, HTML, Prolog, C++, CSS, JavaScript, PHP, JADE, Core Java (J2EE), XSLT, XSL
  • Frameworks

    ASP.NET, .NET Core, ASP.NET Core, IdentityServer 3, OAuth 2, Spring, ASP.NET MVC 5, .NET, ASP.NET MVC, Bootstrap, ASP.NET Identity, Yii, Windows Communication Framework (WCF), AngularJS, Smarty, Swing, ASP.NET Web Forms, Hibernate
  • Libraries/APIs

    Jenkins Pipeline, TPL, Task Parallel Library (TPL), jQuery, PubNub, NSubstitute, OpenMP, OpenGL, MPI
  • Tools

    Microsoft Unity, Docker Compose, Docker Hub, Kibana, RabbitMQ, Jenkins, TeamCity, GitLab, GitHub, TFS, Redmine, Eclipse IDE, Microsoft Visual Studio, Git, Subversion (SVN), Bitbucket, DataStax, Apache JMeter, JavaCC
  • Paradigms

    Object-oriented Programming (OOP), Asynchronous Programming, Scrum, Agile Software Development, REST, Functional Programming, Logic Programming
  • Platforms

    Apache Kafka, Docker, Linux, Windows, CUDA, Android, NetBeans
  • Storage

    Cassandra, Redis, Elasticsearch, MySQL, Microsoft SQL Server, MongoDB, PostgreSQL, Oracle PL/SQL
  • Other

    Apache Cassandra, Octopus Deploy, Identity Server, OpenID Connect (OIDC), Web Services, SOAP, Windows Presentation Foundation (WPF)

Education

  • Master's degree in Informatics and Computing Engineering
    2010 - 2015
    Faculty of Engineering, University of Porto - Porto, Portugal
  • Erasmus in Computer Science
    2014 - 2014
    School of Science, Aalto University - Helsinki
I really like this profile
Share it with others