Tomislav Radanović
Embedded Systems Developer
Tomislav is a software engineering enthusiast and professional who excels in designing and implementing software for embedded devices, web, and desktop. Most of his technical expertise is in C and C++, but he is also very comfortable working with JavaScript. Tomislav has experience working with teams of all sizes, helping them achieve project goals on time and within budget.
Portfolio
Experience
C - 9 yearsEmbedded Systems - 8 yearsEmbedded Software - 7 yearsMicrocontrollers - 7 yearsEmbedded Hardware - 7 yearsInternet of Things (IoT) - 6 yearsLinux - 6 yearsReal-time Operating System (RTOS) - 5 yearsAvailability
Preferred Environment
Agile, Git, Slack, Visual Studio Code (VS Code), Linux
The most amazing...
...product I've worked on is a radio interface control system used in 4G (LTE) and 5G (NR) network providers to monitor connections for billions of mobile devices.
Work Experience
Freelance Embedded Software Engineer
Fjorden
- Developed Fjorden Grip firmware and bootloader using Zephyr RTOS.
- Exposed device functionality over BLE interface, allowing official and unofficial mobile applications to access and modify settings and features.
- Implemented secure device firmware upgrade (DFU) to allow customers to update their devices using mobile applications.
- Expanded device battery life to approximately six months on standard coin cell battery by utilizing nRF52 SoC low power features.
Freelance Embedded Software Engineer
Sense
- Developed and tested nRF52 firmware using Zephyr RTOS in C programming language.
- Optimized the firmware for low power operation resulting in battery-powered mode to last for approximately eight months of continuous operation.
- Implemented BLE mesh networking between peer devices, allowing simpler on-site installation with minimal use of data and power cables.
- Used oscilloscope, logic analyzer, and multimeter to trace and debug board-level issues, thus shortening the time between board iterations.
- Oversaw product prototype installation and guided workers on how to optimize the system as a whole. Documented and streamlined the entire process to reduce the time and complexity of future deployments.
Embedded Software Engineer
Ericsson Nikola Tesla
- Collaborated on the development, testing, integration, and delivery of essential features that impacted WCDMA, LTE, and NR networking modes of the radio interface control software.
- Pioneered on multiple product-wide codebase refactoring, improving testability and reducing complexity, which contributed to a 70% fall of bug reports over a period of three months.
- Designed and implemented a custom containerization engine used for efficient virtualized component testing of critical software modules.
- Transferred knowledge and experience by performing extensive code reviews.
- Held multiple department lectures to educate coworkers about best practices.
- Performed technical screening for hundreds of job candidates.
Embedded System Engineer
Startup Client
- Provided advice on which features to focus on during early product prototyping to maximize investment in the company.
- Designed and constructed a product prototype embedded device for potential investors and partners.
- Implemented BLE, GSM, and WiFi communication interfaces in order to allow the official mobile application to connect and access device functionality.
Software Engineer
Trovicor
- Improved deep packet inspection engine capabilities by designing and implementing multiple classification and extraction algorithms.
- Expanded the organization's internal knowledge base by reverse engineering over 20 application-level network protocols.
- Performed targeted network traffic interception in a controlled environment.
Experience
Hydrocontest
https://www.hydrocontest-x.ch/CNC Milling Machine
Path Processor
https://github.com/TommyRadan/PathProcessorData Entry SPA
https://siege.gg/Skills
Languages
Embedded C++, C, C++, Embedded C
Paradigms
Object-oriented Programming (OOP), Test-driven Development (TDD), Object-oriented Design (OOD), REST, Event-driven Programming
Platforms
Arduino, Bluetooth LE, Linux, Raspberry Pi, Docker, DigitalOcean, Embedded Linux
Other
Real-time Embedded Systems, Embedded Hardware, Embedded Systems, Internet of Things (IoT), Microcontrollers, Real-time Operating System (RTOS), Embedded Software, Bluetooth, WiFi, ARM, ESP8266, ESP32, JTAG, I2C, Nordic nRF52, ARM Embedded, Multithreading, TCP, TCP/IP, APIs, GNU, Protocol Buffers, ESP12, GSM, Wireless Protocols, CNC
Frameworks
Google Protocol Buffer, Google Test
Libraries/APIs
POSIX, Sockets, Pthreads, ZeroMQ
Tools
Zephyr, CMake, GNU Toolchain, Wireshark, MQTT, AutoTools
Industry Expertise
Telecommunications
Education
Master's Degree in Computer Science
University of Split - Split, Croatia
Bachelor's Degree in Computer Science
University of Split - Split, Croatia
Technician's Diploma in Electronic Engineering
Electrical Engineering School in Split - Split, Croatia