Sasa Milenkovic, Developer in Mellieha, Malta
Sasa is available for hire
Hire Sasa

Sasa Milenkovic

Verified Expert  in Engineering

Algorithms Developer

Location
Mellieha, Malta
Toptal Member Since
May 3, 2021

Sasa is a developer with 15+ years of experience with notable clients in many areas (OOP, numerical computing, GIS, and API development). With expertise in C++ and a passion for math and algorithms, he has managed to provide original solutions in different fields. His web app, Geodetic Networks, has been used by 140,000+ users. Analytical work is Sasa's strength, but being quite versatile, he can contribute to many types of projects and clients.

Portfolio

Flurosat Pty Ltd
C++, C++/CLI, Python, C++17
Navigatus Consulting (via Toptal)
Python, SQL, GIS, Data Science, OpenLayers, PostgreSQL, MapServer, Front-end...
Arringo Ltd, Malta
C++17, PostgreSQL, Postman, HTTP, POCO C++, Standard Template Library (STL)...

Experience

Availability

Part-time

Preferred Environment

CLion, C++, WebGIS, Standard Template Library (STL), Algorithms, Boost, Visual Studio, NetBeans, Qt, Object-oriented Programming (OOP)

The most amazing...

...thing I've developed was the Quaternion Based Helmert Transformation, an original math approach to solve an "unsolvable" problem.

Work Experience

Senior C++ Engineer

2021 - 2023
Flurosat Pty Ltd
  • Completed new implementation of the complex system of data input, removing the model with recursive templates and mixed static/dynamic inheritance. It significantly simplified and improved the performances.
  • Completed new implementation of the complex system of data output. It significantly simplified and improved the performances.
  • Solved numerous problems with memory management. Prevented memory leaks.
Technologies: C++, C++/CLI, Python, C++17

GIS Developer

2021 - 2021
Navigatus Consulting (via Toptal)
  • Built the back end (PostgreSQL and MapServer) and a good part of the front end (JavaScript and OpenLayers) for a complex system that includes mathematical and statistical calculations. Worked with big data and the geographic information system (GIS).
  • Developed a mathematical system from scratch for calculating deviations from the optimal paths of the ships transiting harbor channels. Implemented that system in Python and C++.
  • Worked on a Python application for converting marine GPS data into CSV and PostgreSQL databases.
Technologies: Python, SQL, GIS, Data Science, OpenLayers, PostgreSQL, MapServer, Front-end, Architecture

Senior C++ Software Developer

2020 - 2021
Arringo Ltd, Malta
  • Participated in developing Instacoins, the web application for buying bitcoins.
  • Collaborated on developing a REST API for Instacoins.
  • Developed an online payment API and sub-systems, including Link4Pay, ECOMMPAY, and SecureTrading.
  • Operated on cryptography procedures to communicate with payment providers.
  • Created a sub-system for VPN detection using external services.
  • Developed Python scripts for various utility tasks.
Technologies: C++17, PostgreSQL, Postman, HTTP, POCO C++, Standard Template Library (STL), Boost, Git, Jira, REST APIs, APIs, Linux, Multithreading, SQL, CMake, PyCharm, CLion, C++14, C++11, GitLab, Cryptography, Docker, C++, Object-oriented Programming (OOP)

Senior C++ Software Developer

2018 - 2020
Cashpoint Malta Ltd., Birkirkara
  • Participated in developing and maintaining PartnerInfo, an application for sports betting.
  • Created PHP extensions and fast procedures using C++ and Zend API.
  • Performed code reviews and developed unit tests using the Google Test framework.
Technologies: C++, MySQL, PHP, Git, Jira, HTTP, NetBeans, REST APIs, APIs, Windows, Linux, Performance Tuning, SQL, Code Performance Improvement, CMake, GitHub, Docker, Object-oriented Programming (OOP)

GNSS Applications Developer

2012 - 2019
Republic Geodetic Authority
  • Participated in developing a number of software applications for GNSS.
  • Created and analyzed mathematical models for connecting local and global (GPS) coordinate systems. Created applications for using existing reference grids.
  • Architected and maintained a number of web maps and WebGIS applications. Created static cache for huge data in orthophoto maps using the original algorithm.
  • Developed ISO-compatible software for spatial metadata handling. Maintained and analyzed a number of spatial metadata sets.
  • Architected software for the transformation of publicly used coordinate reference systems.
Technologies: C++, GIS, WebGIS, JavaScript, PostgreSQL, PHP, Geodetics, Maps, GPS, Qt, Apache, Algorithms, Performance Tuning, Website Performance, Visual Basic for Applications (VBA), Visual Basic, SQL, Data Science, Statistics, Research & Analysis, Fortran, Statistical Analysis, Spatial Statistics, 3D Geometric Analysis, QGIS, GDAL/OGR, Front-end

