Thang Van Ung
Chicago, Illinois 60614
773.525.6962 ⋅

Furnish upon requestReferencesjeduEducationGet Fonts

Programming Languages

Visual C++, C# .NET 2.5, Web Service/API, XML/JSON Feed, XSL-FO, SQL, T-SQL, PL-SQL, SQL CLR, Visual Basic (V3-V6),
Vbscript/Javascript/AJAX, Access Basic, Cgi/Perl+CPAN/Php, Java, Html,Ansi C, C++ (API) , COM, Foxpro V2.6-3.0, Pascal


Windows NT/2005/XP, ASP.NET, Oracle, SQL Server 2005, Sql Server Reporting Services,
Crystal Reports, TCP/IP, MySQL/DBI/UDF, Unix/Linux, HTML5

Work Experience

August 2007 −
January 2010

Senior Developer, Business Process Outsourcing
Initially worked on the Principia™, a desktop portfolio planner and FINRA approved reporting application, team. Created new modules for Principia™ using Visual Studio C++. Tasked to merge newly acquired software, Portfolio Strategist, from Ibbotson into Principia as a value-added feature to Principia current subscribers as well as merging Ibbotson Portfolio Strategist's subscribers onto Morningstar desktop product. Successfully implemented import interface for Principia application, using Portfolio Strategist's output files to import asset allocation data into Principia. Lead on creating new module to handle Exchange-Traded Funds (ETF). Extended existing Closed-End reports that were XSL-FO based onto the ETF module. Simplified large list loading technique by creating a multi-threaded wrapper for the common list control in place of legacy in-house software. The wrapper control saved excessive time required to customize the non-extendable legacy control.
Selected as a member on a new team for starting Morningstar's first asset management product due to my prior development with hedge fund administration product. Sucessfully designed, negotiated business rules, and implemented enterprise scale asset administrative (Data Hub™), a back office product, data implementation under MS SQL 2005. Architected a framework for clients customizations that are table driven for the back office product. Introduced SQL CLR functions for multiple file formats processing and cross-server execution. SQL CLR powered the SQL processes with regular expressions that established a "common language" for building flexible system of client customizations and import routines. Implemented web feed from SQL Server 2005. All customizations are imbedded within SQL Server environment that allowed the development of the C# (frontend) web service to be a "thin" re-usable/generic construct.
Created solution to synchronize sql servers’ infrastructure, schemas and procedures, across quality control, unit acceptance, and production databases for BPO back office product.
Morningstar, Inc.   (312.384.4971)
22 West Washington Street
Chicago, IL 60602

January 2006 −
August 2007

