We provide IT Staff Augmentation Services!

Architect, Sr. Software Engineer & Virtualization Infrastructure Engineer Resume

0/5 (Submit Your Rating)

Ashburn, VirginiA

SUMMARY:

  • Sr. Software Engineer in search of high quality opportunity in hands - on Software Development roles.
  • Primary Roles: Software Architect and Developer: C/C++, Java, C# .NET, Perl, Python, database and scripting languages on Linux/UNIX and Windows.
  • Relevant Development Experience: 20+ years software development with C/C++ - last used on most recent project C++11/14. C++ expert since 1992.
  • 20+ years Perl scripting (on/off) - last used extensively on all recent projects (since 2007) - v5.18, v5.10, v.5.8.8, EFSPerl, others, 20+ years software development on Microsoft Windows and DOS platforms, including Visual Studio, C++, C#, .NET, MFC, Win32, 20+ years Object Oriented software development on Linux, UNIX, Windows platforms, 20+ years software development on Linux and UNIX platforms, 20+ API software development and 19 years Java - last used on most recent projects - Java 1.8, Java 1.6
  • 15+ years of experience with Oracle/Microsoft/Sybase/MySQL/SQL/RDBMS databases, 15+ years in management roles and 3 recent years in cloud automation application development VMware vSphere virtualization in Perl, Java, C++ and Bash and proficient with Perl, Python, Bash and Korn shell scripting, and VMware vSphere API development
  • Automation includes: cloud development, VMware vSphere API (VI Perl, vijava), and ESXi host configuration (VI Perl), C/C++, PHP, HTML code generation, system configuration, database and table generation, web development

TECHNICAL SKILLS:

General: C++, STL, ANSI C, ISO C++11/14, Java, JSP, JSF, Spring, JavaScript, AJAX, REST, Web Services, Hibernate,JPA, JMS, Scala, Perl 5, EFS Perl, CSS, HTML5, VMware vSphere 5.5/5.1/5.0/4.1 , VMware vSphere automation with Perl VI Toolkit (ESX/ESXi) hypervisors, Cyber Security, MSVC++, MFC, X11, NoSQL, MongoDB, Objective-C, gcc, bash, ksh, C-shell, Apache-2.2, 2.4 HTTP server, Docker, WebLogic, Tomcat, GlassFish, HTTP, Apache Axis2/C, XML, T-SQL, POSIX, UNIX/Linux IPC, TCP/IP, UDP, ACE framework, stored procedures, PL/SQL, UML, Linux, UNIX, Windows, VMware Workstation, XMPP, vim, Visual Studio 2012, IntelliJ-IDEA, NetBeans, Eclipse, Embarcadero RAD Studio, Komodo.

Programming Languages/Methodologies: C++11/14, /STL, Java, Perl, ANSI/ISO C, C#, PHP, bash, ksh, C-shell, sed, awk, HTML, XML, Xerces-C, SQL, T-SQL, Oracle PL/SQL, NASM, TASM, MASM, UML VC++/MFC, vba, WAMP, MAMP, LAMP

Operating Systems: Linux: Red Hat Enterprise (RHEL4/RHEL5/RHEL6), Debian/GNU, Fedora, OpenSUSE, CentOS, SecurityOnion, Ubuntu, Slackware, Oracle and others; MS Windows (7, Vista, XP, 2000, NT), UNIX: AIX, Solaris, FreeBSD; NetBSD, MS-DOS.

Databases: MySQL, MariaDB, NoSQL, MongoDB, Couchbase, Informix, Sybase ASE 15, Oracle, SQL Server, Sybase TSQL, MS Access, DB2, Sybase SQL Anywhere 9-10, MS Access.

Hardware: DELL, HP, Confidential, HP-UX servers, IMB-AIX servers, Microsoft NT/2003 Servers, UNISYS mainframe, Confidential PC

Versioning Tools: git, subversion, cvs, SourceGear SourceOffSite, Microsoft Visual Source Safe (VSS), Rational ClearCase, Telelogic CM SYNERGY

SDLC: Agile, Extreme Programming, Waterfall

CI: Jenkins, Cruise Control

Cms Development: Drupal 7, Joomla 3

Gui/UI Development: MS Visual Studio, VC++/MFC, C#. NET, Qt, Java Swing, JSP, VB; HTML4 HTML5, JavaScript

Protocols/Standards: POSIX 2, UNIX/Linux Inter-process Communications (IPC) TCP/IP, HTTP, FTP, SFTP, telnet, SMTP, SendMail, XMPP, SMPP, SNMP, XML, BSD UNIX sockets, UNIX signals, SDLC

IDEs: IntelliJ-IDEA, Eclipse, Visual Studio & v6-4.2, NetBeans, Embarcadero RAD Studio, Qt Creator, Qt Designer, Komodo IDE, KDevelop, MonoDevelop, Code::Blocks, Anjunta DevStudio (IDE), other misc. Linux IDEs.

Testing Frameworks/Tools: CppUnit, JUnit, gtest, mtrace, valgrind, memcheck, kcashegrind, UNIX expect, Wireshark, etherape, NMAP

