Resume of Stephen Terapak
Software Engineer/Development Manager
Contact: email@example.com, (760) 509-5350
· Over 15 years of professional software development experience.
· 8 years experience producing commercial software.
· 3.5 years of development manager experience leading teams of software developers.
· Over 10 years experience working with Microsoft technologies. This includes 7 years of .NET/C#, C++ experience which includes ASP.NET, WINForms, Smart Clients, and Active Directory (LDAP).
· Experience on a variety of platforms including: Web, Windows, Mobile, Unix, and MacOS.
I started a software consulting firm in April of 2008. Here is a list of the clients and the projects I have worked on:
· R-RAS Restaurant Remote Application Suite
JITB had me write a set of tools to help manage the back-office servers at over 2300 locations. One of the major complexities involved in this project is that the channel of communications was a high latency satellite. This means that all data communication over the network must be closely monitored and reduced as much as possible. The client part of the application was written in .NET 2.0/C# as a Win Form smart client and deployed using Click-Once technologies. This application was written to support the following OS: WinNT 4.0, XP Professional, and Vista. The following tools were included in the suite:
· Remote Desktop – I used UltraVNC and customized the C++ code to perform network authentication using Kerberos. I used Microsoft Kerberos libraries (SSPI) and Open Source (GSSAPI – MIT) to ensure all Microsoft OS would be supported.
· FTP – I used FileZilla over FTPS (FTP over SSL) to ensure authentication was secure.
· Remote Print – I wrote a c# Windows Service that the client could use while using remote desktop. This service performed Kerberos authentication as well. On the server side I installed RedMon to allow for printer redirection and ghostcript to output a PDF file from Postscript. After the file is generated the windows service transfers the data stream to the client which then prints to the default local printer. This allows for seamless remote printing.
LHADI is an application that synchronizes the company’s operational hierarchy to Active Directory. Ths application runs daily. It is written in C#/.NET 2.0 and uses DirectoryServices to communicate with Active Directory. I also added to an existing WinForm (C#/.NET) application to allow the management of people in the hierarchy. It is a TreeView control which allows a user to add/remove/assign roles to particular user on node in the hierarchy. The ActiveDirectory security groups are being used by MOSS (SharePoint) and SqlServer Business Intelligence to manage the security for these applications.
· Location Admin
Location Admin is a tool to manage the operational hierarchy for Jack in the Box. This tool is written in .NET C#/WinForm. I have changed this application for the previous project and I have changed it again to be able to manage the operational hierarchies for all companies that Jack in the Box has franchises with. This was a significant effort to pull this application out of a heavy XML / SOA architecture. There were significant increases in the speed of the application. The initial screen load went from 23 seconds to 0.05 seconds due to the use of a caching algorithm.
Team Manager/Team Leader 5/2007-3/2008
· Added an ad-hoc reporting tool (CIZER) which was fully integrated into our software product. Features included:
o Single – sign on capabilities.
o Integrated security
o Fully automated setup which decreased the time for a client implementation from days to hours.
· Re-engineered the product to support multiple languages. This required changes across all core components of the product. Languages now supported:
o Spanish, French, Mandarin Chinese.
· Fixed hundreds of known issues and bugs.
Software Development Manager 1/2006-5/2007
· I managed a team of 12 developers. 7 are onsite Mitchell employees. The other five are offshore resources in India.
· As my time as a manager I focused on the quality of the software releases. To ensure high quality on time releases I have implemented the following changes:
o Significant improvements in the SDLC used by the team.
§ Managed code reviews, documented unit test cases, documented profiling, and documented integration test scenarios.
§ Load test results for every release.
§ This lead to higher productivity of the team as fewer bugs are being released. This especially true of the offshore resources who require much tighter management.
· I have released almost 12 versions of the product this year. Almost all were customer driven requirements that needed to be implemented by the end of a pilot. These were on a very tight schedules that had high upper management visibility.
· We are also implementing customer integration projects. This was particularly difficult because of lack of solid requirements and tight schedules. This was resolved by forcing SDLC practices on the people in the field to ensure customer visibility on what we are implementing for them.
· My team has also been driving the platform upgrades. We have moved from Solaris machines to IBM-AIX which has resulted in much better performance and scalability. This required full regression testing, load testing, and production deployment verification.
· We also managed the stability of Weblogic 8.1. I have team members who research, test patches and service packs to resolve known issues in the platform.
Software Engineer IV 5/2004-1/2006
· Claim Service – This is the first cross platform components that was built for the new platform. This is a shared component that almost all applications will use to save/retrieve claim information. It consists of a C# client which makes SOAP calls to a Weblogic JWS (Web Service) which uses an EJB to make database calls using Spring/Hibernate. I built the C# component, the JWS, and worked out all the details of communicating between the platforms using SOAP. Wrote significant NUnit tests to ensure functioning components during the development process.
· (Team Lead) Workbench - We have built a reusable component layer called Workbench which consists of Presentation, Custom Settings, Profile Management, Security, Logging, DataGrid wrapper, ODP.NET base classes, XML helper classes components, and Self-Validating controls. The idea is to have common classes for all of our applications which will speed application development and provide a common User Interface which can be easily modified. I have worked on the majority of these components and manage the changes which occur on them. I approve the designs, ensure proper testing, and conduct code reviews. We have 6 applications which are being built on this platform which has increased the importance and complexity of managing it.
· (Team Lead) TotalLoss – This is the first application that is built on the Workbench which fills a major gap in the product line for Mitchell. This application determines the value of a car that is deemed a Total Loss. I wrote a significant amount of the ASP.NET C# code which made up the presentation layer. Release date October 2005. Optimized code using DevPartner Studio profiling and LoadRunner load test tools. Mentored team members
Chelsea Interactive, Reston, VA, Core Developer 4/2002 – 1/2004
· (Team Lead) Implemented c++ shopping cart component changes to remove memory leaks and implemented fraudDefenz, which collects and flags orders with known bad addresses and credit cards. Using that info, I redesigned and implemented a generic fraud detect daemon using java, stored procedures in pl/sql and triggers. This daemon is table driven therefore new brands using our platform can use this process with little effort and rules can be changed on the fly. This resulted in reduced down time, decrease in fraudulent orders and increase in rent received form the brands.
· (Team Lead, Architect, Project Manager) Value Link Gift Certificate – Designed, implemented, and managed a team of 4 developers for the integration of the Value Link Gift Certificate system into our platform. This system allows a store to have gift certificates that can be used in the store or on the website. We have a developed a real-time transaction based architecture that any component in our platform can use. It was implemented using SSL Sockets, Client Certificates, and extensive encryption techniques to communicate securely to the remote system. Some of the components that use this component are the shopping cart, order fulfillment back-end, and return handlers. Technologies used include java, c++, shell-scripts, Java Secure Socket Extension library and the Java Cryptography Extension library. The design would allow any brand on our platform to switch their Gift Certificate provider with only front-end changes required. We charge a switching fee for the brands, which results in pure profit.
· (Team Lead) Implemented SalesFulfillment process that allowed polo to use their e-commerce structure to restock their brick and mortar stores. I ensured that order info is sent in a daily data feed to the warehouse and it is printed out on the packing slip so that commissions can be tracked correctly.
Aether Systems, Vienna, VA, Senior Software Engineer 7/2000 – 3/2002
· (Team Lead, Architect) Designed and implemented DCOM/ATL based conduit plug-in for ScoutSync platform. This enabled companies using ScoutSync to synchronize corporate data residing in Lotus Notes v5.0+. This was written in Microsoft C++ using Lotus Notes C++ API using an out-of-process COM dll. Released to the public February 2001. First year sales topped 6 million.
· (Team Lead) Designed and implemented a Lotus Notes adapter written in Java using Lotus Notes CORBA/JAVA API. This adapter plugged into an apache SOAP based web service that provided a single interface to Microsoft Exchange and Lotus Notes. The adapter used CORBA to remotely access Lotus Domino servers using HTTP security infrastructure that Lotus provides. The result is a near seamless integration whose only scaling constraints were memory and the Lotus core libraries.
· Projects included client/server database, Notes based workflow, and language/platform complexities.
Noblestar Systems Corporation, Vienna, VA, Senior Consultant 6/1997 – 3/1999
· (Consulting Manager) Managed three clients and six projects. I spent most of my time fixing out of schedule projects.
· Inherited a failed project from another consulting company, removed sixty percent of the code, deployed the application and was vital in obtaining a contract worth over one million dollars. Technologies included Microsoft Exchange, Visual Basic 5.0, and Crystal reports.
· Inherited two other clients whose e-commerce tax information web sites were exceeding cost and time estimates. Re-designed and finished implementing payment systems and data import applications. Technologies included C++, Notes C++ API, Lotus Notes, Folio, and Visual Basic.
Designed and implemented applications used by government agencies.
· Designed and implemented a GIS web application for the Telemedicine project. Technologies included Visual Basic, IIS, and Internet Explorer.
· Member of team that implemented a client/server based issue-tracking system. Technologies included Powerbuilder and Sybase.