
Stephen Michael DSouza
- 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)
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)
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
-
Web Programing with Python and JavaScript (Online)Mar 2020
-
MSc Economics and Finance (Innovation Management)May 2017 - May 2019
-
MBA (Management Information Systems)Jul 2011 - Sep 2016
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.