Shells: bash, ksh (AT&T Korn shell), csh (C-shell), tcsh, zsh

Unix/Linux Package Managers: yum, apt, yast, yast2, pkg install, dpkg

Unix/Linux Boot Loaders: GRUB, GRUB 2, LILO

Linux Desktops: LXDE, XFCE, GNOME, KDE, WindowMaker, Enlightenment, Sugar, Openbox, others.

Debuggers: gdb, valgrind, perldebug, GNU ddd, Java Debuggers: jdb, JSWAT, JDI; NetBeans Debugger; JavaScript Debugger, WinDbg; Legacy: Microsoft Visual Studio Debugger, CodeView (MS C 4.0+), Borland Turbo Debugger

Virtualization/Cloud: VMWare vSphere and vCloud, OpenStack, libvert, QEMU, KVM, Xen, Citrix XenServer, Oracle VirtualBox

PROFESSIONAL EXPERIENCE:

Confidential, Ashburn, VirginiaArchitect, Sr. Software Engineer & Virtualization Infrastructure Engineer

Responsibilities:

  • Enable Ipv6 on Windows Server 2003 for VMware vSphere using Java 8.0, Linux, XML, Vmware vSphere Java API, vijava, Windows netsh, Windows batch processes, HTTP, test applications in Perl and Python.
  • Exclusively developed application in AutoHotKey to disable Windows Internet Explorer hot-key, due to Confidential Security Team successful test penetration attempts. All subsequent penetration attempts failed.
  • Corrected errors and added logging and other improvements to scripts written in PowerShell and VBScript.
  • Exclusively developed web-browser in C# browser for Windows Server 2012. Browser has all hot-keys disabled, is significantly faster, and will log-off user on any redirect attempts. Browser has been successfully tested in Q and A and will be put into production shortly.
  • Developed C++ application to provide statistics on both Internet Explorer (production environment) and DimensionDataBrowser01 (development).
  • Streamlined server installation process by adding configuration file logic.
  • Developed web-browser in C++ and Qt on Linux. Browser has all hot-keys disabled. Testing is currently on hold. Most of the team is Windows oriented and Windows biased.
  • Developed a complex client-server system to deliver and install Windows Server license keys. Windows Client application written in C++ and Win32 in Visual Studio 2012, compiled as 32-bit Release for use on 64-bit and 32-bit Windows Servers. Client application discovers and validates qualifying Windows Server product, reads downloaded configuration file, makes a socket connection, retrieves a volume product key and installs it using slmgrv.vbs. Server-side CentOS 6.7 Linux applications consist of winlicsvr (BASH script) service (/etc./rc.d.init.d/winlicsvr); winlicsvr-daemon.pl (Perl 1.10 application) - a multi-threaded socket application to handle all incoming requests; WinLicSvr.pm: a Perl module containing the bulk of server application subroutines. Latest developed Windows client application is placed in project /bin directory, service winlicsvr restart, winlicsvr-daemon.pl creates configuration files and databases, validate existence of application operation essential files, opens socket and listens on socket for all incoming connections; incoming data is logged, parsed for minimal validity, sql content, and current client database acceptability based upon announcement, client name, client bytes, client md5, data must match server license qualifications. Server also creates ZIP file on start-up containing WindowsServerInstaller.exe, winlicsvr.cfg, vcredist x86.exe, README.txt. Zip file WindowsServerInstaller.zip is delivered by HTTP request (read-only) to customers in cloud environment.

Confidential

Sr. Software Engineer & Virtualization Infrastructure Engineer