Staff Developer
Created User Interface and classes on VB6 and ASP.Net (C#) for the primary product Virtual Back Office (VBO), a Fund administration system that serviced portfolio, financial, and partnership accounting. The system is an integrated trade transaction, position valuation, and reporting software servicing hedge funds of various sizes.
Managed and created SQL Server Stored Procedures for VBO.
Built reports on Crystal (v8.5 & v11) and Reporting Service (MS SQL 2005).
Acquired Financials (Hedge Fund administration) knowledge from support duties of VBO.
Spectrum Global Fund   (312.602.6000)
33 W. Monroe St, 1000
Chicago, IL 60603

November 2001 −
January 2006

Freelance Software Developer
Contracted to design and implement a tracking system for medical product corrective actions (e.g., recalls, adjustments, etc.) at Baxter Health. The application is in VB6 with a database that is designed and stored on Oracle 9.
Contracted to design and implement a claims system using SQL Server 2000 back-end and front end using Visual C++, DHTML, and Visual Basic (v6). The 2-year contract with TFG ended in 01/2005. Also, I worked on multiple projects with MS Access 2000 back-end.
Develop KafeCron©, a C++ client/server software, to manage internet cafe billing. The server controls the default billing, visually monitors the status of connected stations, and prints out a receipt when the user session ends. It is currently in beta use.
Develop PortalCron©, a data conversion software.
Created Java Applets which include image and mp3 audio synchronization.
Created HTML data conversion/extraction with Visual C++.
Customized search engine with perl front-end and MySQL back-end.
Created C++ application which recursively extracted web-content via HTTP socket.

April 2001 −
November 2001

Senior Software Engineer
Created API-based ActiveX container and dispatcher classes for non-MFC applications.
Developed smart card (ISO-7816) applications for multi-domain secured systems.
RS-232 was used to communicate to smart card readers.
Created an administrative application for Linux Oracle 8 and Linux TCP/IP proxy.
The applications were Win32 Visual C++ based.
Delta Security Technology   (228.689.8638, 504.818.0869)
Stennis Space Center, MS 39529

August 2000 −
April 2001

Created software in Visual c++ for NT applications, NT services, and Windows CE.
Wrote programs with Dynamic C for EEPROM.
Created proprietary software-hardware integration for entertainment systems on VIP 747 jets.
Worked on TCP/IP and RS-232 communications between components.
System Creations, Inc   (504.833.6174)
Metairie, LA 70001

March 1995 −
August 2000

x-base/FoxPro 2.6: Coded and designed tables for Aviation Information Management System (AIMS). The system was composed of financial management components via data entry, data calculation, charting, and reporting functionalities. Each application was customized to client's regulatory needs.
VB4.5: Revamped overhaul of AIMS with Access 2.0 database and VB. The selected tools were chosen due to their greater versatility and functionalities. Normalization of database took place. An assortment of controls were used to give better visual data coordination and reporting, such as Crystal Reports.
Access97: Another overhaul of AIMS. The use of data handling by libraries was discarded and replaced with MS Access system of data-bound controls. Specialized functionalities were implemented either through available third-party control or importing of customized controls and functions. Created a series of SQL statements to import data from older version of AIMS and FAA's 5010 data structure.
VB6.0: Created a customized composite OCX from GeoMedia component system to simplify the complexity of loading various GIS data into a centralized interface. Maintained Window Chemistry Data Management System (WinCDMS).
VB Script: Maintained stand-alone script processed by MS ScriptControl from a parsing program coded in VB6. Imbedded script in HTML along with ASP to import and interact with SQL Server database via ADO.
ASP: Pages that utilize VBScript & Javascript (client-side) and VBScript (server-side) to display data requests via ADO object, retrieve data from user's input, and write user's input into back-end database. Javascript was used for Netscape compatibility.
C++: Wrote a (16-bit) library system to overcome functionalities lacking or inefficient in VB and Access. Coded complete overload of data-type formatting routines. Also array and string processing functionalities were created for the sake of efficiency. Much of the functionality for accessing and manipulating COM objects was coded to increase data loading speed. Emulation of spreadsheet calculation was coded using simple grid control. Hook functions were coded to process loading, tracking and saving data on forms as well as to filter user input. A (32-bit) system were applied for the same purpose with the addition of a better mathematical expression evaluator to do ad-hoc calculation from disparate data within a database system − hard-coded expressions within SQL statement were made obsolete. The ad-hoc expression was parsed into a tree structure and substituted with literal values on demand − by using a tree structure, the evaluation was 'short-circuited.' The system handled advance expression such as switch/if and aggregation. Functionalities to read type-library (TLB) were included to access symbol tables of the application's references. All 32-bit libraries were imported via TLB to better control unicode transition between the libraries and caller; also, they were used to better coordinate and house constants and structs (user defined types). Overall, the libraries improved speed and added new aggregation functionalities. Small ATL COMs (non-visual) were implemented to be instantiated in VB. The two I created were extension of the collection object and the log file object.
SQL Server (v6.5 & v7): Designed and maintained via SQL Server Enterprise Manager.
Installation Management: Established and maintained workstation setups created by VB Wizard, Access'97 Wizard, and InstallShield.
Sun Solaris v3: Administered for a brief time (while in use).
G.C.R. & Associates, Inc.   (504.836.6166, 304.2500)
New Orleans, LA 70122

July 1994 −
March 1995

ANSI C/Intergraph CLIX: Coded (with imbedded SQL) for project.
CAD/Intergraph Microstation: Read and interpreted DGN headers via bit-reading.
Oracle (v7): Designed and maintained for project.
Hummingbird X-Window Client/Server: Piped UNIX application to networked desktops.
Software & Scanning Services   (504.887.2900)


May 1994

Degree: Bachelor of Science
Major: Computer Science
Minor: Psychology
Courses: Object Oriented Programming (C++ / ObjectiveC)
Artificial Intelligence
Operating System
Database System
University of New Orleans
New Orleans, Louisiana 70148

August 1999 −
May 1999

  MFA Coursework
Major: Fine Arts
University of New Orleans
New Orleans, Louisiana 70148

langLanguages osTechonologies workExperience