Jaan Tollander de Balsch is a computational scientist with a background in computer science and applied mathematics. Professionally, he applies his skills for technical writing, research software engineering, and scientific computing using tools such as Julia language, Git-based workflows, and Linux operating system. He values writing well-tested and documented open-source software packages with clean interfaces that other developers can understand and use. He has experience developing software packages for simulation algorithms and mathematical optimization models and running code on high-performance computing environments.
MSc in Computer Science, 2018 - present
BSc in Applied Mathematics, 2014 - 2018
I have highlighted skills with at least one year of experience in practice.
Julia, Python, Bash, C++, C, Haskell, Scala
Git, GitHub, Git-based workflows, Docker, OpenShift, OpenStack, Netlify
Markdown, Pandoc, Hugo, LaTeX
Linux, Ubuntu, VSCode, Atom, JetBrains
Algorithm design, Data structures, Scientific computing, Parallel algorithms, Cloud computing, Web development
Mathematical modeling, Mathematical optimization, Numerical analysis, Computer algebra
If you find that my expertise could bring value to your company, you can send me an email to discuss my availability and job interview. Currently, I live in Finland, Espoo, and I am capable of remote work. I’m also glad to answer any other questions related to employment!
You can read about my previous work experience, projects, and words from employers in the sections below.
As a Cloud Trainee at CSC, my task was to test their cloud services from the customer standpoint. That is, to examine how difficult it is to use their cloud services to deploy an application by relying on their technical documentation without prior knowledge about cloud computing. We could then use the results to improve the documentation and produce training material.
I tested the cloud services by developing a web application with the Julia language using the Genie framework. I chose the Julia language due to its advances in technical computing and to demonstrate that we can also run it on the cloud. Then, I deployed the application to OpenStack virtual machine on CSC Pouta and OpenShift container platform with CSC Rahti. The application is available in a GitHub repository with extensive documentation covering the application development and deployment.
Between 2019 and 2021, I worked summer and part-time jobs at Gamma-Opt, a research group that is also part of the System Analysis Laboratory at Aalto University. In the group, I developed software packages for mathematical optimization models using the Julia language with JuMP modeling library. The models were based on earlier the group’s earlier research. The development included writing detailed documentation, unit tests, and configuring the packages. We used Git-based workflows, such as GitHub Actions, to automatically run unit tests and deploy documentation and GitHub Pages for hosting the documentation. I added links to relevant projects below.
During the summers of 2017 and 2018, I worked in a research group focused on Crowd Dynamics at the Systems Analysis Laboratory in Aalto University. Crowd dynamics refers to the movement of human crowds. My work focused on developing software for simulating crowd dynamics based on existing research results. I implemented the simulation using the Python programming language and its numerical computing packages and wrote an extensive article about implementing the simulation mechanics, which you can read on my website at How to Implement Continuous-Time Multi-Agent Crowd Simulation. All software code is available at the github.com/crowddynamics, particularly the simulation engine and graphical user interface.
Bachelor’s thesis was my first touch on independent research and numerical analysis. Numerical analysis is a computational approach to exploring the properties of mathematical structures such as functions. I wrote an article based on the thesis at Exploring the Pointwise Convergence of Legendre Series for Piecewise Analytic Functions. My supervisor was Harri Hakula.
Albeit the scary-sounding title, the idea behind the work was simple. Derive a recursive formula with Legendre polynomials (continuous functions) to approximate non-continuous functions and use the formula to compute large degree polynomial approximations to study the convergence of the approximation error. Finally, compare the results to theoretical predictions.
The thesis work taught me valuable lessons about numerical versus analytical mathematics and made me more confident in my ability to work independently. I also became more interested in the computational approach to science.