Winter

 

Additional Work Experience Detail

 

 

 

Input-Output, Inc. Stafford, TX, February 2006—June 2006

I worked with a team of 6-8 programmers to develop a new version of seismic data acquisition software. Though the development was considered "new" and involved redesign and a new application framework, much of the code was copied the legacy application and required my being able to comprehend large amounts of existing Visual C++/MFC code. More than 50-75% of my work, however, was in C# .NET, but 2003 and 2005, and require me to expand on my existing C# knowledge and learn more about the language itself and the .NET framework, including elements of .NET 2.0. I made ample use of the Windows Forms Designer and also of the third-party toolkit by Syncfusion. The work also required the use of XML and SQL Server, first 2003 and later 2005.

 

 

 

Siemens Corporate Research Princeton, NJ, October 2003 - May 2004

I worked with two other programmers to develop a prototype application that ported as much functionality as possible from an existing PLC (programmable logic controller) editor. The existing application was written in Visual C++/MFC using the Objective Toolkit and the Objective Grid and made use of many ActiveX components written in both Visual C++ and Visual Basic. My primary task was to extract graphical editing functionality into ActiveX controls that could be used by the prototype workbench which was a .NET application developed in C# and Windows Forms. I had to use my detailed knowledge of the MFC document-view architecture in order to decouple the relevant code from the original framework and restructure it to run in the isolated context of an ActiveX control. As an added challenge, I had to comprehend a large amout of code in which much of the function names, variable names, and comments were in German. Later I discovered that some of the code I needed to port was originally written in Visual Basic, and I had to understand VB user controls in detail in order to separate the appropriate code. Finally I had to write C# WinForms code to make use of the ActiveX controls I created.

 

 

Citadel Security Dallas, December 2002 - April 2003

I was brought on board a team of around seven developers, and my initial task was to develop a series of ATL Server Web Services that implemented the business logic for a client/server application that automated the remediation of vulnerabilities. I used Visual C++ to develop the components, and when development was completed, I used the components in the C# WinForms client application. Despite my lacking any experience with C#, .NET, or WinForms, the team leader assigned the work to me anyway because of his knowledge of my extensive programming skill and ability to learn quickly. I came up to speed by reading documentation and examining code, with no training. Additionally, to debug the application, I had to develop an understanding of the SOAP mechanism used to dispatch the method calls to the server.

 

All the while, I also served in a support role, helping out with configuration management, database management, and some InstallShield work. We used an application that interfaced with Visual SourceSafe to run the daily builds and create the installers. The database was SQL Server, and I had to use DTS on a regular basis to update our database of vulnerabilities from external sources, including XML. I helped maintain a Visual Basic/ADO application to perform part of the data conversion.

 

 

AIG Houston, September - October 2002

This was not a development position. I was hired because of my experience integrating a product with Visual SourceSafe on a former assignment, and my task was to install and configure SourceSafe for a team that had never used source code control, and then to mentor the members on how to use the product and create supplemental documentation.

 

 

Citadel Security Dallas, July 2001 - July 2002

I was hired to develop a completely new application for automating the remediation of operating system and application vulnerabilities. At the time of my hiring, I was the only developer and worked with the manager directly to do the research, conceptualization, analysis, design, and implementation of the product. In order to reach alpha status more quickly, we based the client UI on that of an existing product written in Visual C++/MFC and the Objective Toolkit. The data about vulnerabilities was contained within an XML file available from Microsoft, and I used a third-party XML parsing library to process the file into an Access database used by the application. As the project moved forward we ported the data to SQL Server. The client application was only used for configuration--remediation was performed by a server application also written in Visual C++ using a third-party TCP/IP library. I performed nearly all the design for the application and created the framework. My manager also helped with the programming, and as the project progressed Citadel hired one programmer, and then another, to assist with development efforts.

 

 

Mik & Associates Dallas, April 2001 - July 2001

