Salman Azmat, Developer in Lahore, Pakistan
Salman is available for hire
Hire Salman

Salman Azmat

Verified Expert  in Engineering

Back-end Developer

Location
Lahore, Pakistan
Toptal Member Since
August 23, 2022

Salman is an accomplished software engineer with 6+ years of experience in back-end development. He has designed and developed applications that ingest and process high-speed data while ensuring that the systems are consistent and robust. Salman has built CI/CD pipelines for multiple projects and is highly skilled in Go, Kubernetes, microservices, event-driven architectures, and distributed systems.

Portfolio

INTECH Process Automation
Go, Kubernetes, Azure Kubernetes Service (AKS), Keycloak, OpenID Connect (OIDC)...
INTECH Process Automation
C++, MQTT, Modbus Protocol, Python 3, PostgreSQL, Bluetooth LE, Docker, APIs...
National Instruments
LabVIEW, Radio Frequency (RF) Protocol, Embedded Development, FPGA

Experience

Availability

Part-time

Preferred Environment

Ubuntu, Visual Studio Code (VS Code), Slack, Jira, Zoom, Bitbucket, Azure

The most amazing...

...thing I've done was transform existing microservices to use event-driven programming by implementing choreography-based saga and transactional outbox patterns.

Work Experience

Principal Software Engineer

2021 - PRESENT
INTECH Process Automation
  • Developed back-end services for a SaaS-based computerized maintenance management system (CMMS) that tracks the tasks assigned to personnel, manages the inventory, and monitors the condition of equipment in an industrial setting.
  • Improved the data consistency and durability of services by implementing event-driven programming using choreography-based saga and transactional outbox patterns.
  • Developed software for an edge device that gathers data from multiple sensors, does live processing, and publishes the results to our application deployed on Microsoft Azure.
  • Managed three teams (cloud back-end and edge back-end), planned the services roadmap, reviewed pull requests, and implemented Agile software development practices.
Technologies: Go, Kubernetes, Azure Kubernetes Service (AKS), Keycloak, OpenID Connect (OIDC), Agile, Azure DevOps, PostgreSQL, Azure Key Vault, Azure Blob Storage API, Docker, Azure Active Directory, Azure IoT Hub, MQTT, Argo CD, Prometheus, Azure Service Bus, Consul, Jira, Bitbucket, Continuous Deployment, Continuous Integration (CI), Kuiper, APIs, REST, Microservices

Senior Design and Application Engineer

2018 - 2020
INTECH Process Automation
  • Developed firmware for headless edge devices that monitors and processes sensor values from an oil pipeline and sends the results to a server that runs pipeline leak detection software.
  • Developed firmware for Bluetooth Low Energy (BLE) sensor nodes and a gateway device. The sensor nodes gather data from sensors and transmit the collected data to a central gateway, which publishes the data to the cloud over MQTT.
  • Implemented time synchronization for edge devices to millisecond-level accuracy using GPS technology. This helped in time stamping the data gathered by devices at different geographical locations with very high accuracy.
Technologies: C++, MQTT, Modbus Protocol, Python 3, PostgreSQL, Bluetooth LE, Docker, APIs, REST

Application Engineer

2015 - 2018
National Instruments
  • Developed an application that gathered data at over 11 gigabits per second (Gbps) from multiple radio frequency receivers and analyzed the data for spectrum monitoring purposes.
  • Developed an application that gathered data from 100+ vibration sensors, processed the data, displayed live analytic graphs, and stored the data for a playback feature.
  • Implemented software for full-duplex communication between two radio devices using the time division multiple access (TDMA) protocol.
Technologies: LabVIEW, Radio Frequency (RF) Protocol, Embedded Development, FPGA

Computerized Maintenance Management System

A SaaS application that helps asset-intensive organizations digitally plan, track, measure, and optimize all maintenance activities. The CMMS application also gathers live sensor data from machinery on-site and monitors the condition of the assets based on the data collected. I was the back-end lead, owned tenant and user lifecycle management, and managed the lifecycle of the Microsoft Azure infrastructure used for the application.

Edge Device

An edge device that gathers data from sensors, does live processing on the data, and sends results to an application deployed on Microsoft Azure. I developed a communication gateway service that runs in the cloud and serves to send configuration requests to any edge device. I also created a device management service that runs in the cloud and manages the lifecycle of each device, including provisioning, deployment, and sending firmware updates to devices. All services on edge devices and the cloud are configurable via REST-based APIs.

Other

Internet of Things (IoT), Industrial Internet of Things (IIoT), EdgeX, OPC UA, CI/CD Pipelines, Back-end, Back-end Development, APIs, OpenTracing, Azure Service Bus, Consul, Identity & Access Management (IAM), OpenID Connect (OIDC), Algorithms, Data Structures, Argo CD, Prometheus, Kuiper, Modbus Protocol, Embedded Development, FPGA

Languages

Go, C++, Python 3

Frameworks

gRPC, Gin-Gonic, OAuth 2

Tools

Azure Key Vault, MQTT, Azure Kubernetes Service (AKS), Keycloak, Azure IoT Hub, Jira, Bitbucket, Slack, Zoom, LabVIEW

Paradigms

REST, Microservices, Microservices Architecture, Event-driven Programming, Agile, Azure DevOps, Continuous Deployment, Continuous Integration (CI), Radio Frequency (RF) Protocol

Platforms

Kubernetes, Docker, Ubuntu, Visual Studio Code (VS Code), Azure, Bluetooth LE, Azure Event Hubs

Storage

PostgreSQL, Redis, Azure Active Directory

Libraries/APIs

Azure Blob Storage API

2011 - 2015

Bachelor's Degree in Electrical Engineering

Lahore University of Management Sciences - Lahore, Pakistan

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