Location: Toronto, Canada
Remote: Yes (have worked remotely for a little over 1.5 years now), on site too of course (if in or around Toronto)
Willing to relocate: Not at the moment, just moved recently
Technologies: C, C++, Golang, Python, Shell scripting, Docker, Kubernetes/OpenShift, x86 assembly (every now and then)
Resume/CV: Can send via email
Email: mohd DOT adi91 AT gmail DOT com
Experience: ~5 years
Hello! I have been working on systems that enable real-time, low latency, live media processing for adaptive bitrate (ABR) Over-the-Top (OTT) video streaming services.
Main programming language is C++ (occasionally some C), along with Golang for some additional services. Used python and shell scripts for writing various utilities/installers, along with Jenkins and Artifactory for our CI/CD pipeline. Worked on various aspects of the live media preprocessing pipeline from ingest (MPEG-2 TS, SDI) to adaptive transport stream (ATS) multiplexing and ABR packaging (HLS/HSS/MPEG-DASH), and everything else in between. Led the development efforts for a couple of products, one of which was a high availability (HA) distributed system written in Go for synchronizing live streaming channels across data centers.
Have spent a fair bit of time optimizing our products and identifying bottlenecks through profiling, and instrumenting Linux system calls using tools such as perf, SystemTap, etc. Delved into x86 assembly and SIMD intrinsics as part of this work too. While not an expert in JavaScript, I've also debugged JS based media players for identifying and fixing playback/streaming issues in various clients.
Comfortable with deploying applications into Kubernetes or OpenShift based infrastructure via ansible, and using jinja2 templating for configuring the services.
Currently looking for a backend engineer role where I can contribute towards building and scaling applications or products. I am always open to learning new technologies/domains!