Senior Software Engineer Resume
EXPERTISE AEAS
- Technical Lead
- Design, Implementation
- Test, Maintenance
- Technical Reviews
- Agile Scrum Master
- Mentoring
- Technical Support
- Process Improvement
TECHNICAL SKILLS:
Programming Experience: Python, C++, Javascript, HTML, YAML, JSON, XML, SQL, C, UNIX Shell Scripts. ARM and PowerPC assembler.
Operating Systems: Linux, Windows, MacOS, AIX, other UNIX variants, RTOS.
Technical Areas: Web Services, Application Dev, DevOps, Embedded Dev, Kernel Dev, Network Packet Analysis, Test/Debug (Unit, Integration, Build Verification, Functional Verification), Performance Analysis, Software Process Methodology and Process Improvement, Porting, Technical Documentation, Digital Circuit Design.
Patent: Method for Rapidly Processing Floating - Point Operations Which Involve Exceptions, US Patent 5341320, Confidential .
PROFESSIONAL EXPERIENCE:
Confidential
Senior Software Engineer
Responsibilities:
- Develop OO python-based multi-threaded web micro services for power-plant optimizer applications in fast-paced, Agile, CI/CD environment, with Docker Containers for Linux-based platform.
- GUI development with HTML5, Javascript, Angular, and other 3rd party components like HighCharts for visualizing optimizer results.
- Test development with PyTest
- Automated B uild System Development which include test framework developed with PyTest and automated with Jenkins CI
- Participated in design and usability sessions as well as code reviews
- Improved code for productization, and redesigned various modules for automatic code generation
- Utilized Redis Pub/Sub No-SQL DB as Data backplane for applications.
Confidential
Senior Software Engineer
Responsibilities:- Developing online banking features such as Opening Sub-Accounts, Enrollment API, and Group ID transfer batch process for a large Credit Union. Working in a highly collaborative, fast-paced, Agile environment.
- Developing software in web technologies including Python, HTML5, Javascript, JQuery, SQL, XML, and JSON.
- Assisted other team members in setting up their development environments with other technical issues.
Confidential
Senior Software Engineer
Responsibilities:- Developing web-based process automation software in Python and MySQL.
- Implemented and Configured Web Service and accompanying environment on AWS with Python, Javascript, JSON, HTML5, and Apache HTTP server.
Confidential
Senior Embedded Software Engineer
Responsibilities:- Developed embedded drivers for remote operated undersea vehicle (ROV) in Visual C++ utilizing event handling and scheduling techniques.
- Developed file transfer application utilizing QML Framework and Visual C++. Designed and implemented custom TCP/IP-based protocol. File transfer application designed to significantly simplify and speed the application update process in the field and aid in test and debug efforts.
- Developed GUI-based simulators and automated test applications for control drivers as part of documented Software Process.
- Performed system integration testing and implemented bug fixes.
Confidential
Senior Software Engineer
Responsibilities:- Investigated and fixed TCP/IP socket related defects in kernel network drivers.
- Validated fixes by configuring and running automated functional verification test suite on candidate kernel images.
- Performed AIX kernel crash analysis.
- Extended Berkeley Packet Filter support in AIX for IP over InfiniBand Packets (IPoIB).
- Developed Python scripts to interface with revision control and code review systems.
- Performed and participated in code reviews using Review Board.
Confidential
Senior Software Engineer
Responsibilities:- Designed and implemented multi-threaded embedded server management firmware in C++ (OOP/OOD), with extensive use of STL, libXML.
- Led development effort to deliver key customer feature to clone BIOS configuration settings between modular servers in the same chassis, resulting in a significant reduction in deployment effort for customers.
- Led development effort to deliver key customer feature to perform firmware updates on all significant devices within the modular server chassis.
- Designed and implemented software under Agile Methodology and a defined software process. Performed as Agile Scrum Master for over 2 years with full team consensus. Represented team before project management.
- Heavily utilized and gained proficiency with WS-MAN (SOAP-based).
- Coordinated development of User Documentation between Software Engineering and Documentation teams, leading to a significant quality improvement.
- Performed schedule and resource estimation. Directed the efforts of other individual contributors.
- Demonstrated proficiency with TCP/IP sockets.
- Gained Proficiency with IPv4 and IPv6 network configuration.
- Analyzed security of delivered features with the STRIDE Threat Model.
- Performed GUI design exceeding Dell usability standards. Implemented CGI-layer code with Javascript and C.
- Performed firmware maintenance. Extensive use of Jenkins open source continuous integration tool.
- Documented high level design and behavioral specification of features with UML.
- Performed version control predominantly with SVN and also with ClearCase.
- Implemented Python and Perl scripting languages for test, debug, and code maintenance purposes.
- Heavily utilized the IPMI standard.
Confidenial
Senior Software Engineer
Responsibilities:- Performed on a small team to migrate an extremely large and complex predominantly C++ telecommunications application from SUN Solaris to Linux for Lucent.
- P articipated in efforts to migrate the actual application code as well as its build system, and runtime environment.
Confidential
Senior Software Developer
Responsibilities:- Designed and implemented multi-channel networking XML command interface in C++ (OOP/OOD) for multi-threaded Linux-based RFID Tag Reader Firmware, utilizing TCP/IP sockets. Implemented encryption with OpenSSL. Extensive use of STL.
- Tested and Debugged Reader Firmware. Developed C++ applications to assist in the test and debugging of the Reader Firmware.
- Designed and implemented a highly automated system to control the versioning of new firmware releases, reducing turnaround time and effort by 90%
- Designed and implemented a Visual Studio application to check-in and check-out Firmware images from the Microsoft SQL Server version control database.
- Designed and implemented Perl scripts also as part of the build system.
Confidential
Embedded Software Developer
Responsibilities:- Designed and implemented specialized, high performance 100Base-T Ethernet Network Driver for embedded ARM-based, Linux-based seismic data collection system.
- Network Driver capable of transmitting and receiving packets at a rate of over 80 Mb/sec on a sustained basis, with a retransmission mechanism that can correct more than a 1% packet error rate.
- Designed and implemented socket-based interface on Linux PC host that communicates with network driver.
- Significant code reuse between host interface and network driver.
- Designed and implemented extensible custom protocol.
- Designed and implemented capability to update system firmware via Ethernet packets. Verified with 32-bit CRC.
- Assisted in test and debug of system hardware.
- Documented and tested key portions of network driver and host interface.
- Experience with both hardware and software packet analysis tools, such as SmartBits and Ethereal/Wireshark.
Confidential
Lead Developer
Responsibilities:- Redesigned and developed modules for accessing processor chip registers and ports via JTAG interface in C++ (OOP/OOD) (Display/Alter code). Experience with PCI Bus.
- Simplified design of the original Display/Alter code, resulting in a reduction in code size of 65%.
- Led small team in challenging multi-site development environment. Coordinated efforts to maximize use of resources, thus staying well within the development schedule.
- Designed Display/Alter firmware initialization code using XML and the IBM XML4C freeware parser, resulting in a reduction in initialization code size of over 2/3.
- Ported IBM XML4C freeware Parser to Linux environment, and made port available to other firmware developers.
- Developed web site to manage project deliverables, technical notes, and documents.
- Maintained previous implementation of Display/Alter software.
- Developed and implemented error logging software Unit Test Plan. Verified over 90% of the code paths in the error logging software, thus resulting in only 2 minor defects discovered after the code was released.
- Maintained error logging software.
Confidential
Embedded Power Applications Engineer
Responsibilities:- Designed and developed Control Software for a hardware implementation of the JBIG compression algorithm, for the printer market, in C++ (OOP/OOD). Close coordination with silicon design team.
- Developed sample device configurations for on-chip communications interfaces (Ethernet, I 2 C, IrDA, PCMCIA, RS-232, SPI). Implemented a TFTP stack.
- Provided editorial leadership/guidance on MPC823 User Manual and other product documentation.
- Wrote application note on how to configure MPC82x for USB operation.
- Provided high-level technical and on-site support for key customers on serial protocol configuration support, including support with on-chip memory controller interface.
- Proficiency in using oscilloscopes, logic analyzers, and other hardware lab equipment.
- Designed and implemented AIX Diagnostics Firmware and Windows NT Boot Firmware for line of PowerPC-based computers, utilizing Windows NT ARC Interface.
Confidential
PowerPC Architectural Simulator
Responsibilities:- Designed and implemented key portions of PowerPC architectural simulator in C++ (OOP/OOD) for AIX-based IBM RS/6000 and SUN SPARC workstations.
- Led various formal inspections/reviews of simulator software and documentation.
- Provided development and design leadership on subsequent simulator releases.
- Designed and implemented firmware, functional testing plan, and test software.
- Proposed design of firmware that resulted in a 70% reduction in code size over original design.
Confidential
Member Technical Staff with Secret Clearance
Responsibilities:- Designed, developed, tested, and documented experimental communication systems control software, running under BSD UNIX and RTOS.
- Designed and programmed logic for Xilinx FPGAs for use in experimental communication systems.
- Performed frequency analysis of communications data.