Johan Sokrates Wind, Developer in Tromsø, Norway
Johan is available for hire
Hire Johan

Johan Sokrates Wind

Verified Expert  in Engineering

Software Developer

Location
Tromsø, Norway
Toptal Member Since
February 25, 2021

With experience as a world-class competitive programmer and as a software developer at ARM, Johan enjoys doing projects using advanced algorithms, data structures, and numerical methods, writing high-performance implementations in C++, possibly combined with some scripting in python. His specialties are complex algorithms and advanced computer vision algorithms such as simultaneous localization and mapping (SLAM). You can check out his competitive programming achievements below.

Availability

Part-time

Preferred Environment

Python, C++, Linux

The most amazing...

...competition I've won might be the Abstraction and Reasoning Challenge, an artificial general intelligence contest hosted by François Chollet on Kaggle.

Work Experience

Software Engineer

2020 - 2021
Freelance Work
  • Developed an automatic logo creation script that takes as input an institution name and outputs a simple logo using web scraped images.
  • Optimized a solver of a video game. Before optimization, it ran too slow to find a solution to the harder levels, after optimization it found the shortest solution to all the levels in a few minutes.
  • Developed a mapping-and-positioning algorithm and implementation based on featureless markers. An accurate map was created by marker tracking and fine-tuned using bundle adjustment. The map was then used for real-time, accurate positioning.
  • Gave competitive programming tutoring. Regular meetings teaching algorithms, data structures and implementation tricks.
Technologies: Computer Vision, Python, C++, Algorithms, Simultaneous Localization & Mapping (SLAM), Competitive Programming

Software Engineer

2016 - 2018
Arm
  • Developed and implemented a working simultaneous localization and mapping (SLAM) solution running in real-time on mobile phones, using optimized C++ with no library dependencies. Delivered training sessions teaching about my SLAM solution.
  • Analyzed the performance of Mali GPUs by writing micro-benchmarks in OpenGL/GLSL. Benchmarked and investigated memory latency, volumetric lighting efficiency, and problems relating to shadow volumes.
  • Developed an efficient pruning algorithm which was implemented in hardware improving rendering performance in subsequent ARM GPUs.
  • Wrote highly optimized GLSL code used in ARM's rendering pipeline.
Technologies: Performance Optimization, GPU Computing, 3D Rendering, 3D Graphics, Visual Odometry, Simultaneous Localization & Mapping (SLAM), Numerical Optimization, Computer Vision Algorithms, C++

First Place in the TrackML Contest by CERN on Kaggle

http://github.com/top-quarks/top-quarks
This Kaggle contest asked to build an algorithm that accurately reconstructs particle tracks from 3D observations left in silicon detectors. CERN needs to analyze hundreds of millions of collisions per second; therefore, looking to Kaggle for solutions on how to quickly and accurately estimate the particle trajectories. More than 600 teams competed for the prize pool of $25,000.

All details can be found at Kaggle.com/c/trackml-particle-identification.

My solution was based on a physical model of particle trajectories and statistical models for the trajectory noise and maximum probability track assignments. I applied advanced data structures in C++ to make my code fast compared to most of my competitors. Additionally, I made my algorithm and code completely modular so that I could benchmark and improve each part of the code separately. This allowed me to rapidly implement new features, testing, and hyperparameter tuning, ultimately leading to a first-place solution.

First Place in Abstraction and Reasoning Challenge — A Kaggle Contest Hosted by François Chollet

http://github.com/top-quarks/ARC-solution
This Kaggle contest aimed to have a program score well on François Chollet's Artificial General Intelligence (AGI) benchmark. François argued modern machine learning algorithms are data-hungry and brittle, so he made a benchmark to measure AI skill-acquisition on unknown tasks, with the constraint that only a handful of demonstrations are shown to learn a complex task.

More than 900 teams competed for a prize pool of $20,000. In addition to winning, I was also the only one to receive the $3,000 bonus prize for exceptional performance on the test set.

All details about the competitions can be found at Kaggle.com/c/abstraction-and-reasoning-challenge.

My solution was based on program synthesis using a powerful domain-specific language (DSL) that I implemented in C++. By applying advanced algorithms, data structures, and optimization techniques, I searched a large number of candidate programs compared to most of my competitors.

Quick and Easy 3D Scanning and Printing of Human Heads

The result of the project was a user-friendly software where you could make a 3dD printed statue of your body or head using the following steps:
1. Spin once on a rotating chair in front of a Kinect v2 depth camera.
2. Inspect a visualization of the reconstructed 3D model.
3. 3D print the reconstructed model.

The software was installed as a showcase at my university.

The 3D reconstruction extracted the raw depth and color data from the Kinect using the API. It ran a custom dense, visual odometry solution written in optimized OpenCL to get the camera positions. Then it fused the depth data into a point cloud using the camera positions and pruned outlier points using some heuristics. Finally, it ran a publicly available implementation of "SSD: Smooth Signed Distance Surface Reconstruction" to convert the point cloud to a surface mesh.

The reconstructed 3D model could then easily be printed using a nearby 3D printer.
2015 - 2019

Master's Degree in Applied Mathematics

Norwegian University of Science and Technology - Norway

JUNE 2020 - PRESENT

Google Code Jam 2020 World Finalist

Google

Libraries/APIs

Scikit-learn

Platforms

Linux

Languages

C++, Python

Frameworks

OpenCL

Other

Statistics, Computational Statistics, Numerical Methods, Numerical Optimization, Numerical Modeling, Machine Learning, Algorithms, Data Structures, Computer Vision Algorithms, Simultaneous Localization & Mapping (SLAM), Visual Odometry, 3D Graphics, 3D Rendering, Performance Optimization, Statistical Modeling, Competitive Programming, Computer Vision, Mechanics, GPU Computing, Program Synthesis, 3D Reconstruction, Point Clouds, Optimization

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