Mirko Jeličić, Developer in Novi Sad, Vojvodina, Serbia
Mirko is available for hire
Hire Mirko

Mirko Jeličić

Verified Expert  in Engineering

Embedded Software Developer

Novi Sad, Vojvodina, Serbia

Toptal member since May 11, 2020

Bio

Mirko is an embedded systems developer with five years of experience building real-time, fast, and reliable C, C++, and Python applications. He has worked closely with FPGAs and has a good understanding of building communication systems between an FPGA and a PC, especially over PCIe. Mirko is an advocate for clean, extensible, and well-documented code and is eager to learn new technologies to ensure project success. He's been a part of the Toptal network since 2020.

Portfolio

Anari AI
Algorithms, Bash, C, C++, Xilinx Vivado, Git, Linux Kernel, Linux, Jira, Python...
Atlas Copco U.K.
C++, Embedded Systems, C, Embedded C, Embedded C++, Embedded Development, Git...
RT-RK
Microcontroller Programming, Embedded C, FPGA, Linux Kernel Drivers, Algorithms...

Experience

  • C++ - 6 years
  • C - 6 years
  • Embedded C - 6 years
  • Embedded Software - 5 years
  • Algorithms - 5 years
  • Embedded Systems - 5 years
  • Linux Kernel Drivers - 3 years
  • Python - 3 years

Availability

Part-time

Preferred Environment

Visual Studio Code (VS Code), Terminal, Linux, UTF-8, ASCII, Git, Python

The most amazing...

...thing I've built is an HPC framework for a seamless scaling of Python apps to a number of nodes, utilizing more HW power, and delivering compute results faster.

Work Experience

Software Developer | Tech Team Lead

2021 - 2023
Anari AI
  • Developed an HPC framework for fast and seamless scaling of Python apps to several network nodes, utilizing more CPU/GPU power and delivering compute results faster.
  • Oversaw a diverse team of four as part of my team lead role. Led daily standups, planning, grooming, and retrospective meetings. Advised on product creation and setting up the company priorities.
  • Developed PCIe Kernel and app-level apps for communication between a host PC (Linux) and an FPGA device via PCIe interface.
  • Deployed solutions on AWS infrastructure, mainly using EC2, CloudWatch, and Amazon S3 services.
Technologies: Algorithms, Bash, C, C++, Xilinx Vivado, Git, Linux Kernel, Linux, Jira, Python, NVIDIA CUDA, Distributed Systems, Amazon Web Services (AWS)

C/C++ Embedded Developer

2020 - 2021
Atlas Copco U.K.
  • Participated in developing mid-layer software stack applications in C and C++ that enabled device management and communication with external data servers.
  • Debugged and solved the problem in a third-party C library that was halting further development for 1.5 months. Improved test environment and found several bugs in the process.
  • Served as an advisor with product planning and task distribution within the team.
Technologies: C++, Embedded Systems, C, Embedded C, Embedded C++, Embedded Development, Git, Linux

Software Developer | Embedded Systems Engineer

2016 - 2021
RT-RK
  • Developed a real-time Linux driver for transferring large chunks of data bidirectionally between the PC and the FPGA board over a PCIe interface.
  • Created a large-scale SystemC model for simulating artificial network cloud structure on the hardware level.
  • Built a real-time video data streaming system between automotive-grade cameras and PC over a PCIe interface.
  • Developed a low-level library for using USB 2.0 protocol to communicate between the PC and the Zybo FPGA board.
  • Acquired experience working in large teams using work planning applications and leading small groups of developers.
Technologies: Microcontroller Programming, Embedded C, FPGA, Linux Kernel Drivers, Algorithms, ARM, SystemC, Embedded Software, Embedded Systems, Git, Slack, Jira, Make (formely Integromat), Bash, Linux, Python, C++, C, UTF-8, ASCII, Embedded C++, Real-time Operating System (RTOS), VHDL, FreeRTOS, ARM Embedded, Xilinx Vivado, Linux Kernel

C++ Developer

2020 - 2020
SocialTeq
  • Developed a script that loads in desired changes to be made to the source code, such as renaming certain variables, macros by using pattern matching. Also, it supports the blacklist mechanism to forbid the changing of certain keywords.
  • Tracked and solved bugs in the preexisting source code.
  • Tracked the flow of the application, pointed to where improvements can be made and suggested changes to the code structure per the request of the client.
Technologies: Terminal, Makefile, C++, UTF-8, ASCII, Git

Teaching Assistant on Faculty of Technical Sciences

2017 - 2018
RT-RK
  • Acquired great skills in teaching and transferring knowledge.
  • Held lab lectures for bachelor's degree students. Followed their work and pointed out good practices in coding.
  • Graded student exams and held private consultation sessions.
Technologies: C++, C, FPGA, VHDL, FreeRTOS, Xilinx Vivado

C/C++ Developer

2015 - 2016
Freelance work on Fiverr
  • Acquired experience in freelance work and in direct communication with clients.
  • Developed various small scale C and C++ programs for clients.
  • Acquired experience in developing various algorithms and in using third party libraries in my systems.
  • Used databases such as MongoDB and MySQL while developing applications for clients.
  • Debugged and corrected already written code by other developers.
Technologies: Embedded C, MySQL, Algorithms, ARM, Linux, Make (formely Integromat), Bash, Python, C++, C, UTF-8, ASCII, Embedded C++, Git

Software Developer Internship

2015 - 2015
ARS-ES
  • Developed a USB bootloader system for the PIC18 controller.
  • Developed a Qt5 based C++ application to support bootloader functionality on users' PC.
  • Tracked and analyzed users' usage of the systems, debugged reported bugs.
Technologies: Microcontroller Programming, Embedded C, MySQL, Embedded Software, Qt 5, C++, C, Embedded Systems, UTF-8, ASCII, Embedded C++, ARM Embedded

Experience

USB 2.0 Protocol Framework for Zybo FPGA Board to PC Communication

https://github.com/jelicicm/Zybo-PC-USB-2.0-communication
A C framework library for enabling USB 2.0 communication between PC system on one, and Zybo development board on other side. Intended to provide low-level API for further development of large scale software systems.

Education

2010 - 2015

Bachelor's Degree in Computer Science

Faculty of Technical Sciences - Novi Sad, Serbia

Skills

Libraries/APIs

SystemC

Tools

Terminal, Jira, Git, Make (formely Integromat), Slack, Makefile

Languages

C++, C, Embedded C, Embedded C++, Bash, Python, VHDL

Platforms

Linux, Amazon Web Services (AWS), Visual Studio Code (VS Code), NVIDIA CUDA

Frameworks

Qt 5

Storage

MongoDB, MySQL

Other

ARM, Embedded Systems, UTF-8, ASCII, Firmware, Linux Kernel, Linux Kernel Drivers, Xilinx Vivado, ARM Embedded, Microcontroller Programming, Algorithms, FreeRTOS, Embedded Software, Real-time Operating System (RTOS), FPGA, Embedded Development, Distributed Systems

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