Download PDF


Software Engineer/Embedded Software Engineer with a background in Computer Engineering. Wide spectrum of interests including embedded systems programming, compilers and code optimization, kernel and systems programming, mobile application development, database systems and data mining/machine learning. 

Specialties: C/C++, Java, Assembly (x86, ARM, MIPS), Android System, VHDL.

Work History

Feb 2015Present

Embedded Software Engineer


Development of the optimizing compiler for Android ART on the MIPS64 architecture. Maintenance of the Android ART ahead-of-time compiler. Maintenance of related AOSP projects for MIPS32 and MIPS64.

Sep 2015Feb 2016

Guest Lecturer

University of Belgrade Faculty of Mathematics

Held a course titled "Linux for Embedded Systems" under the patronage of RT-RK. Through theory and practical labs, the course teaches the essentials of kernel development: kernel architecture, the main APIs, integration of device drivers with other parts of the kernel and with user applications.

Feb 2015Present



Responsible for teaching and course management of several professional courses such as:

  • Linux For Embedded Systems
  • Advanced C for Embedded Systems
  • Android System Internals

Skill overview

  • Intimate knowledge of Android OS internals and build system, especially of the ART runtime.
  • Had the pleasure of working on a massive scale open source project with exceptional coding standards (my team had made contributions to the Google Android codebase).
  • Deep knowledge of C and C++, especially for embedded system applications.
  • I've worked with assembly: MIPS (mostly), ARM, x86.
  • Adequate knowledge of databases - I've done some work with postgreSQL and MongoDB.
  • Knowledge of C compiler specifics: I've worked and reviewed the source code for both gcc and LLVM/clang.
  • Knowledge of Linux Kernel fundamentals, API's as well as some experience writing kernel modules.
  • Well acquainted with Linux CLI usage/scripting and system administration.
  • Knowledge of gdb: I've used it for both local and remote debugging.
  • Certified knowledge of git CVS as well as gerrit code review platform.
  • Excellent communication skills, experience working with demanding clients and within large and distributed teams.
  • Strong theoretical background in computer science, algorithms and related.
  • Good mathematical background, especially in discrete maths.
  • Solid knowledge of UML and design patterns.



Master of Science in Electrical Engineering and Computing



Bachelor of Science in Electrical Engineering and Computing

University of Belgrade School of Electrical Engineering

GPA: 8.2

Selected projects from school curriculum

  • Design in VHDL of a complete RISC processor prototype with five pipeline stages, separated data and instruction caches and hardware interlocking support. Design and testing done in a three man team.

  • In a similar manner as above, design of a RISC processor prototype with multiple execution fetching, decoding and out of order execution support.

  • Several different compilers for microJava (subset of Java language) done in Java.
  • Complete toolchain for assembly, linking and execution of a subset of the ARM instruction set, written in C.

  • Interpretative emulator for said instruction subset for x86 target platform, written in C.

  • Emulator for picoComputer architecture with JIT support through the GNU Lightning library, written in C on Linux.

  • Several simplified file system implementations. Supports file allocation based on linked lists (similar to the FAT file system) and combined multi-level indexing (similar to the Linux inode file systems). All versions have multithreading support for concurrent use done through Windows API threads and synchronization. Written in C++ in Microsoft Visual Studio.

  • Multiple versions of a thread concept support with processor time sharing. Permit creation and safe concurrent usage of an unlimited (within resource limits) number of threads in C applications, without the need for additional run-time environment support. Written in C++.

  • Have several years of experience in private (non academic) tutoring of fellow students and assisting in developing faculty projects.


  • Serbian: native language
  • English: native level proficiency

Relevant information

  • I am a non smoker.
  • I also posses a category B driver's licence.