Milos Lupurovic, Developer in Novi Sad, Vojvodina, Serbia
Milos is available for hire
Hire Milos

Milos Lupurovic

Verified Expert  in Engineering

C++ Developer

Location
Novi Sad, Vojvodina, Serbia
Toptal Member Since
May 24, 2022

Milos is a software engineer with five years of experience, specializing in C++ and embedded development. He has designed and implemented new features for multiple enterprise systems and a public transit barcode solution used daily by millions. Milos is also experienced in machine learning, IoT solutions, cloud technologies, and mobile development. He is a Professional Scrum Master; he has organized, managed, and mentored teams; and he has a bachelor's degree in computer science.

Portfolio

Michael Snow
Raspberry Pi, Networking, Python
2am
C++, Python 3, Near-field Communication (NFC), Bluetooth LE...
Fortress Power, LLC
C, C++, Unit Testing, Embedded C, CI/CD Pipelines, AWS IoT Core...

Experience

Availability

Part-time

Preferred Environment

Linux, Windows, Visual Studio Code (VS Code), PyCharm, CLion, Teams, Skype, Slack

The most amazing...

...thing I've developed is a barcode ticket validation solution used daily by millions of people in public transportation.

Work Experience

Raspberry Pi Developer

2024 - 2024
Michael Snow
  • Configured router, so RPi is accessible over the internet using port forwarding.
  • Enabled Rover to be controlled over the internet using RPi.
  • Helped clients to define requirements and better understand what goes under the hood.
Technologies: Raspberry Pi, Networking, Python

Senior Embedded Developer

2023 - 2023
2am
  • Implemented device provisioning using AWS IoT, which enabled devices to be controlled and maintained via the cloud.
  • Added NFC communication between a device and a mobile app.
  • Implemented device as a BLE device in order to configure it.
Technologies: C++, Python 3, Near-field Communication (NFC), Bluetooth LE, Amazon Web Services (AWS), Embedded C++

C Developer for Unit Testing

2022 - 2022
Fortress Power, LLC
  • Created a testing environment that was modular and easy to use for our IoT system.
  • Made unit tests hardware agnostic by mocking hardware dependant code.
  • Contributed to code quality by providing a team easy to use testing environment.
Technologies: C, C++, Unit Testing, Embedded C, CI/CD Pipelines, AWS IoT Core, Internet of Things (IoT), cmocka, Google Test

Linux Developer

2022 - 2022
Slash Apps Development
  • Developed a desktop app on a custom Linux distribution that starts on boot and collects and displays various data.
  • Optimized boot-up speed by configuring grub, so the system is up and running faster.
  • Proposed additional features which were adopted and implemented.
Technologies: Linux, Ubuntu, Python 3, Python, Bash, Bash Script, Tkinter, APIs, REST, REST APIs

Delivery Lead

2021 - 2022
HTEC Group
  • Established team processes and procedures using Scrum methodology.
  • Managed a team to deliver an IoT monitoring and control solution for the validator devices used in a public transportation network.
  • Mentored less experienced colleagues and helped them grow by creating a carrier path for them.
Technologies: Scrum Master, Mentorship, Delivery, Agile Delivery

Software Engineer

2021 - 2022
HTEC Group
  • Implemented an NLP pipeline using Microsoft Azure Cloud Services.
  • Developed a custom classification module to classify medical and related papers.
  • Implemented a document search module with a custom re-ranking and suggesting mechanism.
Technologies: Python, Generative Pre-trained Transformers (GPT), Natural Language Processing (NLP), GPT, Python 3, Azure Cloud Services, Azure Cognitive Services, Azure DevOps, Azure Functions, Text Classification, K-means Clustering, Vectorization, Jupyter Notebook, IPython Notebook, Microsoft Excel, APIs, REST APIs, REST

Software Engineer

2017 - 2021
Execom
  • Designed and implemented core features of the public transportation network, such as inter-system communication and device state handling.
  • Implemented barcode ticket validation for public transportation networks.
  • Added a smart heat pump monitoring solution using FreeRTOS.
Technologies: C++, C, ARM Linux, C++11, Linux, C++98, Internet of Things (IoT), Scrum, MQTT, Makefile, CMake, Raspberry Pi, Raspberry Pi 3 GPIO, RS-232, Serial Peripheral Interface (SPI), Java Native Interface (JNI), Amazon Web Services (AWS), Azure Cloud Services, APIs, Microsoft Excel, cURL Command Line Tool

Intern

2016 - 2016
PSW Automotive
  • Developed an app used internally to provide information to employees. PSW is a wholly-owned subsidiary of AUDI AG.
  • Worked on my first project that was used by others.
  • Went live successfully after two months of development.
Technologies: C#, .NET

