Siniša Miličić, Developer in Vodnjan, Croatia
Siniša is available for hire
Hire Siniša

Siniša Miličić

Verified Expert  in Engineering

Mathematical Developer

Location
Vodnjan, Croatia
Toptal Member Since
May 21, 2018

Siniša Miličić is a mathematician with a great love of programming and a software architect with experience in automating corporate workflows. Siniša focuses on solving problems with programming as both a tool and a craft. Analyzing why and how information flows through a system or an idea is where Siniša is at his best.

Portfolio

Juraj Dobrila University of Pula, Faculty of Informatics
SQLite, SymPy, Python, Mathematics, Racket, Scheme, PostgreSQL, Linear Algebra...
Juraj Dobrila University of Pula...
JavaScript, Python, Cryptography, Scikit-learn, PostScript, Matplotlib, Jupyter...
University of Zagreb, Faculty of Electrical Engineering and Computing
Python, Python 3, Analysis, Numerical Simulations, Systems...

Experience

Availability

Part-time

Preferred Environment

Rust, PostgreSQL, Python 3

The most amazing...

...project I've led was a system to enroll students into university exclusively online during the COVID-19 pandemic, replacing a byzantine paper-based system.

Work Experience

Lecturer

2019 - PRESENT
Juraj Dobrila University of Pula, Faculty of Informatics
  • Taught courses in functional programming, linear algebra, statistics, and cryptography.
  • Contributed to university course development in elementary mathematics, functional programming, and databases and statistics.
  • Architected organization-level management software.
  • Developed systems for automatic individual test generation.
  • Developed an online enrollment scheme within regulatory limits for enrollment conditions under the COVID-19 and online studies.
Technologies: SQLite, SymPy, Python, Mathematics, Racket, Scheme, PostgreSQL, Linear Algebra, Relational Algebra, NumPy, Pandas, Bayesian Statistics, Statistics, Functional Programming, Cryptography, Information Theory, Microservices, Data Science

Senior Lecturer

2017 - 2019
Juraj Dobrila University of Pula, Department of Information and Communication Technologies
  • Taught statistics using pandas, NumPy, and Matplotlib in Jupyter.
  • Developed a database course focusing on the use of SQLite 3 and Jupyter.
  • Wrote optimized PostScript generators in Python 3 for displaying fractal sets.
  • Wrote a fractal dimension computing algorithm using Python 3 and Scikit-learn.
  • Wrote a plain TeX code generator for individualized student exams.
  • Taught cryptography using Python 3 examples in Jupyter, including AES, Argon 2, transport layer security (TLS) sockets, proof-of-work blockchain simulators, and more.
Technologies: JavaScript, Python, Cryptography, Scikit-learn, PostScript, Matplotlib, Jupyter, NumPy, SQLite, SQLAlchemy, Pandas, Python 3, Mathematics, Functional Programming

Senior Research Assistant

2013 - 2017
University of Zagreb, Faculty of Electrical Engineering and Computing
  • Wrote student exam generators—code generators for plain TeX—in Python 3.
  • Developed simulators for non-autonomous dynamical systems in C and Python.
  • Wrote well-formed formula generators for first-order logic in Python 3.
  • Built simple meta-post code generators in Python 3.
  • Developed numerical optimizers for finding fixed and periodic points of dynamical systems.
  • Created audio representation generators of fractal Chirp signals.
  • Wrote chaotic map and chaos boundary simulators in Python 3.
Technologies: Python, Python 3, Analysis, Numerical Simulations, Systems, Differential Equations, Mathematics

Software Architect

2014 - 2016
Cooperative for Ethical Finance
  • Designed a community bank's core banking system based on an event sourcing architecture in Python3.
  • Implemented a PostgreSQL-based, event-sourced banking system in Python 3 and SQLAlchemy.
  • Wrote simulators and test suites for the banking system.
  • Implemented a flexible interest rate scheme and a general interface for interest rate computations.
  • Designed a maturity-date system that is flexible and compliant with the various systems of bank holidays and short-notice change of workday organization: for instance, national days of mourning as short-notice bank holidays.
  • Designed a complex accounting system for generalized loan structures.
Technologies: JavaScript, Python, Raft Consensus Algorithm, Mathematics, Cryptography, Event Sourcing, SQLite, Django, SQLAlchemy, Flask, PostgreSQL, Python 3, Data Science, Functional Programming

Research Assistant

2007 - 2013
University of Zagreb, Faculty of Electrical Engineering and Computing
  • Dealt with numerical differentiation and integrations in C.
  • Wrote an exponential B-spline interpolator and optimizer in C, Fortran, and guile-scheme displayed using OpenGL.
  • Wrote numerical integrators of non-autonomous systems of differential equations in C and Python 2.
  • Created an exercise set for teaching higher mathematics using Python 2, SymPy, and Sage.
  • Wrote a contouring algorithm for smooth maps in C.
Technologies: JavaScript, Python, Scheme, Fortran, NumPy, SymPy, SciPy, MetaPost, LaTeX, TeX, C, Mathematics

COVID-19 Enrollment System

A Python and PostgreSQL-based system of services designed to process thousands of students with a byzantine system of rules to replace an existing, manual, paper and point-and-click based procedure with lots of repetitive labor. With a set of services and efficient views, no form-filling was needed on the student side, and, with decent cryptography, privacy and security were quite well ensured.

A Simple CRM in Python 3

Using Python 3, Flask, and SQLAlchemy, I built a simple CRM for the management of cooperative members and membership applications. It was integrated with a rather complex legal application form and multi-step workflows for membership management.

Core Banking System Design

I designed an event-sourced core banking system for a community bank; this was done in the early stages of the bank's founding.

The software was decentralized with a focus on auditability, security, and authority. Auditability was achieved by using an executable event log of pseudonymized operations, security through strong cryptography on communication points, and authority through the RAFT consensus protocol.

Cooperative Voting System

I designed and implemented a voting system in PHP and JavaScript, using SQLite as a back-end and Python for bootstrapping. The system is used by the Cooperative for Ethical Finance for digital voting on various issues with the voter base numbering hundreds of cooperative members.

Interest Rate Service

I designed and implemented in Python a generic system for the computation of interest rates that is, along with standard methods of accrual, compatible with interest accrual skipping bank holidays and having other complex interactions with real calendars. The system runs as a standalone service.
2007 - 2013

PhD Degree in Mathematics

University of Zagreb - Zagreb. Croatia

Libraries/APIs

Pandas, NumPy, Matplotlib, Asyncio, SQLAlchemy, REST APIs, Django ORM, SymPy, SciPy, Scikit-learn

Tools

LaTeX, Emacs, Jupyter, Pytest

Languages

SQL, TeX, Python 3, Python, Rust, HTML, HTML5, PostScript, GNU Guile, Fortran, C, Scheme, JavaScript, Emacs Lisp, Go, Python 2, Racket

Paradigms

Functional Programming, Data Science, REST, Event Sourcing, Asynchronous Programming, Microservices

Storage

MySQL, MariaDB, SQLite, PostgreSQL

Frameworks

Django, Flask

Platforms

Web, Linux, Debian

Other

Mathematics, Numerical Methods, Numerical Programming, Statistics, Web Scraping, Scraping, Data Analysis, MetaPost, Differential Equations, Systems, Numerical Simulations, Analysis, Raft Consensus Algorithm, Cryptography, Numba, Linear Algebra, Relational Algebra, Bayesian Statistics, Information Theory, Algebra

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