We provide IT Staff Augmentation Services!

Senior/principal Software Engineer Resume

Phoenix, AZ

SUMMARY:

  • Multiple years in software design and development from engineer/developer to senior/principal roles to technical lead: applications (from stand - alone to multi-tiered client/server enterprise-wide solutions to SOA-based web services with built-in WS security), tools and utilities, communications, testing, APIs, OS, drivers, real-time, embedded software, firmware, hardware diagnostic, simulators and emulators, etc., in various software development platforms/environments
  • Strong skills in computer science, algorithms, math, applied math, math modeling and math optimization, cryptography, digital image processing, problem solving
  • Thorough coding style achieving maximum software performance by means of algorithmic efficiency and optimal use of computer resources while providing highest levels of code reliability and quality, as well as easy portability

TECHNICAL SKILLS:

Programming Languages/Tools: C#/.NET/C/C++, MS Developer Studio, DDKs, Win32 SDKs and APIs, HTML/XML, Java, J2EE, Eclipse, various Java packages (XML Parsers, Log4J, etc.), JDBC/ODBC, SQL/Stored Procedures (Oracle/SQL Server/SQLite), Web Services Frameworks (Apache CXF/Tomcat), JAX-WS, SOAP, JSON, scripting

Cryptography: Symmetric (DES, 3DES, AES, MAC, Authentication), Asymmetric (PKI, PKCS, RSA, EC, DH, X509 Certificates, Signatures, Signature Verifications, Authentication), OpenSSL, Cryptographic Hardware (Secure Storage, HSM, specialized CPUs and hardware crypto engines)

OS: MS Windows (XP, 7, 10, Server 2003-2012), Linux, UNIX

Embedded Systems/Tools: C/C++, Assemblers, Linux, Nucleus, MS Windows (XP Embedded, 7), proprietary RTOS, GNU ARM tools and cross-development tools, various 32/16/8-bit microprocessor/microcontroller platforms (ARM, OMAP/Da Vinci, MSP430, x86, Atmel, Cypress, 8051, Z80, etc.), BSP/PSP, data analyzers, IDE tools Full software development life cycle, in classical waterfall and Agile/Scrum methodologies, using various tools for source code control, issue tracking, and knowledge/documentation sharing (SVN, JIRA, Confluence, etc.), and participating in earlier stagesf system development (such as proof of concept and prototyping)

EXPERIENCE:

Confidential, Phoenix, AZ

Senior/Principal Software Engineer

Responsibilities:

  • Key developer of multi-tiered client/server software for POS transaction processing, data exchange (including large file transfer and telemetry) and remote field upgrade/maintenance for large scale network of unattended client devices (such as vending machines, automatic meters, etc.) for major customers (such as PepsiCo SEN) based on proprietary communications protocol. Used C/C++/C#/.NET in Windows 7 and Server 2003-2012, SQL and Oracle DB interface for server tiers/applications, and two client device platforms: C/C++/C#/.NET in Windows 7 or XP embedded and C/C++ in embedded Linux. Used PKI cryptography on both sides, X509 certificates for signature and signature verification to authenticate both client and server.
  • Key designer/developer of web services with built-in WS security for enrollment and registration of POS devices to become authorized users of company gateways and POS transaction processing.
  • Used Java, J2EE (Eclipse), JAX-WS, SOAP, JSON, Log4J, JDBC, SQL (Oracle), other Java packages in Apache CXF/Tomcat framework.
  • Designed and developed company new APIs for embedded attended and unattended POS client devices (terminals, vending machines, etc.) sending financial transactions and other data to company gateways over secure communication channels (TLS/SSL and proprietary) for processing, reporting and storage. Works on two client device platforms: C/C++ in Windows 7 or XP embedded and C/C++ in embedded Linux. Used OpenSSL on both platforms for TLS/SSL secure communications.
  • Additions and enhancements to company’s gateway software suite of multiple tiers of client/server applications and utilities for authentication, routing, processing, reporting and storage of financial and other transactions and data sent by authorized users. Used C#/.NET/C/C++ in Windows 7 and Server 2003-2012 and SQL Server 2012-2014.
  • Provided engineering solutions to production/operations issues (including some big cost savings) and technical support for company customer service, as well as direct customer support when necessary.

Confidential, Phoenix, AZ

Principal Software Engineer

Responsibilities:

  • Design, development and support of ARM-based firmware and Windows PC-based software application for hardware V&V, testing, manufacturing and field application of various new FPGA-based nuclear power plants I&C safety and non-safety systems.
  • Used C/C++/C#/.NET and Java in Windows XP and 7 for PC applications, and C/C++/Assembler/GNU ARM tools and USB/Serial communications for firmware.
  • Researched, created and enhanced math calculations algorithms for FPGA code implementations.
  • Source code reviews (walkthroughs) and documentation of software requirements and design within highly regulated nuclear automation industry, applying various NUREG, IEEE and ISO standards and regulations to develop and follow software development and testing procedures/processes/best practices.

Confidential, Phoenix, AZ

Senior/Principal Software Engineer

Responsibilities:

  • Participated in and supervised development of software BSP/PSP (board/platform support package, including embedded multi-tasking OS, boot loaders, drivers, tools/utilities, libraries, APIs, etc.) for wearable mobile multimedia system based on TI OMAP port of open source embedded Linux. Image capture and processing, communications (USB, Ethernet, I2C, SPI, RS232, etc.) and protocols (TCP/IP, HTTP, SSL, proprietary), GPS, secure data storage, data and communications security using symmetric and asymmetric cryptography methods and hardware, touch pad calibration, image color and system performance tuning. Developed firmware for different system components.
  • Developed Windows PC-based software tools/utilities for testing and production support.
  • Participated in development of company new multi-shot ECD (electronic control device). Developed proprietary protocol for USB communications with Windows PC and software to implement it. Developed PC-based tools/utilities for data analysis, testing and production support. Used C/C++, Assembler for embedded software, and C#/.NET, Java for Windows PC apps.
  • Completely reworked and rewritten main firmware and supporting software for company existing ECD which immediately improved device production and operational quality and significantly decreased number of customer returns resulting in significant cost savings. Received CEO technical excellence award for this project.

Confidential, Phoenix, AZ

Senior/Principal Software Engineer, SW Development Team Lead

Responsibilities:

  • Participated in development of core system tools for embedded application development for ARM-based POS electronic devices, including system utilities, boot loaders, Nucleus-based embedded multi-tasking OS and drivers, communications (Ethernet, USB, RS232, modems, some WiFi and GSM/GPRS exposure, etc.), protocols (TCP/IP, HTTP, SSL, FTP, PPP, proprietary), touch pad calibration and writing capture, symmetric and asymmetric cryptography and supporting software.
  • Designed security PKI infrastructure for company POS devices domain, developed and implemented its core system code.
  • Developed various PC utilities (for MS Windows, both GUI- and command line-based) to support manufacturing, testing, loading and security initialization of POS devices and HSM.
  • Developed very comprehensive extended HTML/XHTML subset for implementation in micro Web browser, presentation and proposal for embedded micro Web browser software project. Led development team to design and develop embedded micro Web browser software for POS devices and to create multitude of development tools for embedded C programming (ANSI compliant C libraries with optimized standard functions, proprietary RTOS access, GUI functions and POSIX compliant memory-based quick file system), as well as various supporting PC utilities.

Hire Now