
Umer Arshad
Verified Expert in Engineering
Software Developer
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
Experience
- Jira - 5 years
- C - 5 years
- C++11 - 5 years
- Arduino - 5 years
- C++ - 5 years
- Git - 4 years
- Visual Studio Code (VS Code) - 4 years
- Socket Programming - 4 years
Availability
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
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.
Service Lead | Lead Software Engineer
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.
Software Engineer
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.
Firmware Developer for ESP32-based Systems
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.
Rasberry Pi Developer
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.
Senior Software Engineer
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.
Software Engineer
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.
Senior Software Development Engineer
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.
Embedded Systems Developer
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.
Experience
High Availability System
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
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
Firmware Developer
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
Temperature Monitoring for an Egg Storage System
Education
Master's Degree in Electrical Engineering
Information Technology University - Lahore, Pakistan
Bachelor's Degree in Electrical Engineering
University of Engineering and Technology - Lahore, Pakistan
Certifications
Introduction to the Boost C++ Libraries
Pluralsight
Exploring AWS IoT
Udemy
AWS Serverless APIs & Apps - A Complete Introduction
Udemy
C++ Object Basics: Functions, Recursion, and Objects
Codio | via Coursera
Object Oriented C++: Inheritance and Encapsulation
Codio | via Coursera
C++ Basics: Selection and Iteration
Codio | via Coursera
NumPy Python
Udemy
A Complete Python, TkInter Hands-on
Udemy
Qt 6 Core Beginners with C++
Udemy
Qt 6 Core Intermediate with C++
Udemy
Mastering Visual Studio Code
Udemy
C++ Basic Structures: Vectors, Pointers, Strings, and Files
Codio | via Coursera
C++ Programming—From Scratch to Advanced
Udemy
DevOps Fundamentals
Udemy
Docker for Beginners
Udemy
Master C++ Programming - From Beginner to Advance
Udemy
Python and Flask Demonstrations
Udemy
Introduction to the Internet of Things and Embedded Systems
University of California | via Coursera
Introduction to TCP/IP
Coursera
Data Structures in Python
Udemy
The Foundations of SIP
Udemy
Socket Programming in C from Scratch
Udemy
Skills
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 (SNS), Keil, cURL Command Line Tool, Boto 3, Qt Creator
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 Low Energy (LE)
Storage
JSON, Databases, Amazon DynamoDB, Amazon S3 (AWS S3)
Frameworks
Qt, Flask, Boost, Google Test
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, Recursion Testing
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring