Bojan Gornik, Developer in Ljubljana, Slovenia
Bojan is available for hire
Hire Bojan

Bojan Gornik

Verified Expert  in Engineering

Back-end Developer

Ljubljana, Slovenia

Toptal member since January 7, 2022

Bio

After an academic career in mathematics, Bojan has been established as a software developer since 2016. Primarily a C++ and Python developer, he has experience in back-end development for small businesses, desktop application development, and statistical data processing in experimental research projects. Bojan is interested in projects related to databases and math, mainly on the back end, that involve graphics—game engines, data visualization, physics simulations—or statistics —data analysis.

Portfolio

Shippo
Python, Django, Testing, Amazon Web Services (AWS), Go, CircleCI...
Climate Engine
Python 3, PostgreSQL, Google Cloud, JavaScript, Cryptography...
Self-employed
Python, Java, C++, SQL, Data Scraping, Flask, Docker, Back-end Development...

Experience

  • Mathematics - 20 years
  • C++ - 10 years
  • Linux - 6 years
  • Python - 5 years
  • SQL - 5 years
  • NumPy - 5 years
  • JavaScript - 3 years
  • Flask - 3 years

Availability

Part-time

Preferred Environment

C++, Python, Linux

The most amazing...

...project I've developed is a stock inventory management solution for an auto parts dealer with eight stores.

Work Experience

Back-end Python Engineer

2022 - PRESENT
Shippo
  • Served as a technical lead in migrating the monolith codebase from Python 2 to Python 3. This included a major version upgrade of Django and DRF.
  • Optimized image post-processing in label generation, cutting its duration by more than 50%.
  • Was involved in several carrier and eCommerce platform integrations. Owned the credentials management service.
Technologies: Python, Django, Testing, Amazon Web Services (AWS), Go, CircleCI, Back-end Development, Kubernetes, Celery, Unit Testing, Pytest, Databricks, PostgreSQL, Amazon DynamoDB, APIs, Databases, Redis

Senior Python Developer

2022 - 2022
Climate Engine
  • Built a framework for integrating geoscience algorithms and datasets from various platforms into a FastAPI app via Python plugins.
  • Migrated dataset data from legacy code into the new database (STAC).
  • Developed a testing framework for the new application.
Technologies: Python 3, PostgreSQL, Google Cloud, JavaScript, Cryptography, Back-end Development, REST APIs, FastAPI, Solution Architecture, Pytest, APIs, Databases

Software Developer

2016 - 2021
Self-employed
  • Developed and maintained an IT system for stock inventory management, invoicing, and payroll processing for an auto parts retailer with eight stores.
  • Implemented retail invoice and payroll reporting to the national tax authority via their API for several self-employed clients.
  • Executed the import of human-readable documents such as stock inventory, supplier documents, and similar into digital form. The technologies used were OCR and OpenCV.
Technologies: Python, Java, C++, SQL, Data Scraping, Flask, Docker, Back-end Development, REST APIs, Software Architecture, Solution Architecture, APIs, Databases

Teaching Assistant, Lecturer, Researcher

2008 - 2016
University of Ljubljana, Department of Mathematics
  • Taught courses covering mathematical analysis, geometry, topology, and mathematical physics at both undergraduate and graduate levels.
  • Provided statistical support to research projects in experimental physics. Most used methods included correlations of variables, distributions, and curve fitting.
  • Coded simulations of physical systems such as rigid body motion and collisions, membranes, and cloths as part of my teaching duties. Developed both the physics engine and visualization.
  • Participated in seminars and gave lectures covering knot theory, geometry, and topology.
Technologies: C++, 3D Visualization, Numerical Methods, OpenGL, NumPy, Python, Data Science, C, Algorithms, Cryptography, Rust, Computational Geometry

Experience

Stock Inventory Management System for an Auto Parts Retailer

I developed and maintained a stock inventory management solution for an auto parts dealer with eight stores. The components of the solution were:
• A back-end server providing API endpoints for clients using Python, Flask (later migrated to C++ and Drogon), and SQLite
• Clients were mostly desktop apps in both stores and an HQ office using C++ and wxWidgets, and an Android app was built in Java for the company's CEO with access to various statistics.

Computer Algebra System

http://www.snakedive.com/cas_vulpes
This is a personal project of mine. It is a symbolic calculus engine, which currently supports:
• Elementary expression simplification
• Derivation of elementary functions with step-wise directions
• Basic polynomial and rational functions operations

The link provides an online interface (powered by C++ and Drogon)—Wolfram Alpha style—to basic features.

A Game as a Desktop App and an Android App

http://www.snakedive.com
This is a three-dimensional version of the classical snake game with a twist: the snake can dive to the other side of the board. The game was written using Java (for Android), C++ (for desktop), and OpenGL API without external libraries, game engines, and more.

Education

2001 - 2008

Ph.D. in Mathematics

Princeton University - Princeton, NJ, USA

1996 - 2000

Bachelor's Degree in Mathematics

University of Ljubljana - Ljubljana, Slovenia

1993 - 1998

Bachelor's Degree in Physics

University of Ljubljana - Ljubljana, Slovenia

Skills

Libraries/APIs

OpenGL, NumPy, REST APIs, React, OpenGL ES, WebGL

Tools

Celery, CircleCI, Pytest, Autodesk Robot

Languages

C++, Python, Java, SQL, JavaScript, C, HTML, Python 3, Rust, Go

Frameworks

Flask, Django

Platforms

Linux, Docker, Amazon Web Services (AWS), Windows, Android, Kubernetes, Databricks

Storage

SQLite, PostgreSQL, Databases, Redis, Google Cloud, Amazon DynamoDB

Paradigms

Testing, Unit Testing

Other

Mathematics, Algorithms, Computational Geometry, 3D Visualization, Physics, Numerical Methods, Back-end Development, FastAPI, Solution Architecture, APIs, Data Scraping, Data Science, Cryptography, Software Architecture

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