Robert Špendl
Verified Expert in Engineering
Back-end Developer
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
Experience
Availability
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
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.
Python Developer
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.
Senior Rust Developer
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.
Senior Back-end Engineer
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.
Back-end Go Engineer
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.
Senior Back-end Engineer
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.
Director
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.
Senior Back-end Engineer (Freelance)
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.
Director
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).
Project Manager
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).
Experience
Crosspoint App
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
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
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
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
Geographic Information System (GIS) Analysis of Municipal Infrastructure Costs
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
Education
Master's Degree in Computer Science
University of Ljubljana, Faculty of Computer and Information Science - Ljubljana, Slovenia
Engineer's Degree in Chemical Engineering
University of Ljubljana, Faculty of Chemistry and Chemical Engineering - Ljubljana, Slovenia
Bachelor's Degree in Computer Engineering
University of Ljubljana, Faculty of Computer and Information Science - Ljubljana, Slovenia
Skills
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
Languages
Rust, Go, JavaScript, SQL, C, Python, TypeScript, PHP, C++, dBASE, Delphi, Prolog, GraphQL
Frameworks
gRPC, Django, Angular
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring