- Able to provide project leadership in using design patterns, estimating work load, proposing development schedules, and tracking development progress.
- Able to perform full life cycle software development from gathering user information, leading brain-storming sessions, generating use-cases, scenarios and object diagrams according to the UML methodology, implementing design patterns and services, designing database schema, coding, testing and product roll-out using Agile methodology.
- Solid programming experience in the Microsoft Web stack: ASP.NET MVC, JQuery, HTML5, Web API, JSON, WCF, MS SQL server.
- Developed the Patient Management and Care Management Web-based application in a team of 6 developers locally and cooperated with other McKesson teams in CO, AZ and India.The Agile stories are generated in CO and sprints are managed via web conferencing.
- Developed the Web UI using ASP.NET MVC 4, Kendo UI JQuery,JQueryUI library, JSON.
- Developed the service methods using WCF, NHibernate and Web API.
- Developed SQL stored procedures, user functions for the service methods.
Technologies Used: C .NET 4.5, ASP.NET MVC, WCF, Web API, Telerik Kendo UI, JQuery, Linq, MS SQL 2008 R2, Subversion
- Maintained and streamlined Compliance internal applications and reports for Hedge Fund.
- Technologies Used: C .NET 4, XML,WinForm, Linq, MS SQL 2008 R2, MS SQLCLR, MS SSRS, Crystal Reports, MS TFS
- Re-engineered the Loomis Sayles financial statement publishing process, which pulls data from Oracle SQL Server and MS SQL Server, and produces MS Power Point slides using Excel and Word VBA. The middle tier is written in C .NET 4, using XML and Linq for data parsing. Object oriented design patterns, refactoring methodology, short spurts development methods used.
- Prototyped future generation Loomis report system using HTML5, JQuery, ASP.NET MVC.
Technologies Used: C .NET 4, XML, Linq, MS Office Automation, HTML5, JQuery, ASP.NET MVC, MS SQL Server, MS TFS
- Maintained ASP.NET applications, Security Detail and Issuer Workspace. Trouble shooting customer issues and finding quick solution is a must. Issuer Workspace uses Web Service to obtain third party vendor data.
- Led a team in designing, implementing and releasing a C Winform application New Issues Editor for the Fixed Income Municipal Money Market group.
- Used a common platform called Envision, which is based on Microsoft CAB technology.
- Extensively used design patterns to standardize the solution MVP, MVC, Singleton, Strategy, Factory, Proxy .
- Vigorously pursued the goal of component reuse and loose-coupling. Communication between the components is maintained via events.
- Exclusively used Web Service and the middle tier to access the data layer.
- Actively interacted with Sybase and Oracle database SQL code.
- This application supports the crucial data construction process.
- Led the development effort in designing, implementing and releasing the Minimal Credit Risk Automatic Expiration system for the Fixed Income division, in compliance to SEC's money market rulings.
- Used stored procedures in Sybase to contruct the Minimal Credit Risk universe for the concerned issuers and instruments, to assign issue tier rating accroding to the generally accepted rating agency's input, to implement the expiration logic based on review dates, and to construct daily warning reports.
- The stored procedures are used by a batch job to scan the database every night, to generate the warning reports and to expire the invalid issuers/instruments.
- Constructed a C console application to carry out the expiration task, due to its complexity. This console application is invoked by the batch job.
- Constructed a C WINFORM application to automatically restore the expired issuers given the correct review dates. This application is invoked by an ASP Web application to publish the reviews.
- Contributed in the Municipal Credit Issuers Mapping project.
- Constructed stored procedure in Oracle to assign the credit issuer to an instrument according to a pre-set rules, which are implemented in a data table for easy maintenance.
- Constructed C , ASP.NET based application to display the exceptions encountered in the mapping process. There are millions of exceptions generated, and the challenge is to deliver quick response and data accuray.
- .Constructed C , ASP.NET based application to allow user to override the mapped credit issuers.
- Contributed in the Issuer Workspace project.
- Implemented C , ASP.NET based applets to the Issuer Workspace system to manage all aspects of an issuer within the Fixed Income context.
- Exclusively used Web Service and the middle tier to manage the data layer.
- Constructed a stand-alone subsystem to ferry data from different systems into the Issuer Workspace.
- Used professional charts to deliver a highly effective chart diagram.
- Contributed to the Boston Public School System's student database conversion project.
- Implemented the Student Busing Pick-up/Drop-off system in ASP.NET.
- Implemented the School Classification Display system in ASP.NET.
- Implemented the business logic in stored procedures for MS SQL Server.
Technologies Used: Windows 2000, VB.NET, C , ASP.NET, MS SQL Server 2000.
Lead Software Developer / Architect
- Contributed heavily in the full life cycle development of WINprep.
- Designed the database schema for WINvote and WINprep. WINvote manages voting while WINprep prepares the ballot for WINvote. The database engine is Access 2000. The schema design reflects the different federal and state voting rules.
- Designed WINprep infrastructure and object model using the object oriented design technique and the data flow model to support the single user mode.
- Implemented WINprep using VB 6.0, ADO and embedded SQL. WINprep supports the following features:
- Smooth processing flow from New Election, Election Machines, Election Rules, Election Data, Jurisdiction, Polling Location to Ballot Generation.
- Multiple language support currently English and Spanish . Automatic change of keyboard layout when necessary.
- Call Win32 API directly for finer control of the Windows runtime environment such as powering down the machine when exiting the system, etc.
- The ability to generate complicated ballots for different states targeting the general elections and the closed primary elections.
- Used Towitoko SmarCard driver to program SmartCards to open WINvote stations.
- Used generic FlashRam driver to export the ballot.
- Performed regression tests on WINvote and WINprep using WinRunner 3.0.
- Participated in the certification process. Wrote a 200-pages Road Map object model, file structure, database schema, control flow for WINprep.
- Developed WINvote's Audio Ballot that used the Microsoft TTS engine for the English text and the L H TTS engine for the Spanish text.
- Met with the technical leaders of National Foundation of the Blind and the American Council of the Blind to test the validity of the Audio Ballot design.
- Contributed heavily to the Audio Ballot layout and control flow specifications.
- Developed the equivalent VB header file for the L H APIs, which were written in C .
- Implemented the Audio Ballot using VB 6.0 and TTS.
- Researched the issues of locale, code page barrier, UNICODE and ASCII.
- Researched the language support for Chinese, Japanese, Korean, Vietnamese for WINprep.
Technologies Used: Windows 2000, VB.NET, VB 6.0, ActiveX objects, Win32 API, Access 2000, ADO and Jet, ADO.NET, C , C , SQL Server 2000.
- Enhanced QuickBook Site Solutions using CGI script and Java Servlet. Used Intuit's QuickBook Site object library to authenticate a session, perform a user request, and commit the activity.
- Enhanced an internal sales marketing tool using CGI script, Java stand-alone application to automate the telemarketing process. After the telemarketer entered a user name the application would fetch all the relevant customer information and guide the conversation.
- Developed QuickBase application in Visual Basic to link the web site with Intuit's customer database. QuickBase used XML based API protocol. Developed the VB demo code based on Intuit's Perl demo code.
Technologies Used: Windows 2000, Sun Solaris, Java, Perl, Visual Basic, ASP, HTML
- Participated in a 5-engineer effort to build a web portal www.apps.com for web-based applications using XML, VB Script, Java Script, HTML, DHTML.
- Led the migration of the web portal from Windows NT 4.0 to Windows 2000.
- Led the integration of XML into the portal. The XML file described a chosen set of application suites. Used XSLT to process the XML data to show the application URL, description, and the weighted user ratings.
- Explored ways to utilize the new Microsoft platforms: Visual Studio.NET, C , VB.NET, ASP.NET, ADO.NET.
- Contributed to the development of the web site hosting system requirements, and the hosting and development software requirements.
Technologies Used: Windows 2000, SQL Server 7.0, Site Server 3.0, XML, ASP, HTML, DHTML, C , VB.NET, ADO.NET, ASP.NET
- Worked with MS Exchange Server and the CDO objects to construct document authoring workflow process. All MS Word documents are attached to the MAPI messages, which reside in a public folder of the MS Exchange Server. Different public info store holds different status of work in progress. COM objects are used to move the messages between the public info stores. MSMQ is used to store notification messages.
- Worked with a team of five Microsoft consultants for Giga Information Group, Norwell. The purpose is to rewrite its web site using the most up-to-date Microsoft Web technologies, i.e. ASP, MS Site Server, MS Transaction Server, MS Exchange Server, NT Server, MTS, MSMQ and MS SQL Server.
- Worked with the CDO objects to build the Forums/Comments feature for Giga's web contents. The comments are stored in a public info store, attached to a document the web content . The business logic is in an ActiveX DLL installed within the MTS.
- One of a three senior engineer team to develop Java applets for PTC's WEB-based Documentation Management system Pro/DocMgr , which was a client-server information distribution application. The project took the 100 percent pure Java approach but sported the Windows look and feel. The design approach adhered closely to the object oriented schools of thoughts. The back-end managed PTC's CAD/CAM documentation plus the 3-D drawings using the Oracle SQL Server running under Sun Solaris. The front end showed the documents and 3-D drawings on demand with a Java/HTML thin client running under Windows NT. The middle layer did the magic of fusing together the Java client and the C server module using Sockets to transfer data and control information.
- Contributed heavily to the client, which was composed of various Java applets housed within HTML pages that served as the linkage between different functions. To simulate the Windows look and feel the project was built on top of the Shafir component library and used the Java layout managers extensively.
- Led the effort in using the Netscape security package to launch processes, and read/write/delete local files.
- The final application was packaged as a secure JAR file and shipped on Windows 95 and Windows NT.
Technologies used: Java 1.1.4 SDK, Symantec Caf , Netscape Communicator security API, HTML, Shafir Component Library
- Conversion Server Administrator Together with a Unix programmer developed an Administrative tool, like the Control Panel's System applet, for the Pro/Intralink Conversion Server. Used MFC tabbed dialog box to categorize and manage the conversion server's parameters. Used WinSocket to pass control information to the Conversion server for start-up and closedown.
Technologies used: Windows NT, Visual C 5.0, MFC 4.0
- Researched the Java AWT class library and created several Java components.
- Researched ways of leveraging the existing ActiveX controls as well as investigated the Lotus Notes APIs.
- The project was built on top of IBM's ITS technology, which modularized an application into several layers: the data manager, the dialog manager, the user interface and the network layer. The Java components were integrated with the data manager objects data pool . The user interface only stored data in the data nodes, which can reflect the change back to the data pool instantaneously. When the data pool was networked via the Sun CORBA layer, this technology was readily extended to the Internet world. The end result was a smart intranet/internet-programming paradigm.
- Developed a Calendar control using JDK 1.0. Dynamic object instantiation was the key issue to demonstrate the validity of the client model.
Technologies used: Java SDK, Symantec Cafe, MS J , Visual C /MFC.
- Developed the ImageEnvelope subsystem for HP's Cardiology Imaging System using Visual C 4.0 under Windows NT. The ImageEnvelope was based on a DOS program and by showing an array of bitmaps it simulates the real-life medical equipment.
- Used various medical-imaging file formats, such as DSR or DICOM.
- A class hierarchy, which was exported through MFC, modeled different entities of the process. Emphasis was on high performance and clear data abstraction. Through judicious use of memory mapped files increased the module's performance by six folds.
- Used COM's Structured Storage technology seamlessly integrated the multimedia capability into a file system that was designed to handle text only.
Technologies used: Windows NT, Win32 API, Visual C /MFC.
Senior Software Engineer
- Participated in user requirements gathering for LotusTest, a multiplatform-testing environment designed to support Lotus specific controls and the internationalization process of the Lotus suite.
- Ported LotusTest from Windows platform to OS/2 Warp using IBM C . Major effort was spent on porting the EditControl, an enhanced Windows edit control that supported text greater than 64K, UNICODE, and owner-draw.
- Enhanced LotusTest for Windows NT.
- Enhanced a WISYWIG GUI editor to support the creation and modification of Lotus InfoBox, which was analogous to MS Property sheet. The editor was implemented as an OLE mini-server, to be embedded in applications such as Notes. It behaved just like the dialog box of Visual C .
- Designed and implemented a file archiving system for Lotus 123 QA tools, based on OLE's Structured Storage technology under Windows NT.