Bio

My name is Emmanuel Touzery, I’m a software developer. I’m French living in Slovenia, father of three, these days coding java by day, haskell by night, linux user, ex-rubyist.

Twitter: @emmanueltouzery
Github: emmanueltouzery
Stackoverflow: emmanueltouzery / CV

Passionate software developer, who loves solving problems and build software that helps people and companies. From the moment I learned how to program, I would always study different technologies at home than at work or at school, enjoying the challenge and trying to stay ahead of the curve. For a long time that was ruby, these days it’s with haskell and lisp-based languages. I also played with OpenGL, my raspberry pi and wrote various android apps for my phone through time. I also like to think I’m a good team player, whether in cooperation with my peers, or mentoring of junior developers.

I have a strong experience in communicating with customers, preparing specifications, leading projects to their completion and supporting them.

Experience

Senior software engineer - LIT Transit - Jan 2013 → Current

java javaee hibernate postgresql angularjs html5 spacemacs linux android

LIT Transit (Ljubljana, Slovenia) develops public transit solutions for customers around the world. I got to cooperate in particular with customers in Singapore. I was responsible for the writing of specifications, work effort estimates, implementation and supervision of some other team members. I participated in the implementation and maintenance of several bigger software projects and also multiple side-projects. My main area of expertise is the backend, but I did implement several important android projects and do a fair amount of frontend work.

Software engineer - Regulussoft d.o.o. - Jan 2002 → Jan 2013 (11 years)

c# .net android palm nhibernate html jquery javascript visual-studio eclipse vim svn qt qt-creator sql sql-server mysql java jdevelop

Regulussoft (Ljubljana, Slovenia) is a smaller software development company developing solutions for third parties. I had the opportunity to work with numerous customers and technologies through the years. My experience mixed longer, multi-year, projects, with shorter multi-month ones. In a smaller company, I could develop my self-initiative and flexibility. I could also get exposition to many different technologies through that time (windows CE, symbian, palm, android, windows, linux, java, .NET, even a bit PHP, and so on).

Education

Masters of Science, National University of Ireland, Maynooth (2001)

Final year of studies in Ireland through the ERASMUS student exchange program. Obtained a MSc from Maynooth as well as the engineering degree from Telecom Nancy.

Software engineer, Telecom Nancy, France (1999-2001)

Software engineering school in three years (admission after two years of Higher School Preparatory Classes in France). Last year through the ERASMUS programme. Gave me a solid theoretical and practical base on the technical side, together with a preparation to practical enterprise work. The second year internship was in the LORIA research institution.

Presentations I’ve given

Javaslang & FP in java
java functional-programming
Ljubljana Java meetup group Jan 2017
Dabbling with Reflex FRP
haskell reactive-programming
Ljubljana Lambdas meetup group Mar 2016

Also see blog posts in the archive.

OSS projects I’ve written or contributed to

I’ve authored or contributed to a series of OSS projects, mostly in haskell, typescript, and java.

Functional programming

I’m the author of prelude-ts, which is a typescript library aiming to make functional programming concepts accessible and productive in typescript. It provides immutable & persistent collections such as a vector, set and map, and functional control constructs like option/maybe and either.

I have made significant contributions to the vavr java project, which is an object-functional language extension to Java 8.

Parsing & Interoperability

I also wrote hsexif, a haskell library which parses EXIF information from JPEG and RAW files.

I have made significant contributions to and am co-maintaining slack-web, which is a modern haskell library offering bindings to the slack team messaging web API.

Angular type-checking

I wrote ng-typeview, which enables type-checking of angular1 views when you use typescript with angularjs. ng-typeview parses HTML views and javascript/typescript controllers and directives, and enables type-checking of the views against your typescript.

GUI applications

I wrote projectpad, a haskell application using QML for its GUI and SQLCipher, a SQLite extension offering encryption for data storage, to manage secret credentials and server information.

I also wrote cigale-timesheet, which is a haskell application using bootstrap and reflex for its GUI. That application collects data from various sources (source control, chats, emails, calendar, bugtracking software) to help the user prepare a timesheet of the tasks he or she has been performing.