Senior Software Engineer Resume
Austin, TexaS
SUMMARY:
- 33 years of experience as a Senior Software Engineer. Experience includes the architecture, development, and maintenance of a wide variety of software.
- Experienced in the development of a diverse set of products and technologies, which includes e - commerce, application / system / network performance monitoring / tuning, operating systems, system configuration, groupware, GUI, spreadsheets, database, and real-time data communication products.
- Proficient in hardware installation, configuration, tuning, and troubleshooting.
TECHNICAL SKILLS:
Programming languages: Python, JavaScript, shell script, C++, C, C#, Ruby, PHP, Lua, Java, Visual Basic, and assembly.
Data languages: YAML, JSON, XML, HTML, and CSS.
AWS specific cloud services: CloudFormation, Sceptre, EC2, S3, CloudFront, RDS, ALB (ELB), Route53, ACM, ASG, and IAM.
Other cloud services and tools: Digital Ocean, VirtualBox, VMware (Workstation), Ansible, Vagrant, Packer, and CloudInit.
Frameworks and APIs: Flask, NodeJS, HTTP, STL, XMLRPC, CGI, Sockets, Drupal, Wordpress, Xerces, JDBC, Java JDK, JUnit, Win32, COM, DCOM, MFC, and ATL.
Applications: NGINX, Apache, Sqlite, MySQL, PostgreSQL, AWS RDS, LDAP, IIS, and SQL Server.
Tools: and applications: IntelliJ (PyCharm), Gmake, GCC, and Visual Studio.
Platforms: Linux, Docker, Microsoft Windows, UNIX, and MS-DOS.
PROFESSIONAL EXPERIENCE:
Senior Software Engineer
Confidential, Austin, Texas
Responsibilities:
- Developed a software development environment for the JobCorps web redesign team. The environment utilized Git (Gitflow), Vagrant, Ansible, Python, Bash scripts, and AWS to facilitate continuous development (integration, testing). The JobCorps web redesign project uses Apache, Drupal, PHP, and PostgreSQL (native and AWS RDS), on Linux.
- Developed a continuous deployment environment for the JobCorps web redesign team. This environment utilized Git (Gitflow), Python, Bash scripts, AWS CloudFormation, and Sceptre.
- Led the Continuous Integration and Deployment cross-project team. Consulted with other teams on the use of Vagrant, Ansible, and AWS CloudFormation.
Software Engineer
Confidential, Austin, Texas
Responsibilities:
-
Developed VyprVPN Server for Business, Golden Frog's business VPN server product. Work was done using Python, Javascript, and Bash scripts on Ubuntu Linux. The product uses Dockers, OpenVPN, NGINX, Aurelia, Flask, and Watchdog.
- Modified Golden Frog's OpenVPN, Raccoon, and PPTP to allow support to quickly diagnose customer connection and authentication issues. Work was done using C and C++ on Fedora Linux.
- Fixed various issues in VyprVPN and GigaNews. Work was done using Python, C++, and C on Linux.
Software Engineer
Confidential, Austin, Texas
Responsibilities:
-
Maintained and enhanced the core software for the Fusion Forecourt System, Wayne's retail petroleum management device. Fusion manages all the dispensers at a station and provides an interface to the station's point of sale system. Work was done using C++ and shell scripts on Ubuntu Linux.
- Developed the core software for the Fusion Forecourt System V2, Wayne's next generation of Fusion. All software was developed to work on both the V2 and the original Fusion devices. Work was done using C++ and shell scripts on Ubuntu Linux.
Sr. Software Engineer
Confidential, Austin, Texas
Responsibilities:
-
Fixed high-priority, customer reported problems in StrongBox, Crossroad's shared storage solution for data archive. StrongBox appears as a NAS device to CIF/NFS clients, and uses Linear Tape File System (LTFS) technology for storage. Work was done using C++, Ruby, and shell scripts on Centos Linux.
- Developed StrongBox patches, upgrades, enhancements, and validation utilities for customers. Work was done using C++, Ruby, and shell scripts on Centos Linux.
Software Engineer
Confidential, Houston, Texas
Responsibilities:
-
Added X-Forwarded-For (XFF) support to the sensor component of Threat Manager, Confidential 's vulnerability assessment and Intrusion Detection Solution (IDS). XFF allows the IDS to tag HTTP threats as coming from the true client, not the HTTP proxy. Work was done using C++ and Perl on Debian Linux.
- Fixed various issues in the creation and provisioning of the Amazon EC2 image of Threat Manager. Work was done using Bash shell scripts and Perl on Debian Linux.
- Extended the firewall support of Threat Manager to include Juniper SRX. Threat Manager can direct supported firewalls to block attack sources or destinations. Work was done using C++ and Perl on Debian Linux.
- Added IPv6 support to the whitelist, blacklist, and blocking components of Threat Manager. Work was done using C++ and Perl on Debian Linux.
Software Engineer
Confidential, Austin, Texas
Responsibilities:
-
Added features to GEOnet, Confidential geolocation system, that provided internal collection data and geolocation results to external programs. This data could be used to analyze and correlate geolocation activities across different geolocation systems. Work was done using GNU C++ on Red-Hat Linux.
- Extended the GEOnet JICD message library to handle the next revision (4.1) of the Joint Interface Control Document (JICD) standard. JICD allows different geolocation systems to cooperate in geolocation activities. Work was done using GNU C++ on Red-Hat Linux.
- Created a set of complex hardwall (firewall) rules to validate messages sent between geolocation systems at different levels of security. These rules were accredited and deployed to existing GEOnet installations.
- Fixed numerous bugs in the current and upcoming versions of GEOnet. Work was done using GNU C++ on Red-Hat Linux.
Sr. Software Engineer
Confidential, Santa Clara, California
Responsibilities:
-
Designed and developed an object-oriented, cross-platform configuration library (libwsapi) for the Citrix WANScaler family of network acceleration appliances. libwsapi uses XMLRPC to inter-process communicate (IPC) with the WANScaler core processes. Work was done using Visual C++ on Windows XP, Windows Server 2003/2008/R2, and GNU C++ on Centos (Red-Hat) Linux.
- Designed and developed a Command Line Interpreter (CLI) for the Citrix WANScaler family of network acceleration appliances. The CLI's object-oriented, cross-platform architecture allows the command set to be easily extended via C++ classes. The CLI supports command history, completion, and context-sensitive help. Work was done using Visual C++ on Windows XP, Windows Server 2003/2008/R2, and GNU C++ on Centos (Red-Hat) Linux.
Software Engineer
Confidential, Santa Clara, California
Responsibilities:
-
Investigated various 3rd-party RTF-to-HTML converters. Selected one to be embedded in Cenzic's Application Risk Controller (ARC). Cenzic internal documents are stored in RTF, yet ARC is a web based product, and needs to display these documents in a web browser. Work was done using Visual C# on Windows XP.
- Designed and developed an HTTP log player utility. Given a log of HTTP traffic, this utility can simulate the logged website. The utility is used to reproduce website behavior for troubleshooting and regression testing. Work was done using Cygwin g++ and Visual C++.
- Designed and developed an HTTP request/response database shared library for Cenzic. The component was to be used in Hailstorm, Cenzic's web application security analyzer, but was instead used in the HTTP log player utility. Work was done using Visual C++ on Windows XP.
- Assisted with customer support following a company RIF.
Software Engineer
Confidential, Cupertino, California
Responsibilities:
-
Designed and developed a Command Line Interpreter (CLI) for Mistletoe's VPN firewall network device. Designed the architecture to allow the CLI's command set to be extended via XML configuration files and dynamically-loaded shared libraries, without the need to recompile the CLI. The CLI also supports command completion and context-sensitive help. Work was done using Xerces-C, libedit, and C++ on Windows XP, Red-Hat Linux, and Monte Vista Linux.
Senior Development Engineer
Confidential, Sunnyvale, California
Responsibilities:
-
Enhanced the Action Request System (ARS) driver tool to include GUID generation, user defined variables, and recursive variable expansion. The ARS driver tool is a command-line interpreter that allows interactive and script execution of ARS API commands. The ARS driver tool is also used to simulate loads of high numbers of concurrent users against ARS. Work was done in Microsoft Visual C++ and Sun Solaris C++.
- Designed and developed a histogram-based analysis tool used to analyze application response time data and categorize it as percentages of the total number of transactions. Development was done in Microsoft Visual C++ and the STL.
- Benchmarked Remedy Customer Support (RCS) 5.0.1 and Remedy Quality Management (QM) on both Windows 2000 Server and Sun Solaris. Specified the distributed, multi-tier, hardware environment used in each benchmark. Installed and configured all OS, utility, and application software. Designed and developed all tools and scripts used in the benchmark. Worked closely with the RCS and QM development teams to address and repair all problems and bottlenecks encountered. Provided the development teams with performance profile information that exposed bottlenecks down to the level of a single API and SQL statement. Composed the final performance benchmark report for RCS. Development was done using Microsoft Visual C++, AWK, and shell scripts. Each simulation involved installing and tuning RCS, SQL Server, and/or Oracle 9i.
Senior Performance Engineer
Confidential,Pleasanton, California
Responsibilities:
-
Developed software and scripts that allowed performance engineers to simulate loads of high numbers of concurrent users against the majority of Commerce One’s core applications. Development was done using Java (Xerces/JDOM for XML), Microsoft Visual C++, and Rational Robot.
- Worked with the Enterprise Buyer Desktop development team on the initial development and release of Enterprise Buyer Desktop 1.0, Commerce One’s Java-based procurement application, to guarantee its stability and scalability under heavy load. Work was done in Java 1.3 for both Windows/IIS/JRun and Solaris/Apache/JRun.
- Tuned and benchmarked many of Commerce One’s core products; including BuySite, Enterprise Buyer Desktop, MarketSite Builder, Catalog Publisher, and eMarketPlace Catalog. Specified and constructed a distributed, multi-tier, hardware environment for each application. Installed and configured all OS, utility, and application software. Designed and developed all tools and scripts used in the simulation. Worked closely with the development teams to address and repair all problems and bottlenecks encountered. Worked with the technical documentation teams to compose the Capacity Planning and Sizing Guides for each application. These guides aided field support and professional services in determining a customer's’ hardware and software needs based upon the customer’s load requirements. Development was done using Java, Rational Robot, shell scripts, and custom server pages for both ASP/VB and JSP/Servlet/Java based products. Each simulation involved installing and tuning IIS, Apache, JRun, SiteMinder, Java, LDAP, SQL Server, and/or Oracle 8i.
- Taught a series of internal classes to the product development teams, QA, and other performance engineers on performance scripting, measurement, and analysis using Rational Robot and Rational Performance Studio.
Senior Software Engineer
Confidential, Pleasanton, California
Responsibilities:
-
Designed and prototyped the Windows NT system agent for RAPS, Resolute’s Application Performance System. This agent collected system and application metrics similar to NT’s Performance Monitor. Prototyping was done in Microsoft Visual C++ using the Windows SDK.
- Worked with other engineers to migrate the RAPS agent manager daemon from UNIX to Windows NT. Work was done in Sun C++ on Solaris, and Microsoft Visual C++ on Windows NT.
- Specified the guidelines used by engineers to port existing UNIX agents to Windows NT, as well as develop new agents for Windows NT.
- Provided Windows NT development consulting to all of product engineering.
Senior Software Engineer
Confidential, Menlo Park, California
Responsibilities:
-
Developed the Today screen "panel-ette" architecture for Navitel’s telephone version of Windows CE. This architecture allowed OEMs to customize the Today screen via small panel COM objects. Development was done in Microsoft Visual C++ using the Windows CE SDK.
- Assisted Navitel’s OEM’s in creating and customizing their Today screen panel-ettes.
Software Engineer
Confidential, Menlo Park, California
Responsibilities:
-
Designed and prototyped the network frame buffer COM objects for the next generation of Sniffer, NGC’s network analyzer application. Prototyping was done in Microsoft Visual C++, MFC, ATL, and STL.
- Designed an initial uplink protocol for the NetPod, NGC’s 100BaseTX network probe. Prototyping was done in Microsoft C and x86 assembly.
- Designed an initial memory management scheme for the NetPod.
Software Development Engineer
Confidential, Santa Clara, California
Responsibilities:
-
Designed and developed the Resource Conflict Detection System and configuration/conflict reporting system of NetServer Navigator, HP’s NetServer configuration utility. Development was done in Microsoft Visual C++ and MFC.
- Maintained the ECU, HP’s EISA Configuration Utility. Maintenance was done in Microsoft C and x86 assembly.
- Led a division-wide, cross-functional team to research new solutions for EISA, PCI, and ISA resource configuration.
- Managed the NetServer Navigator related-issues in a division-wide, cross-functional team for the initial and post-release of the HP NetServer E20 and HP NetServer E30 network servers.
Senior Software Engineer
Confidential, San Mateo, California
Responsibilities:
-
Designed and developed the data export features of Time Manager, Uniplex’s groupware email and scheduling application. Development was done in Microsoft Visual C++ and MFC.
- Designed and developed the context-sensitive help system of Time Manager. Development was done in Microsoft Visual C++ and MFC.
- Redesigned and developed the enhanced date and time class hierarchy of Time Manager. Development was done in Microsoft Visual C++ and MFC.
Senior Software Engineer
Confidential, Scott’s Valley, California
Responsibilities:
-
Migrated the messaging system of the 16-bit version of Quattro Pro for Windows to the 32-bit version of Quattro Pro for Windows. Development was done in Borland C++.
- Integrated the PerfectOffice common dialogs into Quattro Pro for Windows. Development was done in Borland C++ and the Quattro Pro macro language.
- Rewrote the macro dialog library of Quattro Pro for Windows.
- Mapped and documented the user interface classes of the 32-bit Quattro Pro for Windows internal C++ class hierarchy.
Senior Development Engineer
Confidential, Menlo Park, California
Responsibilities:
-
Developed and enhanced a cross-platform, distributed build system for Informix-4GL for Windows and Informix-NewEra, Informix’s 4th generation procedural and object-oriented languages. Development was done in UNIX shell script against the UNIX RCS/SCCS and Rational ClearCase version control systems.
- Managed and administrated the build and distribution of all Tools & Environments Technology Center product codebases for the Engineering, QA, and Software Release teams.