CV

About

I enjoy working in close collaboration with the end-user of the software. Working in cross-functional teams and believe in being open, humble and pragmatic when it comes to problem-solving and communication.

Work experience

2022-03 - Current
Ubisoft Stockholm
Senior Tools Programmer
Working on Ubisoft Scalar tech, moving stuff out into the cloud. Using C++ and Python.
2019-08 - 2022-03
Ubisoft Stockholm
Tools Programmer
Creating tools in the Snowdrop engine for upcoming AAA titles from the Ubisoft Stockholm studio. Development mainly in C++.
2016-08 - 2019-08
King - Defold
Engine Developer
Developing the Defold Engine at King (www.defold.com), a set of tools for creating and shipping games (editor, runtime, IDE, commandline resource pipeline). The engine is fully 3D and is used both in-house at King and externally by other studios. Our core team consists of nine developers. Being a small team means a great variation in day-to-day tasks. One day you're helping a game team figure out why a certain shader is causing performance drops, the next day you're fixing a bug in the audio system. The engine is developed with performance in mind, considering memory footprint, memory access patterns, binary size, and compilation times. Development in C/C++, Lua, Clojure, Python, Java.
2014-09 - 2016-08
Tobii Tech
Software Developer
Tracking your eyes in real-time at Tobii! I worked with developing the EyeX Engine where we make smart decisions on where YOU are really looking. Development in C# .NET and C++.
2014-02 - 2014-07
DICE
Master's Thesis
Investigated alternatives to traditional UV-mapping for real-time texturing of meshes. I looked specifically at a per-face parameterization method called Mesh Colors, and did and implementation of the rendering algoritm in the game engine Frostbite 3.

2013-01 - Current
Johans Freefall Photography
Self-employed
Started my own small business. I get my business from local skydiving clubs in the area, offering to produce photographs and video for customers doing a tandem skydive. I photograph and videotape customers from their arrival at the club, during the plane ride up, the freefall back down, and their safe landing back at the ground.
2013-05 - 2014-02
Scientific Visualization Group, Linköping University
Software Developer
Worked in development of a tool for volume rendering for a research project at the university. Involved implementing algorithms in C++, using Qt, OpenGL, GLSL and GLM.
2012-06 - 2012-08
ABB Power Systems
Trainee
Worked as a software developer in the R&D department with an in-house project for control and maintenance of power systems and power grids at a large scale. I wrote unit tests in C# .NET for this project. The first few weeks were spent learning how to use the application being developed. The remaining time was spent writing tests and reporting results to my superiors.
2007 - 2009
Swedish Armed Forces
EOD/Comms. Technician
Together with a fellow soldier, I was responsible mainly for maintenance and repairs of Explosive Ordnance Disposal (EOD) equipment and for training soldiers in the usage of communications equipment (HF/VHF radio, GPS receivers, hard-line communication and satellite phones) for an entire infantry company.

Education

2009 - 2014 M. Sc. in Computer Engineering and Media Technology, Linköping University, Sweden. A degree with emphasis on programming, computer graphics and simulation. I graduated in the summer of 2014.
2006 - 2008 Swedish Armed Forces, School of Technology, Halmstad, Sweden. During this period I spent a total of five months in Halmstad taking courses pertaining to my service position, e.g EOD equipment mechanics, radio technology, optics, soldering and weapons mechanics.

Extra-curricular activities and merits

2014 Winner of C-awards with the project Kill it with fire taking home the category Technical Excellence (cawards.se).
2013 Recipient of Norrköping Polytechnic Association's scholarship
2012 - Current Skydive instructor at Linköpings Fallskärmsklubb. Teaching others how to safely jump out of planes and having fun while doing it!
2013 - 2014 Pub Vattentornet, I volunteer worked together with other students at the student-run Pub Vattentornet.
2012 - 2013 Lab assistant, Linköping University, Sweden. A few hours every week I work as a lab assistant in some of the courses held for the first and second year students, e.g Applied Transform Theory (MATLAB) and IT Basic Course (Java, SQL).

Programming languages and skills

  • C/C++
  • OpenGL/DirectX
  • Java
  • C# .NET
  • Linux
  • Shader languages (GLSL, HLSL etc.)
  • Python
  • Source control (GIT/SVN/Mercurial)

References are available upon request.