Umer Arshad, Developer in Lahore, Punjab, Pakistan
Umer is available for hire
Hire Umer

Umer Arshad

Verified Expert  in Engineering

Software Developer

Location
Lahore, Punjab, Pakistan
Toptal Member Since
October 5, 2021

Umer is a lead software engineer with experience in working with multiple multinational companies and freelance projects. His experience ranges from low-level embedded systems to high-level application software. Umer is an active learner constantly recognized by both clients and colleagues as a problem solver who can successfully manage complex engineering problems and tackle strict deadlines and customer pressure issues.

Portfolio

WattsLights
C++, JavaScript, HTML5, Node.js, AWS IoT, ESP32, Arduino IDE, PlatformIO, MQTT...
Afiniti
Sockets, C++, Google Test, TCP/IP, OpenSSL, cURL Command Line Tool, HTTP...
Pentaloop
REST APIs, Azure Active Directory Graph API, cURL Command Line Tool, Libcurl...

Experience

Availability

Full-time

Preferred Environment

Linux, Visual Studio Code (VS Code), Git, C, Python, Data Structures, REST APIs, Amazon Web Services (AWS), ESP32, C++

The most amazing...

...thing I've developed is a high-availability system with multiple nodes responsible for managing a telephony operations service, along with a monitoring system.

Work Experience

AWS IoT Full-stack Developer

2022 - 2023
WattsLights
  • Led a WLED-based LED controller design and used ESP32 for Neopixel and SPI. Added BLE for app and global MQTT support. Enhanced web UI; auto-update system. Made multiple interfaces and supported all North American time zones. Automated builds; unit tests.
  • Tracked and fixed tasks, features, and bugs via GitHub.
  • Streamlined version control, streamlined release procedures, and introduced an efficient feature/bug monitoring system.
Technologies: C++, JavaScript, HTML5, Node.js, AWS IoT, ESP32, Arduino IDE, PlatformIO, MQTT, HTTP, Firmware over the Air (FOTA), Python, Industrial Internet of Things (IIoT)

Service Lead | Lead Software Engineer

2022 - 2023
Afiniti
  • Added TLS support in the communication channels for the high-availability solution. Updated the architecture to a multithreaded design to support multiple TCP client nodes. Added telemetry exporter to display stats over Prometheus and Grafana.
  • Traced and fixed bugs using Jira as a reporting tool.
  • Contributed to a patent as an author. The patent is filed for the work done for the high-availability solution.
  • Added unit-testing scheme for the REST API-based service.
  • Integrated Telemetry service along with REST API and other microservices.
Technologies: Sockets, C++, Google Test, TCP/IP, OpenSSL, cURL Command Line Tool, HTTP, REST APIs, Prometheus, Telemetry, JSON, Jira, Back-end

Software Engineer

2022 - 2022
Pentaloop
  • Developed a C++ and libcurl-based REST client to interact with OneDrive using MS Graph API. Implemented an authentication workflow using OAuth2.0. Worked with MSAL (Microsoft Authentication Layer) with interactive and silent authentication.
  • Used Jira, Confluence, and Bitbucket for project management.
  • Worked along with a resource while working on this project.
Technologies: REST APIs, Azure Active Directory Graph API, cURL Command Line Tool, Libcurl, Microsoft Graph API, Jira, Back-end

Firmware Developer for ESP32-based Systems

2022 - 2022
INDG Digitale Communicatie B.V.
  • Implemented captive portal for AP mode. Added Firmware over the Air (FOTA) support. Created a flask server to send commands, downloaded and displayed pictures from an external server on screen, and added support for deep sleep mode.
  • Displayed low battery levels on screen and tracked tasks milestones and issues using GitHub issues.
  • Worked directly with the client providing milestone-based updates, and conducted weekly meetings to discuss progress.
Technologies: C, ESP32, C++, Flask, PlatformIO, Firmware over the Air (FOTA), Firmware

Rasberry Pi Developer

2021 - 2022
Wash - Engineering
  • Developed a Flask-based web server for Raspberry Pi to interact and collect data from environment sensors (temperature, humidity, noise, water level, and vibration). Developed a zero-crossing detector circuit to control the relays.
  • Used Jira, Confluence, and Bitbucket for project management.
  • Helped the client in multiple sessions to replicate the results on their side.
Technologies: Bluetooth, Arduino, Raspberry Pi, Raspberry Pi 3 GPIO, Bluetooth LE, Jira, Industrial Internet of Things (IIoT)

