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. |
January 2006 - June 2006
|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.
|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.
|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. |
|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.
|Tunis/Tunisia, Loc@giciel: Part time job. Customized and added new features to an existing open source e-commerce solution. |
|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..|
|Grenoble/France, ENSIMAG(INPG): Bachelor of Science. Computer Science and Applied Mathematics.|
|Tunis/Tunisia, IPEST: Intensive preparation in undergraduate level for competitive entrance exam to French prestigious Grandes Ecoles.|
|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.
|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.
|Developed an Assembler for x86 architectures, wrote the elf generation and code relocation module. |
ELF format, code generation, compilation theory.
|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.
|Tunisian government scholarship. Merit based scholarship.|
|Treasurer of the Junior Entreprise association ($60 000 Income in 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
|strong mathematical background (statistics, probability, applied mathematics).|
|most flavours of Linux and some Unixes.|
|Java, C/C++, Pascal, x86 Assembly, some PowerPC Assembly.|
|PHP, Perl, Shell Script, some Python.|
|Very good knowledge of TCP/IP and network security.|
|Microsoft Access, Maple, Scilab, Matlab, R, CVS/SubVersion/Perforce/Git, LaTeX.|
|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.|
|tri-lingual Arabic, English, French.|
|German: basic level.|
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 $