Stephen Michael DSouza

Software Developer
  • dsouza_stephen@hotmail.com
  • +49 163 2668604
  • Stuttgart, Germany

Summary

A passionate self-taught Software Developer with a background in Economics and Finance, currently specializing in Python, Go and SQL. For me, life is all about challenges and continuous learning, and I plan to continue learning to advance my career in software development.

Desired Employment

Software Developer (Backend)

Programming Experience

Software Developer (Backend)

Jul 2020 - Present
Hays Professional Solutions GmbH

In my current role I've been tasked to help predict the residual value of vehicles by applying basic data engineering techniques such as extracting, cleansing, filtering and classification upon historical data so that it can be used as an input for machine learning models. In this role, I've also worked closely with Business Managers and Data Scientists to better understand their use-cases in order to provide more effective solutions.

My responsibilities include, but are not limited to the following:

  • Building solutions for extracting the vehicle data from different sources such as excel/csv files, websites and APIs.
  • Cleaning, filtering and classifying data into standardized formats so that meaningful information is saved in the database and is ready for machine learning models.
  • Continuous refactorization to improve the quality of code so that it's readable, modular and reusable. Used SonarQube in our CI pipeline that greatly helps achieve clean and safe code.
  • Making sure to always write unit tests.
  • Mentoring interns in their bachelor program.

Technologies used:

  • Python
  • REST API
  • Flask
  • ORM
  • Postgres
  • SQLite
  • Jenkins
  • Jira


Software Developer (Backend)

Jun 2019

OpenSource Contributions:

  • Graphite

    Graphite is a tool to monitor the performance of a website, application, business service and networked services by storing, retrieving, sharing, and visualizing time-series data.

    I fixed a Cross-site scripting (XSS) vulnerability within the Grahpite web application.

    Technologies used:

    • Python
    • Django
    • JavaScript


Personal Projects:

  • Rock-Paper-Scissor

    This is a game of rock, paper and scissor in which a user can either play with a computer or another player. This app has a REST API interface..

    Technologies used:

    • Go
    • Gorilla/mux
    • Testing
    • Github Actions
    • Docker


  • Food Ordering System

    A 3-tier application that exposes two user interfaces, one for the Employees and the other for the Customers. The interface exposes both a command line and REST API interface. This app is written using both Flask and Django.

    Some of the functionality an employee can do is add food categories, food details and view order, while the customer can view menu, create an order, confirm the order by checking out.

    Technologies used:

    • Python
    • REST API
    • Flask
    • Django
    • SQLAlchemy
    • SQLite
    • OOP
    • Docker


  • Todo App

    An app that allows users to create tasks for themselves, create groups and send request to other users to join their groups and assign task to others within a group.

    Technologies used:

    • Python
    • Flask
    • SQLite
    • REST API
    • HTML
    • CSS
    • SCSS
    • Jinja
    • Bootstrap


  • Collatz Conjecture

    The Collatz Conjecture states that any positive number, if followed by a sequence will eventually reach one. This app is a solution for computing the Collatz Conjecture through an optimized algorithm. It is written in Python and Go.

    Technologies used:

    • Python
    • Plotly
    • Nose
    • Go
    • Glot


Exercises worked on in my free time:

  • Parliament Challenge by Trustly

    The task in this challenge is to merge data from two APIs together to serve client requests. This app is written with synchronous and asynchronous code.

    Technologies used:

    • Python
    • REST API
    • Quart
    • Flask
    • AsyncIO
    • Waitress
    • Hypercon


  • Student App

    An app for users to store courses and students data and assign students to courses. It is written in Python and Go.

    Technologies used:

    • Python
    • Flask
    • Flask-RESTPlus
    • REST API
    • Go
    • GORM
    • SQLite


  • URL Shortener

    An application that takes a long URL and converts it into a short URL using a Base62 design. The short URL when used is redirected to the original long URL.

    Technologies used:

    • Python
    • REST API
    • Flask
    • SQLAlchemy
    • Postgres
    • HTML
    • CSS
    • SCSS
    • Docker


  • WhatsApp Chatbot

    A Chatbot that interacts with users based on the keywords from a user’s message. It can send quotes, jokes and cat images and can also perform a simple calculation.

    Technologies used:

    • Python
    • REST API
    • Flask
    • Twilio
    • Ngrok


Harvard - CS50 Projects:

  • Project 1: Books - A book review website

    Users can register and log in using their username and password. They can search for books, leave reviews for individual books, and see the reviews made by other people. This website also uses the Goodreads API to pull in ratings from a broader audience.

    Technologies used:

    • Python
    • SQLAlchemy
    • Flask
    • PostgreSQL
    • REST API
    • HTML
    • CSS
    • SCSS
    • Jinja
    • Bootstrap


  • Project 2: Flack - An online messaging service

    Users can create or join chat rooms to communicate in real time with each other.

    Technologies used:

    • Python
    • JavaScript
    • Flask
    • Flask-SocketIO
    • REST API
    • HTML
    • CSS
    • SCSS
    • Jinja
    • Bootstrap


  • Project 3: Pizza - A restaurant’s online ordering system

    Users can browse the restaurant’s menu, add items to their cart, and submit their orders.

    Technologies used:

    • Python
    • Django
    • SQLite
    • REST API
    • HTML
    • CSS
    • SCSS
    • Jinja
    • Bootstrap


Skills & Tools

Frontend Technologies

  • React
  • HTML
  • CSS
  • SCSS
  • Bootstrap
  • JavaScript

Backend Technologies

  • Python
  • Go
  • SQLAlchemy
  • Pandas
  • Flask
  • Flask-RESTPlus
  • Flask-SocketIO
  • Django
  • Quart
  • AsyncIO
  • Multi-threading
  • GraphQL
  • REST APIs (JSON)
  • Unit Testing
  • Nose
  • Plotly
  • Object-Oriented Programming
  • GORM
  • Groilla/mux
  • Glot

Databases

  • SQL
  • PostgreSQL
  • SQLite
  • MySQL

Others

  • Docker
  • Jenkins
  • Git/Github/Github Actions
  • Jira
  • Twilio API
  • Ngrok

Operating System

  • Linux (Ubuntu)
  • Windows
  • Mac

Education

Languages

  • English (Native)
  • German (A1 - Continuing to learn)

Interests

  • Programming, building systems and want to learn more.
  • Reading hacker news and biography of influential people.
  • Playing basketball and swimming.