Sr. Software Developer & Architect.
(Primarily Microsoft .NET platform)

San Ramon, CA 94582



Email:
Contact number : (925) 803 8986 (9 AM to 6 PM PST)

Objective

I am open to a challenging and responsible position in a startup, an established company or a consulting firm. I want to be part of building something new from the ground up - be it a product or a company.

I bring innovation, integrity, common sense and experience to every project.

Accomplishments

From Assembler to Architecture. Accomplished in all facets of software development - from low-level machine code programming, through multiple generations of programming languages and paradigms. More that a decade of core software development experience.

Skills list

.NET Attributes, .NET reflections, .NET serialization, 80x86 Assembler, ADO, AJAX, Ant, Apache Tomcat, ASP.NET, Aspect Oriented (aspect based), ATL, BizTalk, BizTalk Server, Byte Code Interpreter Development, C#, CLR, code generation, COM, COM+, Data Marts, Data Warehousing, Database Modeling, DHTML, digital certificates, EDI, Enterprise Architecture, FTP, HTML, HTTPS, IIS, Internet / Web Development, ISAPI, Java, JavaScript, JScript, JSON, Meta-data Design, MFC, Microsoft Visual Studio.NET, multi-threading, MVC, Object Modeling, Object Oriented Design & Development, ODBC, OLAP, PowerBuilder, Project Management, Rogue Wave, ROLAP, RPC, SOA, Sockets, SQL, SQL Server, SQL Server 2005, SSL, STL, Subversion, System Architecture, Visual Basic, Visual C++, Visual Parse++, Visual SourceSafe, WCF, web service, Win32 API, Windows 2000, Windows NT, WinINet, XML, XML Schemas, XSL, XSLT.

Professional Experience

Fair Isaac, San Rafael, CA
Enterprise Originations Platform (May 2008 - till date)

Senior developer & architect in the originations group. The role involved being a member of the team determining the architecture of a completely new suite of applications.

Technical contributions included architecture as well as domain and data modeling. Additional responsibilities included interacting with other teams, development estimation and developer workload assignments.


LiquidCredit Application Processing (May 2007 - April 2008)

Senior developer & architect in the LiquidCredit group.

Contributions included architecture and implementation of a proof of concept for a rich client application for maintaining configuration files.

Re-implemented a key existing Windows Forms application to use a MVC (Model-View-Controller) architecture with extensive multi-threading to allow a responsive and elegant UI.

Part of the development environment extended to the .NET 3.5 platform / C# 3.0, Subversion, JavaScript, JSON, AJAX and WCF (Windows Communication Framework). New C# 3.0 features including closures and lambda expressions were also used.


ScoreNet (November 2005 - April 2007)

Senior developer & architect in the design and development of the next generation of Fair Isaac's Service Oriented Architecture (SOA) based scoring framework.

Key contributor to various architecture and development efforts. Designed and developed a number of plug-in extendable frameworks, prototypes and utilities. Subsystems included the logging, data connector, simulator and encryptor.

The .NET 2.0 platform / C#, IIS - Web Services, Windows Services, Visual SourceSafe, BizTalk and SQL Server 2005 comprised the core of the development environment.


DecisionAccelerator (August 2004 - October 2005)

Lead developer in the design and development of a J2EE based interface to Fair Isaac's Blaze Advisor Rules Server. Product included hosting the process engine as an EJB in IBM WebSphere and BEA WebLogic, and as a web service in Apache Tomcat.

Built a Swing based GUI program to serve as a test front-end to the system. This product used a plug-in framework to be extendable enough to call any XML based service.

All development was done using Ant as the build system and Castor, Xerces and Axis to process XML.

Ported the product to C#/.NET, to run as a web service under IIS.

Built an ASP.NET demo application to auto-generate a user interface based on a .NET attributed object model. Input to the UI was serialized to XML and passed to the Web Service and the results displayed. This application was created on short notice and proved crucial to show to customers at the annual company conference.


LiquidCredit - Open Interface (December 2001 - July 2004)

Conceived, designed and developed dFlow, a GUI based drag and drop, source code generator, using Microsoft Visual Studio.NET & C# as the key technology. The solution made extensive use of XML / XSLT, .NET serialization & .NET reflections. The design incorporated an extendable architecture allowing plug-ins to be integrated into the product. The product generated C# code, compiled it to an assembly and allowed it to be executed within the development environment. The product's significant highlight included the support of Aspect Oriented (aspect based) features. This product was so flexible that it was used for multiple other applications within the company.

In today’s terminology, dFlow is considered a Domain Specific Language (DSL) framework; conceived and developed years ahead of its time.

Designed and developed a .NET Attributes based code generation system to generate wrapper classes to access stored procedures in SQL Server, in an object-relational manner. This code generation was designed for extensibility. Late requirements of adding transparent database field encryption and compression were easily accommodated.

Prior to moving to the .NET environment, wrote test suites to compare the performance of XML/XSL and associated technologies implemented in the CLR against conventional, (non-CLR based), development.


LiquidCredit Decision Support Systems (January 2001 - November 2001)

