Fork me on GitHub

Software Developer

Confirmed Clean Coder, Optimistic Toolmaker, e-mail novelist, Chameleon Facilitator, Explorer of all languages and hidden guitar player.


As a follower of the software craftsmanship movement, an open source enthusiast and an Agile advocate, I have worked with computers for 10 years. While starting my career as a technician, I quickly became an experienced Java developer and a good team worker. I loves the web, small automation tools and I am always looking for new technologies to play with.


Objective: to learn a lot, to share my knowledge, to discover (always) and to make friday releases a safe (as well as boring) event. And since I achieved this crazy idea to go and live in Cardiff, I keep trying to resolve new challenges!

Experience


Lead Software Developer at Scalaris

1-5 employees; Internet industry / Health Services Industry
September 2013 - Present, Cardiff, Wales, United Kingdom

  • Starting full automation of the project (Continuous Integration via Jenkins, Deployment with Ansible)
  • Drastically improving the code coverage
  • Preparing the firsts Functional tests using Selenium suites written in Scala
  • General improvements of the main product (Java API + ExtJS Frontend)
  • Assuring liaison with our client, keeping up to date the Backlog and maintaining consistency of the features across the application
  • Creation of the base stack of a new product using Jersey, Akka and Redis
  • Interfacing with a proprietary tracking device and limited analysis of time series
  • Building a mobile app for it in full Javascript with the help of AppGyver Steroids
  • Also introduced the Tech Lunch, a series of talks about tools and technologies during Friday lunch time

Web developer at Box UK

51-200 employees; Internet industry
September 2012 - August 2013, Cardiff, Wales, United Kingdom

Integrate the main client team as a SCRUM Master:
  • Start the SCRUM routine
  • Giving feedback to the Product Manager and Business analyst
  • Producing relevant metrics
  • Pointing blockers (not enough, maybe)
Technically:
  • Handling the process of rewriting the main framework in Symfony2
  • Continuing the good practices already in place (CI, Unit tests, Pull Request reviews, Clean code, ...) by advertising for a common code base
  • Introducing a step of continuous delivery for the test environments (via the Symfony flavour of Capistrano)
  • Working in an Amazon environment (EC2, S3, ...)
  • Improving the performance of the application especially via a Varnish Cache configuration.
Personally:
  • Improving the way I work alone
  • Considerably improving my english
  • Try to enforcing my online portfolio by writing blogs, giving talks and investing in some side projects
  • Attending the geek events of Cardiff

Lead Developer at Evergig

1-10 employees; Media and entertainment company
April 2012 - May 2012 (2 months), Paris, France

Settings up the technical architecture of the site based on Node.js and using:
  • express.js
  • passeport.js, for authentication
  • cradle, for CouchDB database access

Behind the tech:

  • 3 to 4 people team.
  • First "Startup" experience.
  • Enrichment on setting up all needed layers to build a complete web application. From the first line of code to production deployment.
  • Discovering integration test tools (casperjs, frisby).

Java / Web Developer, Scrum Master at VIDAL

50-200 employees; Information Technology and Health Services industry
May 2010 - Present (2 years), Issy Les Moulineaux, Paris region, France

Integration in the SCRUM organised front end team at VIDAL:
  • Worked in collaboration with the Product Owner through a Project Backlog
  • Took part in the continual improvement process
  • Learnt several good development practices (from eXtreme Programming)
    • Test Driven Development (JUnit, JS-Test-Driver)
    • Continuous Integration (Teamcity, Selenium)
    • Pair Programming
    • Peer reviews

Technically speaking:

  • Complete freedom in our development environment. My favorite is Linux and a good shell (zsh) with IntelliJ and vi
  • In charge of the development and maintenance of the following software:
    • The business software layer (Maven, Spring, Hibernate, Lucene, ...)
    • The Web applications:
      • Server side: Java API REST (Spring MVC, Jersey)
      • Client side: Javascript and asynchronous requests
    • SOAP Webservices (xfire, aegis, dozer)