Responsibilities:

  • Designer and Developer of multi-threaded enterprise applications and Perl API module development using defensive programming techniques and VMware vSphere Virtual Infrastructure Perl API, OO Perl, Java, Agile, on RHEL 5.x-6.0x Linux, Bash shell, Korn shell, MySQL, MySQL Workbench, using Perl VI Toolkit, Object Oriented Perl, shell scripts, Jenkins, and Subversion. Application and Perl module development in VMware vSphere, Virtual Infrastructure Perl API, OO Perl, Java, on RHEL 5.0-6.0x Linux, Bash shell, Korn shell, MySQL, MySQL Workbench, using Perl VI Toolkit, Object Oriented Perl, and shell scripts.
  • Exceeded all project requirements and goals to the satisfaction of team, management, and end users. (s available upon request).
  • Mastery of creating Linux automation solutions using the VMware vSphere Virtual Infrastructure Perl API, 4.1, 5.0, 5.1, 5.5.
  • Designed and developed enterprise scope software applications working independently and remotely as lead and sole developer in small project team on a very aggressive schedule in an Agile development environment.
  • Involved in requirements gathering and fine-tuning of requirements and development objectives.
  • API development - developed large library of subroutines to accomplish project goals encapsulated in API format into a Perl Module.
  • Log design, development, fine-tuning, testing, and real-time monitoring.
  • Developed every item on a full and every-increasing stack of tasks. Task completion and task assignment increased exponentially.
  • Resolved all development issues, and known bugs during testing, QA, and test environment execution and analysis of over 3,000 manually automated tests documented during two years in development, test and QA environment.
  • Primary responsibilities: architect, design, develop, refactor, test, debug, troubleshoot, and cure defects in 100% of the code for this project, and maintenance of related task-oriented (command-line) administrative script base, and legacy code.
  • Enforce strict detailed logging trace procedures, redesigned log file structure to include file and line, elimination of redundancies.
  • Adhere to ‘Perl Best Practices’ principles.
  • Designed, developed, tested, and debugged numerous Perl scripts and modules, and Bash scripts for creating VMware ESX4.1 and ESXi 5.0, 5.1, 5.5 hosts, i.e., VMware hypervisors, on RHEL (5.x, 6.x) for stateful and stateless servers.
  • Software developed is currently used to build 160,000 production hypervisors for the Enterprise, worldwide, per year.
  • Integration of Enterprise File System (EFSPerl) with entire Perl vSphere automation code base.
  • Daily activities also include using vSphere, vSphere Web Client, vSphere Client, RHEL6, HP BladeSystem Onboard Administrator, XCAT, and VMware Workstation 9.x, 10.x, Power Broker (pbrun), and Linux command-line and administrative tasks.
  • Designed and developed host credentials database script using applied cryptography, the Blowfish algorithm, for approved access to randomized passwords.
  • Implemented cyber security features in all enterprise level Perl applications developed.
  • Eliminated all global variables in entire code base.
  • Application-wide exception handling for all possible ‘SoapFault’ and eval block exceptions.
  • Standardized all application error codes and messages to provide uniform error messaging and standardized all application hash key values with ‘use constant’ values to prevent accidental hash value creation.
  • Developed object oriented class (ESXConf3) to create objects in every Perl script to contain script command-line arguments, and other data. This data is then contained in a locked hash to prevent accidental alteration - anywhere throughout the application base.
  • Sole Author of extensive documentation of code base, program flow, application 'HowTo' document for engineering department.
  • Contributor and co-author of project requirements document, detailed design document.
  • Implemented SSH using Perl OpenSSH and expect and implemented SSL authentication on vSphere 5.x (ESXi) hosts. Extracted SSL thumbprint from SoapFault messages.
  • Designed and developed Java classes to handle MySQL database access for hypervisor configuration data.
  • Primary ESX/ESXi build scripts include: service daemon (shell script), main controlling script, password key generator, configuration, active directory, storage black box, audit, license, re-parent, SNMP, syslog, add user, set root password, and a sizable Perl Module for the project. Graceful thread abort on credentials fail or thumbprint fail.
  • Built-in cyber security obfuscation and frustration mechanisms to prevent creating back-door credentials in the Enterprise environment.
  • Database design in MySQL, MySQL Workbench and Perl.
  • Developed Perl script to dynamically create database tables and import database file data from multiple database source files.
  • Designed and developed several Java EE applications for Confidential Pantheon cloud project for asynchronous command processing.

Confidential

Sr. Software Engineer

Responsibilities:

  • Designed and developed software working independently, onsite and remotely, and with project team in a small team development environment on aggressive schedule.
  • Designed, developed, and debugged Perl module (GstScores.pm) and highly configurable Perl application (GstScoresImport.pl) in object oriented Perl (5.8) for use on Solaris (5.10) and RHEL (5.0) servers.
  • Perl module defined the database layer for other applications use.
  • Application uses SFTP::Foreign to download large data files from third-party server, parses XML configuration file using XML::Simple, runs initial load of 250m records, and daily load; application is executed as daily UNIX cron job, and contains many features.
  • Provided complete user and developer documentation for all subroutines
  • Implemented cyber security features in all Perl applications developed on Linux
  • Authored project test cases documentation
  • Performed unit and system tests for application
  • Developed bash shell scripts for routine tasks
  • Participated in regular project meetings and code review process

Technologies and tools used: Perl (5.8), Solaris (5.10), RHEL5 Linux, CVS, bash, ksh, XML, VMware Workstation (8.0), CentOS 6.0, Cyqwin-X, Eclipse 3.7.1, MySQL, Cygwin-X, WinSCP, putty, vi, vim, ssh, scp, Lotus Notes.

Confidential

Sr. Software Engineer/Lead Architect

Responsibilities:

  • Designed and developed software solutions while working independently and with project team on proprietary commercial client-server application system (2 year old code base) in an Agile (Scrum) software development environment, primarily working on SPRs in an overly complex system of multiple-inheritance written in C++ and Qt user interfaces.
  • Resolved C++ code-based service problems (SPRs). Documented all procedures and steps in testing code changes. Participated in code review process. s include design and development of configurable command-line interactive Perl application for improving processes involving service problems (SPRs) and service change requests (SCRs), interfacing with Rational Clear Quest, test, and code review, resulting in saving development teams many hours of tedious command-line work in setting-up user sandbox development environment, to include source code control, and testing. This application generated report and debug log.
  • Developed numerous shell scripts in csh, bash, and ksh, simplifying many routine tasks
  • Mentored engineering team members on Linux commands, Cygwin-X, X11, C/C++, Linux usage and network administration tasks, Windows/Linux connectivity issues
  • Consolidated disparate project documentation into a cohesive whole for unified process management. No actual architect work involved was ultimately involved.

