Saurabh Tangri Home: (858)-729-4422
Summary: MS
in Computer Engineering
with 4+ years of Software Development experience.
Worked extensively
with Windows Kernel device drivers (WDM), COM, DDK, SDK, SoftICE,
Windows Kernel debuggers, Windows OS internals and low-level systems software. Strong
device driver experience includes coding directly to hardware, DMA,
multi-threading and bus architectures using PCI, USB, RS232, Ethernet and Arcnet
Areas
of Expertise:
Programming languages C, C++/C#, Device
Drivers, COM+/ATL, .NET, Network Programming (TCP/IP), Embedded systems, Image
Compression, Backend compiler design, Windows API and Kernel Debugging, Object
Oriented Design, Assembly (x86), Direct-X.
Work/Project
Experience:
· Conexant
Systems,
o
Design and
maintain Kernel level device drivers (WDM) for multimedia chips. (AVStream and
stream class drivers)
o
Created
regression testing framework and test tools for validating broadcast decoder
chips.
o
Implemented the support for other unsupported TV Formats for wider
acceptance of chips.
o
Implemented the support for infra red remote based on NEC and RC5
decoding standards.
o
Ported the drivers and applications for the Windows 64-bit platform.
Environment:
Win2003/XP/MCE, Visual Studio, StarTeam, SoftICE/WinDbg, DirectShow
· Device
Driver for Intellistripe 65 Smart /Magnetic Card Reader (Aug 2003-Jan 2005)
o
Kernel level device
driver (WDM) of a chip card reader functioning within the framework of PC/SC
and in compliance of EMV, ISO 7816 and GSM.
o
Implemented stop-and-wait
alternating bit protocol for serial communication with the device.
o
Designed and
programmed the physical device handler which contains the low level
communication capability for the device.
o
Programmed a testing application that reads the three tracks of a
magnetic card and does chip I/O.
·
o
Involved in
redesigning device drivers (kernel/user) of card reader, depositor and other
devices of an ATM.
o
Maintained
drivers and removed various anomalies in device drivers based on software
testing reports.
o
Designed low
level hardware communication classes and testers, which interacted on COM
interfaces
o
Handled security
and encryption related issues.
o
Worked with
automated remote installation of OS and Device Drivers on a ATM Machine
o
Wrote use-cases
and designed class diagrams with UML.
o
Extensive use of
Visual C++,.NET,VB with MFC and Win32 API ,WTL,ATL,DDK,
Platform SDK.
o
Designed and
implemented test cases for devices and suggested improvements and enhancements.
Environment:
Win2000/NT, Visual Studio, Rational Clearcase, WinDbg, Diebold, NCR, Global CAT
· Infra
Systems,
Participated
in full software development lifecycle of a TCP/IP based client-server product
for a startup company
o
Used MFC and
wrote custom template classes
o
Used STL
containers and algorithms
o
Solved thread
synchronization issues (Multithreaded Programming)
o
Created
exception-safe code
o
Used Winsock, smart
pointers, timers, virtual functions, function pointers, callback functions,
overloaded operators
and other
advanced C++ features.
o
Documentation and
packaging of the product.
Environment:
Environment: Windows NT/2000, Visual Studio, Microsoft Project, UML diagrammer
·
o
On Campus Local
Positioning System & Path Finder
o
The driver
application allows user to navigate and find paths using a Personal Digital Assistant (Handspring PDA)
o
Communicates
serially with a Magellan GPS module that used NMEA protocol to get the
coordinates and then dynamically plot
the shortest path between two destinations on a map
Enviroment:
PalmOS, Metrowerks Codewarrior IDE and C Compiler, Handspring Development Suite
· Joined Tata
Consultancy Services,
· MPEG
Encoder (Mar-May 2003):
· Cluster
Simulator (Aug-Dec 2002):
Simulates Cache Coherence Protocol on a 8 node interconnection network. The station simulator
objects run in separate threads and independently edit the shared cache memory.
· The Compiler Project (May-Aug 2002):
It
parses the RISC instruction file, and then creates the Program Dependence Graph
for easy scheduling of the instructions in code .The scheduled code has basic
optimizations implemented in C++ for superscalar architecture.
· Network Simulator (Aug 2001):
Simulates CSMA/CD protocol on a network
to study the behavior on random requests by multiple stations at different
persistence levels
· Implementation
of Symmetric Cryptography in Visual C++ (Jun-July 2001):
An encrypting application that facilitates user to encrypt files
and then to upload them to FTP servers
· Beowulf Itanium Cluster (Ongoing)
Setting up a 3 node Linux cluster on Itanium
(64-Bit) HP workstations.
· Neuro Fuzzy Techniques in Prediction and Control of Chaotic Systems
(Jan 1998-Feb 2000): CR State
Worked as Asst. Scientist
on project sponsored by All India Council for Technical Education for promoting
scientific research in upcoming fields
· The Website (Dec 1999 –
Feb 2000): CR State
Created a website incorporating Site Text Search, Chat,
Guest book, Database, COM [VB, Adobe Photoshop, SQL]
It was hosted on a IIS web server, with ASP pages
developed in vbscript and MTS COM objects in C++
using ATL.
Character
recognition by a network trained by Backpropagation Algorithm with complete
graphical user interface in Visual Basic
· Turbine Simulator (June-Aug
1999): Engineering Mechanics Research Corporation (U.S.A),
Designed
the interface and the databases Of a Turbine Simulator in Visual Basic
· Computerized Online Testing System (July
1998):
Developed adaptive testing application using Visual
Basic as front end and MS Access as back end
Education:
· Master’s in Computer
Engineering at
Certifications
and Memberships:
· Microsoft Certified Professional.
· OSR certification for attending “Advanced WDM
Driver Development for Windows Seminar”.
· Member of the Compiler Research Group at
· Presided
the college programmers society “Interface”
for 2 years
· Active Member of IEEE and the Computer Society
Honors and Awards:
· Won college scholarship twice for academic
excellence.
· Certificate of Excellence from Microsoft Corporation for securing
847/1000 in Visual Basic (70-165)
·