Mahdi BEN HAMIDA

.
phone: (use email)
email: mahdouch --at-- gmail dot com

Experience
April 2010 - Present
Palo Alto, California/USA, VMware: Senior Software Engineer. Part of the core team who built VMware's vCloud Director product. Responsible for the multi-cell feature in the product. Led a team of 3 engineers to ensure product reliability, wrote scripts to push the product to its limits. Worked with other teams to address reliability concerns and to ensure resiliency to failures. Right now, I'm leading the performance and scalability team for the future version of vCD.
better understanding of transactionality/failure/resiliency in the context of multi-backend systems, performance troubleshooting/improvements; team/project management, planning and execution.
January 2009 - March 2010
Palo Alto, California/USA, VMware: Software Engineer II. Software design/implementation for VMware Cloud Services. Focused on multi-backend systems, stateless nodes and failover mechanisms.
Java, Hibernate, Spring, JMS.
January 2008 - December 2008
Palo Alto, California/USA, VMware: Software Engineer. Designed and built core components for VMware's Lab Manager and Stage Manager enterprise-class products; worked with VMware's vCenter virtualization APIs; implemented a build system for a C++ remote agent installed on ESX and ESXi hosts; investigated and solved resource leaks, performance issues; participated in architecture and design discussions, wrote software specifications, design and architecture documents.
C#, .NET, ASP, Virtualization, vCenter, ESX/ESXi, C/C++, Scons, SQL, SOAP.
October 2006 - December 2007
Redwood City, California/USA, Cataphora: Software Engineer. Led and participated in the developement of various java projects from project initiation through delivery. Worked on deployment/build automation; wrote shell/python scripts to automate some customer operations; set up customer web sites including installation, configuration and customization; worked with Client Services to ensure continuous availability of the application; and performed all necessary maintenance operations.
Python, XML, Spring, Acegi, Javascript, SQL, Java, Tomcat, Cross-platform enterprise software.
January 2006 - June 2006
5 months
Redwood City, California/USA, Cataphora: Intern. Designed and developed in Java new features in Cataphora's C-Evidence web application (pdf printing, graph generation, server monitoring), worked on test automation, wrote perl scripts to stress test web applications.
Tomcat, Perl, Tom Sawyer API, Ant.
Summer 2005
2 months
Paris/France, Sagem: Intern. Develped in C a CUPS driver (Linux) for a photo printer, developed in C++ a GUI application to monitor printer status (using WxWidgets), did packaging for linux distributions.
CUPS, USB interface, PPD files, WxWidgets, Autotools, UML, RPM.
Summer 2004
2 months
Grenoble/France, Oxone Technologies: Intern. Developed in PHP/MySQL a web and phone (SMS based) interface for classified ads, wrote an online address book management system for the company.
Mobile-Computer connectivity.
2004
2 weeks
Grenoble/France, Garance: Part time job. Ported a database from Microsoft Access to MySQL and ported the front-end application to a Web application(PHP/MySQL), leaded a team of three persons and provided delivrable on time.
Team management (3 persons), Access/MySQL portability.
2002
1 month
Tunis/Tunisia, Loc@giciel: Part time job. Customized and added new features to an existing open source e-commerce solution.
PHP/MySQL, e-commerce.

Education
2005-2006
Clemson, SC/USA, Clemson University/ENSIMAG(INPG): Master's Degree in Computer Science and Applied Mathematics. Exchange student at Clemson University. Graduate courses in operating systems (low level kernel programming), software development and specifications, software management..
2003-2005
Grenoble/France, ENSIMAG(INPG): Bachelor of Science. Computer Science and Applied Mathematics.
2000-2003
Tunis/Tunisia, IPEST: Intensive preparation in undergraduate level for competitive entrance exam to French prestigious Grandes Ecoles.

Academic projects
2005
3 weeks
Developed, in a team of four, a multitasking Operating System, used an FPGA card powered by a PowerPC Embedded core CPU, wrote in C and PowerPC Assembly most of the kernel internals (process scheduler, context switching, memory allocation).
PowerPC assembly, cross compilation (gcc), low level programming, multitasking internals, better understanding of the Linux kernel.
2005
1 month
Developed, in a team of three, a compiler for a subset of the pascal language, wrote the lexical analyzer and helped with the development of the code generator module.
Flex/Yacc tools, code generation, code optimization.
2004
2 weeks
Developed an Assembler for x86 architectures, wrote the elf generation and code relocation module.
ELF format, code generation, compilation theory.
2004
4 months
Designed an 8 bits CPU with 16 bits addressing bus (based on a simple automaton), designed and optimized the instruction set.
interruptions handling, design of a CPU on FPGA card, Xilinx modeling software, very good understanding of a primitif CPU internals.

Awards
2001-2006
Tunisian government scholarship. Merit based scholarship.

Extra-professional activities
2004-2005
Treasurer of the Junior Entreprise association ($60 000 Income in 2005).
2004-2005
System administrator at the ENSIMAG GNU/Linux User group.
VPN installation, user administration, Web administration, Security, helping with and promoting Linux.

Skills and abilities
Math
strong mathematical background (statistics, probability, applied mathematics).
O.S
most flavours of Linux and some Unixes.
Languages
Java, C/C++, Pascal, x86 Assembly, some PowerPC Assembly.
Scripts
PHP, Perl, Shell Script, some Python.
Networks
Very good knowledge of TCP/IP and network security.
Others
Microsoft Access, Maple, Scilab, Matlab, R, CVS/SubVersion/Perforce/Git, LaTeX.
OSS Projects
Developer and maintainer of SpamClear : a Bayesian spam filter plugin for dotclear (a french open source blog engine). Plugin written in PHP and using an Ajax UI.

Languages
tri-lingual Arabic, English, French.
German: basic level.
Spanish: beginner.

Interests and leisure activities
Arabic calligraphy, swimming, music (playing darbouka: an oriental drum instrument).
    $Id: resume.xml 98 2011-01-17 01:40:42Z Mahdi $