This page uses a stylesheet designed specially for printing.
Last update: February 2017

Julien Wajsberg

Web and JavaScript Software Engineer
13 years of experience
Please follow me on Twitter and GitHub.

My ideal job: use my skills in Web, JavaScript and other technologies for the general community

Home address
92120 Montrouge, France
E-mail

Main Computer Skills

Work Experience

Mozilla, Connected Devices

Since 2016

Developer on a project to gather sensor data

2 months

With Project Sensorweb (code) a user would be able to access his own sensor data as well as contribute to a world map of the particulate matter and other pollution data.

  • Implemented third-party authentications on the API server
  • Implemented an importer for third-party data
Environment : JavaScript (ES6), Node.js, ExpressJS, Sequelize, PostgreSQL, Docker

Scrum master and developer on a voice-controlled interface to manage reminders in a busy family

6 months

With Project Cue and then Project Abigail (code) we wanted to help coordination between busy families' members using reminders.

  • Organized the team of 4 members with an agile methodoloy as Scrum Master
  • Defined the REST API that is exposed by the server
  • Developed the server side for Project Cue using peer programming with another team member, then improved it to fit the newer requirements for Project Abigail.
  • Developed the “Server Push” functionality
  • Ensured that everything was working end-to-end, by testing and contributing to other pieces, especially the code running on the device

In Project Cue we had to create a working prototype from scratch very quickly and thus take important decisions very early in the project. We also had to adapt very quickly to new directions.

Environment : JavaScript (ES6), Node.js, ExpressJS, SQLite, Service Workers, WebPush, Linux system administation

Developer on a multi-protocol connected devices orchestrating hub

5 months

With Project Link (code) we wanted to give the power back to the user about his own connected devices, and help him automate actions triggered by events. We used Rust as a programming language, which is a new low-level language developed by Mozilla to prevent some security flaws and better manage memory usage.

  • Developed the Rust library to access ZWave devices, wrapping the existing library OpenZWave using Rust's FFI.
  • Helped define the application's global architecture

For this project I had to learn quickly a lot of new technologies: ZWave, Rust, and the world of connected devices.

Environment : Rust, ZWave

Mozilla, Firefox OS

Between 2012 and 2016

Scrum master, technical lead and developer for the “Messages” (SMS/MMS) application in Firefox OS

3 years

With Firefox OS we pursued several converging goals: give access to a real smartphone to left out peopoe and thus let them access Internet; bring back the web on mobile platforms; break the Apple/Google duopoly on these platforms.

  • Organized the day-to-day development for the application “Messages”
  • Discussed with the product team and the UX and visual designers to define future changes
  • Helped external contribution by mentoring
  • Discussed about changes for Firefox OS as a whole
  • Worked on some Gecko APIs, mainly in JavaScript but also some C++

This very complex and bold project had major challenges, especially related to performance and user feeling. Firefox OS was indeed working on entry-level mobile phones, but still applications were supposed to launch in less than one second.

Environment : JavaScript (ES6), HTML, CSS, Scrum, C++

France Telecom-Orange, Orange Labs (R&D Division), Business Services

Between 2010 and 2012

Scrum master and developer for a Java and Web multi-device web-based virtual desktop

2 years

The scope of this project is building a web-based desktop that would work on any browser and any device, including a centralized authorization management with Single-Sign-On, and JavaScript-based inter-application communication.

  • Programmed a prototype for the Web virtual desktop
  • Designed and implemented the JavaScript API for the communication and cooperation between applications
  • Designed, developed, then led the Web tier development
  • Implemented the integration of third-party applications within the desktop
  • Developed the integration code for a remote application access solution
  • Since 2011: scrum master in the development team, composed of 2 to 6 persons

This software is complex with a lot of JavaScript code, which led me to design a tailored software architecture. I gained real JavaScript skills taking part in this development.

As scrum master, I was in charge of the everyday organization for the team and with the project leader.

Environment: JavaScript, HTML5, CSS3, J2EE, Scrum and other agile development methods, GWT, Eclipse, Spring, Wicket, JPA, Maven, Subversion, Linux, MySQL, Tomcat

Open Source referent for the Business Services entity

3 years