C++ Software Developer

2017 - 2018
NCH Software
  • Developed and maintained Inventoria, the software for business inventory management and stock control.
  • Participated in developing and maintenance of ExpressInvoice, the application for business invoicing. Created, maintained, and customized invoices, quotes, and orders. Worked on solutions for the concurrent work of multiple users and businesses.
  • Worked on solutions for desktop, web, and mobile access, multitasking, multiprocessing (piping), data exchange, and synchronization between different applications.
  • Performed code reviews for Inventoria and ExpressInvoice.
Technologies: C++, Subversion (SVN), TortoiseSVN, Windows, Multithreading, Microsoft Visual C++, Microsoft Visual Studio, Object-oriented Programming (OOP), Front-end, Maxima

Software Developer

2007 - 2008
Teletrader Software AG
  • Participated in maintaining and developing TeleTrader Professional, the application for technical analysis and stock market data prediction.
  • Performed code reviews and tested the new components.
  • Improved and optimized spreadsheet module as a GUI component.
Technologies: C++, Visual Studio, Microsoft Foundation Classes (MFC), Microsoft Foundation Class (MFC) Library, Windows, IncrediBuild, Statistical Analysis, Microsoft Visual C++, Stock Trading, Quantitative Modeling, Object-oriented Programming (OOP), Front-end

Software Developer | Consultant

2001 - 2005
Intelligent Energy Systems, Inc., Knoxville, US
  • Created algorithms for constrained optimization with big data.
  • Implemented a special optimization method, internal point optimization (IPO).
  • Developed a C++ library for sparse matrices. Handled big data and big matrices.
Technologies: C++, GCC, Applied Mathematics, Performance Tuning, Optimization, Statistics, Research, Fortran, Object-oriented Programming (OOP), Object-oriented Design (OOD)

New Algorithms for Geocentric to Geodetic Coordinate Transformation

Created new efficient and accurate algorithms for the transformation of geocentric to geodetic coordinates and vice-versa. Created new methods and algorithms for least-square adjustments of big data sets in different referential systems. Improved significantly widely-used Bursa-Wolf and Molodensky-Badekas models, introducing algebra and calculus with Hamilton's quaternions. Worked with complex matrix formulas and huge matrices containing hundreds of thousands of rows. User: Republic Geodetic Authority, Belgrade

Image Overlay

A set of interrelated applications for mqtt-communication between devices, image overlaying on Win-XP embedded screen, text printing on a LED display, and Perl2C++ code migration.

User: CESYS GmbH, Germany.

Coordinate Transformations

A web application that enables the transformation of spatial coordinates and heights for the most commonly used systems in local geodetic practice. 3D coordinate transformation models. This was the official application for coordinate transformations in Serbia, widely used by a number of companies and institutions. User: Republic Geodetic Authority, Belgrade

Widget Plotter

A Qt widget for display and analysis of mathematical functions. It includes symbolic names, special implementation of inverse functions, simultaneous display of many functions and datasets, interactive plotting, and multi-prospect. It also includes analyses and visual comparisons of functions and datasets in a new and handy way.

IPO - Internal Point Optimization

Implemented algorithms for very large constrained optimization problems in power networks. New optimization algorithms. Created a library for handling sparse matrices that enables the handling of complex matrix formulas and huge matrix data containing millions of rows and columns. User: Intelligent Energy Systems Incorporated, USA

Srb-Cache

This is a back-end application for creating and editing sets of map cache data (both raster and vector formats).

I produced and maintained the so-called PETMS (Parallel Encrypted Tiled Map Service) cache with the possibility of srs-reprojecting.

I then designed and developed algorithms to increase performance and lower memory usage. I included data protection via encryption. I implemented the orthophoto-map of Serbia, approximately 4.5 terabytes of airborne images, i.e., complex coordinate transformations of approximately 7.5*10^12 pixels.

I also implemented maps of cadastral municipalities boundaries, approximately 3.5*10 six records in the database. It has excellent performance, suitable for big data.

User: Republic Geodetic Authority, Serbia

Geodetic Networks

A web-based GIS of geodetic networks in Serbia. Designed and implemented an original technology (PETMS) for photo-map (ortho-photo) handling to improve quality, speed, and security. Geodetic transformations and re-projection of spatial coordinates, ISO metadata handling, queries, web services, etc. Client: Republic Geodetic Authority, Serbia.

Spatial Metadata Editor

Designed and developed an ISO metadata editor (ISO19139). Local extensions are introduced by the advanced xml-schema techniques. It has more than 2,500 downloads, so far! After using the editor, European Aeronautic Defense and Space Company (EADS-Astrium) asked the RGA (Republic Geodetic Authority) for obtaining the source code. The user was Republic Geodetic Authority, Serbia as a part of Twinning project with Kartverket, Norway.

