Jaan Tollander de Balsch is a computational scientist with a background in computer science and applied mathematics. Professionally, he develops software packages for scientific computing using the Julia language and Git-based workflows. He values producing properly-tested and documented software packages with clean APIs that other developers can understand and use. He has applied these skills for 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
Bold highlights skills with at least one year of practical experience.
Julia, Python, Bash, C++, C, Haskell, Scala
Markdown, Hugo, Netlify, LaTeX
Git, GitHub, Git-based workflows, DevOps
Linux, Ubuntu, Command line, VSCode, Atom, JetBrains
Algorithm design, Data structures, Scientific computing, Parallel algorithms
Mathematical modeling, 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.
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/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.
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.