The Open Source contact group deals with requests for free software publication and ensures that software products based on open source third-party libraries are compliant with the respective licenses.

  • Processed the requests sent to the Open Source contact group
  • Oral presentations about free software aiming at educating (both technical and non-technical) members of my entity
  • Took part to discussions about the Group strategy for free software
  • Worked on building the website about Open Source in the Orange Group
  • Created and managed the GitHub account for Orange

Being involved in this group since 2012, I have been considering Open Source software from a company's point of view, in addition to my own perspective coming from my individual work.

Editing of a yearly report about the current state of HTML 5 and CSS 3

4 years

The goal of this document is to explain clearly the new developments in this field as well as the use of the new functions. It is aimed at the Orange Group developers, who can refer to it to know which functions are usable.

  • Management of interns for developing proof-of-concepts and writing reports
  • Oral presentations for developers in the Orange group
  • Assistance to other projects whenever help was needed
Environment: HTML5, CSS3, JavaScript

France Telecom-Orange, Orange Labs (R&D Division), Business Services

Between 2004 and 2010

Scrum master and developer for a Java and Web application dedicated to selling services and software products

2 years

This project included a subscription shop for services and an automatic provisioning with access control and usage report.

  • As a scrum master, I organized the work for the development team.
  • I took part in the application's design and development process, bringing my experience.
  • I supervised the development by a contractor of the shop website, made with Wicket and jQuery.
Environment: J2EE, Eclipse, Spring, Scrum and other agile development methods, Wicket, JPA, JavaScript, Maven, Subversion, Linux, MySQL, Tomcat

Managed software configuration management, integration, deployment and development for a Java project

  • Was in charge of configuration management using Subversion and Xerox' CodeX: continuous integration, deliveries, deployments
  • Was in charge of the system administration for the integration platform (Linux, multiple JOnAS and MySQL instances)
  • Developed a Web Service client for an external service with an invalid WSDL
Environment: J2EE, Spring, Eclipse, Subversion, Linux, MySQL, JOnAS, Unix shell

Carried out studies about rich interface solutions

  • Managed the study about rich interface solutions
  • Led a small team of external contractors and one trainee
  • Developed prototypes and assessed the main solutions
Environment: Linux, Windows, Flex, Xul, Eclipse, Ajax, Mozilla Firefox, Microsoft .Net, GWT, DWR

Developed a rule engine in JavaScript

  • Designed and developed a rule engine
  • Manipulated an HTML page using JavaScript
Environment: Eclipse, HTML, CSS, JavaScript, jQuery

Improved an existing solution for the creation and checking of digital signatures

  • Improved the JSP/Servlet part to be able to create the document to be signed in several formats (plain text, HTML, PDF)
  • Added the display of the document to be signed to the Java applet
  • Improved the signature checking layer
  • Added support for OCSP.
Environment: Windows, Applatoo, J2EE, Applet

Improved and maintained an e-invoicing application

  • Reviewed the installation process
  • Made the web interface more accessible
  • Added new planned features.
Environment: Linux, Java, J2EE, JSP, Struts, PostgreSQL

Studied C and C++ Web Services engines

Environment: Linux, GCC

Studied Java 5 new features

  • Wrote detailed and illustrated explanations for Java 5's new features
  • Studied how these features work, at the bytecode level
  • Studied how new features interact with Java 1.4 applications
  • Recommendations
Environment: Java 5, Eclipse

Developed and maintained the interface between an application and Tuxedo services

  • Developed web services using BEA Weblogic
  • Used Jolt clients to access Tuxedo services
Environment: Windows, Linux, BEA Weblogic, Web Services, Tuxedo, Jolt

Studied Web Services engines to be used in France Telecom's information system

  • Studied and evaluated the main toolkits for Java
  • Wrote a document describing the best practices and development rules
Environment: Windows, Axis, BEA Weblogic, IBM Websphere, Eclipse, Web Services

IBM Deutschland Entwicklung GmbH (IBM Germany)

2003
Six months

Designed and implemented the new development platform

Used CVS and created tools to extend its features, under Linux on s/390 architecture.
  • CVS configuration
  • Access management: web interface (PHP/MySQL) and CVS' triggers (Perl/MySQL)
  • Changes control: developed an interface between CVS and the bugtracker, using Perl
  • Web interface able to select specific versions (PHP/Perl)