Member of the high visibility LiquidCredit development team at Fair Isaac. Responsibilities included design and development of key components of the system. Wrote components and tools sets using Visual C++, COM, ATL, STL, XML, XSL and Visual Basic.

Designed and developed a SOAP infrastructure and API. This enabled an XML API to be built over a proprietary web site (using reverse engineering). HTTPS posting and screen scraping was implemented to enable identical functionality as that of the ASP based web site. This project involved significant work with SSL, HTTPS, and client and server side digital certificates, using the WinINet Win32 API.

Wrote an NT service which performed file transfers using FTP. This service implemented multi-threading, fault tolerance and NT event logging.

Designed and developed a GUI tool for maintaining and generating subset XML Schemas. This intuitive tool cut down significant implementation time and made ease of maintaining numerous XML schemas accurately.


XML / XSL Framework (June 2000 - December 2000)

Microsoft based web development project. Responsibilities include architecture and implementation for an XML based web application framework running under IIS with COM+ on Windows 2000. All development done using Visual C++, Visual Basic, STL, ATL, ADO, SQL, JScript, XML, XSLT, HTML, DHTML.

Wrote a number of XSL transformation scripts for various requirements. Designed and implementing a XML Meta Data Schema which would be transformed via XSL into JScript to build a DHTML based Web UI.

Designed and development a relational database / XML transformation layer. This layer used XML encoded meta-data and XSL transformations to turn relational data into XML structures and to persist XML structures back to the database.


Portfolio Management & Strategy (January 2000 - May 2000)

Lead developer in creating the next generation of a portfolio risk management product aimed to satisfy the needs of the financial industry. Strong Visual C++ usage along with Rogue Wave for database access. Position involved designing, coding and mentoring junior developers.


Intellessence, Inc.
C Like Interpreter (January 1999 - June 1999)

COM Based C Interpreter. Conceived, designed and developer a byte code based C interpreter using Visual C++, Visual Parse++, ATL & STL. Product available for download at http://www.intellessence.com/


PeopleSoft, Pleasanton, CA.
Distributed Services Administration Tool (August 1999 - January 2000)

Design and development of Java Servlet / Sockets / XML / XSL / HTML based distributed services administration tool. Visual Café along with IBM-Lotus XML / XSL. Windows NT being the development environment.


PeopleSoft ODBC Driver and Reporting (August 1998 - July 1999)

Added enhancements and compliance features to PeopleSoft ODBC driver. Designed enhancements to PeopleTools database abstraction layer.

Designed secure and elegant abstraction to open the PeopleSoft database to third party reporting tools.

Developer on PeopleSoft Unicode / Internationalization team.

VC++ / MFC / NT was the development environment for the PeopleTools product.


Microsoft, Redmond, WA.
Interchange Manager. (January 1998 - July 1998)

Senior member of Edifecs team developing Interchange Manager, (the product is now know as BizTalk Server), an application for the Microsoft Commerce Server suite, which manages home/partner company relationships and configures the Microsoft Commerce Interchange pipelines appropriately. Designed and developed COM components, using VC++ / ATL, to generate the interchange pipelines.


Edifecs, Corp., Issaquah, WA.
Project Manager (August 1997 - December 1997)

Hands on project manager developing pre-production EDI tools. Involved in the architecture and development of the next version of the product utilizing a VC++ / COM based paradigm.


Silvon Software, Inc., Westmont, IL.
DataTracker. (May 1993 - July 1997)

Architect and lead developer and for a client/server decision support system built over an OLAP database capable of being implemented on a wide variety of relational databases. The software was built with object-oriented practices using VC++ 1.5 - 4.2 and PowerBuilder 2.0 - 5.0. Software components included a flexible report builder and optimized query retrieval engine. Responsibilities included System Architecture, Meta-data Design, Database Modeling, Object Modeling, reusable class libraries and end-user interaction and mentoring.

Architect and developer of a user friendly virtual representation of the above ROLAP database and an ODBC driver to allow easy access to the data warehouse using third party ODBC compliant programs. Both 16 and 32 bit versions of the ODBC driver suite were coded including a version where the retrieval engine was capable of running on a separate NT machine using RPC. A VC++ / MFC coded monitor program intercepted and logged the SQL and its interpretation. Visual Parse++ was used to implement the SQL interpreter in the ODBC driver program suite.

Project mentor in developing a web server which made use of the above ODBC driver technology to enable thin client access to the corporate data warehouse using a standard HTML browser. The web server was implemented using ISAPI on Windows NT.


Lotus Development Corporation, Cambridge, MA.
Kernel (System Manager) Development (January 1992 - December 1992)

Worked on varied enhancements to a non-preemptive multi-tasking kernel, for a 80x86 based palm-top computer, the HP 100LX, successor to the popular HP 95LX. Major responsibility was the design and implementation of an overlaying mechanism in the system kernel, which involved splitting the code into separate segments and bank switching from ROM. Designed an Application Program Interface for the kernel and implemented functions to manage the API.


Education

Bachelor's degree in Statistics with Computer Science.