Curriculum Vitae Name: Mats Cronqvist Phone +46 72 7285755 E-mail: mats@cronqvi.st URL: http://massema.net Based in: Stockholm, Sweden (GMT +1) Languages: Fluent in Swedish and English, basic German Passport: EU (Swedish) Education: Ph.D. in Physics Professional Programming Experience: 32 years Education 1992: Ph.D. in Nuclear Physics from the University of Goteborg, Sweden 1986: B.Sc. in Physics from the University of Goteborg, Sweden The subject of my Ph.D. thesis was: "Reaction Mechanisms in Intermediate Energy Heavy-Ion Collisions" Skills Operating Systems: in daily use: linux (debian, ubuntu), osx mostly forgotten: VMS, irix, solaris, hp-ux, ultrix Programming languages: in daily use: Erlang, bash, learning Julia up to date: C, javascript mostly forgotten: BASIC, FORTRAN, pascal, various CERN languages Version Control Systems: in daily use: git mostly forgotten: cvs, clearcase, subversion Architectural Belief System: Decoupling, Distribution, Asynchronous Message Passing Always Installed: emacs >= 24, docker Experience 2017-present: Technical Director of 247.ai Sweden office. Managed ~15 developers. Did architecture, mostly regarding AWS services; S3, SQS, Glue, Presto. Did data analysis using Julia/Jupyter. 2016-2017: Architect at Campanja, Sweden Developing and architecting in a Campanja's system, mainly Erlang. Microservices running under kubernetes in AWS. 2014-2016: Senior Architect, at Klarna, Sweden Protected the corporate revenue streams. My team made sure the cash cow system stayed well-functioning. We paid off technical debt, mainly through overload testing with intense profiling, judicious refactoring, and introducing sensible deployment and testing pipelines. 2012-2013: Chief Architect, at Klarna, Sweden Responsible for the migration of the Klarna legacy business system from a monolithic Erlang application to system of loosely coupled services. Mostly successful, but the company decided to go down the Enterprise Java route. 2011: Manager, Core Development, at Klarna, Sweden Managed a team of ~10 developers (mostly Erlang). Main task was to migrate functionality from the legacy system to services. 2010: Manager, Live Operations, at Klarna, Sweden Managed the team that operated the Klarna business system. The teams tasks included system administration (Debian), application monitoring, upgrades of hardware and software. 2007-2009: Senior Developer at Klarna (a.k.a. Kreditor), Sweden Implemented various parts of the Klarna business system (written in Erlang). Profiling and debugging. 2003-2007: System Expert at Ericsson Telecom, Hungary Implemented a suite of profiling and troubleshooting tools for Erlang applications. Enabled us to identify numerous bottlenecks, significantly improving performance. In order to write the GUI for the profiler I invented and implemented a GTK binding for Erlang. The C-side is a daemon implementing the Erlang distribution protocol. Most of the C code is generated from the GTK header files. 1997-2003: System expert at Ericsson Telecom, Sweden Implemented the first distributed version of our product. Allowed us to scale out the application on multiple CPUs. Invented the first serious Erlang troubleshooting tools. Still in heavy in-house use. 1993-1997: Post Doctoral Researcher at Lawrence Berkeley Laboratory, CA, USA Wrote major pieces of the software for the E896 experiment at Brookhaven National Lab, including the on-line monitoring system, the event visualization, and most of the track reconstruction. Wrote most of the statistical analysis code for the TRANSPORT experiment at Lawrence Berkeley Lab. 1986-1992: Graduate school at the University of Goteborg, Sweden Wrote many pieces of code for several experiments, mostly related to data analysis and visualization. Awarded a grant by the Sweden-America Foundation to spend a year at Michigan State University, MI, USA. Awarded a grant to develop a simple data analysis program for the Mac to be used in undergrad teaching lab. It was still in use when I graduated. 1986: Software contractor Hired over summer break by the Nuclear Physics group at the University to develop a data visualization program for nuclear physics experiments. Hugely impressed everyone since it used 2-D graphics. Open Source Programs At github.com/massemanet gtknode - an Erlang GTK binding inotify - an Erlang binding to the Linux inotify API redbug - a tracing debugger for Erlang ... At github.com/marijnh/CodeMirror/tree/master/mode/erlang An erlang mode for CodeMirror (a code editor javascript component) Maintains distel (Erlang-Emacs interface)