Provider of Secure Communication SolutionsNovembre 2018 - Décembre 2018
Software Developer within a project aiming to develop a paid secure messenger solution for professional people. The application allowed a reproduction of an existing open source project and its deployment on the client's servers.
Providing help for the estimation phase of a Python component and other Python scripts, interconnecting other services.
Taking part in the project planning process.
Providing various reports to the management as requested.
Participating in discussions with the client with reference to the establishment of some technical objectives.
PENTALOG CLIENT : E-Learning Solutions ProviderAoût 2018 - Novembre 2018
Back-end Python Developer.
Developing a new DataLake - Analytics component for the application that's responsible for storing log events / historical data and has the ability to perform logical operations, establish common points and matches on the data in order to allow advanced statistics to be done and to offer proof for certain actions.
Decoupling logging and the log processing system from the main application.
Storing raw data and creating processing mechanisms so that the processed data can always be recreated in case of eventual loss.
Processing logs in order to identify new or existing clients using the application and coming from different marketing campaigns.
Developing new functionalities designed to assign identities to each user of the websites / application in order to monitor their actions and create suggestions based on them.
Working on the possibility to integrate machine learning techniques for predictions and data analysis in the future.
Developing a custom Cookie Repository, similar to Marketo's.
Full-Stack Lead Developer. In charge of the fulfillment of two main tasks. I. The redesign and improvement of the old syndicate website using Python / Django on the back-end and jQuery and Bootstrap on the front-end.
Redesigning the back-end application using the Django Admin customization to match client requests.
Redesigning the application's front-end and setting it up using Webpack.
Integration with external frameworks / services (Salesforce CRM / Navision).
Implementing permission-based access to the content API.
Performing detailed activity monitoring using Google Analytics.
Integration of single sign-on (SSO) using Microsoft Azure and the SAML protocol.
Creating a proxy system to mask and hide the requests towards the external Content API Provider.
Designing encryption / decryption algorithms to secure the content identification details of the Content API Provider.
II. Setup of the local development environment using Docker containers for different components of the application.
Working with various tools and technologies such as: Nginx, uWSGI webserver, PostgreSQL, RabbitMQ, Celery (async tasks), Memcached.
Redesigning the architecture of the application, while extending the existing functionality and providing new functionalities at the same time. The initial design of the application was using Twitter REST API, polling in order to process the requests and reply to users (migrating to Streaming API, taking advantage of the Python multiprocessing capability such as: separate process / thread for each stream connection).
Integration of an asynchronous Task processor (Celery and Rabbit MQ), thus the application architecture had to be redesigned to handle requests in real time using workers (Celery), and to queue the tasks (Rabbit MQ).
Implementation of a custom ORM / Model, based on SQL Alchemy Core (Query Language) in order to fit the project's needs.
Development of a system using Machine Learning to track down the players that matched some cheating patterns. The implementation used specifically the Random Forest classification algorithm, to build a model/pattern based on a rich training set.
Implementing API Connection Pool, keeping few spare connections and their rate limits internally, and switching between them, in order to avoid getting rate limited.
Working with Amazon Web Services (AWS) - S3, EC2, RDS, Route53 and others; using the Amazon API library for Python in order to automate deployments (boto).
Writing unit / functional tests, documentation / guidelines.
Integration of team members / newcomers.
Communicating / meeting the client periodically, to better understand the business needs.
Development of a Communication / File Sharing Client built on a Peer To Peer Network Protocol (Kademlia Protocol). The application uses an asynchronous Python framework (Twisted) to establish connections between peers and exposes its main functionalities on the web (through Flask micro Framework).
Writing server-side web application logic and development of back-end components.
Design and implementation of high-availability and performant features.
Integration of front-end components to ensure a user-friendly experience.
Working on RESTful API with OAuth 2 (on the Server Side), that exposes the main functionality of the application.
Testing the developed code and fixing encountered issues so as to ensure that the application complies with required quality standards.
Setting the base of an Automated Testing Setup.
Working on unit tests, using coverage and Code Quality checkers (PEP 8 and Inspections).
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.