Omar Shawky Logo Image
Omar Shawky

Hey, I'm Omar Shawky

Software Engineer, Electrical and Communications Engineer, Academic Writer & Résumé Writer

About Me Self-taught Software Engineer from OSSU and MOOCs. Bachelor's of Science and Bachelor's of Engineering from British University in Egypt (BUE) and London South Bank University (LSBU) respectively (Dual Degree) in Electrical and Communications Engineering. 6+ years of experience in Academic Writing. Currently, targeting Tech Giants (FAANG, FAANG+, Fortune 500).

Software Engineering

After graduation, I shifted career to Software Engineering and self-taught from MOOCs. I finished Books on Computer Science Fundamentals (Programming Languages, Algorithms & Data Structures, Problem-Solving) and built 12 Algorithmic APIs (such as Lossless Data Compression API (like 7Zip & WinRaR) and Image Aware Resizing Algorithm (similar to one in Adobe Photoshop)), GUI Multiplayer Network Chess Game, Mini Interpreter and GUI Tetris Game. I am helping people study CS Fundamentals throughout Discord server that I created. Currently, I am targeting Tech Giants alongside friends in that Discord server.

Academic & Résumé Writing

Edited and proofread published IEEE academic papers collaboratively using Microsoft Word & $\LaTeX$. Unofficially reviewed Software Architect résumé in Fortune 100, Senior Tester for EU, 30+ Interns and Entry Level résumés for FAANG+. Started providing free résumé tips & feedback in aforementioned Discord and in LinkedIn Post.

Skills

Algorithms
Data Structures
Java
Object-Oriented Analysis & Design
Design Patterns
OOP
Functional Programming
C++
Linux
Git & GitHub
Microsoft Word
$\LaTeX$
MATLAB

Projects Software Engineering, Electrical & Communications Engineering, and Résumé Writing Projects

Résumé

Created general Résumé template with consistent formatting & general advice for first time writing a resume.

Case Study
Software Screenshot

Chess

GUI Multiplayer Chess game over Local Network.

Case Study
Software Screenshot

Burrows-Wheeler

Built Lossless data compression API (Application Programming Interface) in Java Using OOP and bases of bzip2 (Unix compression utility). Implemented Burrows-Wheeler Data Compression Algorithm outcompressing GZIP and PKZIP. Utilized Huffman Compression in first compression stage out of 3.

GitHub Link
Software Screenshot

Baseball-Elimination

Implemented image processing API in Java utilizing Mincut-Maxflow Graph Algorithm, Augmenting Paths, and Directed Graphs to find mathematically eliminated teams in baseball tournaments.

GitHub Link
Software Screenshot

Seam-Carving

Implemented content-aware image resizing algorithm (used in Adobe Photoshop and GIMP) in Java utilizing Acyclic Shortest Path Algorithms and Edge-Weighted DAG (Directed Acyclic Graphs).

GitHub Link
Software Screenshot

Boggle

Built Boggle game solver in Java using 26-way Tries (Character Based Operations Data Structure outcompeting TST and R2 Hybrid Tries) in Java by providing ≈ 7700 solutions in 5 seconds in comparison to reference ≈ 8000 solutions (44%), finding up to 26K words.

GitHub Link
Software Screenshot

WordNet

Implemented words-relation API in Java using Graph Algorithms (Undirected Graphs, Graphs Searching, Shortest Path Algorithms, BFS (Breadth First Search), DFS (Depth First Search)).

GitHub Link
Software Screenshot

Kd-Trees

Built Shortest Ancestor Path and Shortest Ancestor Region API in Java using 2D BST (multi-dimension Binary Search Tree) outperforming RB-Trees (Red-Black BST) and 2-3 BST.

Case Study >
Software Screenshot

8Puzzle

Built 8Puzzle Solver API in Java using Minimum Priority Queue Data Structures & A* Search Algorithm.

GitHub Link
Software Screenshot

Collinear Points

Built API for detecting straight lines from given input of 2D points in Java using merge sort.

GitHub Link
Software Screenshot

MUPL

Built mini-interpreter for Statically-Typed MUPL in Dynamically-Typed Programming Language Racket.

GitHub Link
Software Screenshot

MIPS Processor

Designed, implemented and simulated MIPS processor in VHDL. Designed ALU (Arithmetic Logic Unit) composed of logic gates, encoder, decoder, instruction register, PC (Program Counter) and many more.

Software Screenshot

Network Infrastructure

Built network infrastructure composed of 9 routers and several terminals/endpoints (PC, smartphones) by utilizing OSPF (Open Shortest Path First), RIP (Routing Information Protocol), DHCP (Dynamic Host Configuration Protocol) and NAT (Network Address Table).

Software Screenshot

3-Bit Flash ADC

Simulated 3-Bit flash ADC (Analog-to-Digital converter) on Cadence Virtuoso and built it from NMOS (n-channel metal-oxide semiconductor) & PMOS (p-channel MOS) up to logic gates and 3-Bit Encoder.

Software Screenshot