I'm highly experienced, passion driven Software Architect with more than 15 years of progressive software engineering experience. I've built and led teams from as few as two people to more than twenty. My expertise focuses around video and image processing with special emphasis on machine learning and artificial intelligence. Building highly-scalable, fault-tolerant distributed systems has been my area of interest for the last 7+ years.
I am a true believer in simplicity and beauty. I love exploring nature and discovering new and exciting places around the world. My addiction is definitely skiing and one of the items on my bucket list is heli-skiing in Alaska. I am really passionate about what I do and I put an extra care in everything.
Feel free to reach out if you need any programming help, or just wanna say Hi! No recruiters, please.
July 2019 - Present
- First Principal Engineer in the new direct-to-consumer (D2C) organization. Spearheaded design and development of the Global Video Platform architecture that is the basis for discovery+ streaming service
- Helped grow the engineering team from 2 to more than 35, promoted engineering and operational excellence since Day 1 and made sure automation is first class citizen
- Enabled teams to move fast by developing the automated CI/CD pipelines, code coverage checks, static code analysis, as well as easy to use metrics, logging and alerting systems
- Founding engineer of the new Recommendations/Personalization group whose mission is to drive customer engagement and provide business value within D2C products by utilizing Artificial Intelligence and Machine Learning. I oversee and lead multiple teams of data scientists, ML and Data engineers, as well as backend service developers to deliver on the most ambitious tech project within D2C org
- Designed the entire User Personalization Machine Learning system end-to-end and I am responsible for its infrastructure, scalability, data processing and machine learning model training pipelines (MLOps), as well as high performance Go based microservices used for model serving (inference) and integrations with other systems. The system drives the most number of hours watched across all discovery+ apps
- Work across the entire organization to build consensus and influence all teams so the engineering bar is kept high and quality is not compromised as the architecture keeps evolving and the organization keeps growing
September 2017 - July 2019
- Led a team of three senior engineers that designed and implemented a live real-time watermarking service based on FFmpeg in two weeks. This helped company win a multi-million dollar contract
- Lead engineer of distributed cloud-native live video transcoding pipeline
- Designed and implemented live video ingestion microservice that segments input stream into a set of GOPs and delivers them downstream for further asynchronous processing. Followed test driven development practices with metrics as first-class citizens. Fully written in C++17
- Added multicast UDP support and optimized udp-capture microservice to achieve 10x
performance improvement. Code is entirely written in Go
- Worked with Kafka as the centerpiece of our distributed media pipeline. Helped scale the cluster to more than 20 brokers, processing tens of thousands messages per second. Implemented Kafka producers and consumers in both Go and C++
- Designed and developed a custom CI/CD pipeline using Docker, AWS Lambda and Nomad for scheduling and orchestration of light-weight Aventus as a service
September 2015 - September 2017
Tech lead of the Forensic Business Unit. Some of my responsibilities included:
- Working with VP of Engineering and Business Unit director in defining product roadmap and strategy
- Talking with customers in order to understand their requirements and translate them into a viable set of features with clear use cases and expected behavior
- Devising new algorithms for Forensic use cases
- Working with business partners and customers in defining clear integration points between Ikena Forensic/Spotlight and their own workflows and processes
- Closely working with development team based in Serbia in designing and developing new features for our Ikena Forensic and Spotlight products
Tech lead or principal engineer of the following projects:
- Low latency video ingestion stack (H.264/MPEG-2, MPEG2-TS/MPEG2-PS, UDP, RTSP, HLS)
- Designed and developed various algorithms for adaptive bitrate streaming, variable framerate playback and artifacts-free decoding
- Implemented a new RTSP client that could work with multiple video/audio/metadata tracks and simultaneously synchronize them together
- Created a comprehensive and configurable testing suite that automates testing of all layers of the low-latency video ingestion stack
- Video processing DirectShow module (host of our proprietary super resolution filter, video stabilization filter, tracking and video analytics algorithms)
- Network video delivery stack (video encoding, video muxing and network delivery via TCP or UDP)
- Linux based media pipeline used exclusively in our Ikena Cloud offerings
- Designed and implemented the entire system for video processing that can run on AWS, Azure or Google Cloud
- All the pipeline components are broken down into small modules that can be easily containerized and turned into microservices
Core programming languages and technologies used: C++11, C# .NET, Microsoft DirectShow framework, Google Test, Insitu Tungsten media framework, Intel Integrated Performance Primitives (Intel IPP), FFmpeg and bunch of other 3rd party libraries and SDKs.
June 2011 - September 2015
I was one of the key people involved in core technology development for MotionDSP’s Ikena family of products. Some of my accomplishments include:
- Designed and developed video decoding subsystem: H.264/MPEG-2 CPU video decoders based on Intel Integrated Performance Primitives (IPP)
- Designed and implemented format agnostic reverse playback capability with trick play (supporting up to 16x playback speed)
- Project owner of StreamSource DirectShow filter used for low-latency playback of network streams (UDP/RTSP Media Acquisition, MPEG-TS demuxing, Video/Metadata decoding)
- Project owner of StreamSink DirectShow filter used for video delivery over the network (Video/Metadata encoding, MPEG-TS muxing, UDP network delivery)
- Designed and implemented real-time full motion video streaming and video processing algorithms
- Designed and implemented big image (4K+) support (decoding, processing) for our 64 bit video processing framework
- Optimized and improved complete DirectShow filters stack
- Introduced Git version control system and helped entire dev team successfully transition from SVN trunk development model to a new GitFlow model with code reviews and pull requests
- Mentored student intern who successfully completed her internship and was later hired as full time employee
Main technologies and programming languages used: Microsoft DirectShow framework, 2d3Sensing Tungsten framework, Intel IPP, Windows SDK, Windows Sockets, RTSP, Multi-threading, C/C++, C++11, C# .NET, GIT.
January 2011 - April 2011
As part of my Master’s program required internship, I joined the team at Computational Intelligence & IT Lab at our Faculty. Some of the things I did there are:
- Organized a student’s programming competition in cooperation with our Department professors so the students who performed well on competition would get extra credit for “Programming languages” course. This was done together with other members of GNU Club.
- I tested some Computer Vision algorithms with Microsoft Kinect
- Finally I was part of a team who setup Microsoft Kinect as a virtual reality gateway to interactive manipulation with Windows applications
May 2010 - August 2010
I participated in Google Summer of Code 2010 program as Plone foundation intern. My project was “AJAXify PloneFormGen“.
I greatly enhanced one of the most popular Plone plugins and gave it Web 2.0 look. I created an AJAX ‘canvas’ where users could in real-time create their forms using the form elements available in the Widget/Toolbox bar.
Since this is an Open Source project, its source code is available on Github.
October 2007 - January 2009
We started Pixudo before you could even remotely think of Instagram. It was very simple and easy to use image hosting and enhancement website. User could upload a photo, apply some of the filters and see the result instantly. Pixudo gained traction pretty quickly, but never actually took off.
I was the Lead programmer who developed the initial version of the website, as well as the filters layer. Later I worked on branding and promotion.
2006 - 2012
Courses taken: Data Structures/Algorithms, Object Oriented Programming/Design, Linear Algebra, Calculus, Software Engineering, Databases, Compilers, Parallel Systems, etc.
GPA earned: 9/10
September 2009 - May 2010
Courses taken: Computer Graphics, Digital Signal Processing, Advanced Math For Engineers, Artificial Intelligence, Data Structures, Web Development Seminar.
GPA earned: 3.52/4
2011 - Present
Since the initial launch of MOOCs on Artificial Intelligence taught by Peter Norvig and Sebastian Thurn and Machine Learning taught by Andrew Ng sometime in 2011/2012, I’ve been fascinated with the opportunity to get access to world class education for free! Hence the list of couple of classes I’ve been a part of and successfully completed:
- Artificial Intelligence, P. Norvig and S. Thurn
- Machine Learning, A. Ng
- Algorithms – Design and Analysis, Part 1, T. Roughgarden (github with problem solutions here)
- Algorithms – Design and Analysis, Part 2, T. Roughgarden (github with problem solutions here)
- Web Intelligence and Big Data, G. Shroff
- Introduction to Finance, G. Kaul
I also participated in dozen more courses, but never formally completed them (even though I watched most of the video lectures). Those include, among others: Probabilistic Graphic Models, Analysis of Algorithms, Cloud Computing series, Mining Massive Datasets, Startup Engineering, Data Science series, Intro to Theoretical Computer Science, etc.
2004 - 2005
Participation in Winter, Spring and Summer seminars in Petnica Science Center (http://www.petnica.rs/) on Computer Science program.
The project I worked on there was a Visual Basic application that was used to skin any other VB application using a (back then) modern GUI elements provided by Flash.
- N. Mancevic, I. Mihajlovic, N. Andrejevic, M. Djokic, “Comparative Analysis of C/C++, Java, Python and LISP implementations of Greedy Algorithms for the Graph Coloring Problem“, ICEST Conference, Nis, June 2011
- N. Mancevic, “Symmetric-key Cryptography Algorithms”, Term Paper in Information Assurance & Security, Tennessee Tech University, April 2010
- N. Mancevic, “Unsharp Masking in Image Enhancement”, Term Paper in Digital Signal Processing, Tennessee Tech University, December 2009
- Best Master Thesis in the field of IT & Security, University of Nis, December 2012
- Vip Mobile d.o.o Scholarship “Be a VIP student”, April 2011
- Google Summer of Code 2010, May 2010 – August 2010
- USAID Scholarship ($30,000 worth) for one Academic year of studies at TNTech University, 2009-2010
- 1st place – Balkan Case Challenge International ICT Competition, Vienna, July 2009
- 1st place – Balkan Case Challenge Regional ICT Competition, Belgrade, April 2009
- Serbian – Mother tongue
- English – Proficiency level (Reading, Writing, Verbal)
- German – Basic level