Senior Software Engineer (OpenCPI)


Software Engineer / Developer with hands-on experience of C, C++, Qt, Perl, Linux, Shell Script, and Python will conduct software engineering, design, integration, and testing activities for the Open Component Portability Infrastructure (OpenCPI) Product; an open-source software (OSS) framework for developing and executing component-based applications on heterogeneous embedded systems.
Experience / knowledge with or interest in developing skills in the following areas are preferred:
*Working in an Agile development / DevOps environment.
*Work collaboratively with others to achieve goals.
*A proven ability to prioritize well and communicate clearly.
*Consistent track record of delivery and excellent software engineering skills.
*Effective Technical Writing and Presentation skills.
*Hands-on experience with hardware, networks, and test equipment.
*Experience in the RF domain and/or use of SDRs in designs.
*Motivating, training, and encouraging users to embrace our product.
*Seeing the “big picture”: understanding how the little pieces make the big machine work.


The selected candidate will have the following responsibilities:
*Translate customer requirements into software design documents.
*Design, build, enhance, and maintain the OpenCPI Framework’s software baseline.
*Determine root cause(s) for the most complex software issues, and develop practical, efficient, and permanent technical solutions.
*Assist in task planning, estimation, scheduling, and staffing.
*Determine process improvements, best practices, and develop new processes.
*Mentor junior and mid-level engineers to allow for skill/knowledge development through advice, coaching, and training opportunities.
*Provide reports, statistics, demonstrations, briefings, and documentation.
*Other duties as assigned/required by the team lead.


The selected candidate should possess a majority of the following:
*Experience with software development using the Agile methodology and Scrum framework in a DevOps environment.
*Experience with development support tools to include repository management and CI/CD frameworks as provided by GitLab.
*Experience with use of Confluence as a collaborative platform supporting/documenting the Agile development processes.
*Software proficiencies: C, C++, Qt, Linux (Ubuntu, CentOS), GNU make, BASH scripting, OOP, GoogleTest, and Python.
*Familiarity with OpenSource software development in general.
*Familiarity with Embedded systems programming.
*Familiarity with Kernel development.
*Experience with GNU radio / Software Defined Radios (SDRs).
*Familiarity with code Repository Mgmt tools such as Rational ClearCase, GitLab, Bitbucket, etc.
*Experience with virtualization environments such as those provided by VMware, KVM, VirtualBox, etc.


Experience with the following, are a plus:
*Development experience in a DevSecOps environment.
*Demonstrated experience with Qt Flowgraphs is a notable plus.
*Experience with Docker/Kubernetes and/or Amazon Web Services (AWS).
*Familiarity with the GitLab CI/CD pipeline environment (pipeline configuration/coding).
*Familiarity with automated test tools such as Bamboo, Eggplant, Selenium, Rational Functional Tester, Cucumber, etc.
*Demonstrated experience in applying the principles of test-driven development.
*Familiarity with GNU Radio Companion (GRC).
*Familiarity with GitLab metrics collection is a notable plus.
*Experience with web development, including use of Jinja templates.


MS(MA)/PhD in one of the accepted degrees plus 7 yrs. directly related experiences (5 yrs. with PhD degree). At least 3 yrs. progressive responsibility in providing technical leadership. In lieu of a degree: 12 yrs. of directly related experience.


Software Engineering, Computer Science, Electronic Engineering, Electrical Engineering, Engineering Sciences, Physics, Mathematics, and Information Technologies and Data Processing.


Eligible for Top Secret with Sensitive Compartmented Information (SCI).


San Antonio, Texas (Preferred)
Partial remote work is negotiable.