Technologies and tools used: C++/STL, gcc, gdb, Qt Designer, RHEL5, Linux, Perl, Rational Clear Case, Rational Clear Quest, VMware Workstation, OpenSUSE 11.3, Fedora 14.0, tcpdump, Wireshark, VMware Lab Manager, Cyqwin-X, X11, doxygen, NetBeans 6.9.1, Eclipse 3.6.1 (Helios), ssh, scp.

Confidential

Sr. Software Engineer

Responsibilities:

  • Designed and developed DNS-based ENUM protocol multi-threaded TCP and UDP clients using C++/STL, Boost, Xerces-C, pthread (POSIX) library, PCRE and ACE components - RFC3403 and related protocols; marshalling, un-marshalling data, Reflex for reflection.
  • Designed, developed and tested a C++ based template library for Apache Axis2-C based REST web-service, designed configuration file and 53 operations to call AIMS Server component class-methods via web interface
  • Developed Apache Axis2-C based multi-threaded HTTP server with C++ and ACE components based on AXIS2-C Simple Web Server.
  • Designed and developed Apache Axis2-C based HTTP client for testing services in C++ and designed and developed interactive command-line Perl script for integrating, validating and automating the entire process of generation of AXIS2-C services.xml, C++ services implementation file, running build processes, copying files, restarting servers and running all HTTP service operations tests using curl and generating XML and text reports
  • Development of multi-threaded XMPP/Jabber and numerous XEP extended protocols in C++ - RFC3920 RFC3921 - project on hold
  • Designed and developed interactive Perl script for automating auto-tools for generating configure script on GNU-Linux for shared object and executable files
  • Developed automated testing scripts using Perl, curl (HTTP), and UNIX expect. Tested source code integration with CruiseControl (CI).
  • Implemented cyber security features in all applications developed in C++
  • Protocols (including): E.164 - RFC 3761, ENUM, DNS, NAPTR, PTR RFC3403, RFC 2168 (XMPP) and many others
  • Researched/studied SMPP (short message peer-to-peer) and SNMP protocols
  • Translated multi-threaded Java ENUM TCP, UDP sockets implementation to C++/STL ACE.
  • Developed numerous scripts in Perl, bash and ksh to simplify routine tasks
  • Monitored network traffic, analyzing packets for testing services in development
  • Embedded Doxygen tags in all C/C++ code developed. Configured and generated Doxygen reports
  • Mentored team members on C++/STL and Linux related issues

Technologies and tools include: RHEL4, gcc 3.4.6, g++, bash, ksh, TCP, UDP, ACE framework (toolkit), DNS, WSDL, vim, gdb, valgrind, memcheck, gtest, doxygen, Cygwin, rxvt, VMware Workstation, Xerces-C, POSIX threads (pthread), Sybase ASE 15, Sybase CEP C/C++ SDK, Reflex (genreflex), Eclipse, Notepad++, Xerces-C, expat, gloox, git, CruiseControl, ssh, ldd, mtrace, Putty, netcat, curl, links, lwp-request, regular expressions (regexes), expect, kannal, clamav, Wireshark, etherape, tcpdump, WinSCP, StarUML, GNU Emacs, and others. GNU auto tools: automake, autoconf, autoscan, aclocal, libtoolize, autoheader, config.status, and make.

Confidential

Sr. Software Engineer

Responsibilities:

  • Designed and developed multi-threaded C++/STL server-side development in RHEL5/Apache 2.2/APR creating the Unpublished Metadata Page Retrieval System (UMPRS). UMPRS is used by Confidential to retrieve metadata, analyze metadata, reformat and report metadata statistics and values. UMPRS data is consumed by several Confidential services to access and point to UIRS (unpublished images) source images for retrieval.
  • Developed multi-threaded VC++ application to convert Application Image Retrieval Systems (AIRS) code to preliminary UIRS user interface (UI) using MS Visual Studio Visual C++/MFC/STL, removing all remnants of Visual Source Safe (VSS) tags
  • Implemented cyber security features in all applications developed in C++ in Linux and Windows
  • Documented all Linux code with Doxygen tags for file and function headers, with detailed application flow in class header file headers
  • Created centralized server error messaging, including message structure, variable-argument message router, overloaded message handlers to handle specific API server logging requests with a generic logging mechanism
  • Created namespaces and classes to handle server and application messages using type-safe enumeration class, aliases as shortcuts, to simplify static class function access
  • Isolated and encapsulated status codes into typesafe enumerated C++ class.
  • Prevented and eliminated all ‘magic numbers’ in code blocks throughout entire code-base.
  • Requested installation of all required development and testing tools, including, libstcd++, g++, CppUnit, valgrind, memcheck. Request approved.
  • Contributed to the UIRS Detailed Design Document (DDD) and performed mapping requirements
  • Designed and developed project configuration files, including make files, using Makefile and Codea.mk with GNU make
  • Trained CSC Ph.D. engineer on How To write and compile Apache Modules on RHEL5 with C++/STL code and Codea Project Apache interface
  • Developed numerous scripts in Perl, bash and ksh, simplifying many routine tasks
  • Participated weekly in project status meetings with Confidential representatives
  • Refactored legacy UNIX multi-threaded C/C++ server-side code for development of the UIRS system on RHEL5 and HP-UX systems in C/C++ -UIRS and Patent Image Retrieval System (PIRS). Discovered and reported numerous pre-existing glaring bugs during the refactoring process.
  • Redesigned, fully documented the entire Patent Image Retrieval System (PIRS) source code base, using OOP/C/C++/STL on HP-UX, Netscape Server API (NSAPI) and Oracle OCI driver development, discovering memory leaks, logical errors, and format string errors in the process. Documented all errors and fixes and status codes.
  • Enrolled and attended CSC SDI and US Chamber of Commerce IT security courses to improve knowledge base

