ME

Software Engineer

shawaf.me

Architecture notes, delivery lessons, and career signals

A developer-first journal of shipped work

Everything I publish here mirrors the way I work: pragmatic, traceable, and ready for production. Articles are pulled directly from my Medium feed so you can read them here without leaving the portfolio.

Medium FeedDecember 2, 2025

JavaScript: Event Loop Orchestration

JavaScript is famously single-threaded, yet somehow remains fast, responsive, and capable of handling network requests, timers, user interactions, and animations all at once. It doesn’t block the UI while waiting for slow operations, and promise callbacks some

#javascript#web-development#asynchronous-programming#event-loop
Medium FeedMarch 23, 2025

Room Database: Migration Solutions

📌 Introduction Room Database is a go-to solution for handling local storage in Android apps, offering a seamless abstraction over SQLite. But what happens when your schema changes? Without proper migrations, users might lose data or experience crashes when up

#room#android#database#mobile-app-development
Medium FeedJanuary 26, 2025

Jetpack Compose Lifecycle: Around Composition Process

Hey there! If you’re diving into Jetpack Compose, Google’s modern UI toolkit for Android, like I did a few months ago ( we late to the party right :D ), I will help you understand a really important part of how compose lifecycle works. Don’t worry if it feels

#jetpack-compose#android#mobile-development
Medium FeedJanuary 22, 2025

Understanding @Immutable in Jetpack Compose: When and Why to Use It

When developing modern Android apps with Jetpack Compose, you’ll often hear about `@Immutable` and wonder what purpose it serves. If you’re unsure why it’s needed or confused about how it works, you’re not alone. This article explains `@Immutable`, its role in

#mobile-development#jetpack-compose#immutability#android