Scribus Invoker

Plug-in application for altering the behavior of the well-known "Scribus" application without any changes in its source code using Event Filters, DOM XML. The work was done in C++ and Qt for CESYS GmbH, Germany.

JGC (Java Gas Spring Calculation)

Coded various mathematical calculations regarding the gas springs characteristics and implementations with flexible I/O, print, email generator, wizard, and help with bilingual support in English and German. The work was done in Java. Users include CESYS GmbH, and Bansbach easylift GmbH, Deutschland.

TAW3 - PF

Taw3 is a very specialized text processor with Unicode support, UTF-8 encoding/decoding, ruler, rich tab options, invisible characters. PF offers viewing and manipulations of raster and vector images (in pharmaceutical packaging) supporting a number of non-correlated local coordinate systems. Improved zooming using anti-aliasing algorithm. Used C++ and Borland Builder for DIT GmbH, Germany

Quartic

https://github.com/sasamil/Quartic
Direct solver of algebraic equations of the fourth order. An extremely simple and efficient solver of an algebraic equation of the fourth order. The solution contains an algebraic improvement that simplifies things significantly. Numerical computing is reduced, and it performs extraordinarily.

WMS-TMS-Maker

https://github.com/sasamil/WMS-TMS-Maker
This program creates a tile cache similar to the well-known GeoWebCache from an existing wms-source.

Moreover, it generates valid OSGeo TMS and OGC WMS services upon it. Finally, after executing it, there will be HTML sample files containing corresponding web maps, JavaScript code with OpenLayers 2 and 3, and ESRI JavaScript API. The intention was to illustrate, by samples, the simplicity of using and applying the resulting services.

Queens

https://github.com/sasamil/Queens
Haskell solutions to the old mathematical puzzles (Max Bezzel, Berliener Schachzeitung, 1848). Demonstration of the power of Haskell, "Eight queens" and derived "Nine queens and one pawn" problems are efficiently solved.

Parsing Arithmetic Expressions - Reverse Recursive Algorithm

https://github.com/sasamil/parsing-arithmetic-expression
A new approach to arithmetic expressions parsing. Fast, scalable, and applicable. No stack, no state machine, no Shunting-Yard, no anything in this algorithm! It can be used for many other tasks (building AST trees, post-order manipulations and RPN, graphs, etc), and it is very scalable and extensible. Superior performance compared to the industry standard, Dijkstra's Shunting-Yard algorithm.
1987 - 1994

Master's Degree in Geodesy

University of Belgrade - Belgrade, Serbia

1982 - 1986

Associate Degree in Mathematics and Computer Science

High School, Mathematical Department - Zajecar, Serbia

Languages

C++, Java, C, SQL, C++14, C++11, Python, Haskell, PHP, JavaScript, Perl, XML, XSLT, XSD, XPath, Maxima, CSS, HTML, Visual Basic, Visual Basic for Applications (VBA), Fortran, C++/CLI, C++17

Libraries/APIs

Standard Template Library (STL), GDAL/OGR, POCO C++, OpenLayers, Microsoft Foundation Class (MFC) Library, REST APIs, Google Maps API, Google Maps API (GeoJSON), Google Maps, Microsoft Foundation Classes (MFC)

Tools

CLion, GIS, Git, PyCharm, Postman, Jira, Apache, Visual Studio, Subversion (SVN), TortoiseSVN, MQTT, GCC, IncrediBuild, Qt Widgets, CMake, GitLab, GitHub, Microsoft Visual C++, Microsoft Visual Studio

Paradigms

Object-oriented Programming (OOP), Object-oriented Design (OOD), Metaprogramming, Functional Programming, Data Science, Cross-platform

Platforms

NetBeans, Linux, Windows, Docker, MapServer

Storage

PostgreSQL, MySQL, PostGIS

Other

WebGIS, Algebra, Algorithms, Mathematics, Applied Mathematics, Web Map Services (WMS), TMS, Mathematical Statistics, Statistics, Optimization, HTTP, Geodetics, Maps, GPS, QGIS, WFS, Doxygen, Analysis, APIs, Data Structures, Multithreading, Performance Tuning, Website Performance, Numerical Methods, Matrix Algebra, Performance, Mathematical Programming, Memory Management, Code Performance Improvement, Research & Analysis, Research, Cryptography, Statistical Analysis, Spatial Statistics, 3D Geometric Analysis, Image Processing, Stock Trading, Quantitative Modeling, Front-end, Architecture

Frameworks

Boost, Qt, Qt 5

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