Skip to: site menu | section menu | main content
Resume of Alex Hamed Ahmadi
“Quidquid latine dictum sit, altum sonatur.”
Technical Skills
- Programming Languages
Highly experienced in using C/C++ and Java. Exceptionally efficient at quickly developing bug-free code.
Proficient in Python, Perl, Lua, PHP, SQL, Q, SLANG[1],
GSS[2], HTML/CSS, Bash/sh.
- Data Structures, Algorithms, and Graph Theory
Excellent theoretical and practical background, as demonstrated by success in IOI, ACM-ICPC, and TopCoder
competitions, which focus on the rapid design and implementation of fast algorithms for various problems.
- Graphics APIs
Experienced in using OpenGL and Microsoft DirectX for 2D/3D visualization and rendering.
- 3D Software
Modeling, animation, scripting, and rendering in Autodesk Maya at an intermediate level. Also familiar with
Autodesk 3D Studio Max.
- Multiplatform Development
Familiar with development under Microsoft Windows (Visual Studio, Eclipse, IntelliJ IDEA) as well as GNU/Linux (GCC).
Adept in using Perforce, CVS, and SVN version management systems.
Work Experience
- [2011–now] Software Developer, Undisclosed Private Hedge Fund
- [2010–2011] Senior Analyst, Goldman Sachs International
SLANG[1] developer on the Core Strategies team within the Securities Division,
worked on design, implementation and improvement of data management and reporting software. Responsible for the Core Applications division in the EMEA region.
- Developed language features in SLANG, the company in-house language, via C++.
- Improved functionality of data manipulation software in SecDB, the company database linked to
SLANG, to allow operations on large datasets via tabular caches and SQL queries.
- Designed and developed improvements such as on-the-fly table expansion to software that allows users to
view and manipulate, in real-time, tables containing gigabytes of data.
- Developed tools and reports which were used on a daily basis by Goldman Sachs partners and executives.
- Used SLANG and SecDB to develop a reporting framework to allow non-technical users to build custom
reports containing graphs and tables constructed from periodically generated data. Features include:
- Ability to load data from various databases containing records of executed trades, using SQL and the Core Strategies SLANGQL interface.
- Ability to specify custom mathematical and logical equations on data cells using SLANG GUI widgets, in order to produce computed and/or conditional fields.
- The ability to set up and schedule periodic automated execution of reports based on user-defined templates,
which are processed by a proprietary technology used for batch processing, utilizing a farm of thousands of CPUs.
- [2008–2010] Senior Software Engineer, Realtime Worlds Ltd.
Played a pivotal role in designing and developing AI systems, as well as optimizing codebase for maximum performance
for the final shipment of the product (APB), a "AAA" game title written in C++, with state of the art technical
standard of graphics, simulation, and network synchronization.
-
Engineered AI systems which powered autonomous entities
(NPCs) inside a Living City simulation within a real-time multithreaded server/client environment:
- Suggested, designed, and developed a standalone C++ testing module for prototyping and modeling AI behavior
outside of the game engine, eliminating a major development bottleneck and thus dramatically cutting down testing
time to allow for rapid design iteration.
- Designed a solid, data-driven AI behavior and event-reaction system.
- Researched and developed realistic traffic light and street-crossing behaviors.
- Designed and implemented prediction-based NPC collision behavior system using a C++ physics simulation.
- Designed and developed a new dynamic route-finding algorithm for NPCs, replacing a slower A* system and
freeing significant memory.
- Synchronized AI decisions and routing information via network between server and
client, overcoming severe limitations on bandwidth budget.
- Optimized critical aspects of the AI engine as well as parts of the core game engine:
- Via researching and experimental analysis, designed and implemented a multithreaded
improvement to occlusion culling in the Unreal3 engine by utilizing a separate thread
which rasterized the scene in C++, parallel to graphics card rendering.
- Designed a dynamic bounding box algorithm to improve 3D physics simulation.
- [2008] 3D OpenGL Programmer, Northway Research & Development Inc.
Involved in contract work implementing custom interactive graphics within an OpenGL environment.
- [2007] Head Coach and Delegation Deputy Leader for IOI 2007
Responsible for the training of Iran’s 4-person team sent to Croatia for the International Olympiad
in Informatics.
- [2006–2007] Scientific Chairman and Manager of INOI (Iranian National Olympiad in
Informatics)
Supervised and directed workflow of 20 members of the INOI scientific committee.
- [2004–2006] 3D Game Programmer, East Art Rainbow Inc.
In charge of all 3D game projects, writing professional quality 3D games for use in live television game
shows. Developed a 3D game engine, used for eight major projects, and a few minor ones. Eliminated
costs of hiring additional 3D programmers, by single-handedly delivering all required software.
- [2005] Software Manager and Programmer, ERC Kerman, Robotics Division
In charge of all software for driving an autonomous humanoid robot, including an embedded Linux
OS, image processing, visualization and animation software for walk sequence design, and motion
control for robot balance and movement.
- [2002–2004] Graphical Interface and Prototype Programmer, HATEF Banking Systems
Worked on drivers and graphical interfaces in embedded software within POS (Point-of-Sale) devices,
queue managers, and various vending machines.
- [2002–2008] Instructor of Computer Science and Programming
Invited several times by various high schools and universities to teach specialized workshops on computer
science topics and programming.
- [2002–2008] Committee Member and Trainer of INOI (Iranian National Olympiad in
Informatics)
Responsibilities include teaching, problem design, preparing contest software, and organizing training
camps and nationwide selection exams.
Education
Awards and Honors
- [2007–2008] TopCoder Red Rated Member (Top 2% in worldwide algorithm programming
competitions).
- [2007] 14th Place, ACM-ICPC (International Collegiate Programming Contest) World Finals,
Tokyo, Japan.
- [2006] 13th Place, ACM-ICPC World Finals, San Antonio, Texas, USA.
- [2003–2006] 4th , 2nd , 1st , and 2nd Place, in years 2003, 2004, 2005, and 2006, respectively,
ACM-ICPC Asia/Tehran (Southwest Asia) Region, Tehran, Iran.
- [2005] Participant, RoboCup Humanoid Medium Size League, Osaka, Japan.
- [2002] Silver Medal, 14th International Olympiad in Informatics (IOI 2002), Yong-In, South
Korea.
- [2002] Silver Medal, 9th Central European Olympiad in Informatics (CEOI 2002), Košice,
Slovakia.
- [2001] First Prize, Khwarizmi National Science Fair, Awarded by president of Iran for project
entitled Software to Solve Geometric Problems and Construct Geometric Proofs, Tehran, Iran.
- [2001] Gold Medal and First Place, 11th Iranian National Olympiad in Informatics, Tehran,
Iran.
- [2000] First Prize, Khwarizmi National Science Fair, Awarded by president of Iran for project
entitled Persian Carpet Processing Software, Tehran, Iran.
Publications
- [2005] Goodarzi H, Najafabadi HS, Ahmadi H, Torabi N, The impact of including tRNA content
on the optimality of the genetic code, Bull Math Biol 67(6), 1355-1368, 2005.
- [2005] Goodarzi H, Najafabadi HS, Hassani K, Ahmadi H, Torabi N, On the optimality of the
genetic code, with the consideration of coevolution theory by comparison of prominent cost measure
matrices, Journal of Theoretical Biology 235(3), 318-325, 2005.
- [2004] Goodarzi H, Ahmadi H, Torabi N, On the optimality of the genetic code, with the consideration
of termination codons, Biosystems 77(1-3), 163-173, 2004.
Personal Projects
- High Quality 3D Ray Tracer
Renders spheres, planes, and polygon meshes. Features include lighting, Lambert and Blinn shading,
shadows, bump-mapping, reflections, refractions, and anti-aliasing.
- Chess Playing Software
- Very Strong Reversi/Othello Playing Software
Languages
- English: Excellent, native. (Lived in USA between ages 2 and 14.)
- Persian: Fluent, native.
-
^a
b
SLANG (Securities Language) is a very powerful language developed and used by Goldman Sachs, running on a proprietary database called SecDB.
-
^
The GSS language is a geometric description language I developed as part of
my Geometry Solving System used to express relations between elements in a
plane.
Back to top