Full Job Description
CPC specializes in designing and building hardware and software to meet our customers’ next requirement. We focus on offering devices that can be fielded immediately to meet the mission needs that lie directly ahead. Size, weight, power, and packaging are of paramount importance in everything we design and build. Our expertise allows us to rapidly provide these solutions in specialized electronic/mechanical design, embedded & application-level software, reverse engineering & protocol analysis, and RF signals exploitation and communications systems. Successful candidates must be willing and able to obtain a security clearance and pass a pre-employment drug screening.
We are currently seeking Software Engineers to join our dynamic and growing team focused on expanding our mission critical product portfolio with innovative products. Our goal is to develop software solutions, for a purpose-built mobile platform, that add business value while enabling a best in class customer experience.
Our team consists of industry-leading developers, architects, and designers who use various innovative development methodologies and technologies to successfully deliver solutions, drive business results, and exceed customer satisfaction.
You are responsible for designing, developing, integrating, and debugging mission critical Linux based embedded software using industry best practices and in accordance with the project’s software development methodology. Your focus will be analyzing, reverse engineering, documenting, implementing, and testing data protocol stacks at the physical interface level. Your effort will result in a next generation solution with an expanded interoperability to legacy systems.
We will provide an introduction to our business, internal and external training, and a path to grow with the company.
About the role:
Participate in an Agile team environment via structured development lifecycles
Perform system/application design
Develop data protocol software for device-to-device and over the network communications
Analyze and define communication interfaces of legacy devices in order to maintain backward compatibility
Conduct unit and integration testing of developed modules
Experience with data transfer protocols over USB, RS232, LAN, and wireless interfaces.
Familiarity with cryptography, DS101/102 protocols, key fill, Type 1 certified products, and secure networking is highly desirable
Familiarity with Embedded/Mobile Software Application Development
Skilled communicator who enjoys team-based environment
Skills and Qualifications:
Bachelor of Science degree in Software Engineering, Computer Science, or an equivalent technical field.
2+ years developing Linux based embedded software development
Must have active security clearance
DevOps concepts and tools, such as: GitHub, JIRA, Jama, Maven, Jenkins, Chef, Ansible, Docker
Programming languages and related technologies, such as: C, C++, Java, Python, etc
Software debug, protocol analysis skills, and experience with protocol analysis tools
Application architecture and systems engineering principles, to include micro service architecture, application design patterns, Agile development with Scrum, application security, developing system requirements, system design artifacts and models
Familiar with cross compilation, compilation frameworks, remote debugging
A desire to learn and keep learning!
We are proud to be an Equal Opportunity Employer and do not discriminate on the basis of race, religion, gender, gender identity, national origin, color, age, military service eligibility or veteran status, disability, sexual orientation, marital status or any other protected class. We encourage and support workplace diversity.