Résumé
David “Dario” Ahdoot
SUMMARY
Statement: My technical strengths include designing simple and elegant solutions to complicated problems. My experience has taught me how to tackle complex systems, think analytically, and to predict (and avoid) the consequences of poor decisions. Some of the projects I have worked on have involved a thorny intersection of threading, networking, and latency issues, and have had real-time, interactive performance requirements. I am fluent in C++, C#, and Python and have a strong knowledge of OO design methodologies and practices.
In addition to technical skills, I also have extensive experience working as a Development Manager. Above all I take pride in my ability to communicate clearly and work effectively with others, both in teams and as individuals. It is important to me to identify and foster the strengths of each of my team members while still promoting shared responsibilities amongst everybody. I have employ Agile development concepts to this end, as I believe them to be critical tools towards developing and delivering effective and maintainable software.
Languages/Frameworks: C/C++, C#/.Net, Python, STL, WPF, Boost, Qt, MFC, Win32, GDI, GDI+, OpenGL, DirectShow, SWIG, SQL, XML, XSL, XHTML,CSS, JavaScript, Sockets, Threads, Maya/Max/XSI/MoBu SDKs.
Development Tools: Visual Studio 6.0-9.0, NUnit, Eclipse, Subversion, Mercurial, SharePoint
WORK EXPERIENCE
Image Metrics Jan 09 – Present
Software Development Manager/Project Manager/Lead Developer
Hired to create and manage brand new software development team in Santa Monica office. Established development methodologies (SCRUM), standards, and toolsets. Collaborated with CEO, CTO, and Product Manager to develop product roadmaps and priorities. Acting as Lead Developer for all company software products and tools. Support Image Metrics animation team with development and support needs. Random achievements:
- Manage a team of three software engineers and one QA engineer.
- Architect and develop next generation video analysis tool (C#, SWIG).
- Develop custom retargeting plugins for standard animation packages (C++, Qt, Maya/Max/XSI/MoBu).
- Integrated real time facial animation technology into a working prototype, allowing webcam video footage to drive 3D avatars (C++, Qt, DirectShow, Threads).
- Developed customized build and test system (Python, Subversion/Mercurial).
Vicon/House of Moves Feb 98 – Nov 08
Software Development Manager/Project Manager/Lead Developer Nov 06 – Nov 08
As Software Development for Vicon’s entertainment market applications, I was a member of the company’s “Software Management Team,” whose mandate it was to create great software applications which would serve as the primary interface between our customers and our products. In addition, it was our responsibility to coordinate development efforts between 3 geographically isolated development teams (Los Angeles, Denver and Oxford), promoting communication and cooperation, and establishing policies that would lead to agile and sustainable development. As Project Manager, I served as Technical Lead, Lead Developer, and Development Manager for Vicon’s entertainment market applications, Blade and ViconGP. Blade is a high performance, real time application for interfacing with Vicon’s motion capture system. ViconGP is a set of plugins for popular CG packages (e.g. Maya, Motion Builder, etc.). As Project Manager and Lead Developer of Blade, my accomplishments include:
- Managed team of 5 software engineers.
- Employed a variety of Agile programming concepts to ship quality products on tight deadlines. These include pair programming, peer review, short iteration cycles, and elements of test driven development.
- Developed vision documents and technical specifications for feature sets through the creation of use case scenarios.
- Coordinated daily with Product Management, Support, and QA teams to prioritize and address features/bugs.
- Co-architected the integration of two major software components: Hardware Abstraction Layer (HAL) and Real Time Kernel (RTK) in Blade core (C++).
- Implemented “Real Time Data Pipeline”, allowing HAL, RTK, and other components to be distributed across multiple PC’s for high throughput, high computation, real time processing (C++).
- Maintained intimate knowledge of every aspect of the application, providing guidance and leadership to rest of development team.
- Wrote an application for controlling and communicating with “Head Mounted Camera” hardware. The application allowed for live visualization of images from each of the cameras. It also allowed the operator to initiate video recording and transfer of the recordings to their computer. The system has been used in at least 2 major motion pictures (C#).
Senior Software Developer Jan 03-Oct 06
- Lead software developer for Diva motion capture application (now called Blade) (C++).
- Responsible for development of virtually all parts of the application, including user interface and core functionality.
- Co-designed (with artist) and implemented major user interface overhaul.
- Created Diva Batch System (DBS), a distributed processing framework of three applications written in Qt (Server, Client, and Slave), allowing Clients to send large processing jobs to Server, which would split up the jobs into smaller work units to distribute among available Slaves. This allowed very lengthy tasks to be completed much faster using available CPU cycles on machines running throughout an enterprise (C++, Qt).
- Created plug-in framework, allowing users and third-party developers to extend Diva’s functionality.
Junior/Senior Software Developer Jan 03-Oct 06
- Wrote retargeting framework, allowing animations to be “translated” between CG characters. This library is now used in Autodesk’s Maya animation package.
- Managed “Datatrack”, an SQL database for tracking motion capture data. Implemented link and interface to Datatrack in Diva.
- Many tasks too varied to list.
Motion Capture Technician Feb 98-June 00
- Ran motion capture shoots.
- Processed motion capture data.
- Wrote scripts to automate pipeline for data processing and delivery.
EDUCATION
B.A. in Sociology, UCLA, 1995