Senior Software Engineer

2021 - 2022
Afiniti
  • Owned a Telemetry service that offers multiple telemetric operations using the Pistache framework for C++ and REST APIs. Developed new features and fixed bugs in the high-availability part of the company's product.
  • Tracked and traced the development of the product using Jira, the established mechanism.
  • Led a team of engineers and supported different teams in designing and fixing bugs of individual services in a microservices-based architecture.
Technologies: C++, Docker, REST APIs, Microservices, Telemetry, C++11, C++14, Jira, Back-end

Software Engineer

2020 - 2021
Afiniti
  • Developed a high availability system that manages multiple nodes in different configurations, which involves a very fast switching rate and requires individual services monitoring.
  • Worked on the Telephony feature server dealing with SIP 2.0-based message sending and handling.
  • Designed and fixed bugs of individual services in a microservices-based architecture for the high-availability system.
  • Played a key role as a project manager tracking bugs and features using Jira as a reporting tool.
Technologies: C++, Docker, Microservices, C++11, C++14, Jira, Back-end

Senior Software Development Engineer

2018 - 2020
Siemens Digital Industries Software
  • Developed an in-house inter-vehicle system (IVS) embedded software and bootloaders for different microcontrollers and architectures based on ISO specifications for automotive software and multiplexed communication network protocols (CAN and LIN).
  • Engaged directly with clients for debugging sessions and support.
  • Played a key role as a project manager tracking bugs and features using Jira as a reporting tool.
Technologies: Embedded C, C++, Visual Studio, Vault, Makefile, Microcontroller Programming, Jira

Embedded Systems Developer

2017 - 2017
Siemens Digital Industries Software
  • Developed program applications for different embedded hardware platforms and simulators.
  • Worked on Kernel porting for Nucleus RTOS as part of my role.
  • Developed UART and SPI device drivers for different hardware platforms.
  • Tracked and fixed bugs using Jira as a reporting tool.
Technologies: C, Embedded C, ARM, Atmel, Real-time Operating System (RTOS), Firmware, Jira

High Availability System

The company needed a high availability system that could ensure continuous operations and eliminate single points of failure.

As the C++ developer for this project, I built the core service. I used the POSIX library to create TCP/UDP and multicast-based server/client. I additionally included a ping-pong mechanism to monitor the status of the nodes in the cluster continuously.

Besides that, I developed a monitoring system that continuously tracked the state of all the services involved in the holistic architecture and triggered specified actions based on various independent services issues.

Home Automation System

I developed a home automation system that included an Android application to control and send the commands to the main controller.

The system's brain contains a Raspberry Pi that stores the data and acts as a gateway routing commands from the Android application to the physical devices connected with the appliance. Edge devices that connect directly to appliances communicate with the Raspberry Pi via RF. The system can be controlled by cellphone using the internet and a standard LAN network.

E-locked

I developed an electronic locking device called "E-locked" that controls gate locks upon receiving a command from an Android application via TCP sockets or through the internet via MQTT. It supports multiple locks to be operated from a single device. The locks are password-protected and can only be modified using a master key. Keys are encrypted and then stored in the cellphone.

Firmware Developer

Worked as a sole engineer to develop firmware for LILYGO T5-4.7 inch E-Paper ESP32 V3 from scratch.

I implemented a device reset dispatcher to distinguish between startup from deep-sleep and hard reset and a captive portal for the access point configuration of ESP32.

Created a mock Python server using Flask to interact with and send commands to the ESP32 and worked on developing Node.js-based parser to transform HTML, CSS, and JavaScript files into C strings.

Developed code to display static and dynamically obtained pictures from an external server on the Lilygo screen. Configured timeout and buttons as wake-up sources from deep-sleep modes.

Lastly, added the following:

• Dynamic capability to show nearby networks on the captive portal at runtime.
• A feature to download firmware from an external server (FOTA).
• Support of deep sleep mode to conserve battery
• Battery level detection to warn users about low battery levels

Back-end Development for SOP Violation Detection System

Developed a Flask-based REST server to start, stop, and receive alerts about multiple camera streams. Integration with the AI logic to detect SOP violations and save pictures and videos on Amazon S3 using Boto 3.

Temperature Monitoring for an Egg Storage System