Technologies and tools used: MS Windows XP, Visual Studio .NET /VC++/C++/STL/MFC, Pro*C, Perl, Rational Rose, Rational ClearCase and ClearQuest, RHEL5, HP-UX, ksh, bash, tcpdump, valgrind,memcheck, ldd, mtrace, GNU, make, GNU auto tools, iPlanet, NSAPI, Oracle, GNU emacs, vi/vim, Cygwin-X, gcc, g++, apxs, Kerberos, Codea, Apache 2.2, Apache Portable Runtime (APR), Apache log4cxx, Wireshark, Putty, MKS Toolkit, WS FTP Pro SDK, PowerShell

Confidential

Senior Software Developer/Consultant

Responsibilities:

  • Analysis, installation, upgrade, configuration and testing of PEAR and Smarty PHP libraries to current stable releases and analysis, update and reporting of Oracle database schemas
  • Review and enhancement of PHP code based on OEF security requirements
  • Identification and removal of unnecessary database objects from Oracle database schemas based on findings in PHP code and identification and removal of deprecated and und files in the file-system
  • Generate system documentation cataloging issues identified and resolutions implemented
  • Developed several scripts in Perl and bash to simplify routine tasks

Technologies and tools used: Oracle Linux, SUSE Linux, Oracle 10g, Perl 5, PHP, PEAR, Putty, Smarty, XML, DHTML, JavaScript, CSS, Bash, GNU Emacs, vim, ssh, sftp, CVS, Subversion, lynx, vncserver.

Confidential

Senior Software Developer

Responsibilities:

  • Developed library Korn shell (ksh) scripts for easy navigation of the Shared Application Services (SAS) file-system and developed Perl script reporting file location, last-modified time and content of multiple search strings in file-system
  • Analyzed and resolved long-standing problem involving failure of Korn and Perl scripts, and related configuration files to generate any/all Tuxedo server project HTML files for delineating data structures, classes, member data types and sizes, member method parameters and return types, XML input/output, for development team Intranet access.
  • Developed, coded, compiled and tested software enhancements and resolved code-based service problems in C++ files.
  • Modified Korn shell scripts for generating Shared Application Services C++ project header and implementation files.
  • Work with team to clarify requirements and follow configuration management (CM) procedures.
  • Analyze business practices and supporting systems. Develop necessary technical specifications.
  • Developed numerous scripts in Perl and ksh to simplify routine tasks.
  • Resolved a long-standing, two year problem, wherein, the old code base

Development tools: Visual Age C++ (UNIX), xlC compiler, Confidential Encina, Bea Tuxedo, C++ Standard Template Library (STL), Rogue Wave C++ STL library, SOAP, XML, ANSI C library, Korn shell scripting, vim, Perl 5, make, XML, Telelogic CM SYNERGY concurrent version control, Mantis web-based bug tracking tool, Java, DB2, Hummingbird, Microsoft Outlook.

Confidential

Senior Embedded Systems Engineer

Responsibilities:

  • Analyze business practices and supporting systems.
  • Develop necessary technical specifications.
  • Provided team with project artifacts almost daily.
  • Participated in Confidential code review
  • Actively involved in frequent Rail Team peer-reviews in team of about 45 members
  • Contributed to bi-weekly Optimized Train Control Server (OTCS) team meetings
  • Designed, developed, tested and published numerous source code modules
  • Performed frequent code review critiques on Lockheed Intranet with Microsoft Sharepoint
  • Mentored team members on C++/STL and Eclipse issues daily
  • Co-designed OTC Server (OTCS) command components using GoF design patterns, OOD, UML 2.0, and Telelogic TAU 3 UML modeling tool
  • Developed, coded and unit tested all core OTCS command related classes using safety-critical standards based on Confidential Joint Strike Forces (JSF) documentation, MISRA, and High Integrity C++ (HICPP) rules and 411 safety-critical development rules as determined by Confidential . OTCS command classes developed, coded and unit tested include: abstract base class ‘command’ and derived classes ‘timer command’, ‘recurring command’, ‘command scheduler’ (singleton), and the ‘command processor’ using ANSI C++, STL containers, iterators and algorithms, templates, predicates, and Boost library components. All subsequent OTCS command classes developed by the OTC team were derived from the ‘command’ class, and scheduled on the ‘command scheduler’ with public schedule methods.
  • Developed and unit tested classes for reporting server status: ‘condition’, ‘server status report’, ‘server status reporter’ and ‘report (periodic) health command’ and developed type-safe enumeration classes with static members and ‘to string’ methods, to replace basic C++ enumerated types for handling ‘server status’, ‘critical exception’, ‘disk usage level’, and ‘link state’, designed to be used by interfacing components. Project development in safety-critical C++/STL with Boost library components in RedHat Enterprise Linux using the Eclipse IDE for Linux, GNU/gcc, g++ compiler; concurrent version control with GNU/CVS; embedded Doxygen tags for project documentation. Validated safety-critical source code with LDRA prior to source code publishing. MALPAS for measuring and reporting McCabe Cyclomatic Complexity Metric

