Timo Sulg
Skills
CV
Work experience
SAP AG
- Senior Software Engineer
2020 - -
- microservices for HANA
BranchBob
- Senior Software Engineer
2020 - 2020
- implemented various finance calculations
- upgraded platform from Ruby 2.5 to 2.7
- upgraded Rails from 5 to 6
- added GraphQL endpoint
Creditshelf AG
- Ruby programmer
2017 - 2020
- Researched various methods for fuzzy matching;
- Implemented a service that could find matching between bank transactions and payment tables;
- help to split business problems into implementable use-cases
- refactored over-sized models and controllers into composable services using Hexagonal architecture pattern;
- found possible vulnerability when parsing external XML files; i researched multiple options and decided to move code into sandboxed environement such as AWS lambda;
- Found data matching error, implemented automated matching algorithm using fuzzy matching with confidence intervals;
VersionEye GmbH
- Ruby programmer
2012 - 2017
- implemented parsers for package managers;
- researched a problem of detecting used software licenses in a project;
- built CLI tool in Rust that searches for unknown dependencies in projects;
- wrote crawlers to fetch details about software projects
Skillable AB
- Senior software engineer
2015 - 2016
- Found a issue that Rails monolith were not able to handle spikes in a traffic. I mapped the resource demanding business cases and refactored them in Clojure using CQRS pattern;
- implemented new features for a Rail monolith
- implemented Javascript widgets to handle async workflows;
- Researched and implemented CI/CD workflows using CircleCI and AWS;
- Looked for slow running SQL queries and optimized them;
DataOil Oy
- Python programmer
2010 - 2020
- implemented UI using Yahoo UI framework;
- implemented Python service that would deploy Spark services based on user specification
- implemented recommender algorithms for a client
Swedbank AS
- Data specialist
2007 - 2010
- designed and implemented various Anomaly detection algorithms for Operational Risks
- wrote Excel extensions to automate daily tasks of Risk department
Education
TalTech
- Bachelor Art of Science
2007 - 2010
Major: Control and System Engineering
Minor: Computer Architecture
The programme focuses on designing and using complex modern computer systems.
As part of the programme, students cover such subjects as innovation and entrepreneurship,
hardware systems design and modelling, computer architecture and programming,
software project management and databases, to name but a few.
Certifications
German for B1 - Tandem GMBH 2020 - certification
Advanced NPL with Spacy - Spacy 2020 - certification
Natural Language Processing with Tensorflow - Coursera 2020 - certification
Tensorflow in Practice - Coursera 2020 - certification
AWS Fundamentals - Coursera 2020 - certification
Discrete Optimization - Coursera 2020 - certification
Basic Modeling for Discrete Optimization - Coursera 2020 - certification
Algorithm Toolbox - Coursera 2019 - certification
Software Security - Coursera 2017 - certification
Projects
Teeline
source
During the Discrete Optimization course i got hooked with Travelling Salesman Problem.
In this project i learned Rust by implementing couple well-known algorithms that could solve
TSP problem if given enough time.
AIMA 8Slider problem
source
When i was watching the "CS221: Artificial Intelligence: Principles and Techniques " from Stanford,
i found a nice simple toy problem for experimenting with various graph search algorithms;
I implemented couple of different search algorithms from the course, i used the "Artificial Intelligence Modern Approach"
as my reference material;
DryRB in 3Acts
source
Slides and example project for introducing core features of DRY-RB, which is a collection of Ruby gems,
that allow Rubysist to apply SOLID and SecureByDesing paradigms for their project.
Fosslim, free open-source license matcher
source
A command-line that would scan software projects for open-source licenses;