Photo of Ali Alemami

Ali Alemami

Computer Science Student • Systems Developer

Amman, Jordan

Systems software engineer focused on low-level C and C++, POSIX systems programming, concurrency, and algorithmic optimization. Cadet at 42 Amman and Computer Science student at The Hashemite University.

Experience & Education

42 Amman

2025 – Present

Software Engineering Cadet / Peer Developer

Rigorous, peer-evaluated software engineering curriculum focused on pure C/C++, POSIX APIs, multithreading, and systems programming. Built foundational pipelines, concurrency simulations, and C++ modules. Conducted 50+ technical evaluations and collaborated in peer pair-programming sessions.

The Hashemite University

2022 – 2026 (Expected)

Bachelor of Science in Computer Science

Core coursework in algorithms, data structures, computer networks, and operating systems.

Technical Skills

Programming Languages

C (POSIX/C99) C++ (98/11/17) SQL (T-SQL) Bash

Systems & OS Concepts

Memory Management (Valgrind, ASan) Pthreads, Mutexes & Concurrency POSIX IPC & Signals Unix Signals & Pipes POSIX APIs

CS Fundamentals

Data Structures & Algorithms OOP & Design Patterns Computer Networks

Tools & Infrastructure

Linux / Unix Git & GitHub Docker & Docker Compose NGINX GDB Makefiles

Spoken Languages

Arabic (Native) English (Fluent / Professional)

Featured Projects

Philosophers

C / Concurrency

Engineered a race-free simulation of Dijkstra's Dining Philosophers using pthreads and mutex locks; built async monitoring routines with microsecond-precision timers preventing thread starvation and deadlocks.

C Pthreads Mutexes Deadlock Prevention

Pipex

C / Unix Systems

Engineered a Unix pipeline engine replicating shell redirection (< file1 cmd1 | cmd2 > file2) using fork, pipe, dup2, and execve; implemented POSIX process synchronization, multi-fd stream redirection, and PATH resolution.

C Pipes & IPC Process Forking File Descriptors

Push Swap

C / Algorithms

Dual-stack radix sort on array stacks with coordinate compression, bounding passes to &log;2(N). Employs lookahead bit-checking in Stack B to eliminate redundant transfers, with dedicated heuristic decision trees for N ≤ 5.

C Algorithms Coordinate Compression Radix Sort

C++ Modules (CPP 00–09)

C++98 / OOP & STL

Completed 42 C++ modules adhering to Orthodox Canonical Form, polymorphism, template metaprogramming, and STL algorithms (Ford-Johnson Merge-Insert Sort with Jacobsthal sequence).

C++98 OOP Templates STL

Minitalk

C / Unix IPC

Inter-process communication system transmitting arbitrary strings bit-by-bit using Unix signals (SIGUSR1, SIGUSR2) with PID acknowledgment.

C Signals IPC Bitwise Operations

Webserv

In Progress

Building a high-performance, non-blocking HTTP/1.1 web server from scratch in C++98 using socket I/O multiplexing (poll), stateful HTTP request parsing, NGINX-style configuration syntax, and CGI execution.

C++98 HTTP/1.1 Socket Multiplexing CGI

Master Repositories & Archives

42 Core Archive

Central repository tracking 42 common core curriculum projects, including concurrency simulations (philo), pipelines (pipex), algorithms (push_swap), and C++ modules 00–09.

Programming Advices Core Archive

Structured repository containing 225+ algorithmic solutions across 5 difficulty levels and 5 normalized relational database schemas (Clinic Management, Library, Karate Club, Car Rental, Online Store).

Bank & ATM System

Procedural C++ console banking and ATM application featuring role-based bitmask permissions, transaction records, and file-based persistence.