my photo

Muhammad Allaudin

(Senior Android Engineer - 8 Years Exp)

Contact Info

What I know?

Where I excel?

Skills

Android SDK Android Platform Services Java Kotlin Git GitLab CI/CD Gradle Retrofit REST APIs MVP/MVVM Coroutines/Flows Dagger 2/ Hilt Unit Testing Espresso Green Coffee/Gherkin Bash Makefiles Mockito E2E testing Roboelectric Jetpack Compose Algorithms & data structures Android App Architecture

Familiar With

C/C++ Javascript PHP/Laravel ReactJs

Trainings

Embedded Android + Automotive

Job History

JLR - JaguarLandrover (Jul 2023 - Present)

Paradoxcat Gmbh (Sep 2019 - Jul 2023)

Nowtel Group (April 2018 - Sep 2019)

Evamp & Saanga (Feb 2017 - April 2018)

The Right Software (Feb 2016 - Feb 2017)

Code for Pakistan (Aug 2015-Jan 2016)

Past Achievements in development role

Whenever I thought something is being done in wrong way or needs improvement, I took a step back and tried to solve it. I tried to tackle some problems by creating my own libraries for specific projects.

1. Coconut Input Validation library

Validating input fields require a lot of effort and boilerplate code on developer side. I have tried to solved this problem by creating a library which does all this work in a very effective manner. It amazingly reduces your validation logic to only a single line and makes you productive when dealing with input validations. See this link for reference.

2. Networking library

For networking, I have fully compiled my own library keeping Evamp’s need in mind. As almost every project in Evamp communicates to network, this library reduces around 20% of developer’s burden and allows them to be more productive. source code is not available:(

3. NPE (The Billion Dollar Mistake)

NPE is a nightmare for Java Developers and Evamp has suffered a lot from it. I have written an annotation processor to prevent app from crashing because of NULL POINTER EXCEPTIONS. According to Fabric, we had around 10% decrease in crashes after integrating this library. See this link for reference.

4. Parsing view IDs with ease

One of the cumbersome tasks in Android is getting view reference in java code. You have to write boilerplate code again and again for getting the new IDs from XML. I solved this issue by creating an annotation processor which generated view binding code.See this link for reference.

All these libraries greatly help developers to focus on something more important (business logic) and save precious time.

Personal Projects

1. Coconut Input Validator (2018)

Coconut Input Validator moves your data validation logic from Java code to XML. By this, you are able to define validation regex and error messages directly on view definition. link

2. Ease Volley Wrapper (2017)

Ease is a wrapper around Volley for handling network responses more effectively. It offers auto parsing of response to a specific type with clean and intuitive API for creating requests and handling responses.

3. Oxygeroid (2016)

Oxygeroid is a simple yet very effective annotation processor written specifically for Android. It’s a boilerplate killer and core idea behind this processor is to get rid of processing view Ids manually. link

4. YABK (Yet Another Boilerplate Killer)

YABK is an annotation process which generates getter/setters and parcel implementation of a POJO at compile time. link

Real world projects

1. My Telenor

My Telenor is the place where everything related to your Telenor Pakistan number is at your fingertips. A tap or two on My Telenor’s easy to use app and you can view, activate and deactivate your favourite offers, check your usage and manage your account. link

2. OJO (A telco App for Orange Jordan)

A selfcare app for a Jordan based telco company. link

3. Korek (Redeveloped)

A telco app for a telecommunication company based in Iraq. link

4. PDMA (KPK) Projects (2015)

Lead the core project of Automation of Provincial Disaster Management Authority (PDMA) System.

Education

B.Sc Computer System Engineering, UET Peshawar (2015)

Interests

top