Senior Software Engineer Resume
SUMMARY:
A high - energy self-starter with exceptional communication, inter-personal, technical, and problem-solving skills who excels in a technically challenging, deadline oriented environment.
TECHNICAL SUMMARY:
Languages: C#, VB.NET, C++.NET, C++, Visual C++, C, Visual Basic versions 4,5, & 6, VBScript, Javascript, SQL, PERL, Unix Shell Scripting, Java, x86 and 68000 assembly, many others
Microsoft Concepts/Tools: .NET, COM Interop, Visual Studio.NET 2003 & 2005, C#, C++.NET, VB.NET, Visual C++, Visual Basic, MFC, ASP, ASP.NET, ASP.NET MVC, ActiveX, COM/DCOM/COM+, ActiveX Servers and Controls, ADO, ADO.NET, SQL Server DBA, TFS (Team Foundation Server)
Unix Concepts/tools: AIX, Solaris, HP-UX, and Linux Administration, Kernel Configuration, Forte C++, sed, awk, shell, ksh, csh, bash, vi, rcs, cvs, cron, make, dbx, xdb, gdb, security
Programming concepts: Multi-threading, IPC, debugging, OO or OOD, Inheritance, Polymorphism, Events, 2-tier, 3-tier, or N-tier programming, queues, semaphores, critical sections, shared memory, binary trees, b-trees, linked lists, hash tables, heaps, matrices, image processing, messaging, recursion, client/server, STL, Revision control systems including Source Safe, TFS, and Clearcase
Database/Client-Server/Middleware Concepts: Oracle SQL*Plus and PL/SQL, MS SQL Server, Transact SQL, Schemas, Normal Form or Normalization, Database Design, Importing/Exporting data, performance tuning, Administration, MQ Series
Networking/Internet Protocols/Web Development/Concepts: HTML, ASP, ASP.NET, IIS, AJAX, TCP/IP, UDP, IP-Multicast, SMTP, POP3, Sockets, Winsock
Soft/Personal Skills: Diplomatic, Assertive, Excellent written and verbal communication, Excellent Problem Solving, Excellent Leadership, Professional Appearance, Conversant in French and Japanese
PROFESSIONAL EXPERIENCE:
Confidential
Senior Software EngineerPrimary Concepts: C#, .net, ASP.NET DotNetNuke, SQL Server
Responsibilities:
- Designed and implemented a multi-tenant DotNetNuke solution to replace a legacy system with more than 200 independent websites.
- Wrote custom code in c# to interface with a legacy webservice written in delphi.
- Trained and mentored junior programmers in .net development
Confidential
Senior Software EngineerPrimary Concepts: C#, .net, ASP.NET MVC, Entity Framework, SQL Server
Responsibilities:
- Rewrote significant portions of an ASP.NET MVC application to fix bugs and improve performance.
- Wrote an automated data import utility that was able to detect changes in the data format coming from the data provider and compensate automatically.
Confidential
Senior Software EngineerPrimary Concepts: C#, .net, WinForms, SQL Server, Dev
Responsibilities:
- Rewrote ID badge and contractor time reporting system.
- Added auditing features to track user utilization of sensitive application functions.
- Fixed numerous bugs in a large, multi-threaded sales management application
Confidential
Consultant
Primary concepts: C#, .net, C/C++, Solaris/UNIX, Oracle, PL/SQL
Responsibilities:
- Redesigned and reworked ASP.NET based application in order to solve reliability problems.
- Designed 3-tier application framework to serve as the standard for the PACE team.
- Performed code reviews and mentored junion programmers.
Confidential
Consultant
Primary concepts: C/C++, C#, Summit, Polypaths, SSIS, vb.net, SQL Server
Responsibilities:
- Expanded the functionality of a data extraction utility to include Futures, Caps, and Floors in addition to Swaps and Swaptions.
- Upgrades/fixed a utility to recycle Summit services as part of a night routine.
- Created an SSIS package to manage the flow of data from Bloomberg and Reuters, through an Excel spreadsheet, then a proprietary Polypaths tool, then into XML format. Package included custom VB.NET scripting.
- Performed SQL Server and Summit (Misys) administrator duties including database backups and restores. Automated the transfer of nightly production database backups to development to refresh development databases. Managed the installation of new Summit versions. Created new Summit databases, Services, and Virtual Environments. Performed other Summit related duties including the creation of new users and roles administration.
- Created a process for the automated nightly refresh of Summit databases using stored procedures (Transact-SQL), SSIS, and korn shell scripts (mks toolkit). Implemented a command line interface to a Summit web service that allowed automated scripts to startup and shut down Summit services.
Confidential
Consultant
Primary concepts used: C/C++, Solaris/UNIX, Oracle, PL/SQL, Sybase
Responsibilities:
- Competed the conversion of a data extraction tool from sybase to oracle.
- Converted several stored procedures to appropriate PL/SQL equivalents.
- Debugged complicated rate of return calculations to ensure that the new oracle version's output exactly matched the output of the old sybase version.
- Added the ability to create custom market indexes that form a tree-like structure instead of just flat components.
Confidential
Senior Architect
Primary concepts used: Three tier architecture, VB.Net, SQL Server, TFS
Responsibilities:
- From a clean slate, redesigned their entire business to migrate from compiled basic to a 3-tier dotnet/sql server based solution.
- Implemented views with instead-of triggers to allow database inserts and updated through views.
- This allowed legacy VB6 systems to integrate with the new database schema while allowing new development to access a properly normalized database schema.
- Designed a data warehouse system to hold existing commingled aggregated data without polluting or denormalizing the new transactional database.
- Designed a generic user interface module to orchestrate the setting of control properties, and to manage the flow of data between the user interface and business objects.
- Designed a web services interface to provide business functionality to the business tier and their outside suppliers.
- Implemented key pieces of the system while delegating other pieces to junior programmers.
- Also mentored client’s developers to bring them up to speed with new technologies.
- Installed and configured Team Foundation Server from scratch to serve as the source control tool.
- Also set up continuous integration builds in TFS.
- Provided consultation for hardware selection, high availability and fault tolerance techniques, and a backup and recovery plan.
- Completely reconfigured security for a new TFS installation to solve a number of access problems.
- Fixed various problems with Visual Studio client installations to allow them to access TFS correctly.
- Reorganized source code to provide a more coherent plan for a long-term software migration project.
- Fixed a strong-name problem with a legacy third-party control running through Interop.
- Provided detailed SQL training.
Confidential
Senior Software Engineer
Primary concepts used: Unix, C++, Oracle, PL/SQL, financial
Responsibilities:
- Converted market index processing utility from Sybase to Oracle and from AIX to Solaris.
- Fixed numerous conversion-related bugs and core-dumps.
- Modified code to use new stored procedure naming/packaging scheme.
- Ran purify against the new code base to look for memory corruption issues.
- Fixed numerous bugs detected by purify.
Confidential
Senior Software Engineer
Primary concepts used: C# and ASP.NET, SQL Server, AJAX, Visual Studio 2003 and 2005, Team Foundation Server
Responsibilities:
- Brought a half-completed data collection and reporting site to production under tight time constraints.
- Wrote numerous stored procedures to support browser based reporting.
- Wrote data collection functionality to allow data to be imported through the website from Excel spreadsheets.
- Improved performance of existing upload process.
- Integrated Infragistics charting tool to deliver dynamic charting in the browser based on user selected parameters.
- Reworked existing data and schema to correctly fit the business model.
- Later, rewrote the entire site (version 2.0) from scratch to correct previously existing design flaws and to make changes to the underlying database schema to support new features.
- Created a dynamic website to manage the flow of documents between Confidential and new clients.
- This site included many functions implemented through AJAX in order to improve the overall user experience.
- To facilitate the creation of this site, I also wrote a code generator that interrogates the SQL Server database using schema information to generate most of the code for this site including stored procedures, a data abstraction layer, a service layer, and web controls with data bound grids.
- This greatly reduced application development time, reduced bugs, and insured the thorough implementation of coding standards.
Confidential
Senior Software Engineer
Primary concepts used: Unix, C++, Oracle, PL/SQL, financial
Responsibilities:
- Rewrote sections of their proprietary market index tracking system to allow re-weighting of index component percentages based on previous rates of return.
- Extensively tested changes to ensure accuracy of calculations.
- Fixed numerous unrelated bugs encountered during project development.
- Added a feature to reject index build requests by applying business rules to complex index configuration data.
- Automated the collection and import of purchased vendor data, meshed the data with proprietary market index data, then re-exported the data to be transmitted to mainframes for partner analysis.
- Wrote an extension to the system to rebuild market indexes based on configuration change criteria. Integrated this utility into nightly automated production system. Wrote pl/sql scripts to maintain the production database environment.
- Mentored other consultants helping to ease the steep learning curve.
Confidential
Project Leader
Primary contepts used: Unix, C, C++, Visual C++, C#.net
Responsibilities:
- Lead a team of five developers in a project to improve quality in the AppSaver product as well as facilitate the rebranding of AppSaver and other products for the Confidential merger.
- Mentored junior programmers in advanced debugging techniques.
- Used debuggers to step through windows system DLL machine language to identify root causes of problems and improve product integration with windows.
- Significantly improved product stability and performance while adding new usability features.
Confidential
Technical Consultant
Primary concepts used: Visual Studio.NET 2005, .NET framework 2.0, C++.NET, MySQL, financial
Responsibilities:
- Rewrote Confidential futures trading system using a multithreaded model to achieve proper realtime performance while maintaining thread safety with the Trading Technologies interface.
- Added multithreaded logging features.
- Added a multithreaded socket interface to another trading application to allow multiple clients to share one connection to Trading Technologies.
- Setup and configured a MySQL database instance to store trade history.
- Mentored junior programmers.
Confidential
Senior Software Engineer
Primary concepts used: Visual Studio.NET, C#, C++, MQ Series 5.3, Clearcase, financial
Responsibilities:
- Made extensive changes and enhancements to the Confidential ’s trading floor order execution system to implement changes for the Denali project.
- These changes allowed orders to be cleared within 15 minutes rather than overnight.
- Doubled the number of message types sent and processed.
- Automated code generation to reduce development time.
- Reworked proposed design changes to Order Direct to limit code changes needed to other systems.
- Mentored a team of 12 developers and coordinated software changes through Clearcase.
- Made changes to existing complex C++ code to improve efficiency and maintainability.
- Designed and wrote a web based application in ASP.NET/C# for Dominion Power. This application tracked call center agent daily performance statistics and monthly average performance statistics and displayed them in a browser on agents' desktops. Agent statistics came from a phone switch through a COM object and COM Interop. Historical data came from Oracle 9i through ADO.NET. The application was completely configurable with an HTML template (to define the layout of the page) and a symbol file that related data placeholders to actual SQL queries or data elements in the phone switch. Also provided a custom formula parser so that formulas could be defined in the config file and parsed at runtime.
- Wrote a call center application in Java and JBuilder for Amtrak. The application accepted email work items from a Firepond Server, then formed an XML message to be sent to a C# application that interfaced with the enterprise through TIBCO. Accessed Oracle through JDBC.
- Developed a system for CentryTel involving a server and an ActiveX control in VB6 for use in browsers to allow the automatic navigation of call center operators' browsers to specific pages based on information from the phone switch. This allowed agent's browsers to appear to be operated by remote control so that the browser would automatically look up the caller's information based on account numbers they typed in over the phone without intervention from the agent.
- Ported customer data for the Los Angeles Times from a Tandem database to Oracle 9i. Wrote a utility in VB6 to extract data from the tandem database, reformat dates and other data, then insert the data into Oracle.
- The program ran 24 hours a day and executed flawlessly for an entire week to extract all of the data while tolerating and logging badly formed data. Wrote multiple stored procedures in PL/SQL. These procedures read parameters from configuration files and use them to control the format and contents of the reports they generated. Wrote a winforms application in C#/.NET to manage a table that contained scheduling information for the reports.
- This allowed the client fine control over when the PL/SQL based reports would run.
- Rebuilt a Unix/C library (Solaris) for Mercafon.
- Rebuilt the build environment, then fixed numerous unresolved externals.
- Wrote a DLL in Visual C++ that interfaces to Siebel so that customer information would be integrated into the Siebel desktop and update when the call arrives at the agent.
- Designed and wrote an application to interface to Verizon's MQ Series 5.3 cluster to receive call work items, then deliver them to agents' desktops. Installed and configured multiple clustered Queue Managers.
- The application was a multithreaded service in C#. Used MySQL and ADO.NET to store working data to allow a clean failure recovery.
- I’ve been named on a patent applied for by Rockwell FirstPoint Contact for the design of this solution.
Confidential
Senior Unix Technical Consultant
Primary concepts used: Korn, Connect:Direct, Informatica, Manugistics, VB6, Oracle, PL/SQL, Crystal Reports
Responsibilities:
- Redesigned korn shell script based data file transfer network to improve reliability, maintainability, and performance.
- Reworked scripts that interfaced with Connect:Direct, Informatica, Manugistics, and EDI output files.
- Redesigned Unicenter based scheduling system to relieve overloaded systems and meet business needs more efficiently.
- Wrote numerous utilities to monitor and maintain the existing system.
- Mentored contractors and employees to bring them up to speed with Solaris.
- Wrote a korn shell script to monitor the Manugistics event history table and page support personnel when a job locked up or ran too long.
- Provided pager based production support to keep system running 24 hours a day.
- Simultaneously managed a project to modify the Manugistics web interface to match corporate internet standards.
- Rewrote JSPs from Manugistics to implement look and feel changes.
- Interfaced with numerous departments to keep project on time and address the needs and concerns of other divisions in ConAgra.
- Wrote some VB6 utilities to track production outages and report statistics.
- Wrote and modified Oracle stored procedures in PL/SQL for use in Crystal Reports.
Confidential
Intranet Application Developer
Primary concepts used: ASP, IIS, Crystal Reports, SQL Server, DTS Scripts, VBScript, JavaScript
Responsibilities:
- Designed, managed, and implemented Intranet based communications form to allow dock workers to enter subjective load quality data.
- Wrote DTS scripts to import data from Oracle into SQL Server.
- Designed dynamic ASP pages to construct forms based on design criteria in database tables.
- Wrote code to dynamically generate N-way database joins to populate communications form and aggregate data for reports.
- Added other similar communications forms simply by adding rows to the database.
- Back end code was ASP, front end code was JavaScript.
- Optimized database schema to improve query performance.
- Wrote stored procedures to interface with Crystal Reports for other developers.
- Wrote several Crystal Reports. Performed requirements gathering and analysis.
- Managed clients from other departments.
Confidential
Administrator/Data Retrieval Consultant
Primary concepts used: Unix Administration, Linux, Hardware, Access
Responsibilities:
- Brought a Data General Unix server back from the dead.
- Identified boot parameters to bring up server after disk failure and replacement.
- Configured new Unix installation to mount and use other drives.
- Reconstructed system to pre-crash state.
- Repaired disk corruption caused by crash.
- Located and identified patient data.
- Assembled and configured Linux box with DAT tape drive from the Data General to restore patient data to a separate machine in order to export data.
- Recovered data from damaged Informix data files and imported data into Microsoft Access for easy retrieval.
Confidential
Senior Software Engineer
Primary concepts used: Solaris, Windows NT, wxWindows, GTK, Oracle DBA, PRO*C, PL/SQL, C, C++, Unix Admin, Sockets, Multithreading, Event driven programming, OOD, make, gdb
Responsibilities:
- Returned to Rockwell to fix design problems introduced by features added by the client.
- Adjusted date/time calculations to work around a bug in the GTK library and take into account daylight savings time and time zone shifts.
- Reconstructed development environment after the crash of a development machine.
- Solved Solaris version compatibility problems between the client machine and development machine.
- Reworked build directory tree and makefiles to simplify maintenance.
