SW Development Experience

This is a summary of my experiences over many years with respect to software development, C and C++ programming, Python programming, and test development.

Python Development

  • 10 years of experience in different jobs.
  • Primarily used for development of testing of I/O systems and HW systems.
  • Advanced level of Python experience, using versions 2.5, 2.7, 3.11.
  • Proficient with “PyCharm” Python IDE.
  • Self-enforced use of “pylint” for static analysis of Python source modules.
  • No experience in working with front-end or back-end application development (i.e., web apps).
  • Very high level of interest in continued SW development using Python.
  • Significant projects using Python programming:
    • Elaborate test framework for embedded system test.
    • Numerous unit tests for embedded system platform API.
    • Numerous functional tests for Linux and Windows file system I/O to storage devices.
    • Development of many unittest modules for embedded system.
    • HDMI/DisplayPort device inventory reporting (video camera and monitor inventory).
    • Application to configure and launch VSLint for static analysis of C++ programs.
    • Application to extract and format information from production testing of the system for subsequent processing by the JMP numerical analysis application.
    • Tool set to extract the platform API documentation from the target system source files, and to generate test module templates to assist in developing final unittest modules.
    • Numerous personal productivity tools to help in file management, source analysis, test development, etc.

C and C++ Development

  • Early Career work:
    • Development of complete operating system platforms in C for embedded systems.
    • Development of VxWorks support platform SW in C language.
    • Board support packages in C for numerous embedded systems (VxWorks and ad-hoc OS).
    • Qualified C++ compiler tools for embedded systems.
    • Developed Makefile-based build systems for C and C++.
  • Development of C++ based tools for configuring BIOS of laptops (for Dell manufacturing)
  • Development of C++ programs to interface various Windows and Linux host systems to HW test devices.
  • Primarily C++98 development, some C++11.
  • Code inspection, review, debug, and support for million lines of C++ in Seagate embedded system (no direct development of production code; only support).
  • Currently in self-directed learning of later versions of C++ and STL through courses in LinkedIn and Wipro Learning.
  • Using Visual Studio 2017 and VS Code IDE tools.
  • Very high level of interest in new SW development using C++17 or C++20.

Test Development

  • 10 years of experience in test planning, testing development, and test execution, primarily for I/O systems and embedded HW system.
  • Created a concurrent (asynchronous) test framework using Korn Shell to test virtual storage, based on RDBMS, as shared by multiple computer nodes.
  • Developed various test modules in Python for functional testing of:
    • Linux System API calls to I/O services
    • Fibre Channel interfaces to RAID flash systems
    • Storage management commands
  • Developed an automated testing framework in Python with Windows-based host test driver application controlling unit tests running on an embedded system.
  • Developed and maintained automation of test framework on CI servers (Bamboo and GitHub).
  • Reported problems in JIRA tracking system with detailed descriptions and instructions for reproduction.
  • Created release documentation for distribution to internal customers.
  • Very high level of interest in continuing SW/HW test development.

Embedded Software Development

  • In my early career, development of embedded SW for controller boards with discreet devices; in later years, more of a support role of embedded SW and testing of SW on an embedded system of vintage architecture.
  • Worked with HW engineers to help specify HW design from a SW usability perspective.
  • Worked with HW engineers and test equipment to bring-up new boards.
  • Supported manufacturing organization for issues during board production.
  • Currently, working at home with personal microprocessor systems (STW32 and Raspberry Pi) to learn current embedded system technology.
  • High level of interest in embedded SW development, but need much more hands-on experience.
Scroll to Top