Bruno Windels

 

Software developer with a focus on privacy and cryptography, and a passion for usable, robust software. I like Scrum and regular pair-programming. Good code for me means short functions, no clever tricks, thoughtful naming, small contracts, avoiding global state in all its forms, and unit tests.

 

Work experience

Senior Software Engineer – Element.io

Remote; July 2018 – March 2024

I worked on Element Web/Desktop, an encrypted group chat application for the matrix.org ecosystem, working on cryptography (sender verification, decryption bugs), optimizations (lazy-load room members), new features (message editing, new message composer), UX problems (eliminating message timeline scroll jumps) and design (full rebrand).

 

Since August 2020, I lead a complete rewrite under the name Hydrogen to radically improve performance, reducing the memory footprint from 1GB to 15mb (68x) by leveraging Indexeddb and an optimized update pipeline. For this rewrite, I re-implemented the whole cryptography layer (on top of a library with primitives) to fit into the new architecture. This resulted in an encrypted room load time of less then 50ms.

Senior Software Engineer – Microsoft

Berlin, Germany; June 2015 – June 2018

I worked on the Windows desktop + phone (UWP) client for Microsoft To-Do, working on sync, account support, Windows account authentication, and app architecture. In this position, I previously was the lead developer on a lightweight, real-time web client for Wunderlist (target load time of 200ms).

Senior Front-end Developer – 6Wunderkinder

Berlin, Germany; January 2014 – June 2015

I worked on the web client for Wunderlist, a To-do list application. I was the lead developer on several main features, such as folders for lists, revamping drag and drop, the 2015 year in review page, and the new login service. I worked with backbone, underscore, node.js and several smaller libraries. The company got acquired by Microsoft in June 2015.

Front-end Developer – Nokia HERE

Berlin, Germany; August 2011 – September 2013

Worked on a web app for visualizing GPS and other sensor data, extracting patterns such as snowboard tricks out of the data. I built a rich zoom-able time-line tool for internal use to show the patterns on top of the data, and worked on a user facing web app to show and compare your tricks with other users. I worked with canvas, webgl and node.js for this project.

Born in Belgium on 31/03/1983.

 

16 Rue de Pen ar Mean, 29217 Plougonvelin

bruno@windels.cloud

github.com/bwindels

 

Native in Dutch, proficient in English and good command of French and German.

Software Engineer (remote, contract) – Madoc

Berlin, Germany; September 2010 – September 2011

I developed an authoring system for museum touch-

screens. The system is in use today and is implemented as a HTML5 SPA. It includes a WYSIWYG editor, a read-only viewer, a translation interface, a photo upload panel with upload queue, a sync daemon, a mapping service, and a user administration panel. The editor and viewer are DPI independent, scaling text, icons and photos to the size of the view-port.

Software Engineer – Innopulse

Madrid, Spain; April 2009 – May 2010

Worked with a wide range of projects and technologies;

C#, PHP, Objective-C, OpenGL, JavaME, ...

Software Engineer – Smart Soft Solutions

Madrid, Spain; September 2008 – September March 2009

Worked on an application for a Spanish bank using J2EE

and Adobe Flex.

Programmer/Analyst – UPM Madrid

Madrid, Spain; March 2007– September 2008

3 months Erasmus internship, and working full time after

that on projects in PHP, J2EE and C#.

Webmaster – Multimediart

Oudenaarde, Belgium; 1999 – 2001

Lead developer on in-house developed CMS with PHP4

and Javascript. Implementation of graphic designs in

HTML4 and CSS, and programming of numerous

database-backed web pages with PHP4.

 

Studies

Bachelor in Applied Computer Science at HoGent

Ghent, Belgium; 2004 – 2007