Mian Abbass Shah, Developer in Mississauga, ON, Canada
Mian is available for hire
Hire Mian

Mian Abbass Shah

Verified Expert  in Engineering

Software Engineer and Developer

Mississauga, ON, Canada

Toptal member since July 5, 2024

Bio

Abbas is a seasoned systems engineer with nine years of experience in the embedded sector. He has steered over 10 distinctive embedded projects from conception to production in a design house environment. Proficient at tailoring embedded Linux platforms for various clients, Abbas is adept at cross-functional teamwork and rapidly assimilating new tools to accomplish project goals effectively.

Portfolio

Teradici
C++/CX, Git, TeamCity, Yocto, Google Test, Bash, Python, Docker, Agile, VMware...
NeuronicWorks Inc.
Leadership, C, C++/CX, Python, Node.js, Bash, Linux...
Tiko 3D
C, TI-RTOS, Firmware over the Air (FOTA), HTTP, HTTPS, I2C...

Experience

  • CMake - 6 years
  • Yocto - 6 years
  • Processing & Threading - 6 years
  • C++/CX - 6 years
  • Linux - 6 years
  • Real-time Operating System (RTOS) - 5 years
  • C - 5 years
  • Technical Requirements - 4 years

Availability

Part-time

Preferred Environment

C++/CX, Linux, Real-time Operating System (RTOS), Visual Studio Code (VS Code), Git, Data Annotation, Data Labeling

The most amazing...

...system I've developed is a machine vision application for chain wear monitoring that decreased a factory's downtime by over 400%.

Work Experience

Senior Software Engineer

2022 - 2024
Teradici
  • Enhanced Linux operating system for GPU-accelerated video streams, achieving a 60% increase in video stream throughput and a 250% decrease in CPU consumption for sub-systems.
  • Implemented a tamper-proof secure boot process employing Linux Integrity Measurement Architecture (IMA) through strategic experimentation.
  • Dockerized TeamCity builds and optimized Yocto build processes, reducing build time by 75%.
  • Developed C++ NAPI layer features within a React application, upholding comprehensive regression, integration, and unit testing coverage.
  • Facilitated X.509 certificate-based smart card authorization using Yocto recipes on an embedded platform.
  • Spearheaded the integration of the BLAST protocol to enable VMware connectivity, leading the proof of concept (PoC) phase to identify and mitigate potential risks before full-scale implementation.
Technologies: C++/CX, Git, TeamCity, Yocto, Google Test, Bash, Python, Docker, Agile, VMware, Artifactory, CMake, Node-gyp, X11, Linux, FFmpeg, GCC, FIPS, OpenSSL, Sockets, Embedded Systems, Embedded C++, WiFi, Embedded Linux, GTK, Unit Testing, Security, JSON, Architecture, WiFi Integration, POSIX

Senior Embedded Engineer

2017 - 2022
NeuronicWorks Inc.
  • Developed a multi-threaded C++ application for real-time monitoring of industrial chain assemblies, achieving a 400% reduction in downtime by pre-emptively identifying wear and tear.
  • Collaborated with clients to define technical requirements, clarify ambiguity, and implement a system involving diverse technologies.
  • Headed the development of a cloud-enabled, CAN-connected, battery dispensing kiosk application using Qt.
  • Aided cross-functional teams with Python/Bash scripting and kernel modifications for post-silicon Linux SoC bring-up.
  • Implemented secure boot and tamper detection features for a Linux-based multi-dwelling IoT hub.
  • Designed, developed, and tested C/C++ applications, ensuring solutions met diverse client needs from concept to delivery with constrained deadlines.
Technologies: Leadership, C, C++/CX, Python, Node.js, Bash, Linux, Real-time Operating System (RTOS), Machine Vision, Processing & Threading, Technical Requirements, Agile, Hardware Drivers, I2C, Universal Asynchronous Receiver/Transmitter (UART), Serial Peripheral Interface (SPI), On-board Diagnostics II (OBD-II), Zigbee, LoRa, Z-Wave, Bluetooth, SQL, PostgreSQL, Git, Linux Kernel, NVIDIA CUDA, CAN Bus, Qt, Sockets, FreeRTOS, LoRaWAN, Firmware, STM32, STM32CubeMX, Embedded Systems, Arduino, Embedded C++, GPS, Internet of Things (IoT), Raspberry Pi, IoT Security, Long-term Evolution (LTE), WiFi, Embedded C, Embedded Linux, Object Identification, Real-time Embedded Systems, Amazon Web Services (AWS), PyQt, Microcontrollers, Unit Testing, Security, JSON, ESP32, AWS Lambda, AWS IoT, APIs, Architecture, Smart Homes, Smart Home Technology, 4G, Quectel, Cloud Services, WiFi Integration, POSIX, Electronics, Embedded Hardware, Embedded Software, Sensor Data, ARM-based hardware, Zephyr

Embedded Engineer

2015 - 2017
Tiko 3D
  • Designed and implemented a RESTful server in embedded C on a TI-RTOS ARM processor.
  • Designed over-the-air update infrastructure interfacing with Serial Peripheral Interface (SPI) flash for three image partitions.
  • Researched, planned, and improved firmware for printer head calibration and thermal unit control.
  • Implemented and improved communication protocols, including TCP, HTTP, SPI, and SDIO.
  • Revised and improved slicing algorithm for STL segmentation.
