Contact infos

Email Jean Schurger <jean@schurger.org>
Citizenship born in France in August 1978, Canadian citizen
Website (mainly french) https://schurger.org

Skills

  • I'm easily building clear outlook of large technical projects while being able to step in deep and quickly on specific implementations regardless of the technology employed.
  • I'm confident on my capacity to dive info analysis of issues, even in "unknown territory"
  • My development career strengthens my ability to have a good comprehension of the development projects I would realize, being aware of common resources and performance problems
  • Using quality assurance tools, as well as following coding style guides, KISS, and practicing source code management, are habits who decorating pleasantly my daily
  • My current environment includes the Python programming language, an Linux operating system, I'm pretty aware of the technologies and protocol involved in Web applications, including digging into low-level network investigation
  • I'm comfortable in C, my electronic education and the linux kernel developments I did remains me close to the operating system
  • I have experience with relational databases (mainly MySQL) and document-oriented databases (Redis, MongoDB and its traps), but I would not say I like it
  • I'm managing people (the software developers are not always the most sociable ones)

Work experience

Co-funder @ Developpement Ubi2 Inc.

CTO @ Ubity Inc.

VOIP provider

I joined the company in 2009 as the first software developer. Then recruted and managed the development team ( ≈ 6 members) Now, as CTO, I also capitalize on my global technical knowledge of Ubity to focus on enhancing the technologies involved in the infrastructure and software developments.

The main developments I worked on are:

  • The Web UI JQuery and Angular for the Javascript, Less for the CSS, Bootstrap, Mako for the HTML
  • The backends using the Python frameworks Pylons and Flask
  • WebRTC application in Javascript
  • XMPP protocol analysis, Ejabberd server patching in Erlang
  • The real-time event handling infrastructure in Python using py-Asterisk, MongoDB, SQLAlchemy, RabbitMQ

Source code management with Mercurial and GIT

Scrum-like methodology using Trello

Free software consultant and half-director of support @ Savoir-Faire Linux

FOSS specialist service company

  • Project management with Trac and Redmine, patch to a burndown chart module written in Ruby
  • Dynamic Asterisk account creation implementation for Sflphone softphone. (HTTP server based on Pylons, simple C writen HTTP request on the client side)
  • Porting of the 'Poulsbo' linux kernel driver port from Linux 2.6.24 to 2.6.28, hacking on the X Window System driver to manage bad mapping of the graphic card in the memory
  • Stock and employee application development implementing a RESTful (involving XML, SQLAlchemy), and different frontends: Web UI and Windows Mobile embedded. (Featuring a GPS unit management)
  • Writing a Google Gadget in Javascript
  • Embedded Linux distribution development for light terminals, adding UI lockdown (GTK+ patch in C), configuration UI (Python and GTK+)
  • Teacher (Linux sysadmin bases, Mercurial, Perl)
  • Source code management Mercurial, GIT
  • Code Quality using automated tests, and "linters"

Software engineer and network administrator @ UTRAM

audiovisual services provider, and advertising company

Development

  • Firmware development (on Atmel microcontrollers, with avrlibc, and UISP) on an autonomous board controlling plasma screens via serial port
  • Wrote a MPEG2/HTML/Flash player, remote controllable from IO, and network. Running Debian, implemented in C and Perl, embedding an Web UI (Apache Perl CGI). Video decoding was achieved in two version, one using specific hardware, the other based on mplayer
  • Development of the monitoring interface for 70 of these players and approximately 1000 attached plasma screens (Apache Perl CGI, MRTG), logging in MySQL
  • Writing application to update screens internal variables, with an Python and GTK+ UI through the serial port, running on Windows and Linux
  • Build of a colorimetry measurement machine for led screens, (with an Atmel for the board, and using SDL and GTK+, for the UI)

Sysadmin

  • Mail Server administration (Exim, Courrier-Imap, procmail, horde)
  • Web ACL using Squid proxy

Free software consultant @ ALCOVE

FOSS specialist service company

Sysadmin (Debian, Apache, modproxy, VNC, Squid)

Development

  • Webmin module to manage Samba ACL
  • PCI linux kernel module for a custom IO bord
  • linux kernel module modification for custom ethernet usage
  • Gnome Evolution component port of a note keeper (yank)

Software integrator and developer @ IBAZAR/CHEZ.COM

now Ebay, and Tiscali I was in charge of:

  • The software packging on a Redhat infrastructure
  • Developing a filemanager and a simple text editor, both Web UI in pure HTML and backend in Perl, using CVS as VCS

Software developer (stage) @ TSA-FRANCE

remote administration company using printers and modems, (sort of high-res faxes)

Software developement, two versions of the same project (basicaly remote printing, over PPP, and printer status monitoring)

  1. Custom software from scratch writen with Borland C++ on the client side (running Windows 98) and C server, communicating with sockets, printer monitoring via // port
  2. The easy way: Sharing the printer with Samba, Lpr, and writing a little Web UI in HTML and Perl CGI. The server was running Redhat linux

Software developer (stage) @ INFODEV S.A

management software writing company

  • Website development (HTML and Perl CGI), including a little Java applet, hosting with both Windows NT4, and Apache
  • Writing C bindings for an assembly language library used to access DB files. The environment was Windows NT4, and Borland C

Education

MA (four year university degree) in « Systems and Networking » @ Université Paris 8, France

Two different projects:

  1. Writing a linux kernel module to share character device drivers through the network
  2. Modifying GDB itself, it's linux kernel side, and the serial port driver to let use only one serial port for both the GDB protocol and many TTYs. Development in C, implementing the telnet protocol (termio negotiations…)

BA (three year university degree) in « Micro-Electronic & Micro-Computing » @ Université Paris 8, France

The final project was the build of a robot for a contest. I did write the software in C to manage the moves, and ball throwing. The embedded operating system was OS9 (Microware, not apple) running on a Motorola 68020

BTS (two year university degree) in « Industrial-Computing » @ Lycée polyvalant Sens, France

The final project was a parking managment system, running Redhat linux My work was to write a linux kernel module to drive an Elektor IO PC board, and the UI on X Window System using the Motif toolkit in C++. The developments involved modeling methodology (using UML)

Baccalauréat (French national high school diploma) in « Electronic » @ Lycée polyvalant Sens, France

The final project was the build of a machine able to mesure how long a fluid can be stretch My work was to design and build the power supply and write the 68HC11 microcontroller firmware in Motorola assembly language

Miscellaneous

Languages

  • French (mother tongue, pretty aware of the language subtleties)
  • English (read, writen with some mistakes, able to discuss orally)
  • Spanish (read, usualy able to participate to a conversation)

Personal projects or hobbies

  • Pilot
  • Climbing (sport  ≈ 5.11)
  • Swing danse (Lindy hop)
  • Mechanics (Motorcycles and Subaru)
  • Piano (Jazz)
  • Homebrewing
  • Debian Maintainer
  • Various contributions to FOSS projets
  • Home automation (Home Assistant)

Various skills

  • Private Pilot License (Canadian)
  • Car and motorcycle license (both French and Canadian)
  • First aid training
  • Divemaster
  • My resume is writen in Org-mode + LaTeX, that rocks !