
Mirko Jeličić
Verified Expert in Engineering
Embedded Software Developer
Novi Sad, Vojvodina, Serbia
Toptal member since May 11, 2020
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
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
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
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.
C/C++ Embedded Developer
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.
Software Developer | Embedded Systems Engineer
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.
C++ Developer
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.
Teaching Assistant on Faculty of Technical Sciences
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.
C/C++ Developer
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.
Software Developer Internship
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.
Experience
USB 2.0 Protocol Framework for Zybo FPGA Board to PC Communication
https://github.com/jelicicm/Zybo-PC-USB-2.0-communicationEducation
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring