- Technical Architect
2016 - maintenant
- Technical Expert
2015 - 2016
- Projet Manager / Technical Leader
2013 - 2015
- Recruitment and training of Moroccan candidates to set up an offshore development center in Rabat (01/2013 – 03/2013):
- Creation of technical tests to recruit skilled developers among 40 candidates,
- Creation of training multimedia supports (keynotes, samples, exercises),
- Training of 40 candidates around .NET basic and advanced concepts.
- Technical leader (Customer: Cdiscount, Casino) for the offshore centre - since 03/2013
I am taking care of multiple projects outsourced to Rabat, Morocco. I manage the offshore developers and handle communications between the development team and the customer. More precisely:
- Managing about 10 offshore developers,
- Code review,
- Writing technical specifications,
- Training the offshore developers to ensure the delivered code matches the client expectations,
- Communications between the customer and the developers,
- Developing some critical software parts.
- Software Engineer
2011 - 2012
Worked as a consultant for Hager Controls on their distributed Domovea software solution (home automation).
Hager provides an home automation solution that can be installed on a PC or directly sold as a package with an automation box (hosting Windows CE). Thus, they provide a server software based upon the .NET framework (Compact framework for the embedded solution) and several client implementations (Windows smart client, Androïd and iOS applications).
I mainly worked on the server side software (PC and embedded version) and had the opportunity to work on the following subjects:
- Implementation of new features (source code always had to be fully compatible with the .NET Compact Framework),
- Designed, developed and API-documented the whole new communication layer used between the server and the clients (smart client, iPhone, iPad, Androïd devices),
- Implementation of a Host Device UPnP stack (C#, .NET framework 3.5),
- Implementation of a NetBIOS Name discovery stack for iPhone (C++, ObjectiveC),
- Worked on the WPF smart client (WPF, Prism, MVVM),
- Implementation of the new sequence editor in the domovea configurator (C#, Windows forms).
Expertise: Home automation, KNX standard, C#, Compact Framework, C++, Objective-C, UPnP, WPF, Prism, MVVM pattern, Windows forms, ZeroC Ice.
- Software engineer
2010 - 2011
Worked on VoIP, FoIP and Video over IP technologies.
Expertise: Visual C++, real time constraints, RTP, SNMP, UPnP, H.261, H.263, H.264.
Eurofins Lux SARL
- Software Engineer
2009 - 2010
I was hired to join the new development team in charge of the new Eurofins .NET framework applications were relying on.
The development of this framework was originally outsourced to Czech Republic and then brought back to Luxembourg. The first tasks I had to handle were:
- Going through the existing framework and pinpoint performance bottlenecks,
- Suggesting better implementations that could suit the consumers and provide better performances,
- Advise the framework users about the best way they should use it in order to fulfill their requirements,
- Improving the framework documentation.
In addition to those tasks, I quickly became the framework developer in charge of performance issues. Our development process had to respect a set of agile rules.
Expertise: .NET framework 3.5, VB.NET, C#, VB, test-driven development, Agile methods.
HP (Hewlett-Packard) Labs
- Research intern
2008 - 2009
The aim of my 8-month internship was to find a way to optimize the user experience in a virtualized environment in order to provide users, for instance, with a computer providing a multiple-VM environment allowing them to compartmentalize each use case (secured banking, multimedia, or separate professional and personal environments).
The main technical issues to overcome were the abilities to directly connect a GPU to a virtual machine to allow it to benefit from full graphics capabilities and switch from and to several virtual machines. Researches, implementations and proofs of concept were conducted on Xen, an open source hypervisor.
These goals led me to the following technical applications:
- Development of a Windows filter driver to properly disconnect the graphics card from the OS (C++, DDK),
- Development of Linux kernel modules to catch ACPI IRQs (C),
- Development of a new ACPI feature in the KVM ACPI virtual controller (C, Python),
- Windows ACPI Kernel-Debug into a guest OS,
- Study of the PCI and ACPI specifications,
- Consulting for other divisions of HP about ACPI features,
- Release of a patent in collaboration with Chris I. Dalton: Dynamic assignment of graphics processing units to virtual machines.
Expertise: Python, Xen hypervisor, C, Windows kernel debugging, ACPI, Microsoft DDK, PCI specification.
Patent released (with Chris I. Dalton): Dynamic assignment of graphics processing units to virtual machines.
- Software Developer
2007 - 2007
- Participated in the development of the payroll and accounting software (Implementation of new features, bug fixes).
- Development of new features in the C++ internal framework all EBP software relies on.
- Development of a commercial tool from scratch upon .NET framework 2.
Expertise: Visual C++, .NET framework 2, C#.
- Software Developer
2006 - 2006
- Development of a Windows Network Filter Driver in charge of catching VoIP packets,
- Development of prototypes around video compression and transmission upon H.263 and H.261 standards.
Expertise: Visual C++, Microsoft DDK, RTP and SIP protocols, H.263 and H.261 standards.