Verified Expert in Engineering
Embedded Systems Developer
Ivica is a senior software engineer with 10 years of experience in the domain of Linux and bare-metal-based embedded systems. His professional focus is application performance improvement — techniques used to make your C/C++ program run faster by using better algorithms, exploiting the underlying hardware, and using the standard library, programming language, and operating system. Ivica is also a writer for a performance-related tech blog.
Linux, Git, GCC, Clang, CMake, GNU Make
The most amazing...
...thing I've achieved is speeding up an image processing algorithm used for feature extraction in machine learning eight times compared to its original version.
Application Performance Specialist
Johny's Software Lab
- Conducted the performance analysis and performance tuning for several different codebases in the domain of scientific computing, video processing, speech recognition, and image processing.
- Helped set up functionality requirements for Parallelware Analyzer, a tool that helps their users achieve the maximum performance of their C/C++ codebase through parallelization and vectorization.
- Wrote several blog posts targeted at developers that explain various ways of doing performance optimizations for C and C++ programs.
Senior Software Developer
- Served as the engineering manager for a small team of five in charge of the CISCO Silicon One networking chip infrastructure team.
- Implemented various features related to infrastructure, including low-level development and optimizations of the driver, configuration, and optimization of the Linux environment the driver is running.
- Performed board bring-up on an FPGA chip simulator for the graphene chip.
- Implemented a dedicated memory allocator that improved the performance of the driver so the driver could meet the performance requirements about the network route insertion into the routing table.
Senior Software Developer
- Oversaw the development of V8 features and performed the port to MIPS architecture.
- Added support for MIPS revision 6, a new version of MIPS that is not backward compatible with earlier versions and includes many new features.
- Added MIPS support for WASM. WASM stands for WebAssembly, a new web standard aimed for high-performance web applications.
Software Blog — Johny's Software Labhttp://johnysswlab.com
Cisco Silicon One Networking Chip | Infrastructure and Low-level Driverhttps://www.cisco.com/c/en/us/solutions/silicon-one.html
Managed a team of 3-6 developers, including task allocation, communication with customers, external dependencies, SW development, and debugging.
List of patches: https://chromium-review.googlesource.com/q/owner:ibogosavljevic%2540wavecomp.com.
Performance Tuning, Performance, Clang, Embedded Systems, Software Development, Hardware Drivers, Compilers, Google V8, Linux Device Driver
C, C++, Embedded C, Embedded C++, C++11, C++17, MIPS
GCC, Git, CMake, GNU Make, Make
Linux, Embedded Linux
Master's Degree in Software System Engineering
RWTH Aachen University - Aachen, Germany
Bachelor's Degree in Software Engineering
University of Belgrade - Belgrade, Serbia
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