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.