Environment: CVS, PHP, Perl, MySQL, Linux, s/390

Euro Connect

Summer 2002
Three months

Carried out a security audit and set up a centralized authentication system

  • Updated the network map
  • Carried out a security audit of Linux (Red Hat) computers and updated out-of-date programs
  • Centralized authentication with LDAP (OpenLDAP)
  • Centralized system logs in a PostgreSQL database
  • Set up a sniffer logging all executed programs
Environment: Linux, PostgreSQL, OpenLDAP, FreeRADIUS, PAM

MiNET association

2001 — 2004

I was in charge of system and network administration

MiNET is a student association managing the students' local network of the INT (about 450 connected computers).
  • Wrote tutorials for students which were published on MiNET's website
  • Set up SSL encryption for external access to the mail server, and wrote scripts to update the certificates
  • Rewrote the web application to manage the association members: web interface with PHP, PostgreSQL database, Perl scripts for services configuration, like DHCP
  • Designed and programmed the new management application for DNS servers using PHP, PostgreSQL and Perl
  • Set up an antivirus and anti-spam filter using amavisd-new, SpamAssassin and ClamAV
Environment: Linux, PHP, PostgreSQL, MySQL, Perl, Apache, amavis, ClamAV, SpamAssassin

GLOBALIS media systems

Summer 2001
Two months

Studied PHP cache solutions

  • Studied existing cache solutions
  • Wrote a test protocol
  • Installed a server with Linux/Apache/PHP/MySQL
  • Wrote PHP scripts with functions close to real-life websites: access to database, numerical operations, etc.
  • Benchmarked and wrote a report about existing solutions and their efficiency
Environment: Linux, Apache, PHP, MySQL

Academic Achievements

2000 — 2003
Telecom SudParis (ex-Telecom INT): French engineering school specialized in networks and telecommunications, issuing the equivalent of an MSc: specific option focusing on computer science

Other Experiences

Paris-Web Association

2007 — 2010, 2016

Member and treasurer (since January 2008) of the association. Organization of the Paris-Web conferences

Every year, Paris-Web organizes a several-days conference each year about best practices, design and quality for the Web, bringing together about 500 professionals and enthusiasts.

From 2008 onwards, I became more involved as a treasurer and was part of the board of the association. I learned how to plan an event long ahead, and how to handle the different priority levels of members.

In 2016 I became involved again as the treasurer to help the new team in charge.

Maintenance and development of the JavaScript library dollardom

Since 2011
I used this library in a project at Orange. Because it was unmaintained, I decided to maintain it on my free time. This library is interesting because it abstracts only the minimal set of the browser functions that show compatibility problems.
  • Corrected bugs
  • Developed some unit tests
  • Set up a build system based on GNU make
  • Added functionalities: event abstraction, chaining "like jQuery" API
Environment: JavaScript, Jasmine, GNU make

I enjoyed transforming the one file that was sent to me into "a real project", with all the functionalities I want.

Télécom ParisTech (formerly ENST)

Between 2006 and 2012

Lecturer for practical works about Web Services

Designed exercises and helped students doing their practical works, then corrected the results.

Writing and giving lectures and practical works taught me how to explain advanced topics to true beginners.

Languages

French
Mother tongue
English
Read, written, spoken fluently (working in an american company since 2012)
German
Read, written, spoken (11 years studies, 6 months spent in Germany)
Spanish
Beginner

Computer skills

Operating systems
Linux (everyday use and system administration), Windows (ancient use and server administration)
On the Web

HTML, CSS, modern and cross-browser JavaScript, including Node.js

Because I'm no expert of some specific framework I can easily adapt to any environment.

In the Java world

Java (SCJP : 93%), JEE (SCWCD : 89%), Spring, Wicket, JPA 2, Hibernate

In other worlds

SQL (MySQL, PostgreSQL, SQLite), Rust, XML, XSLT, and to a lesser degree: XUL/XBL, LDAP, C/C++, PHP, Perl

Outside Interests

Traveling
In different countries and continents, mainly off the beaten track: Viet Nam, Canada, Guatemala, China...
Association activities
Member of the Paris-Web association for 5 editions; supports APRIL since December 2006
Sport and other hobbies
Others
Driving license.

References available on request.

Compliant with the W3C specifications