Technical Summary

I am Multi-faceted Software Architect, securing 11+ years of on hand experience of building different kinds of software architecture (e.g. Service Oriented Architecture, Multi-tier Architecture, and Layered Architecture). I have experience on working on varied tech-stacks Windows (Win32, VC++, C#, .NET), Mac (Objective C), Web (HTML5, JQuery, WinJS ), Mobiles/Tablets (iOS, Android, Win8). I have experience of working in different methodologies of software development like Waterfall, Prototype, Iterative, Kanban, Scrum, Agile, Lean etc. I am a Polyglot programmer who have worked in different languages/frameworks e.g. C#, WPF, Multithreading, Win32 API, Design Patterns, Templates, MFC, C/C++, VC++, COM, DCOM, ATL, STL, Shell script, Python , Objective C, Adobe Flex 3.0, AS3 scripting, JQuery, JSONP, Adobe CS3/CS4,Oracle (PL/SQL), VB Script, Jscript, HTML, ASP.NET etc. I have Masters in Software Engineering from BITS, Pilani.

Presently I work as Senior Software Architect for IVYComptech Pvt Ltd. Hyderabad, leading listed Gaming software solutions provider to Bwin.Party Digital Entertainment.

Previous employment

IVYComptech Pvt Ltd, Hyderabad
Jan 2006 - present

Senior Software Architect

Party Poker Development on C# & HTML5

Technologies
C#, WPF, .Net, HTML5
Responsibilities
  • Responsible for feature feasibility and negotiation with Product team in London. Breaking down the features in phase wise implementation. So that we can get initial product out ASAP.
  • Designing core framework from scratch in a totally new environment.
  • Presented design and handled design meetings.
  • Handling core level Coding and implementing the design.
  • Mentoring new comers to understand the product and helping them in design related issues.

Description
Ported existing VC++ client to WPF and C# technology. I helped team resolve issues on design patterns to be used in WPF. We used Prism, Dynamic resources, Triggers, Custom Binding, Command Property and MVVM pattern.

Party Poker Development on Mac/iOS

Technologies
Objective C, HTML, Java script, Ant scripting.
Responsibilities
  • Responsible for feature feasibility and negotiation with Product team in London. Breaking down the features in phase wise implementation. So that we can get initial product out ASAP.
  • Designing core framework from scratch in a totally new environment.
  • Presented design and handled design meetings.
  • Giving requirements to creative and getting the work done.
  • Handling core level Coding and implementing the design.
  • Handling Bugs, Code Review and other issues of the Product.
  • Mentoring new comers to understand the product and helping them in design related issues.
  • Handled a team of 8-9 senior developers.

Description
A new product on the offering in a challenging new technology. I had to learn new technology along with building up a technical team. We had to make a product, which lasts longer with features like plugin and delegates to ensure it's well divided in responsibilities. There were many technical challenges including backward support of Leopard and forward support of Lion.

Party Poker Development

Technologies
VC++, Multi-threading, HTML, Java script, Ant scripting.
Responsibilities
  • Responsible for feature feasibility and negotiation with Product team in London.
  • Designing core framework from scratch in a totally new environment.
  • Presented design and handled design meetings.
  • Giving requirements to creative and getting the work done.
  • Handling core level Coding and implementing the design.
  • Handling Bugs, Code Review and other issues of the Product.
  • Mentoring new comers to understand the product and helping them in design related issues.
  • Handled a team of 4-5 senior developers.

Description
A full fledged product revamp was a good opportunity for me to explore my capabilities as a team leader. I worked in various parts of product redesign and made product more flexible and robust. Introduced a great deal of configuration and multithreading to make product scalable. Specification discussion to timeline churning. Best part of this project was making each and every table multi threaded. This enabled our client to reach new heights of performance.

Party Casino Development

Technologies
Adobe Flex 3.0, AS3, Adobe Flash CS3, VC++, Multi threading, HTML, Java script, Ant scripting.
Responsibilities
  • Responsible for feature feasibility and negotiation with Product team in London. Breaking down the features in phase wise implementation. So that we can get initial product out ASAP.
  • Designing core framework from scratch in a totally new environment.
  • Presented design and handled design meetings.
  • Giving requirements to creative and getting the work done.
  • Handling core level Coding and implementing the design.
  • Handling Bugs, Code Review and other issues of the Product.
  • Mentoring new comers to understand the product and helping them in design related issues.
  • Handled a team of 4-5 senior developers (team leads).

Description
A new product on offering was a great challenge for me. I had to execute in time and make it the best user experience. It also had problems of managing resources since we were always in short of it. A new technology to deal with. So a new comer has to learn the technology and requirements and product also. Design used all ways possible to reduce the initial size of download and communicate to the existing server environment. We used Local Connection, RSL, Byte Array communication, CS3 and style sheets, Modules, Custom Components etc. Design also allowed the peers to communicate to other environment like VC++ and web pages.

Mini BlackJack Embedded Game System

Technologies
Adobe Flex 3.0, AS3, Adobe Flash CS3, VC++, Multi threading, HTML, Java script, Ant scripting.
Responsibilities
  • Responsible for discussion from Product team for feature implementation.
  • Involved in design discussion and architecting a framework for having embedded systems.
  • Handling creative requirements and getting the work done.
  • Handling design, Coding and implementing the design.
  • Handling Bugs, Code Review and other issues of the Product.
  • Mentoring new comers to understand the product and helping them in design related issues.
  • Lead a team of 3 people and make them understand the requirement and get the work done.

Description
Target for achieving a new channel of revenue generation created a great enthusiasm for giving it my best shot. This system has to be flexible enough to run in WebPages or VC++ or a flex page. This Game is highest revenue generator for our company in Casino vertical. Hence was among the highlight of all developments. Challenge included my first experience with Adobe tools like Flex and Flash CS3. To tame them and get the best suited performances included use of Local connections, SWC, Byte array communication etc.

Skinning and Branding Casino Clients

Technologies
VC++, Multi threading, MFC, CXImage.
Responsibilities
  • Responsible for discussion from Product team.
  • Involved in design discussion and architecting a new client from scratch.
  • Handling design, Coding and implementing the design.
  • Handling Bugs, Code Review and other issues of the Product.
  • Mentoring new comers to understand the product and helping them in design related issues.
  • Lead a team of 4 people and make them understand the requirement and get the work done.

Description
This was a part of company's initiative to consolidate revenues and get more channels of revenues in terms of partnerships. Challenges included a stiff timelines and finding out the shortest and best way to get things done. This included handling all three clients Casino, Bingo and Racing.

Multi-Currency implementation Clients

Technologies
VC++, Multi threading, MFC, CXImage.
Responsibilities
  • Responsible for discussion from Product team.
  • Involved in design discussion and architecting a new client from scratch.
  • Handling design, Coding and implementing the design.
  • Handling Bugs, Code Review and other issues of the Product.
  • Mentoring new comers to understand the product and helping them in design related issues.
  • Lead a team of 3 people and make them understand the requirement and get the work done.

Description
This was a part of company's initiative to consolidate revenues. Challenges included a stiff timelines and finding out the shortest and best way to get things done. This included handling all three clients Casino, Bingo and Racing.

Party Racing product development

Technologies
VC++, Multi threading, MFC, CXImage, DirectX.
Responsibilities
  • Involved in design discussion and architecting a new client from scratch.
  • Handling design, Coding and implementing the design.
  • Handling Bugs, Code Review and other issues of the Product.
  • Mentoring new comers to understand the product and helping them in design related issues.
  • Lead a team of 2 people and make them understand the requirement and get the work done.

Description
Challenge was to implement a new product from scratch and give it best design. Technically I had to learn communicating with DirectX component and plugging in to our existing architecture. I also had to mentor new people to get work done adhering to timelines.

Party Bingo Client

Technologies
VC++, Multi threading, MFC, CXImage.
Responsibilities
  • Involved in design discussion and architecting a new client from scratch.
  • Handling design, Coding and implementing the design.
  • Handling Bugs, Code Review and other issues of the Product.
  • Mentoring new comers to understand the product and helping them in design related issues.
  • Lead a team of 2 people and make them understand the requirement and get the work done.

Description
Challenge was to implement a new product from scratch and also to learn the company's architecture. Technically I had to learn a lot of new libraries for UI development and fix issues of performance in it. I also had to mentor new people to get work done adhering to timelines.

Delmia Solutions Pvt Ltd, Bangalore
Jan 2004 - Dec 2005

Senior Software Engineer

Import Export Functionality

Technologies
Win32 API, VC++, COM, DCOM, Oracle9i, Multithreading, STL, XML, XSD, Fast Objects (OOD), MFC.
Responsibilities
  • Responsible for code transfer from Delmia GMBH, Germany to Delmia, India.
  • Mentoring new comers to understand the product and helping them in design related issues.
  • Handling of highlight specification and design related issues.
  • Handling Coding and Developing (white box tests) Unit Tests for the code written.
  • Handling Bugs, Code Review and other Maintenance issues (HotFix, Service Packs).
  • Helping Testing Team, Customers to understand the functionality.

Description
This is Multithreaded COM out-of-process component, which performs Import/Export for the Data stored in Oracle DB using intermediate layer of Fast Objects and writes the data in XML format. This component has two interfaces CLI (command line interface) for scripting support and GUI (graphical user interface) for other users. This component uses call back mechanism to get Object by Object from server and hence reducing memory consumption for big projects. This also performs various checks at Pre/Post Import/Export and removes redundant objects created in DB. I executed partly this project in Delmia GMBH, Germany and completed in India.

Logging Component

Technologies
VC++, COM, DCOM, Multithreading, STL, XML, XSD, Fast Objects (OOD).
Responsibilities
  • Handling highlights Specification and Design related issues.
  • Handling Coding and Developing (white box tests) Unit Tests for the code written.
  • Handling Bugs, Code Review and other Maintenance issues (HotFix, Service Packs).
  • Helping Testing Team, Customers to understand the functionality.

Description
This is a Multithreaded COM component, which performs logging functionality for Process Engineer and writes data in XML format. To improve efficiency the two threads performing the reading and writing functionality were awakened using events. Also to minimize the memory corruptions Singleton was used for interface. This COM component was integrated with the server to perform all various types of logging required by calling the exposed interfaces. The XML component adapted was Xerces provided by the IBM. This project I did in Germany Stuttgart office.

SSO Implementation in Process Engineer Server

Technologies
VC++, COM, DCOM, Oracle9i, Multithreading, STL.
Responsibilities
  • Handling highlights Specification and Design related issues.
  • Handling Coding and Developing (white box tests) Unit Tests for the code written.
  • Handling Bugs, Code Review and other Maintenance issues (HotFix, Service Packs).
  • Helping Testing Team, Customers to understand the functionality.

Description
This Server handles intelligently clients request for Data and synchronizes the data to all the clients. The server also maintains Object Pooling. The Server is developed using High End Technologies like COM, DCOM, Multithreading and Fast Object. There was an introduction of new out of process COM component for SSO (Single Sign On) support. I developed security in DCOM communications using cointializesecurity and implementing SChannel security. I was also responsible for integrating IBM WebSphere for SSO concept. I also developed various utilities for server use implementing Design Patterns like Facade, Singleton, Factory, and Abstract etc. This project I did in Germany Stuttgart office.

Nuance Communications Pvt Ltd, Bangalore
June 2003 - Dec 2003

Software Engineer

Medical Transcription Admin System

Technologies
VC++, COM , DCOM.
Responsibilities
  • Handling Coding and Developing (white box tests) Unit Tests for the code written.
  • Handling Bugs, Code Review and other Maintenance issues (HotFix, Service Packs).
  • Helping Testing Team to understand the functionality.

Description
The system was developed to provide to handle whole flow of Medical Transcription. It takes dictation over phone and the word documents were either mailed or zipped on the respective desktops. It had a supporting website for clients to see the documents online. The system provided an interface between server and client transcribing anywhere on the earth. The system also calculates the line counts for the transcriptions done and various other reports. There are other interfaces for administrators and users and clients for checking the status at various levels.

Cat Technologies Pvt Ltd, Hyderabad
Dec 2002 - April 2003

Trainee Engineer

Secure Data Communication System

Technologies
Borland C++, WinSock.
Responsibilities
  • Handling Coding and Developing (white box tests) Unit Tests for the code written.
  • Handling Bugs and other Maintenance issues (HotFix, Service Packs).
  • Helping Testing Team to understand the functionality.

Description
This System was developed to provide a secure communication between various clients. Various standard Algorithms like IDEA, RSA, and MD5 are used to make the communication 100% Secure. It uses intelligent system to store the intermediate keys and Data for future proof.

Professional skills

Languages/Packages

  • C# & WPF
    MVVM, Prism, Dynamic Resources, LINQ, Lambda Expressions, Routed Events, Delegates, Command & Notification
  • HTML5
    JQuery, CreateJS, Require.js, Backbone.js, HandleBar.js, Canvas
  • VC++/ Win32
    Design Patterns, Templates, Microsoft SDK, Multi-Threading , VC9 , Win32 API, MFC, COM, DCOM, MFC, STL, ATL, .NET
  • Objective C
    Plugins, Delegates, GCD, Protocol, Categories
  • Adobe Flash CS4 & Flex 3.0
    RIA applications, AIR applications, RSL, Flex SDK, MXML, FDS, Live cycle, local connection
  • C / C++ :
    Pointers, Structures, Dynamic Data Structures, Templates, Exceptions


GUI/Scripts

  • HTML/CSS
  • ActionScript
  • PHP
  • Unix Shell Scripts
  • Jquery


Web Servers & Operating Systems

  • IIS
  • Apache / Tomcat
  • Windows 7/ 8 / Vista/ XP
  • Mac OS X
  • Linux


Databases

  • Fast Objects (Object Oriented Database)
  • Oracle 9i(DDL, DML, TCL, DCL)
  • SQL Server


Infrastructure Tools

  • Microsoft Project Plan
  • Enterprise Architect
  • Confluence
  • SVN source safe / GitHub
  • Bounds Checker
  • BMC tool
  • Doxygen
  • CPPUNIT / FlexUnit / NUnit
  • Jira

Education

Birla Institute of Technology and Science, Pilani
May 2007 - April 2009

Masters in Software Systems

Lukhdhirji Engineering Government College, Morbi
June 1999 - May 2003

Bachelor of Engineering in Information Technology

Sainik School Balachadi, Jamnagar
June 1998 - May 1999

Higher Secondary Certificate in Science CBSE Board

Awards & Conferences

Awards

  • Exceptional Award - April 2013 at IVY Comptech Pvt Ltd.
  • Best Performer Award - March 2009 at IVY Comptech Pvt Ltd.
  • Best Performer Award - July 2005 at Delmia Solutions Pvt Ltd.
  • Best Performer Award - November 2003 at Nuance Communications


Seminars

  • Storage Area Network - February 2003 at CAT Technologies Ltd


Conferences

  • Agile India & CSM - Bangalore, India, February 2013
  • Google I/O - SFO, USA, May 2013
  • Global Leadership Program - Sofia, Bulgaria, November 2012
  • Apple WWDC - SFO, USA, June 2012
  • Apple WWDC - SFO, USA, June 2011
  • Adobe Flex 360 - Atlanta, USA, May 2007