Technologies: C, TI-RTOS, Firmware over the Air (FOTA), HTTP, HTTPS, I2C, Serial Peripheral Interface (SPI), Control Systems, Thermal Testing, Thermal Management, Motor Control, RESTful Development, TCP/IP, Secure Digital Input//Output (SDIO), Sockets, Firmware, Embedded Systems, Embedded C++, Internet of Things (IoT), WiFi, Embedded C, Real-time Embedded Systems, Amazon Web Services (AWS), Microcontrollers, Unit Testing, Security, APIs, Electronics, Embedded Hardware, Embedded Software, Sensor Data, ARM-based hardware

Experience

Mero Smart Sensor

A LoRa and Bluetooth-enabled ESP32 base station that communicates with smart sensors. The nRF sensors included an occupancy sensor, toilet paper roll sensor, and soap dispenser capacity sensor. The base station was programmed with both peripheral and central modes active simultaneously. The ESP32 was connected to the cloud for data upload using MQTT.

Industrial LoRa Gateway

An STM32MP157-based LoRa gateway communicating with multiple sensors spread throughout a factory. I was the Linux developer, while another developer was responsible for the LoRa nodes. I customized the Yocto-based Linux operating system to fit our in-house designed carrier board. I developed a communication protocol over LoRa to be used between the gateway and nodes. The gateway communicated over UART with the LoRa radio. Aside from periodic heartbeats, the nodes only communicated when they were triggered. Each node had its own time slice to send its payload. I created an update infrastructure to update the main application on the STM32.

NXP IoT MDU

An i.MX8-based IoT MDU with Zigbee, Z-Wave, LTE, 5G, WiFi, Ethernet, and BLE. I was the sole developer working on this project. I customized a Yocto-based Linux OS for the i.MX8 carrier board with various wireless technologies. Most of the wireless radios were Silicon Labs and used their coexistence solution (PTA) to prevent packet collision between the radios. I installed a custom version of Home Assistant to control all radios and provide a UI for IoT device connectivity. The IoT MDU was secured by implementing secure boot and tamper detection through an STM32 microcontroller connected to tamper detection switches.

Nellie Kiosk

This is a battery dispensing kiosk with a 4K display programmed using Qt communicating with an AWS backend. The 4K display was powered by an i.MX8 connected to 6 RTOS boards over CAN, each of which controlled 10 batteries.

Marina Pedestal

A marina pedestal with a small display for user information and ads. The application was programmed in Qt and communicated to an AWS server. The pedestal was programmed with software-controlled breakers to switch between 30A and 50A. It came with electricity and water use measurement circuits for client billing.

Soteria OBD2 Relay

A Python application for collecting information from a car through an OBD2 port and relaying it to a service. The max message delay time was confined to 500 ms. This was done through a 5G connection for low latency delivery.

Education

2010 - 2016

Bachelor's Degree in Computer Engineering

Toronto Metropolitan University - Toronto, Canada

Skills

Libraries/APIs

Sockets, FFmpeg, OpenSSL, Node.js, PyQt, POSIX

Tools

Git, CMake, GCC, Zephyr, TeamCity, VMware, Artifactory, Node-gyp, AWS CLI, MQTT, AWS SDK, GTK

Languages

C++/CX, C, Embedded C++, C++, Embedded C, Bash, Python, Java, VHDL, Assembly, SQL

Platforms

Linux, Raspberry Pi, Embedded Linux, Visual Studio Code (VS Code), STM32, Arduino, Amazon Web Services (AWS), AWS IoT, Docker, NVIDIA CUDA, TI-RTOS, Cortex, ARM Linux, AWS Lambda

Frameworks

Qt, Google Test

Paradigms

Agile, Unit Testing, Thermal Management, RESTful Development

Storage

JSON, PostgreSQL, Secure Digital Input//Output (SDIO), Amazon S3 (AWS S3)

Other

Real-time Operating System (RTOS), Yocto, Firmware, Embedded Systems, Internet of Things (IoT), Microcontrollers, Embedded Software, System Design, Processing & Threading, Technical Requirements, Hardware Drivers, LoRa, Firmware over the Air (FOTA), ESP32, FreeRTOS, STM32CubeMX, WiFi, Real-time Embedded Systems, Architecture, Embedded Hardware, Sensor Data, ARM-based hardware, Integrated Circuits, I2C, X11, FIPS, Leadership, Machine Vision, Universal Asynchronous Receiver/Transmitter (UART), Serial Peripheral Interface (SPI), On-board Diagnostics II (OBD-II), Zigbee, Z-Wave, Bluetooth, Linux Kernel, CAN Bus, HTTP, HTTPS, Control Systems, Thermal Testing, Motor Control, TCP/IP, Nordic nRF5, Packet Communication, LoRaWAN, GPS, IoT Security, Long-term Evolution (LTE), Device Firmware Updates (DFU), 5G, Home Assistance, Linux Device Driver, Object Identification, Security, APIs, Smart Homes, Smart Home Technology, 4G, Quectel, Cloud Services, WiFi Integration, Electronics, Data Annotation, Data Labeling

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