I was hired to rewrite an module, part of a larger point-of-sale application, to synchronize sales data between POS register at the clients’ retail outlets and their corporate databases. The application already existed, but I was tasked with redesigning it to satisfy new requirements. Working under another programmer, I performed all the development in Visual C++/MFC using an internal library to access Btrieve data and ODBC to access SQL Server data. Network communication was done via TCP/IP using Windows Sockets. I did not write the original WinSock code, but I had to understand it well enough to revise it to meet the new requirements. Configuration information for the data transfer was contained in an XML file, and I used a third-party library to parse the XML.

 

Cofiniti (formerly MoneyStar) Austin, September 2000 - March 2001

I was initially brought on board a team of about five developers to create COM+ components that implemented the business logic for a client/server web application for financial planning. The components were developed in Visual C++ using ATL for the COM and ADO for accessing data. An intermediate data access layer converted the SQL data to XML, and we use the Microsoft XML DOM for parsing. As the project progressed I learned management had a need for an additional resource to develop client-side pages in ASP. Despite having no experience with ASP, I volunteered in the hopes of expanding my skill set. Having seen my abilities thus far, I was assigned the work, and I quickly came up to speed on ASP and JavaScript (I already knew VBScript) on my own, from documentation and sample code, with no training.

 

 

Microsoft Redmond, February - August 2000

I was hired in the middle of a multi-year project onto a team of ten developers working within a larger group of about fifty developers. The project was a source code control and defect tracking application that was intended to replace Visual SourceSafe and integrate into a future version of Visual Studio. While it was worthwhile to see how Microsoft worked from the inside, unfortunately my opportunities to develop my skills were limited. My primary task was to write code that tested existing code. The one piece of new code I had a chance to develop was an OLE DB provider, but OLE DB seems not to be commonly used. Additionally the tools used for source code control and defect tracking were proprietary, and the way that COM code had to be written was non-standard. However, I had a chance to work in a more structured environment with regular meetings, documentation standards, and code review standards.

 

 

Primus Knowledge Systems (formerly 2Order.com) Atlanta, January - February 2000

I was hired develop, in Visual C++, a set of special ActiveX controls known as design-time control for use in Visual InterDev. These controls used the GDI to replicate the look of existing GUI elements. In order to test the controls, I had to become familiar with InterDev and HTML forms and controls.

 

 

Deputy Software Dallas, September - October 99

I was hired as a consultant to a newly-created company developing an application to allow parental control of computer games. The two existing programmers came from a Unix background, and I provided expertise with Visual C++, MFC, and Win32. I also added some features to the GUI, and later I was asked by the manager to review their use of MFC and Windows programming and created a technical document highlighting the issues.

 

 

 

InfoEdge Technology Austin, June - August 99

I was hired to develop an ActiveX control that wrapped a C API library for manipulating TIFF and JPEG images. The initial job listing specified Visual C++ as the primary skill, but when I arrived the project leader decided that, because most of the other developers in the company had more experience with Visual Basic, he wanted the control developed in that language if possible. Though Visual C++ was my primary strength, I demonstrated adapbility and a willingess to expand my skill set and used Visual Basic as requested, though I also kept my Visual C++ skills fresh by using it to test the control. Furthermore, the project leader also revealed when I arrived that he needed me to work 45 hours every week for billing reasons, and I was able to adapt to this as well. When I completed the required functionality ahead of the projected six-week schedule, I was asked to remain for several more weeks to complete additional, nice-to-have, features.

 

 

 

Citadel Technology Dallas, January - June 99

I was brought back to Citadel for a second time to rearchitect the desktop security I had originally written, with a schedule longer three weeks this time. The goal was to architect a product that had flexible object-oriented design that allowed for frequent expansion, because the way the company marketed the product required much customization. I relied on the object-oriented programming knowledge I had developed in college and through heavy reading during my post-college work, plus the relatively new technique of using design patterns, and I ended up creating a framework that would be used for the next five years. Intially it was just myself and my manager, but as the project grew we added several more programmers, whom I led on an informal basis. We used Visual C++, MFC, COM, the Objective Toolkit, DLLs, and device drivers in the finished product, with reports in Crystal Reports and an installer in InstallShield.