Provisioning Medical Device

Developed a medical device controlled by an ARM processor running a custom Linux build, which was created using the Yocto Project. I implemented a provisioning service written in C++ and was communicating with a mobile app using BLE and NFC to perform provisioning on AWS IoT Cloud. Besides that, the service was responsible for maintaining AWS Device Shadow, which enabled users to read and change the configuration and desired behavior of the device.

QBuzz/CXX Validator

The Validator is a hardware component of an automated fare collection (AFC) system for automating the ticketing system of a public transportation network. It's a system-on-a-chip (SoC) device based on a custom Linux operating system with additional peripherals, including a contactless smart card reader. The Validator is a level 1 device of the AFC system and complies with the SDOA standard.

Additionally, the Validator can communicate with the devices on the same vehicle via various protocols such as TCP, UDP, HTTP, and the Azure Cloud for sending status and receiving commands.

Smart Heat Pump

Integration of ESP8266 chip into heat pump to enable remote monitoring and control of the pump via Azure IoT Hub.
ESP8266 was connecting to the Azure Cloud from where it received various commands, which were sent to the pump motherboard using RS-232 protocol. ESP8266 chip was also reading the status of the pump and was periodically sending that status to the Azure Cloud.

Portal for Scientific Articles

A recommender system featuring keyword extraction, summary generation, vectorization and classification, article search with a custom re-ranking and suggesting mechanism, profile scoring, user activity tracking, and article recommendations based on desired categories and user activity. I built the pipeline that analyzes, processes, and cleans the articles as a member of the team that developed the system.

Pomodoro Desktop Application

Implemented Pomodoro Timer in the form of a desktop application. Pomodoro is a time management technique where work is focused on 25-minute periods, followed by a short or long break, depending on the number of previously finished cycles. This desktop app was implemented using C++ and Qt. It was a cross-platform solution supported on Windows, macOS, and Linux. Additionally, the application was able to communicate with a custom-made USB HID device, which was a small LED light, to set the color of the light, indicating the current Pomodoro status.

Rover

Integrated a Raspberry Pi board into a small four-wheeled rover controlled via four DC motors with integrated rotatory encoders. The purpose of the Raspberry Pi was to listen for user input and transform it into commands used to control the motors while utilizing the feedback from the encoders. The drive was designed to prevent wheel slippage and minimize positioning errors. Communication between users and Raspberry Pi could be done via local MQTT communication or AWS cloud.
• Rover could be controlled by voice commands using Amazon Alexa.
• Wall detection using a proximity sensor enabled the rover to stop if it stumbled upon obstructions in its path.
• A front-facing camera on the rover enabled 1st person view by having a video streaming server on the Raspberry Pi itself

Languages

C++, C++98, C++11, Python, Python 3, C, QML, Bash, Bash Script, Embedded C, Embedded C++

Tools

MQTT, Makefile, PyCharm, CLion, Skype, Slack, CMake, Jira, Azure IoT Hub, Amazon Simple Notification Service (Amazon SNS), IPython Notebook, Microsoft Excel, cURL Command Line Tool

Platforms

Linux, Raspberry Pi, Raspberry Pi 3 GPIO, ARM Linux, Windows, Visual Studio Code (VS Code), Amazon Alexa, Amazon Web Services (AWS), Azure Functions, Jupyter Notebook, Ubuntu, AWS IoT Core, Bluetooth LE

Other

Software Design, Software Development, OOP Designs, TCP/IP, UDP, HTTP, HTTPS, Certified ScrumMaster (CSM), Teams, Natural Language Processing (NLP), Internet of Things (IoT), Networking, Machine Learning, Scrum Testing, PSM-1, ESP8266, Architecture, System Design, ARM SoC, ARM, Scrum Master, Mentorship, Delivery, Agile Delivery, Embedded Systems, Embedded Software, GPT, Generative Pre-trained Transformers (GPT), FreeRTOS, Text Classification, RS-232, Pulse Width Modulation (PWM), Serial Peripheral Interface (SPI), K-means Clustering, Vectorization, Java Native Interface (JNI), SFTP, FTP, Tkinter, CI/CD Pipelines, APIs, Near-field Communication (NFC), Yocto

Libraries/APIs

Azure Cognitive Services, OpenCV, Pandas, NumPy, Sockets, REST APIs

Paradigms

Scrum, Azure DevOps, Socket Programming, Unit Testing, REST

Frameworks

Qt, Qt Quick, cmocka, Google Test

Storage

Azure Cloud Services

2012 - 2022

Bachelor's Degree in Computer Science

Faculty of Technical Sciences - Novi Sad, Serbia

NOVEMBER 2020 - PRESENT

Professional Scrum Master (PSM I)

Scrum.org

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