Rangarajan Chari
Austin, TX 78759
512-***-**** (H)
512-***-**** (C)
**********.*****@*****.***
[pic]
SUMMARY
Seasoned software R&D engineer with over two decades of experience
developing backends, compilers and infrastructural systems in C and C++.
*
Strengths:
. Object-oriented architectures in C++ based on design patterns and use
of STL and templates
. Research and Development
. Infrastructural systems targeted to Windows and variants of Unix and
Linux
. Embedded systems
*
Experienced in:
. Agile environments using Scrum
. Environments deploying CVS, Subversion, Rational ClearCase/ClearQuest
and Bugzilla
. Full lifecycle management from requirements analysis to release
. Optimizing compiler implementation
. Firmware for printers and servers.
. Java and the internals of the Java Virtual Machine
. Performance analysis
*
Notable achievements :
. Proof-of-concept of using XML-RPC for remote debugging of AMD hardware
. Doubling the speed of GTSTRUDL, a widely used computer-aided
structural engineering tool, by fundamental changes in design
. Increasing benchmark scores of the IBM Java JIT compiler by ~40%, to
make the IBM Java JDK the best in its class
. Developing and implementing a strategy to introduce SSA Form into the
Metrowerks CodeWarrior compiler
. Implementing an experimental dynamic binary-to-binary translator at
Intel to enable x86 code to be run on the Itanium-2 architecture.
[pic]
EDUCATION
. Georgia Institute of Technology, Atlanta, Georgia, M.S., Computer
Science; Completed All-but-Dissertation in Ph.D. program.
. University of Denver, Denver, Colorado, M.S., Math and Computer
Science.
. Indian Institute of Technology, Bombay, India, M.Sc., Physics.
[pic]
SOFTWARE PATENTS
. Pattern Recognition in Fonts (US Pat.# 5,524,182, Hewlett-Packard,
1996)
. New methodology for analyzing competitive benchmarks (US Pat.#
6,381,558, IBM, 2002.
CERTIFICATIONS
. Microsoft Certified Technology Specialist (MCTS) .NET Framework 3.5,
and ASP.NET Application Development.
[pic]
PROFESSIONAL EXPERIENCE
Consulting Assignments
Dell Corp., Round Rock, TX July 2010 -
Present
Sr. Software Engineer, Product Group
. Improving the architecture and implementation of a firmware update
utility in C++ for devices containing other devices using the
Composite Design Pattern.
PayPal, Inc., Austin, TX February -
July 2010
Sr. Software Engineer, Infra Team
Member of a team charged with moving C++ developers throughout the
enterprise towards the use of standardized versions of open software.
. Migrated XML parsing-related code from Xerces XML Parser 1.4 to Xerces
2.7.
. Steered a pilot project to demonstrate the use of Fortify for
application security.
. Improved unit test coverage for infrastructural C++ code using a
proprietary object-oriented framework.
Skills: C++, Linux, ClearCase, Xerces XML DOM Parser, Fortify, application
security, unit testing
Ansaldo-STS USA, Pittsburgh, PA
Sep 2009 - Feb 2010
Sr. Software Engineer
. Enhanced, implemented, debugged and validated several components in a
large distributed system based on the MVC design pattern, in C++ on
Linux for Union Pacific Railroad and CSX Transportation.
. Participated in Scrum sprints.
Skills: C++, Linux/Unix, MVC architecture, VMWare, distributed message-
based system, ClearCase, ClearQuest, Scrum, Agile methodology.
Advanced Micro Devices, Austin, TX
July 2008 - June 2009
Software Engineer
. Proved the feasibility of remote testing, debugging and programming of
hardware using the XML-RPC protocol.
. Improved the design of a BIOS testing tool used by internal and
external AMD customers worldwide. Used the Fa ade and other design
patterns to hide the complexity of an SQL database.
. Ported the user interface of the BIOS Test Suite from Qt version 3 to
Qt version 4.
Skills: C++, Visual Studio 2005/2008, .NET, Linux, KDevelop, Qt, UML, XML,
SQL, XML-RPC.
IBM Corp., Austin, TX
June 2006 - June 2007
AIX Kernel Technical Support Specialist
. Interfaced with customers as well as kernel developers. Resolved
several significant code defects in the loader and linker which
affected numerous IBM customers worldwide.
Skills: AIX,, ksh, kdb, C, kernel debugging, multi-threaded programming,
thread safety
Intel Corp., Austin, TX July 2003 -
Jan 2004
Compiler Engineer
. Participated in the development of an experimental dynamically
retranslating binary-to-binary compiler conceptually similar to H-P
Labs' Dynamo to enable x86 code to be run in the Itanium-2
environment.
Skills: dynamic, profile-directed compilers, x86, and Itanium 2 instruction
sets, research, Visual C++
Minolta-QMS, Mobile, AL
June 1999 - June 2000
Member Technical Staff
. Led an initiative to develop object-oriented firmware for high end
color laser printers.
Skills: UML, Java, Linux, research
Full-time Positions
Tanisys Technology, Austin, TX
Nov 2004 - June 2006
Senior Engineer
. Facilitated the use of the M1000 DDR-II memory tester by defining and
implementing a custom language as an embedded compiler using crosstool
and Monta Vista on Linux.
. Developed and deployed object-oriented, multi-threaded middleware in
Visual C++ for a distributed system with inter-module communication
via TCP/IP.
Skills: C, gcc, g++, flex, bison, GNU crosstool, Monta Vista, embedded
Linux, cygwin, Visual C++, sockets, UML, use-case scenarios, SQL, Database
Template Library (DTL),
Pattern Discovery, Austin, TX
Jan 2004 - Nov 2004
Sole Proprietor
Founded this startup to conduct cutting-edge research supported by Small
Business Innovation and Technology Transfer (SBIR/STTR) contracts with
Federal agencies.
. Researched ways of using swarm intelligence techniques for target
identification by a collection of power-constrained unmanned aerial
vehicles (UAVs) in response to a US Navy SBIR solicitation.
. Gained extensive field and industry knowledge by collaborating with
Sandia National Labs and faculty at the University of New Mexico.
Skills: Research, Artificial Intelligence, autonomous, decentralized
systems, collaboration, knowledge transfer
Motorola Metrowerks, Core Technology, Austin, TX
July 2000 - June 2003
Compiler Engineer
. Initiated and led a project to integrate the Metrowerks re-targetable
compiler with HiWare, Switzerland's Static Single-Assignment (SSA)
based compiler to modernize it and demonstrate how new, more powerful
optimizations enabled by SSA Form can improve code quality without
degrading performance.
. Reimplemented Global Common Sub Expression Elimination and other major
dataflow optimizations in the Metrowerks Intermediate Representation
Optimizer to remove flaws and enhance code quality.
. Measured compilation speed and code quality using Intel VTune and
EEMBC, gcc and SPEC92 benchmarks.
Skills Used: C, compiler design, CodeWarrior IDE, SSA Form, performance
analysis, Intel VTune, collaboration
IBM Corp., Java Performance Unit, Austin, TX
May 1998 - June 1999
Advisory Software Engineer
. Improved the performance of the IBM Java Just-in-Time (JIT) compiler
in conjunction with IBM Tokyo Research Labs, achieving benchmark
scores exceeding that of Microsoft Internet Explorer by more than 35%.
. Resolved performance regression of the JIT on Pentium vis a vis
Pentium II.
. Discovered patterns of suboptimal code in regions outside busy loops
using VTune as profiler. Eliminating these led to improvement in
scores on the order of 12%.
. Invented and patented a method of deciphering the scoring algorithm of
a competitive benchmark based on inserting known delays at various
program points.
. Modified the JVM and tested a new criterion for JIT compilation based
on actuarial lifetime prediction.
Skills: Java, JVM tuning, Java JIT, Intel VTune, x86, processor
architecture, collaboration, performance analysis, patent
Hewlett-Packard Co., LaserJet R&D Division 1992 -
1996
Software Development Engineer
. Patented a font compression algorithm based on discovering patterns in
font strokes.
. Modeled command execution and identified performance bugs in the
implementation of the newly designed HP LaserJet printer control
language PCL XL.
. Developed and tested firmware for several LaserJet printer models.
Skills: firmware, printer control language, PCL XL, performance analysis,
modeling, R & D, patent
Georgia Tech Research Corp., GTSTRUDL Group, Atlanta, GA 1987 -
1989
Research Scientist
. Doubled the speed of GTSTRUDL - a widely-used computer-aided
structural engineering tool by drastically modifying and rewriting its
C-based kernel in which more than 90% of runtime was spent. This
performance optimization helped make the product viable in the face of
competition from other products in the same family.
. Modified the grammar of ICETRAN, a derivative of FORTRAN 77, and
created a new compiler for it using yacc. GTSTRUDL was implemented in
ICETRAN.
Skills: performance measurement, optimization, refactoring, API
implementation, C, FORTRAN, virtual files, memory management
OTHER EXPERIENCE
. Neuric Technologies, Austin, TX, AI Programmer, 2007-2008
. USAA, San Antonio, TX, Technical Consultant, 1996-1998
. Bitstream, Inc., Cambridge, MA, Font Software Engineer, 1989-1992
. Tata Consultancy Services, Mumbai, Systems Analyst, 1979-1981
. Bhabha Atomic Research Centre, Mumbai, Scientific Officer, 1972-1979
[pic][pic]