Strahinja Lukic, Developer in Prague, Czech Republic
Strahinja is available for hire
Hire Strahinja

Strahinja Lukic

Verified Expert  in Engineering

Software Developer

Prague, Czech Republic

Toptal member since October 10, 2017

Bio

A former research scientist, Strahinja's switched careers in 2018 and has been working in the software industry full time since then. Strahinja focuses on modern C++ and is passionate about well-organized and performant code. He also coded low-level parallel algorithms with CUDA.

Portfolio

Pure Storage
C++17, C++20, Python
TomTom
Kotlin, C++, Android, Protobuf
TomTom
Python, Conan, C++14

Experience

  • C++ - 11 years
  • Linux - 7 years
  • Subversion (SVN) - 3 years
  • C++11 - 3 years
  • Python - 2 years
  • Git - 2 years
  • NVIDIA CUDA - 1 year
  • JavaScript - 1 year

Availability

Part-time

Preferred Environment

CMake, CLion, Qt Creator, Git, PyCharm, Linux, Visual Studio Code (VS Code), IntelliJ IDEA

The most amazing...

...project I've coded is a library of parallel algorithms using CUDA and OpenCV for real-time analysis of HF radio goniometric signals.

Work Experience

Member of Technical Staff 4

2022 - PRESENT
Pure Storage
  • Developed the code for the NFSv4.1 protocol on the Pure Storage FlashArray file server. Created the tests and fixed bugs.
  • Wrote the code and tests for the Pure Storage FlashArray Directory Services.
  • Created the code for file auditing for the Pure Storage FlashArray file server. Participated in this project from the ground up and contributed to the design of the audit logging and audit policy management.
Technologies: C++17, C++20, Python

Software Engineer IV

2022 - 2022
TomTom
  • Managed a team of engineers during a transition between two Navigation SDK products by TomTom—from predominantly using C++ to using Kotlin and Swift to develop for Android and iOS, respectively. Five of my team members were promoted during this time.
  • Moderated the discussions on the navigation model for TomTom GoSDK. Assisted the GoSDK architects in refining the GoSDK Navigation API while preparing for general availability.
  • Oversaw the design of the vehicle profile component for GoSDK.
Technologies: Kotlin, C++, Android, Protobuf

Senior Software Engineer

2020 - 2022
TomTom
  • Designed the microservice in charge of the information about the vehicle profile for a vehicle navigation system.
  • Coached and managed a team of software engineers for performance, teamwork, and cross-team communication.
  • Performed the duties of a code owner for several microservices and the corresponding client libraries for the vehicle navigation system.
Technologies: Python, Conan, C++14

Software Engineer

2019 - 2020
TomTom
  • Implemented new features on a vehicle navigation back end.
  • Solved bugs in the C++ back end and the Java front-end library for the vehicle navigation system.
  • Took part and led refinement efforts for new features.
Technologies: Qt Creator, C++14, Git, CMake, Python, C++

Software Development Consultant

2018 - 2019
RT-RK Computer Based Systems
  • Developed parallel algorithms using CUDA and OpenCV for real-time analysis of measurement data for specialized applications.
  • Used image processing techniques and clustering algorithms to extract useful data from raw measurements.
  • Employed statistical analyses to accurately reconstruct the physical properties of measured events.
  • Utilized Python and the NumPy and SciPy frameworks for algorithm prototyping.
Technologies: Git, Subversion (SVN), PyCharm, Python, NVIDIA CUDA, C++

Associate Research Professor

2017 - 2018
Vinča Institute of Nuclear Sciences
  • Refined and added to the work in the vein of the work I did as a research associate.
Technologies: Python, C++

Research Associate

