avatar

Omar Chida_

Software Engineer

Age:
24
Phone:
+33 7 67 31 34 55
Email:
chidaomar46@gmail.com
Location:
France, Canada

Hello World_

• Omar is a skilled software developer who is capable of developing a broad range of software applications, including game engines, games, websites, mobile and desktop apps. He has the ability to conceive, design, program, and deploy software while adhering to the best practices in software development, design patterns, and algorithms. He is proficient in multiple programming and scripting languages, such as C/C++, Java, Python, and Lua.

• Omar's passion for computer science began at an early age. He wrote his first lines of code in Lua at the age of 14 and has since worked on numerous personal and professional projects, ranging from scripting game servers to developing games and desktop applications.

• Omar pursued higher education to extend his knowledge in algorithms, theoretical computer science, and low-level computer hardware. He is always eager to learn more about diverse concepts and fields in computer science, such as artificial intelligence, computer vision, computer graphics, operating systems, cybersecurity, and cryptography.

• Omar is a fast learner, hard worker, motivated, and a team player who enjoys collaborating with others to produce high-quality software.

Resume

Resume_

Inquisitive and enthusiastic engineer experienced in working with different environments and a wide range of programming languages. With close to a decade of experience in various types of projects that involve rendering, artificial intelligence, image processing, databases, networking and much more.

education

Université de Sherbrooke - Canada

2022 - Present

Master of Science – M.Sc. Artificial Intelligence and Data Science

TELECOM Nancy - France

2020 - Present

Master of Science in Engineering – M.Sc.Eng. Computer Science & Engineering (CSE)

Université de Lorraine - France

2017 - 2020

Bachelor of Science – B.Sc. Computer Science

Lycée 9 Avril 1938 - Tunisia

2013 - 2017

High school diploma in Mathematics

experience

Ubisoft | 3D Programmer (Internship)

05/2023 - 09/2023

Created visually stunning and high-performing 3D graphical effects using mathematical skills and extensive knowledge of GPUs :

  • • Showed proficieny in programming languages such as C++, HLSL, DirectX, GLSL, and OpenGL
  • • Acquired experience in game design and performance optimization techniques
  • • Sharpened advanced mathematical skills, including algebra, geometry, and calculus
  • • Reviewed code to improve its performance by identifying areas that need optimization, often looking for improvements that result in mere milliseconds of gains
  • • Demonstrated ability to work effectively in a team-oriented environment by meeting with artists to assess their needs and vision to ensure their software development projects align with the artistic goals
  • • Demonstrated strong communication skills with the ability to collaborate and motivate cross-functional teams to achieve top-notch visual and game performance
  • • Displayed adaptive and flexible approach with the ability to adapt to changes and new challenges
  • • Continuously keeping up-to-date with the latest documentation in their field to stay on top of emerging trends and technologies

Amazon | Software Development Engineer (Internship)

05/2022 - 08/2022

Developed an MVP of a data monitoring tool of various delivery programs :

  • • Researched and designed a 99% available data integration system in Python using AWS data engineering tools (Kinesis, Glue, RDS, DMS, Redshift)
  • • Conceived and developed a 99.90% available server-less backend using Java and AWS (Lambda, S3, DynamoDB, APIG)
  • • Implemented an interactive web dashboard (React JS, TypeScript)
  • • Devised an automatic database caching and synchronization mechanism

Team : Transitioning, Emerging and New Delivery Experience @ International Technology Expansion (INTEX)

Sondaria | Software Engineer (Contract)

04/2021 - Today

Development of a large scale cross-platform mobile app from scratch

  • • Implemented cross-platform application frontend (Qt 6.2, C++17, JavaScript and QML)
  • • Developed a multi-threaded backend server (Qt 6.2, C++17, SSL/TCP sockets and websockets)
  • • Designed and developed an ORM system to ease SQLite database interactions
  • • Devised an automatic database caching and synchronization mechanism

Université de Lorraine | Tutor (Contract)

03/2021 - 06/2021