I also completed the following missions:

  • Transition from the SVN version control system to a more modern one, Git, for which I became the team's expert
  • Developed a Web application for internal use (Play ! Framework) in order to check our API
  • Improved the Continuous Integration server by adding a Continuous Deployment feature
  • Wrote automated integration tests on our products installers (Vagrant)

At the end of 2010, I was given the position of SCRUM Master and I widely improved my Agile Methods skills:

  • Follow useful values (Burndown Chart, Cumulative Flow Diagram)
  • Conduct Sprint Demos and retrospectives

Furthermore, I maintain a permanent technological scouting by:

  • Contributing in Open source projects
  • Going to several User Groups (in Paris)
  • Going to international conferences (Devoxx, JSConf)
  • Helping to organise events like ParisJS
  • Doing Randori
  • Working on pet projects to discover and improve my skills in Play ! 2.0, Scala, Node.js and so on

Junior Software Developer at Safig Dataway

500-1000 employees; Banking industry
June 2005 - May 2010 (5 years)

From January 2009 to May 2010:

  • Started creating a Web portal to aggregate every service of the company based on SpringSource technologies
  • Started writing API for our services
  • Used a software factory with tools like Trac, Subversion, Hudson, Sonar and kept a good code coverage by writing unit tests of the application

From March 2008 to December 2008:

  • Built a Web application for the European SEPA project with the following features:
    • Convertion of French bank codes (RIB) into BIC and IBAN
    • Detection of the customer's bank to use a design (or an authentication system if needed) personalised by said bank (Spring Security)
    • Allowing customers to send plain text files to an asynchronous batch system (Spring batch)
    • Discovered Open Source tools and frameworks for the Java platform (Tomcat, Eclipse, Maven, Spring MVC, WebFlow, Hibernate)
    • Did product maintenance

From June 2005 and March 2008:

  • Translated the main product (French postal standardisation) from Cobol to Java with the help of the IsCobol compiler
  • Built a Webservice interface for the product, consumed by IBM Websphere (Axis 1)
  • Wrote several Visual Basic for Application (Excel) macros to display statistic charts and standardisation reports
  • Adapted all the SunOS scripts for them to work on the new Cygwin based server
  • Bootstrapped the replacement of the Microfocus compiler by CobolIT to ensure C language integration and Unix compatibility. The first reason for this choice was the progressive abandon of the IBM mainframes by our customers
  • Did the maintenance of the Cobol products (CA-Realia II, Microfocus, SQL servers, Oracle, DB2)

Data / Computer Technician at Safig Dataway

500-1000 employees; Banking industry
April 2004 - June 2005 (1 year 3 months), Paris, France

  • Applying standardisation treatments on files and databases of postal addresses in compliance with state rules (using Shell commands and DBase systems)
  • Fixing office computers (mostly on Windows Operating System)

Junior Software Developer Modifier at DESA Logiciel

April 2003 - October 2003 (7 months), Versailles, France

  • Development of the user interface evolution of our main product (Visual C++ v7)
  • Technical hotline

Education


IUT (~College of Advanced Technology) Leonard de Vinci

DUT (two-year diploma from a university institute of technology), Information Technology
2000 - 2002 (2 years), Reims, France

Certification


Functional Programming Principles in Scala (with distinction)

Coursera; 27 May 2013; Statement of Accomplishment

Scrum Master

Scrum Alliance; November 2011 to November 2013

Referees


"Aurélien is a seriously good developer. He has great ability to tackle problems of various complexity and even in languages that he may not be comfortable in. Also of great value was the work he did on internal tools and automation tasks to ensure everyone in the team could work in a more streamlined fashion. Finally, Aurélien is a team player and a great character to have around any development team." 4 Décembre 2013

Ian Jenkins, Principal Developer at Box UK

Has worked with me at Box UK

"Aurélien is a passionate, objective developer who excelled at creating tools to streamline our development processes. The tasks he was given required him to work in languages unfamiliar to him but he acclimatised quickly and soon became an asset to the team. I thoroughly enjoyed working with him - he's a fantastic character who fitted in well at the company." 3 Décembre 2013

Craig Marvelley, Head of Platform at BipSync