A Python-based GUI application that I created for a Raspberry Pi-powered egg storage system, incorporating a Qt-based interface for Windows. The application displays multiple temperature channels and includes a control interface to fine-tune the temperature sensor, utilizing the MCC-128 Raspberry Pi for sensor interfacing. I established a REST server on the Raspberry Pi to facilitate real-time monitoring, transmitting temperature data to the PC application. Additionally, I implemented functionality in the PC application to systematically save temperature data into a CSV file, ensuring comprehensive record-keeping for efficient system management.

Languages

C, C++11, C++, Embedded C, Python, C++14, Java, Verilog, HTML, JavaScript, HTML5

Paradigms

Socket Programming, Object-oriented Programming (OOP), Microservices

Platforms

Visual Studio Code (VS Code), Arduino, Linux, Raspberry Pi, Docker, Raspberry Pi 3 GPIO, Amazon Web Services (AWS), AWS IoT, Windows, STM32, Android, AWS Lambda, AWS IoT Core, Bluetooth LE

Other

Microcontroller Programming, ESP32, Programming, Data Structures, Embedded Software, TCP/IP, UDP, Internet of Things (IoT), Embedded Systems, Microsoft Office, Multithreading, Network Programming, Debugging, ESP8266, NodeMCU, Code Review, Analytical Thinking, Microprocessors, PlatformIO, Firmware over the Air (FOTA), HTTP, Firmware, Industrial Internet of Things (IIoT), Back-end, Tkinter, SIP, ARM, Atmel, Real-time Operating System (RTOS), PCB, Arduino IDE, Telemetry, Bluetooth, Amazon API Gateway, API Gateways, Prometheus, Microsoft Graph API, Multiprocessing, CSV

Libraries/APIs

Sockets, REST APIs, NumPy, OpenCV, OpenSSL, Azure Active Directory Graph API, Libcurl, Node.js

Tools

Git, Jira, MQTT, CMake, Android Studio, MATLAB, Visual Studio, Vault, Makefile, Jenkins, Amazon Cognito, Amazon Simple Notification Service (Amazon SNS), Keil, cURL Command Line Tool, Boto 3, Qt Creator

Storage

JSON, Databases, Amazon DynamoDB, Amazon S3 (AWS S3)

Frameworks

Qt, Flask, Boost, Google Test

2020 - 2022

Master's Degree in Electrical Engineering

Information Technology University - Lahore, Pakistan

2014 - 2018

Bachelor's Degree in Electrical Engineering

University of Engineering and Technology - Lahore, Pakistan

DECEMBER 2021 - PRESENT

Introduction to the Boost C++ Libraries

Pluralsight

DECEMBER 2021 - PRESENT

Exploring AWS IoT

Udemy

DECEMBER 2021 - PRESENT

AWS Serverless APIs & Apps - A Complete Introduction

Udemy

SEPTEMBER 2021 - PRESENT

C++ Object Basics: Functions, Recursion, and Objects

Codio | via Coursera

SEPTEMBER 2021 - PRESENT

Object Oriented C++: Inheritance and Encapsulation

Codio | via Coursera

AUGUST 2021 - PRESENT

C++ Basics: Selection and Iteration

Codio | via Coursera

AUGUST 2021 - PRESENT

NumPy Python

Udemy

AUGUST 2021 - PRESENT

A Complete Python, TkInter Hands-on

Udemy

AUGUST 2021 - PRESENT

Qt 6 Core Beginners with C++

Udemy

AUGUST 2021 - PRESENT

Qt 6 Core Intermediate with C++

Udemy

AUGUST 2021 - PRESENT

Mastering Visual Studio Code

Udemy

JULY 2021 - PRESENT

C++ Basic Structures: Vectors, Pointers, Strings, and Files

Codio | via Coursera

JULY 2021 - PRESENT

C++ Programming—From Scratch to Advanced

Udemy

JULY 2021 - PRESENT

DevOps Fundamentals

Udemy

JULY 2021 - PRESENT

Docker for Beginners

Udemy

JULY 2021 - PRESENT

Master C++ Programming - From Beginner to Advance

Udemy

JULY 2021 - PRESENT

Python and Flask Demonstrations

Udemy

JUNE 2021 - PRESENT

Introduction to the Internet of Things and Embedded Systems

University of California | via Coursera

JUNE 2021 - PRESENT

Introduction to TCP/IP

Coursera

JUNE 2021 - PRESENT

Data Structures in Python

Udemy

MAY 2021 - PRESENT

The Foundations of SIP

Udemy

MAY 2019 - PRESENT

Socket Programming in C from Scratch

Udemy

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring