Benjamin Van Ryseghem

I am a years old software development enthusiast and I have the chance to live from my passion. I spent the last 10 years improving my skills, learning new things and working on awesome projects.
I am currently available for hire.

Brest is the capital city of Brittany (the far west of France) providing an awesome sea view combined with an astonishing seaside.

As I love living here, I will only consider remote positions.

Map data © OpenStreetMap contributors, CC-BY-SA

Imagery © Mapbox

I'm not a great programmer;
I'm just a good programmer with great habits.
Kent Beck
Timeline

Software Engineer Företagsplatsen

Full-stack engineer, UX & UI
  • Front-end development
    JavaScript development (ES5/ES6), client-side architecture, UX & UI design (Less/CSS, SVG icons). Unit testing is an important part of the development process, we are using Jasmine for JavaScript testing (through Karma).
  • Backend development
    Backend in C#, using the MVP framework for REST API handling. The server fetches the data from a CouchDB database. We use NUnit on the server-side for unit testing.
  • CI & DevOps
    Experience with automated testing via TeamCity. Automatic deployment on Microsoft Azure using Ansible.
July 2014 - June 2017

Research paper Science of Computer Programming

First Author
Publication of the article "Seamless Composition and Reuse of Customizable User Interfaces with Spec" by Benjamin Van Ryseghem, Stéphane Ducasse, Johan Fabry, in Science of Computer Programming Volume 96, Part 1
December 2014

Scientific Engineer Inria (RMoD)

Redesign of the Pharo Smalltalk IDE
  • Responsible for the refactoring of the legacy "Morphic UI" framework.
  • Implementation of Spec: a UI-generation framework.
  • Development of a fully-featured IDE solution for Pharo.
July - August 2013

Software engineer Företagsplatsen

Consulting
  • Development of a new major release of the web application: technical migration from a template-based server-side application to a component-based JavaScript single-page application.
  • Development of a cloud-based document archive application à la Dropbox for accounting agencies.
June 2013 - June 2014

Software engineer Google

Google Summer Of Code
Improvement of Spec: decoupling the models from the UI framework for better extensibility.
June - August 2013

Young Engineer Inria (RMoD)

UI framework development
  • Implementation of new UI widgets (in Morphic).
  • Refactoring of the legacy UI codebase.
March 2013

Computer Science Master Degree

First Year, UI/UX speciality
2012 - 2013

Facilitator ESUG

Head of the Student volunteer program
Coordination of the students and the well-being of the attendees at the 20th International Smalltalk Conference.
August 2012

Research paper IWST '12

First Author
Publication of the article "A Framework for the Specification and Reuse of UIs and their Models" by Benjamin Van Ryseghem, Stéphane Ducasse, and Johan Fabry at IWST '12.
August 2012

Young Engineer Inria (RMoD)

UI framework development
Improvement of widgets and the development of a widgets generation framework.
July - August 2012

Software engineer Google

Google Summer Of Code
Implementation the Traits support in Nautilus, the new default Pharo IDE I previously developed.
June - August 2012

Bachelor Degree in Computer Science

Speciality in Software Design and UI
2009 - 2012
Skills
95%
OOP
70%
FP
85%
Web
90%
Agile
80%
Tools
Highlights
Some highlights of FLOSS projects I developed or to which I was a core contributor
  • As a core maintainer of Pharo (an open source Smalltalk implementation), most of my Smalltalk projects have been integrated in the distribution. My other Smalltalk projects can be found on Smalltalkhub. Among those projects are the complete IDE solution, the main UI generation framework, a VCS solution, and a couple of widgets (tabs, circular menu, lists, etc.)
  • git-linter is a node-based command line tool and a docker-based GitHub/Gitlab CI integration that lint git commit messages using project-defined rules à la eslint. The code is distributed under the GPL 3.0 license.
  • SandGlass is an electron-based systray app used to track my working time. It provides a CLI for workflow integration and D3 based histograms of time per projects. The code is distributed under the GPL 3.0 license.
  • Great Things Done is a keyboard-centric GTD application based on Electron, and implemented in Clojure/ClojureScript. The front-end uses Reagent (an adaptor to React in CLJS), and implements some interesting features like a fully encrypted file-based database, global shortcut with macOS integrations, or Dock icon support. The code is distributed under the EPL 1.0 license.
  • ergotron is a hand-made custom keyboard I built from scratch. The firmware is based on the excellent ergodox-firmware by Ben Blazak. The firmrware has been extended to support a lot more keys and LEDs, leading to a new hardware layout. The code is distributed under the MIT license.
Hobbies
A small glimpse at things I love to do during my spare time
  • Cooking is where I spend most time out of work. I love to prepare a nice meal for my friends and I. I am always improving my skills by experimenting new recipes and cuisines. The fact that it requires to be focused and precise is a great way to free your mind.
  • Bouldering is a very fun sport with an awesome community. Even though it's an individual sport, you are never alone, and people always offer hints and tips. It requires to always outperform yourself and be very focus which I find are providing great satisfaction.
  • Gaming is most probably the hobby I practise for the longest time. It's really enjoyable to dive in a completely new universe, with whole new set of rules to learn, and see how your past experiences can help you mastering this new challenge. This apply to video games but also to board games or role playing games. And beside being fun, playing has always be a great way to learn and experiment.
My dream job
Great people to work with
We learn from our pairs and spend several hours a day with them. So having a good team spirit is mandatory. And a good team spirit comes from good team members
Not just another brick in the wall
Everyone should matter and have the opportunity to impact on what they do. I am also strongly convinced that involved worker are more motivated and thus more productive.
Self-Organized
I strongly believe in self-organized people as well as in self-organized teams. Decisions taken by doers are a lot more motivating and reflects better the team capabilities. Even though a team my need a leader occasionally, team members should be trusted to find the best way to reach the defined goals.
Remote
Remote positions allow to gather best suited people together. Not only the ones that happen to be located close by. Also mixing cultures brings creativity and opens minds.
More