Development tools: Open Source GNU gcc, g++, C++ Standard Template Library (STL), Boost library, Eclipse IDE for Linux, GNU Emacs, Microsoft Sharepoint, GNU CVS, LDRA, MALPAS, Cygwin, ssh, Bash

Confidential

Senior Software Developer

Responsibilities:

  • Work closely with client team and management to clarify projects requirements and follow CM procedures.
  • Analysis, all front-end application development, Windows Graphical User Interface (GUI), full software development life-cycle (SDLC), CERT compliant, enhancements, code maintenance, debugging, coding and testing in Microsoft Visual Studio using C/C++, MFC/STL/WIN32/ANSI C Library/ODBC/Oracle SQL and Crystal Reports library interfacing.
  • Analyze business practices and supporting systems, develop necessary technical specifications.
  • Produced and provided team with project artifacts daily. Daily communication with team members regarding application specification, design issues, enhancements and bug fixes
  • Fulfilled all requirements on-time, and within budget
  • Removed all reported service problems from REGIS
  • Provided detailed application modification updates and related project documentation
  • Prevented and eliminated all ‘magic numbers’ in code blocks throughout entire code-base.
  • Added tool-tips to most application dialogs, buttons, and edit controls
  • End-to-end design and development all of the Fund application enhancements to the REGIS application, based upon the systematic execution of logical and well written formal requirements document and conceptual material therein, for several front-end components across modules - 9 DLLs and 5 executable
  • Enhancements consisted of creating dialogs to allow new administrative privilege for fund, all front-end interfaces to Crystal Reports across modules and all application-level Oracle SQL (DML) statements to query, update and insert to the database.
  • Added dialog controls allowing authorized users to certify transactions using new interfaces and allowing others to view existing transaction histories, status, and fund certifier comments. User access enable/disabled based upon database administrative permissions (position)
  • Resized windows to accommodate the new functionality, and to conform to accessibility requirements
  • New controls - transaction id, transaction history button, fund status and fund comments. timestamp and username were added to underlying logic; fund status reverts to pending when elements of the accounting string are changed on a previously certified transaction. New dialogs were designed to filter, sort and display data retrieved from new Oracle tables and views
  • CDialog::OnSize derived and helper methods were designed to maximize and restore-to-normal most dialogs within the REGIS application containing list controls, static text, list and edit boxes and buttons
  • Added column sorting algorithm calls to several list-controls within the REGIS application to replace time-consuming column sort process of processing data through database SELECT statements
  • Improved logic for REGIS Launch-pad application to authenticate the user, then disconnect, passing user authenticated arguments to selected REGIS applications, preventing multiple Launch-pad logins for a single user
  • Reverse-engineered application components by adding extensive debugging trace calls throughout the REGIS application system - 422 implementation files. These primarily consist of class-method and SQL traces. Debug trace calls are used by the team and Confidential systems managers for rapid debugging with SysInternals DebugView.exe to track and analyze application SQL, method call sequence, memory leaks and other bugs
  • Improved method for locating REGIS Crystal Reports files on Citrix servers.
  • Designed, developed, tested and debugged a reusable dialog-based VC++/MFC/STL application to catalog any file system to meet improved REGIS project configuration management (CM) requirements.
  • The ‘File System Catalog’ application develops a spreadsheet-on-demand using user-defined path, output filename, file extensions, and exclude-tree list to catalog tree, module, sub-module(s), filename, modified date and time, file extension, file type, bytes, line count, classes, usage (e. g., icon, bitmap, dialog, etc.), user comments, relative path.
  • User arguments are stored in the Windows System Registry and are reset to defaults on-demand. User comments from old files are merged on-demand.
  • Designed portable, tab delineated, user-friendly spreadsheet-interface with search and edit capabilities.

Development tools: Microsoft Visual Studio, Visual C++, Microsoft Foundation Classes (MFC), ANSI/ISO C++ Standard Template Library (STL), Microsoft Excel, Oracle SQL Developer,Oracle SQL Plus, SourceGear SourceOffSite, Visual Source Safe (VSS), Seagate Crystal Reports, DebugView.exe, Microsoft Outlook.

Confidential

Senior Software Developer

