Software Engineer / Lead Developer Resume
4.00/5 (Submit Your Rating)
Deerfield, IL
PROFESSIONAL SUMMARY:
- Software Engineer and Lead Developer with 15 years of experience developing software solutions, using a variety of technologies with an emphasis on object - oriented design.
- Deep knowledge of C++ development, including industry best practices and related tools and technologies.
- Experienced in all phases of development, including requirements gathering, architecture, analysis, design, implementation, unit and performance testing and delivery.
- Initiative taking, result oriented and quality conscious team leader and player.
TECHNICAL SKILLS:
Expertise in: C, C++, Java and C#, .NET, JavaScript, HTML, XML Embedded systems development
Databases: SQL Server, DB2, MySQL, TCP/IP, FTP, MQ communications, UNIX, Linux, Windows platforms
EXPERIENCE:
Confidential, Deerfield, IL
Software Engineer / Lead Developer
Responsibilities:
- Consulting role with primary responsibility of managing and enhancing large scale multithreaded C++ application suite, with interfaces to multiple external systems and platforms. As part of this effort:
- Responsible for the entire software development life-cycle, from requirements gathering, planning, design, and coding, through testing and delivery.
- Developed multiple major C++ based system enhancements and modifications, driven by warehouse process improvements, regulatory changes and changes to external systems. Enhancements led to total annual cost savings of over $15 million.
- Continuous improvement effort centered on performance and stability of this mission-critical real time application. Iterative approach, repeated as time allowed, and with extra emphasis following major version releases and availability of new technologies.
- Re-worked threading logic of main application to alleviate race conditions and deadlocks, and improve overall application performance and stability.
- Determined and implemented effective performance testing methodologies and metrics to monitor system health and assess performance impacts of both planned and proposed system changes.
- Responsible for troubleshooting issues and correcting defects within a complex environment involving various proprietary applications, devices, and external interfaces.
- Developed web GUI front end allowing real-time monitoring of system processes, hosted on Apache web server running under AIX, written using HTML, JavaScript and C.
- Developed and deployed embedded C/C++ code to warehouse hardware devices (Controllers and RF Scanners) running embedded Linux and legacy OS versions.
- Determined and implemented C++ bit-packing strategy to add additional data in messaging to legacy warehouse devices which were limited to receiving fixed length messages, avoiding the need for additional messages.
- Developed BASH shell scripts for automation of compilation, testing, and deployment tasks as well as to support ad-hoc system reporting and analysis.
- Upgraded DB2 database version and modernized setup process.
- Reworked DB2 database table schema, configuration and tuning to improve performance.
- Managed migration effort to move from dedicated to virtualized servers.
- Integrated custom vendor software, developing interfaces and defining responsibilities and roles between vendor and proprietary systems.
- Migrated main application forward to modern versions of the AIX OS and xLC++ compiler/runtime, reworking legacy code which was not compliant with the newer versions.
- Managed source code storage, control and versioning using CVS repository, and ensured reliable and consistent backups.
- Additional projects from the Confidential role, aside from the main project described above, included:
- Development of a Windows Mobile based application deployed to warehouse scanner devices, using C# and .NET.
- Created a web-based front end to display shipping data sourced from legacy AS/400 system, using Java, Spring, and HTML.
- Developed interface to vendor application used to evaluate shipping routes, using Java and C++, integrating vendor API and sourcing data from legacy AS/400 system.
Confidential, Holland, MI
Software Engineer / Technical Project Manager
Responsibilities:
- Developed and enhanced payment processing applications hosted on Windows, UNIX, and iSeries platforms, using Java, C, and other languages and technologies.
- Managed client and internal projects, including system implementations, conversions, and customization efforts.
- Defined interfaces between ISD software products and customer and vendor systems.