Has worked with me at Box UK

"I am actually very sad I could not work longer with Aurélien. We worked together only three months before he left Vidal but this has been awesome! Not only knowledgeable about all Vidal projects, Aurélien is passionate about his profession, enthusiastic about experimenting new things and positively crazy (just the perfect amount of craziness, no less, no more). He is not far from fulfilling the perfect colleague requirements, in my opinion. Whoever you are, dear reader, consider yourself lucky if you hire him." 18 Décembre 2012

Florent Biville, Developer at Lateral Thoughts

Has worked with me at VIDAL

"Aurélien is a very good Java and Web developper. He¿s passionate about OpenSource and I learned a lot about Linux tools or tricks thanks to him. He is eager to always learn and try new languages (like Scala) or Agile practices to enhance our workflow. He is also a great coworker, a wonderful teamplayer and have high communication skills ! I'm enjoying a lot working with him, and I hope it will last." 8 octobre 2011

Gregory Paul, Web and Java engineer at Valtech

Has worked with me at VIDAL

"I met Aurélien while I was a consultant for Safig Dataway, delivering a project on a very short timeframe, using technologies that were very effective but unknown to the company at that time. Aurélien, who was a Safig employee, picked up the pace very quickly and was able to embrace the project very effectively. Indeed, he has since gained competence as a software developer and we often cross paths in local Java User Groups. I would definitely recommend working with Aurélien if you ever get the opportunity." 11 octobre 2011

Eric Bottard, Senior Software Engineer at Pivotal Inc.

Has been advisor for Safig Dataway

Portfolio


Coding projects:


Albot: https://github.com/boxuk/albot
Albot is a small command line tool built as an attempt to help us with our Developement process at Box UK.

Yammer adapter for Hubot: https://github.com/athieriot/hubot-yammer
Yammer is a social network for companies.
Hubot is a customizable, kegerator-powered life embetterment robot written in Coffescript on Node.js.
I made an adapter that allows Yammer users to talk to Hubot.

specs2-embedmongo: https://github.com/athieriot/specs2-embedmongo
A small Scala library that helps you to easily use an Embedded MongoDB instance in a Specs2 test suite.

Travis App: https://github.com/athieriot/travisci-android
An Android application for the Continuous Integration service: Travis CI
Downloadable on Google Play

JTaches: https://github.com/athieriot/JTaches
JTaches provides a Java way to execute tasks on file events. Mostly inspired by the Guard ruby gem.

Walternate: https://github.com/athieriot/walternate
A small Node.js project to play with the Neo4J graph database. The goal is to recommend movies via the actors and crew members.

Contribution on the Infinitest project: https://github.com/infinitest/infinitest
Infinitest is a Continuous Test Runner for Java.
I made some fixes for the IntelliJ plugin.

Contribution on Composer: https://github.com/composer/composer
Composer is a dependency manager for PHP.
I added the possibility to update more than one package at a time.

Discover more on my Github profile: https://github.com/athieriot


Knowledge sharing:


Quickie at Devoxx UK 2013
Crossing the Channel : http://parleys.com/play/516526ffe4b09b60aec89d0a/chapter0/about

Presentation of 'commander.js' at Paris Node Meetup 2, La cantine, Paris
Slides : http://aurelien.thier.io/wing-commander-js/
Live (18:00) : http://lacantine.ubicast.eu/videos/nodejs-160412-22/

Guest blogging
Coffeescript for command line tools: http://gun.io/blog/a-drop-of-Coffee/

A few technical topics for Box UK
CasperJS : http://aurelien.thier.io/casperjs-ghost-tour/
Meteor : http://www.boxuk.com/blog/*/Module%5B176%5D%5Bauthor%5D/7002/

This resume and the blog: https://github.com/athieriot/athieriot.github.com
Built with Jekyll, Twitter Bootstrap and hosted on Github Pages.
Not as updated as I want it to be though.

Interests



Reading Uchronia / Writing / Taking pictures / Playing guitar / Coding for fun / Travelling everywhere / Watching Korean movies / British TV shows / Listening to indie pop music