Responsibilities:

  • Backup developer for Windows CE application for iPAQ using Sybase SQL Anywhere 9 and Embedded Visual C++ 5.0
  • Designed and developed all of the detailed error reporting, all diagnostic and troubleshooting tools and many other features, most of which are listed under projects below.
  • Initiated long-term project to convert the Visual C++ ARM application to Java: analysis and solution development in progress.
  • Performed all project design, CERT compliant, coding, debugging and testing, all requirements gathering, designing data structures and algorithms, database structure, GUI elements - menus, modal, modeless dialogs, list controls; I/O file specification and design; exception handling; back-end data conversion, data validation, and report design and performed exhaustive unit testing on every application component.
  • Fulfilled all requirements on-time, and within budget
  • Authored and provided extensive project documentation
  • Work closely with client team, UNISYS management and third-party business to gather requirements
  • Analyze business practices and supporting systems, develop necessary technical specifications
  • Produced and provided team with project artifacts almost daily
  • Developed C++ applications for monitoring data import and export on remote servers.
  • Deployed updates on development, test, and release servers
  • Implemented cyber security features in applications
  • Designed, developed multi-threaded C++ application Confidential ARM ‘IRM’ to capture and analyze the contracted, authorized and reported charges from several data sources. Interface contains list-controls, containing vehicle information, totals columns, comments, estimates and invoices. ‘IRM’ identifies discrepancies, allows users to make adjustments to reported authorized repairs and invoice line-items.
  • IRM generates three reports: (1) Report listing all vehicles with summary record, line-item ‘estimated and authorized repairs’ data from a report generated through third-party management system and IRM user adjustments made to them. Report also lists line-item electronic invoice data and IRM user adjustments. Report is automatically sent by FTP to the Confidential Fleet Management System (FMS) to meet Confidential audit trail requirements.
  • (2) ‘Exceptions only’ report that displays only vehicles that have at least one line-item discrepancy, either in the invoice (actual vs. adjusted), or between adjusted estimate and adjusted invoice. The user may add items to and delete user-added items from the adjusted estimate.
  • (3) ‘Invoice discrepancy report’ that displays vehicle information from the ARM MS-SQL (Access) database and line-item electronic invoice data and user adjustments and comments. This report was designed to send to the auction houses to reconcile discrepancies; after generation there is an option to ‘email report to the auction house’ by Simple Mail Transfer Protocol (SMTP). After the reports are generated, they are opened in MS-Excel. All vehicles and line-items have a ‘comments field’ displayed in all reports and list-boxes. The user has the option of saving edits when loading a new invoice by FTP. When a new invoice line-item is identical to the old invoice item, the checked state and user comments are saved, and the old item is removed from the list. Serialization of data is used to save dialog state. Optional deletion of archive file is built-in. All invoice ‘Net-Proceeds’ reports (project described below) are accessible from this interface. This allows the user more tools to validate incoming electronic invoice data. The user may back-up the sale file to the FTP server. Most controls in IRM have tool-tips. All buttons have hot-keys.
  • Developed ‘Pre-Bill Report’ to analyze and report status of vehicle records based upon categories of contracted charges. Report generates in DHTML/CSS with font color to identify discrepancies.
  • Designed, developed and tested application to convert CSV files to ARM required file formats for auction house proceeds and electronic invoice. Application designed to enable auction houses with limited IT resources to participate in the Confidential Auto Auctions program.
  • Authored the HTML/CSS document ‘ Confidential File Conversion Application’ generated and opened by pressing the Help button.
  • Designed, developed, tested and debugged ‘Net Proceeds’ project module in ARM. Module downloads auction house invoice, processes data through series of filters; generates error or invoice reports for charges, repairs, and summary. Validation reports for Microsoft Excel. Users send validated data by FTP to the Confidential Fleet Management System (FMS). Net Proceeds module saves the Federal Government $1.8m est. per year over manual processing and designed invoice file structure to handle reported charges and repairs first week on job. File structure incorporates alternating ‘primary’ (contracted charges) and ‘secondary’ (repairs) data sets
  • Assisted auction houses in developing invoice file generation by clarifying file structure whenever necessary
  • Perform ongoing testing of incoming FTP data. Validation process consists of passing data through several file filters.
  • Developed validation and report routines for the following error conditions (in order): malformed files, invalid characters, record width, numeric expected, dollar range, vehicle identification numbers (VINs) unique to source, and duplicate records. When error conditions exist, final dataset uploads are denied. Built-in automatic sale file upload, at critical FTP connection process points, for monitoring, testing and troubleshooting application. Modeless dialogs with progress bars inform the user of processing activity
  • Formatted financial data as COBOL strings, incorporated FTP SITE MAPIN commands for mainframe data conversion. Final invoice data upload requires explicit recorded user authorization, and sends sale status report on a per-machine basis by FTP to FMS, allowing only one upload per sale.
  • Developed ARM 4.0 user-interface, with side and drop-down menus with hot-keys, and alternating bitmaps with user menu selection.
  • Converted ARM update process from an integer-based build number to a string-based file version: comparing strings converted to integers, while conserving old update method, maintaining compatibility with older versions. Built-in application icon updates to the ‘All Users’ desktop using COM. Significantly improved auto-updates with better dialogs, default-to-update, and auto-restart.
  • Disabled ability to upload ‘errata data’. Process saves staff hours of work of backing-out errors.
  • Validates data through a list of ‘critical errors’, denying data upload when critical errors exist.
  • Enabled to bypass error list by marking errors for manual upload, thus removing errors from the critical list and allowing all non-manual marked data to be uploaded by the application.
  • Added Confidential cross-regional sale capability to ARM.
  • Revised dialogs and related reports; added input loop and revised SQL statements. Currently, the Confidential is divided into 8 regions.
  • Enabled loading vehicle data from different regions into ARM and sell them during the same auction. ARM merges the data to perform sale functions, but processes it separately. Six months project, actual time: Friday to Monday.
  • Developed tools for monitoring and troubleshooting sale activity, including log files: debug log, which captures messages from the FTP server, function call tracing; ftp log contains critical file-creation time; a sale-based error log which accumulates sale-processing error messages, set, get and put date-time, username, timestamp, record size; and error reports for uploads, and SALE file upload to FMS. Added enhancements to existing applications: ‘ARM Monitor’ and ‘File Viewer’
  • Developed SMTP mail transport for ARM reports
  • Added Internet connectivity check, notification for all FTP processes, automatic and on-demand FTP backup to Confidential server
  • Built-in validation of database version, test-server FTP settings warning - for test modules
  • Developed privileged-user accessible dialog in ARM to quickly download sale-related files
  • Allows daily monitoring, diagnostics, testing, and debugging files.
  • Developed tool for analyzing auction house proceeds files, in response to frequent reception of defective files.
  • The application generates a detailed validation/error report.Designed and developed in ARM to track Confidential tag removal to provide chain of custody - meeting Department of Homeland Security (DHS) requirements
  • ARM Maintenance: Revised ARM application to make it generally more user-friendly; improved code readability. Eliminated hundreds of compiler warnings and all reported bugs
  • Application processes bulk vehicle data and sends FTP data to third-party vehicle management system - Auto Information Management Service
  • Redesigned entire user interface; revised entire code body; added vehicle transfer capability
  • Corrected all known application defects
  • Monitors ARM related FTP uploads on Confidential PRODUCTION server
  • Enhanced application by adding new data fields

