Robert Špendl, Developer in Ljubljana, Slovenia
Robert is available for hire
Hire Robert

Robert Špendl

Verified Expert  in Engineering

Back-end Developer

Location
Ljubljana, Slovenia
Toptal Member Since
February 24, 2021

Robert is an experienced and versatile engineer and manager with vast experience in the development of IT projects, including healthcare, mobility, and custom solutions for environmental infrastructure and industrial process control. From his pioneering work in machine learning and AI for environmental projects in the early 1990s, Robert combines his computer science and chemical and civil engineering expertise to integrate complex technical solutions with advanced software.

Portfolio

Sarva Labs Inc
Rust, Blockchain, Compilers, C, C++, Go
BoreDM LLC
Python, CAD, DXF
Jonathan Bethune
Rust, SQL, Redis, Amazon EKS, Crypto, Blockchain, Cloud, Networking...

Experience

Availability

Part-time

Preferred Environment

Rust, Go, Vue, PostgreSQL, C, Embedded Hardware

The most amazing...

...software is a complete compiler and development environment for a new smart contract language called Cocolang (cocolang.dev).

Work Experience

Rust Developer

2022 - PRESENT
Sarva Labs Inc
  • Designed and developed a compiler for a new smart contract language, Cocolang (cocolang.dev). I wrote a complete codebase in Rust that included a lexical analysis that produces tokens and abstract syntax tree and a complete compiler to binary.
  • Designed and developed support for automated testing of Cocolang programs.
  • Implemented a unit and integration testing framework and performance evaluation to ensure continuous quality of quickly developing the codebase.
  • Trained and supervised team members who were added to my team of developers and continuously ensured high codebase standards.
Technologies: Rust, Blockchain, Compilers, C, C++, Go

Python Developer

2023 - 2023
BoreDM LLC
  • Developed a Python library that takes user-provided data of boreholes and creates a 3D image or 2D profiles in AutoCAD DXF format. Versatile outputs are supported, and the design follows practices of USGS and other geology-related tools and services.
  • Created a sophisticated process for adjusting output to custom paper sizes, where only part of the output is scaled and translated while others (like labels) have a constant size.
  • Ensured simple deployment and use of the library so the main project could readily include and update the library with new developments.
Technologies: Python, CAD, DXF

Senior Rust Developer

2022 - 2023
Jonathan Bethune
  • Developed a POC server software for an innovative blockchain protocol in Rust programming language. The developed software was able to run in hundreds of instances in the cloud environment and used a consensus algorithm to build a blockchain.
  • Developed a tool for measuring performance and collecting metrics from the server instances.
  • Designed and implemented a multithreaded actor model that allows efficient parallelism and communication within the server.
  • Implemented robust and efficient network communication for messaging between server nodes.
Technologies: Rust, SQL, Redis, Amazon EKS, Crypto, Blockchain, Cloud, Networking, Consensus Algorithms

Senior Back-end Engineer

2021 - 2022
Shippo
  • Identified the need and designed and developed a solution that allowed the company software to modify shipping rating parameters using only data without code change.
  • Developed complex rules for shipping rates for new international carriers that were being added to a list of supported carriers.
  • Improved multiple parts of the software stack to improve the performance and maintainability of the code.
  • Developed CI/CD integration tests for newly developed functions to prevent regressions and ensure the correct operation of multiple modules that were being developed.
Technologies: Python, Go, Back-end, Amazon Web Services (AWS), Microservices, Data Pipelines, CI/CD Pipelines, REST APIs, Django, GraphQL, Shopify API

Back-end Go Engineer

2021 - 2021
Sync Technologies AE
  • Built multiple features at the back end for healthcare IoT applications, including complex SQL queries.
  • Created an HTTP middleware for access control and rate limiting.
  • Developed GraphQL functionality for the application.
  • Implemented complex data interpolation for periods of missing data.
  • Delivered an administration web front end in Retool that included graphic charts.
Technologies: Go, Kubernetes, Back-end, APIs, Stripe Checkout, Stripe Payments, Stripe API, Code Architecture, PostgreSQL, Helm, Mobile APIs, Docker, Amazon Web Services (AWS), GraphQL, Retool, Front-end

Senior Back-end Engineer