A tutoring contract with University of Lorraine

  • • Wrote and organised lectures about the C language
  • • Displayed technical communication skills and abilities
  • • Provided C programming assignments along with their solutions

Be Luxury | Software Developer (Contract)

06/2020 - 09/2020

Development of a commercial mobile app for car rental

  • • Developed cross-platform application frontend (Qt 5.15, C++11, JavaScript and QML)
  • • Designed and implemented a web service backend API (PHP, MySQL and Apache)
  • • Created a control panel for app administration purposes (HTML, Bootstrap, JavaScript and PHP)

LORIA /INRIA Research Laboratory | Software Developer (Internship)

04/2020 - 06/2020

Contributed to an academic brain simulation software SiReNe

  • • Conceived a neural description language adapted to the specificities of SiReNe
  • • Developed a module in C++ to load, parse and analyse neural configuration files stored on disk to generate C code
  • • Used or acquired skills : C/C++ under a Linux environment, Data modelling, File loading and parsing, C code generation, libxml2 and Latex

Research Projects

Image Restoration for Lossy Networks – CRAN Research Laboratory

01/2022 - 05/2022

Worked with Prof. Moufida Maimour and colleagues to conceive and implement adeep learning based pipeline for image restoration targeted for Low-Power and Lossy Networks.

SiReNe (A brain simulation software) – LORIA/INRIA Research Laboratory

01/2022 - 05/2022

Worked with Prof. Sylvain Contassot-Vivier and Dr. Dominique Martinez to design a neural description language for an academic brain simulation software SiReNe. Developed a C++ module that loads, parses and analyses neural configuration files stored on disk to generate C code.

Publications

Deep Learning-based Image Restoration for Low-Power and Lossy Networks

Date of Conference: 17-18 September 2022

Authors: M. Maimour, A. Sakhri, E. Rondeau, M. O. Chida, C. Zhang, C. Tounsi-Omezzine (Link to Paper)

Abstract: Multimedia Internet of Things (IoMT) is witnessing explosive growth due to its applications in multiple areas. To cope with limited resources of low-power and lossy networks (LLN), it is common that: (i) images are captured with a degraded quality due to limited camera capabilities, (ii) a low-cost lossy compression is applied to reduce the amount of data to deliver which introduces additional distortion and (iii) transmissions are prone to losses that induce holes in the images, further degrading their quality and making them difficult to use. In this work, we propose a complete efficient encoding-transmission-reconstruction chain. In addition to the use of a low complexity image compression method, an appropriate packetization scheme is proposed. At the destination, more powerful resources are leveraged to apply deep learning models to compensate for the distortion caused by the adopted lossy compression as well as to fill in the holes induced by packet losses. The obtained results show the effectiveness of our proposal.

Personal Projects

Velox Engine - 3D Game Engine

04/2019 - Present

A high performance game engine from scratch using Vulkan and C++20 [GitHub]

  • • Built a Render Hardware Interface (RHI) using the Vulkan API replacing an old OpenGL RHI
  • • Implemented different data structures and containers as well as testing and benchmarking them
  • • Developed an ECS system providingan easily parallelizable framework
  • • Wrote a linear algebra module that use SIMD instructions.
  • • Implemented, tested and benchmarked different data structures

Trikyta Engine - 2D Game Engine

09/2018 - 12/2018

Created a 2D game engine from scratch using C++11, SDL2 and Box2D [GitHub]

  • • Worked on a tile map loading module that supports animations and physics bodies
  • • Developed different UI components such as Widgets, Texts, Progress-bars, Edit-boxes, Buttons and Images
  • • Devised an OOP based Entity component system
  • • Exported engine features and functionalities through Lua bindings

Brave Solider - Platform Game

06/2017 - 09/2017

Developed a platform game using C++11 and Cocos2d game engine [GitHub]

  • • Programmed player controller and simple enemy AI
  • • Implemented a TiledMap loader and renderer

MTA:SA Scripting

09/2013 - 06/2015

Developed an MTA:SA server using Lua, SQL and XML

  • • Explored different concepts such as : client and server side programming, SQL database queries and XML