Development Tools: Microsoft Visual Studio, Visual C++, Microsoft Foundation Classes (MFC), ANSI/ISO C++ Standard Template Library (STL), and ANSI/ISO C library components, Microsoft Access, Microsoft Excel, Microsoft Word, Lotus Notes, CodeProject, MSDN, VMware Virtual Machine, Embedded Visual C++ 5.0.

Confidential

Senior Software Developer

Responsibilities:

  • Reviewed resumes, screened and interviewed candidates, hired, managed, disciplined and terminated employees
  • Document/browser compatibility testing - IE, Mozilla, Netscape, Opera, Konqueror, elinks, lynx, links. News page development with PHP, JavaScript and XML, MySQL scripts in PHP, XML, DHTML, XHTML, CSS and JavaScript, HTML form validation, dynamic content and tickers, client side and server side development in Linux and FreeBSD. VC++/MFC, C/C++, Qt 1.0-3.0, Java 2 web and Swing application development on Linux, FreeBSD, and Windows NT
  • Site design and development including research, writing, editing, style design, coding XHTML, CSS, JavaScript, PHP, XML, Java, MySQL, HTTP, CGI, Perl to W3C standards; HTML form validation; XML/PHP/JavaScript news tickers and XML/PHP news pages which access, parse and display XML documents in DHTML
  • Installed and configured Windows, Unix and Linux operating systems, software, development and server tools; focus upon accessibility issues; marketing; emergency troubleshooting; Unix and Linux system administration; system analysis and upgrading; installation, configuration and monitoring of wireless networks
  • Developed object oriented DHTML library in PHP with XML based menu and content
  • Implemented cyber security in all PHP, Java, and Perl web applications
  • Designed and developed object oriented PHP/HTML/CSS code generator in C++, with debugging features
  • Engineered Visual C++/MFC application computer based (CBT) exam preparatory tool and tutorial.
  • Designed, developed, debugged and tested wizards, menus, dialogs, controls, tool tips, database access, data analysis, review modes and designed and developed website content with JSP technology with Java 2 and Jakarta-Tomcat
  • Ported C++ code into Java, creating JSPs for dynamic reporting system
  • Performed extensive unit testing of every application component
  • Utilized UNIX expect to perform automated testing
  • Designed point-of-sale, inventory management system in VBA, Visual Basic and designed, developed, debugged (OOP) customer tracking system in Borland C++ and C library, for analyzing retail traffic. Hard-coded drop-down menus and analysis modules.
  • Deployed in retail locations, designed, developed, and debugged Object Oriented application in Borland C++. Ported application to WIN32 and Linux ncurses library in C/C++. Application performs complex math calculations, generates reports, using data filters for text file output and designed, developed and debugged 16-bit DOS applications using flow charts and structured programming in Borland Pascal, MS-DOS batch files, Perl report and table generators, terminate-stay-resident (TSR) applications.
  • Developed internationally marketed report system
  • Hayes (AT) Command Set; PPP: CHAP and PAP protocol configuration; Linux system administration; LILO, GRUB bootloaders; Partition Magic

We'd love your feedback!