2021 - 2021
Spin
  • Developed a complex performance testing tool and integration testing utilities to test a microservice environment that used gRPC, NATS, and Redis communication.
  • Developed software emulators for IoT devices to run tests without physical devices.
  • Developed multiple features at the back end for healthcare IoT applications, including complex queries, data interpolation, and HTTP middleware.
  • Debugged a complex Go software stack and identified and resolved memory lifetime issues under high concurrency conditions.
Technologies: Go, Microservices, NATS, gRPC, Redis, REST, SQL

Director

2006 - 2021
CHRONOS, d.o.o
  • Developed multiple custom wastewater treatment and air emissions control devices, from process design to hardware and software development.
  • Led multiple complex GIS-based projects to assess the needs of local communities for infrastructure design solutions and developed cost estimates.
  • Spearheaded strategic planning projects and environmental impact assessments. Facilitated alignment and participative decision-making among multiple stakeholders and conducted training sessions.
Technologies: AutoCAD, Go, Rust, Vue, Python, GIS, MapServer, OpenLayers, C, Sustainability

Senior Back-end Engineer (Freelance)

2019 - 2020
Ardent Blue
  • Created back-end modules in Go for a scalable IoT integration project capable of handling over one million users with 100,000 requests per second.
  • Built custom Nginx modules (C) and optimized networking performance and security.
  • Developed the architecture and deployment of Kubernetes and Docker Swarm for a stable development and production environment, including complex database coherency and script updates.
Technologies: Go, C, NGINX, Docker, Kubernetes, APIs, Linux

Director

2004 - 2006
IPSUM d.o.o.
  • Developed an online GIS application for mapping infrastructure zones in municipalities (PHP, MapServer, and PostGIS).
  • Wrote PLC software (C) for wastewater treatment plants.
  • Developed an expert system for environmental vulnerability assessment for municipalities (C++, OGR).
Technologies: Python, PHP, MapServer, ArcGIS, GIS

Project Manager

1989 - 2002
Oikos
  • Developed a GIS and an expert system for illegal dumpsites monitoring, hazard assessment, and recommended actions with financial estimates. It was one of the earliest tools to combine GIS and artificial intelligence for the environment.
  • Performed over 100 environmental audits and environmental impact assessments.
  • Developed decision-making models for the selection of optimal sites for new environmentally sensitive objects like landfills or wastewater treatment plants (AHP, DEX).
Technologies: C++, dBASE, Delphi, Prolog, AutoCAD, Oracle

Crosspoint App

OVERVIEW
A scalable IoT integration project capable of handling over one million users with 100,000 requests per second. As the back-end developer and network administrator, I developed custom Nginx modules and optimized networking performance and security.

DELIVERABLES
• Back-end development in Go of account management, two-factor authentication using an SMS service, settings, and any other account-related functionality.
• Architecture, documentation, and Go code for coherent database and memory cache functioning on multiple shards, each serving a subset of accounts.
• Architecture, documentation, and C code for a custom Nginx module that routes requests to multiple back-end instances. Parallel instances, shared memory, decoding JWT tokens, and upstream server diagnostics were all implemented in this module.
• Complex Go performance benchmarking of the Nginx-Go-PostgreSQL mix environment.
• Set up a bare-metal Kubernetes environment on Linux CentOS to run the back end and administration of Docker Swarm during development up to the production phase.
• Architecture of PostgreSQL database consistency verification and a Docker/Bash script to manage upgrade and downgrade processes during development, staging, and production.

Process Control, Data Mining, and Remote Access to Environmental Technology Facilities

OVERVIEW
Custom devices for wastewater treatment and air emission control with custom reactors and scrubbers, including the development of custom electronics, software for the main PLCs, back-end data analysis, and remote management and reporting.

DELIVERABLES
• Design of process flow and equipment (AutoCAD).
• Architecture and design of custom electronic components (microcontrollers and sensors) and set up of processes for serial production and testing (KiCad).
• Firmware for controllers and sensors in C for AVR and ARM processors.
• Python and Rust software for high-level process control and remote access to the facilities.
• Set up a highly available, multi-node Docker swarm cluster.
• Apache Kafka and Rust back end with PostgreSQL for remote data storage.
• Go and Rust back end for centralized management of devices.
• Vue.js front end, providing remote access for wastewater treatment plant operators, with graphic presentation of processes and interactive data visualization.
• Rust and PostgreSQL data-mining tools to perform statistical analysis on millions of records to identify component failures, wear risk, and optimize operating parameters.