2011 - 2017
Vinča Institute of Nuclear Sciences
  • Wrote data-analysis code using C++ and the ROOT framework to support several studies of the physics potential of future experiments in elementary particle physics.
  • Contributed to the high-level reconstruction libraries of iLCSoft (Github.com/iLCSoft).
  • Wrote data-acquisition code using C++, ROOT framework and vendor drivers for an experimental campaign with a USB CAMAC crate.
  • Developed data-acquisition code using C++, ROOT framework and vendor drivers for an experimental campaign with a DRS4 board.
  • Wrote digital signal processing code using ROOT framework to analyze waveforms digitized with the DRS4 board.
  • Constructed code in C++ to simulate the transport of photons through optical fibers to assess the physical limits of timing precision of scintillator strip detectors with wavelength shifting optical fibers.
  • Wrote C++ code for the simulation and analysis of the precision of the luminosity measurement at linear electron-positron colliders.
  • Installed and maintained web servers that were hosting the web pages of two conferences and the home page of my research group, plus an SVN, and NFS services.
Technologies: C++

Research Associate (Physics)

2007 - 2011
Karlsruhe Institute of Technology
  • Wrote code simulating the flow of rarefied gas in the Knudsen regime through a straight tube.
Technologies: C++

Research Associate (Nuclear Physics)

2005 - 2007
Gesellschaft für Schwerionenforschung mbH
  • Developed code for the online monitoring of data acquisition in experiments with heavy-ion beams and various radiation detectors.
  • Wrote code for the analysis of experimental data.
Technologies: PL/I

PhD Student in Nuclear Physics

2001 - 2004
IReS Strasbourg (IPHC Strasbourg)
  • Wrote code for the data acquisition with an Acquiris 12-bit Flash ADC board using drivers provided by the vendor as C source code.
  • Wrote custom code for offline processing of digitized waveforms of radiation detector signals.
  • Assisted the development of DSP code for the CAEN N1728B digitizer module.
  • Wrote code for automatized analysis of background data for the n_TOF experimental installation at CERN.
Technologies: C++

Research Trainee in Nuclear Physics

2000 - 2001
Vinča Institute of Nuclear Sciences
  • Developed code for offline digital signal processing (digitized waveforms of radiation detectors). The code extracts deposited energy and time of detected particles from the waveforms.
  • Wrote custom code for the analysis of experimental data with radiation detectors.
Technologies: C++

Experience

Data Acquisition Code for an Experiment with a CC-USB CAMAC Crate

This involves data acquisition with online monitoring written in C++ using the ROOT data analysis framework (Root.cern.ch) for an experiment using a CC-USB CAMAC crate, Wiener-d.com/sc/modules/camac–modules/cc-usb.html.

dEdx Processor for Silicon Trackers in iLCSoft

https://github.com/iLCSoft/MarlinReco/tree/master/Analysis/SiPID
A processor that calculates the specific energy loss of particle tracks in a silicon tracker. This is one of my contributions to the high-level reconstruction library MarlinReco for the International Linear Collider (ILC).

Data Acquisition Code for a Campaign with a DRS4 Board

https://github.com/StrahinjaLukic/DRS4_DAQ
I wrote the data-acquisition code using C++, a ROOT framework, and vendor drivers for an experimental campaign with a DRS4 board, Psi.ch/drs.

GitHub Contributions to iLCSOFT

https://github.com/iLCSoft
I contributed to the high-level reconstruction libraries of iLCSoft.

DSP Code for the CAEN N1728B Digitizer Module

http://www.caen.it/csite/CaenProd.jsp?parent=12&idmod=502
I assisted in developing algorithms for the CAEN N1728B detector-signal digitizer module. This was part of my PhD thesis research in nuclear physics. The challenge was to reconstruct the precise time and energy of detected gamma radiation in the presence of signal distortions.

Education

2001 - 2004

PhD Degree in Nuclear Physics

Université Louis Pasteur (University Strasbourg I) - Strasbourg, France

1993 - 2000

Master's Degree in Physics

University of Belgrade - Belgrade, Serbia

Certifications

DECEMBER 2018 - PRESENT

Deep Learning Specialization

Coursera

Skills

Libraries/APIs

Protobuf

Tools

Git, PyCharm, Qt Creator, CLion, Conan, Subversion (SVN), CMake, IntelliJ IDEA

Languages

C++, C++14, C++11, Python, Kotlin, C++17, C++20, JavaScript, Bash Script

Paradigms

Object-oriented Programming (OOP), Object-oriented Design (OOD)

Platforms

Linux, Eclipse, NVIDIA CUDA, Windows, Visual Studio Code (VS Code), Android

Other

HTTP

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