Close this

Marouen Chaouch

Development
Monastir, Tunisia

Skills

Kotlin (Android)

About

Marouen CHAOUCH's skills align with Programmers (Information and Communication Technology). Marouen also has skills associated with Web Professionals (Information and Communication Technology). Marouen CHAOUCH appears to be a low-to-mid level candidate, with 4 years of experience.
View more

Work Experience

Android Developer - Full-time

ACOBA
October 2022 - October 2023
  • TOOLS: Java, RxJava 2, REST, WebSocket, Linux, GitLab, Scrum, ClickUp, MantisBT, Crashlytics Worked directly with Deltadore client to develop and maintain their multi-module Android app for a smart camera surveillance platform. Re-implemented the existing camera settings module with updated specifications and UI design to accommodate upcoming camera models and implemented a solution enabling the drawing of up to four highly customizable quadrilateral intrusion zones on live feed using Canvas and advanced geometry math. Developed a new Live and Playback recordings module utilizing RxJava and integrating custom UI components and complex animations with MotionLayout. Overhauled a custom AC Player library using WebSocket connections in collaboration with back-end and camera plugin teams and helped design the second version of REST APIs. Conducted significant refactoring of legacy modules with Navigation Component, Data Binding, Retrofit, LiveData, Dagger Hilt dependency injection, and Unit testing, resulting in improved project structure, code quality, and a notable reduction in reported bugs from client. Provided guidance and conducted presentations for Android team members on topics including git, GitLab, git-flow, MVVM clean architecture, Jetpack components, RxJava, Dependency injection, and testing methodologies.

Back-end Web Developer - Full-time

Les Berges du Lac 1
November 2020 - February 2022
  • TOOLS: Laravel, Lumen, Express, PostgreSQL, DataGrip, Nginx, git-flow, GitLab, VMware, Docker, Jira, Slack Played a key role in transitioning an existing online internal monolith platform for online radio stations to a modern microservices architecture, subscription-based model. Tozeur Radio FM was the primary client for this transformative project. Collaborated with the front-end team to design SQL database schemas for multiple modules. Developed Lumen API modules for uploading, downloading and managing multimedia assets, facilitating storage and retrieval for live episodes. Created a Laravel API module for radio program management and episode scheduling, streamlining content organization and scheduling processes. Designed and implemented an API module for a WebRTC chat service, enabling internal staff communication and listeners to engage interactively with the platform's content.

Mobile App Developer

Phoenicia IT
October 2019 - April 2020
  • TOOLS: Azure DevOps services, AppCenter, Docker, YAML, Flutter 1.12 Contributed to the containerization of our microservices and configuration on the Azure cloud platform. Helped implementing CI/CD pipelines, automating software delivery processes. Participated in the migration process by redeveloping the "VoteRecall" application using Flutter, consolidating multiple codebases into a single, cross-platform solution.

Mobile App Developer

May 2019 - October 2019
  • TOOLS: MVVM, Clean Architecture, RxJava, Cucumber, Espresso, BDD, Scrum, Git, SignalR Azure Developed a PoC real-time mobile voting application named "VoteRecall" for the House of Commons of Canada. Leveraged enterprise-grade technologies along with advanced concepts such as MVVM clean architecture, reactive programming, Behavior Driven Development (BDD), Dagger Dependency Injection and Unit and Functional testing. Assisted in implementing real-time vote updates flow and bill notifications utilizing SignalR, Azure Service Bus and Notification Hub within a microservices architecture-based backend.

IoT Solution Developer - Summer Internship

FOCUS Corporation
July 2018 - September 2018
  • TOOLS: Raspberry Pi, GNU/Linux, Android, Shell, Python, Kivy, MQTT, REST APIs, Git, VMware Designed both server and client sides of a multi-touch Human Machine Interface (HMI) using Raspberry Pi 3 for a connected car system. The HMI supports Over-The-Air (FOTA) updates, allowing for efficient transmission of incremental software changes. Implemented a push notification feature utilizing the MQTT protocol, leveraging the Eclipse Mosquitto message broker. The system features automated restart functionality post-update for seamless operation. Developed a Wi-Fi Access Point feature to scan and connect Android phones, enabling users to stream music content and other features including online radio integration, IP Geolocation-based weather updates, and interactive maps.

Android / Back-end Engineer - Full-time remote

GPITech
November 2023 - Present
  • TOOLS: Kotlin, Compose, MVVM, JWT, NestJS, Typescript, REST, Swagger, PostgreSQL, TypeORM, Docker, Linux, GitLab Built Mortgage Calculator 1.0 to be launched on Play Store. Contributed to the launch of the "Fooder" delivery platform by working on the back-end and different flavors of the Android app ("Fooder" and "Fooder Chef") and ensured adherence to industry best practices. Implemented Android MockWebServer to isolate client-side development and test API calls. Implemented flow in Android to refresh tokens and retry requests when access token expires using OkHttp3 Interceptor and Retrofit and utilized Jetpack DataStore to encrypt, save, decrypt, and fetch tokens. Designed and implemented a custom Auth service using JWT strategies; access & refresh tokens, token renewal and revocation and using argon2 hashing for session tracking and user multi-device support and used Guards for API endpoint access authorization and Helmet.js for server calls. Wrote Docker Compose YAML to containerize the database and Nest.js REST API services.

Education

Udemy

January 2023 - August 2023

National Engineering School of Carthage

January 2015 - January 2019

Udemy

Udacity