Electric Vehicle Charging Station Gateway

OVERVIEW
A software gateway and prototype of hardware to enable communication of charge points that only support local Modbus protocol over RS-485 with a remote server over the internet. This, in turn, enables communication of the client’s electric vehicle charging station with the provider’s server using the Open Charge Point Protocol (OCPP). The final product that will act as a standalone plug-in module is under development.

DELIVERABLES
- Rust software that communicates with charge points and retrieves operations data, charging currents, and user identification on one side, and communicates with the OCPP server on the other side, providing the possibility for real-time control of the charging stations.
- Design of a low-cost, small footprint, and industrial-grade programmable logic controller that can run the gateway software at remote locations.

LoRa Energy Meter

OVERVIEW
A standardized energy meter that can use a LoRa wireless communication network to enable remote energy consumption metering without using mobile readers.

DELIVERABLES
- Design of the electric circuit for the energy meter device with ultra-low energy consumption (two years of operation from a single battery) and highly accurate and low-noise temperature reading.
- C software to enable LoRaWAN data transfer from the meter and remotely initiated firmware upgrades.

Online to Offline Commerce Platform

A platform to provide modern analytical, marketing, and payment processing tools to classic offline stores was under development. As CTO, I was responsible for the overall technology and control of the outsourced parts of the codebase.

Geographic Information System (GIS) Analysis of Municipal Infrastructure Costs

OVERVIEW
Municipalities partly finance their infrastructure by collecting fees from investors based on the costs of existing and planned infrastructure in the municipality. To calculate the fee, each land lot has to be analyzed for existing and available infrastructure and the costs of construction for any missing infrastructure, such as waterworks or sewage pipelines. As the fees have to be uniform in the whole municipality, it's necessary to analyze tens of thousands of lots where construction is allowed.

DELIVERABLES
- Development of a comprehensive set of PostGIS and Python scripts to enable data import, validation, and spatial data cleanup; perform complex queries; and generate maps.
- Writing of a Vue.js and OpenLayers front end and a Rust back-end MVT tile server, allowing users to view the data and generate reports.

Rust Developer on a Crypto Project

A specialized short task on Tezos smart contract client performance improvements, written in Rust. The work includes low-level improvements of details on memory management and alternative parsing libraries, the performance testing tools I've developed proved these refactoring provided significant speed improvements of the code.

Languages

Rust, Go, JavaScript, SQL, C, Python, TypeScript, PHP, C++, dBASE, Delphi, Prolog, GraphQL

Frameworks

gRPC, Django, Angular

Libraries/APIs

Vue, OpenLayers, ArcGIS, Node.js, REST APIs, Shopify API, Stripe API

Tools

GIS, NGINX, AutoCAD, KiCad, Stripe Checkout, Helm, Retool, Amazon EKS, CAD

Paradigms

DevOps, Reactive Programming, Microservices, REST

Platforms

Docker, Kubernetes, Apache Kafka, MapServer, Oracle, Amazon Web Services (AWS), Firebase, Linux, Blockchain

Storage

PostgreSQL, PostGIS, Redis, Data Pipelines

Other

Embedded Hardware, Algorithms, Sustainability, APIs, Chemical Engineering, Decision Support Systems, Operating Systems, Chemistry, NATS, Back-end, CI/CD Pipelines, Memory Profiling, Benchmarking, Stripe Payments, Code Architecture, Mobile APIs, Front-end, Crypto, Cloud, Networking, Consensus Algorithms, Compilers, DXF

1993 - 1998

Master's Degree in Computer Science

University of Ljubljana, Faculty of Computer and Information Science - Ljubljana, Slovenia

1993 - 1996

Engineer's Degree in Chemical Engineering

University of Ljubljana, Faculty of Chemistry and Chemical Engineering - Ljubljana, Slovenia

1988 - 1993

Bachelor's Degree in Computer Engineering

University of Ljubljana, Faculty of Computer and Information Science - Ljubljana, Slovenia

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