Contributions to Public Projects

Battlefield 3 : Reality Mod

08/2018 - 06/2019

Realitymod for Battlefield 3 is the "Spiritual successor" of the famous Battlefield 2 mod Project Reality

  • • Collaborated with a team of reverse engineers, programmers and artists to develop a Battlefield 3 mod using Venice Unleashed modding platform
  • • Developed various game systems such as scoring, map voting, console commands, scoreboard
  • • Analysed and fixed multiple bugs in the codebase resulting in a significant increase in reliability and overall reduction of crashes
  • • Familiarized with a team work environment
  • • Used a Zoho as a project management software

School Projects

Circle - Home made C Compiler

09/2021 - 05/2022

Worked closely with a team of 4 on a custom C compiler written in Java using ANTL4 targeting ARM machines [GitHub]

ASL Letter Recognition

11/2021 - 12/2021

Lead the development of a Deep Convolutional Neural Network to recognize American Sign Language letters [GitHub]

Workshop Tools Detection

10/2021 - 11/2021

Used different computer vision techniques (thresholding, mathematical morphology, etc) to automatically detect workshop tools and measure their properties

Analysis of SARS-CoV-2

10/2021 - 12/2021

A statistical and genomic study of the SARS-CoV2 virus in a team of 4 members [GitHub]

  • • Spearheaded the development of bioinformatics algorithms such as Levenshtein distance and Needleman-Wunsch
  • • Worked on automatic testing and data visualisation using BioPython and Matplotlib.
  • • Displayed project management skills by organising and assigning backlog tasks to the different team members (used Trello board)

YAL Compiler

01/2020 - 05/2020

Created a compiler for a fictional programming language called YAL (Yet Another Language) [GitHub]

  • • Used JFlex and JavaCup for lexical and syntactic analysis respectively
  • • Wrote MIPS assembly generator

Procrast Web App

02/2020 - 04/2020

Participated in a team of 9 students to create a Trello style web app [GitHub]

  • • Spearheaded various backend features involving task creation, team management and user account settings
  • • Developed classes that adhere to the DAO design pattern
  • • Implemented a wrapper around SQL queries to facilitate database interactions

Maze Solver

04/2020 - 05/2020

C/C++, SDL2, Dijkstra Algorithm, A* Algorithm, Maze Generation [GitHub]

  • • Developed a maze generator based on pseudo-random numbers
  • • Implemented a wide range of algorithms and heuristics to solve environment dependant mazes

Rolling Ball

11/2019 - 12/2019

Developed a cross-platform mobile game with multiple levels, using Java, LibGDX and Box2D [GitHub]

Twisk - A Simulation Software

03/2019 - 05/2019

Java, JavaFX, C, Multi-threading, Linux [GitHub]

  • • Developed a user interface that respects the MVC principles
  • • Established a multi-threaded backend that simulates waiting queues in a given environment
  • • Used multi-thread concepts and primitives like semaphores

Puzzle Bobble

03/2018 - 05/2018

Implemented a Puzzle Bubble style game supporting both single and multi-player mode [GitHub]

Licenses & Certifications

Prevention of occupational risks | INRS France

Spring 2021

• Acquire the basics of occupational risk prevention (accredited by INRS France)

TOEIC Listening and Reading | The TOEIC Program - ETS

Winter 2020

• Scored 935 out of 990, corresponding to the C1 CEFR level

Project Management MOOC | Session 16 Classic Course certificate

Winter 2020

• Project Management certificate accredited by the Ecole Centrale de Lille

technical skills

C/C++ 95%

Java 85%

Python 75%

Lua 90%

Web Development (HTML/CSS/JAVASCRIPT/PHP) 70%

Data Structures 90%

Algorithms 75%

Graph Theory 75%

Mathematics / Problem Solving 80%

Software development paradigms / Design patterns 85%

My projects_

project-img

3D Game Engine from scratch [WIP]

