Senior Software Engineer
Santa Monica, CA 90405
I am a software developer with 7 years of professional C++ software development experience. During my career, I have mostly concentrated on computer
graphics, high-performance and parallel computing, and recently mobile application development.
I value and strive to develop elegant software, by which I mean software that is 1) usable, 2) well-designed, and 3) efficient. Achieving any combination of two out of three by sacrificing one is easy. Achieving all three is not, and continues to be an ongoing effort in our industry, as it requires knowledge of a wide array of computer science topics, an understanding of software engineering methodologies and best practices, familiarity with the underlying hardware platform, a pinch of aesthetics, and just as importantly experience. Consequently, I find it important as a programmer to perfect my skills in all above areas.
Alas, as humans, our mental capacity is limited, and the computing technology is moving at an astonishing rate. We have no other option but to subscribe to the solution put before us by evolution: specialization and team work.
Domain Knowledge: 3D Computer Graphics, Real-time Rendering, High Performance Computing, Parallel Computing, Performance Optimization, Mobile Application Development, Applied Mathematics
Programming Languages: C/C++, Objective-C, C#, Java, Python, ARM / x86 Assembly, Shading Languages
Platforms: PC, Mac, Linux, Android, iOS
Image Metrics, Inc.
, Santa Monica, CA 08-2011 – Present
Senior Staff Software Engineer
In chronological order:
Ported Image Metrics FACEWARE™ to support the latest version (2012 at the time) of all major DCC packages (Maya, 3ds Max, SoftImage, and MotionBuilder.)
Participated in development of Image Metrics Analyzer, the latest addition to the FACEWARE family.
Worked with the team to design the system, and implement the feature-set.
Optimized the resource loading pipeline to take advantage of multi-core CPUs.
Participated in development of Image Metrics LiveDriver™ SDK.
Ported the SDK to Linux, Android, and iOS by completely rewriting or replacing platform-dependent libraries.
Overhauled and optimized LiveDriver's threading model to decrease latency and increase throughput.
Optimized LiveDriver's pipeline for better code cache and data cache utilization.
Extensively profiled and optimized LiveDirver's time-critical portions of the code base (SSE2 / SSSE3 for x86-64, hand-tuned NEON assembly for ARMv7.)
Overhauled Image Metrics' Video Capture pipeline.
Helped develop an iOS and an Android demo application to showcase the technology on mobile devices.
Participated in development of Image Metrics Face Off (PC).
Helped design and architect the application, and implement the feature-set.
Greatly optimized the rendering and video processing pipeline – decreased video processing time by almost an order of magnitude.
Participated in development of Image Metrics Mojo Masks*** (iOS).
Responsible for integrating the Live Driver SDK as the application's backend processing engine.
More performance optimizations!
* FACEWARE™ is Image Metrics' proprietary marker-less facial animation technology targeted towards offline animation processing for film and game industry.
** LiveDriver™ SDK is Image Metrics' proprietary real-time video and animation technology targeted towards real-time animation processing for game industry.
*** Mojo Masks iOS: https://itunes.apple.com/us/app/mojo-masks/id567788500?mt=8
, Santa Monica, CA 06-2011 – Present
Working on the second incarnation of Aphrodite game engine in my free time.
, Karlsruhe, Germany 06-2006 – 08-2011
Software Engineer, Contract
06-2006 – 08-2009, Shiraz, Iran
08-2009 – 12-2009, Norrköping, Sweden
12-2009 – 01-2010, Karlsruhe, Germany
01-2010 – 08-2011, Los Angeles, CA
A) Developed (researched, architected, implemented, and maintained), and licensed Aphrodite, The 3D Real-time rendering engine, to PTV for use in their flagship product VISSIM (a microscopic behavior-based multi-modal traffic flow simulation program). Aphrodite, being a one-man project consisting over 100K lines of code, is the culmination of five (5) years of extensive research and active development.
B) Maintained and extended V3DM (V3DM is VISSIM's editor and preprocessing tool)
Wrote and maintained importers for Google SketchUp, and Autodesk DWF formats, which to the best of my knowledge were among the very few, if not the only, third-party importers available for these file formats at the time of writing.
Fixed long-standing technical issues (z-fighting, improper clipping and culling, etc.)
Norrköping – Sweden 03-2010 – 05-2010
To Aida Vitoria and Jan Petersson in Data Structures (using C++.)
Shiraz – Iran 02-2006 – 05-2006
To Dr. Ahmad Towhidi in Principles of Programming (using C.)
Master's Student in Advanced Computer Graphics , Linköping University – Norrköping, Sweden 09-2009 – 08-2010
Areas of Concentration: Real-time Rendering, Parallel Computing on GPU.
Among top graduates of Computer Graphics Programming, Numerical Methods for Advanced Computer Graphics and Image Processing.
GPA = 3.1
Dropped out to relocate to the United States as a Lawful Permanent Resident.
BEng, Software Engineering , Shiraz University, Shiraz – Iran 09-2003 – 06-2008
Areas of Concentration: Software Engineering Methodologies, 3D Computer Graphics, Applied Mathematics.
Graduation Project: Aphrodite, The 3D Real-time Rendering Engine – passed with highest distinction.
GPA = 3.0