3D Game engine programmed fully using C++11 and OpenGL API with minimal use of 3rd party libraries. Features modern and flexible renderer using command bucketing and sorting, ECS that follows Data Oriented Design to make the engine more cache friendly. Job System to schedule tasks across all availble threads. File System to access files, write to them synchronously or asynchrounsly, navigate directories. GLSL Shader preprocessing.

Used technologies:

  • C++
  • OpenGL
  • GLSL Shaders
  • Multi-threading
  • Data oriented design
  • Object oriented design
Source Code
project-img

'BeLuxury' is a cross-platform mobile app created for renting cars

Using the full power of Qt library QML, JavaScript and C++, I have created this application for a client focusing mainly on the frontend design but also fast and secure backend that fits the security standards and norms.

Used technologies:

  • C++
  • Qt
  • QtQuick / QML
  • JavaScript
  • PHP
  • MySQL
  • SQL
Closed Source
project-img

Platform 2D Game

2D Platform game written using my 2D engine that uses SDL2 and Box2d, the game map is built using TiledMap and then loaded into the engine and rendered into batches of texture maximizing performance and allowing very big map sizes.

Used technologies:

  • C++
  • SDL2
  • TiledMap
  • XML
Source Code
project-img

'Twisk' Simulation Software

Twisk is a project written to ease the simulation of real world events, Twisk is multi-threaded with UI and simulation logic running on separate threads.

Used technologies:

  • C
  • Java
  • JavaFX
  • Multi-threading
  • Serialization
Source Code
project-img

'Rolling Ball' Mobile Game

'Rolling Ball' is a game which the goal is to get out of a maze. Along the way you can take some pills that have some special effects. The game have different levels orderer in increasing difficulty.

Used technologies:

  • Java
  • LibGDX
  • Box2D
Source Code
project-img

'Yal' Compiler

Yal is a simple programming language, that we have to create a compiler for. The compiler supports simple and sophisticated arthimetic and logical expressions, functions, local variables and arrays...

Used technologies:

  • Java
  • JFlex
  • JavaCup
Source Code
project-img

2D Game Engine

The first engine that I wrote, supports wide range of 2D features like Sprite rendering, Animation, TiledMap loading and rendering, Physics, UI rendering, includes buttons, windows, progress bars and edit boxes. The engine expose its features through Lua bindings.

Used technologies:

  • C++
  • SDL2
  • Box2D
  • XML
  • Lua
  • TiledMap
Source Code
project-img

Maze Solver - IA

This project includes random maze generation and solving it using Dijkstra or A* algorithm. The maze have 3 components (stone, sand and water), with the ability to clear it completely, re-genrate it, or modify its elements. The program also future mouse and cat simulation where the start and the end point move and the cat (start point) try to chase the mouse (end point).

Used technologies:

  • C++
  • Algorithms
  • Graphs
  • Dijkstra
  • A* shortest path algorithm
  • Source Code
project-img

Puzzle Bobble

A classic game that we all played and enjoyed during our childhood. This project was very fun to work on.

Used technologies:

project-img

Projet Boisson (Cocktail Lovers)

A website that is offering a wide range of recipes for drinks and cocktails. The user can create an account and have his favourite recpies saved in his account. Different way of navigation of drinks categories and sub-categories.

Used technologies:

project-img

Arezzo

A software that will make you become a great musician. Arezzo will make simulate musical instruments and will output note sounds based on on the configurations that you are able to tweak.

Used technologies:

project-img

ProCrast Web App

In a group of 11 people, the teacher asked us to make a website for creating task lists and tasks for members which you can invite. The website is highly dynhamic and involve advanced architecture backend wise. Features include: Account creation, login, creation task list, creation of task, notifications, inviting members to task list, assigning someone to a task, delete task, delete task list, delete an account.

Used technologies:

  • HTML
  • JavaScript
  • CSS
  • PHP
  • SQLite 3
  • Apache 2
Source Code
project-img

Trottipret

A desktop application that allow people to rent their scotter "trottinette". The application features account system (creation and login), proposing a rent offer, accepting a rent offer, deadlines, etc...

Used technologies:

Get in touch_

Or just write me a letter here_