Summary: A successful candidate will develop engineering solutions by studying operations, designing, developing, debugging and testing software written in C, C++, C#, and Java. Development will be based on customer requirements and specific market targets while working in a team environment. Under general guidance, the candidate will develop new products and maintain existing products in support of the company’s competitive position and profitability goals within an Agile development environment.
Qualification Requirements:
U.S. citizenship is required with the ability to obtain and maintain a U.S. Security Clearance.
Education:
Bachelor’s Degree in Computer Science or equivalent, advanced degree is desirable
Experience:
5+ years of software development experience
Skills:
Proven experience in large complex software/hardware developments
Proficient in the following coding languages: C, C++, C#, Java
Several years of experience using IPC and synchronization methods
Understands and has successfully implemented an OO approach on one or more large software projects
Strong understanding of security using encryption and authentication
Understanding of network security protocols and algorithms (e.g. SSL/TLS, encryption, etc.)
Understands basic networking protocols such as TCP/IP, UDP, ARP, and ICMP.
Strong team player
Desirable Qualification Requirements (must meet several of the following):
High speed data communication product design
Embedded systems software development
Working experience with one or more of the following protocols: HTTP, TFTP, and FTP.
IP layer protocols
Shell, Tcl, Python and perl scripting
GDB and other debug tools
Linux kernel building, rolling custom kernels, and boot-loading implementation
Test automation, nightly build and test regression
Gradle, ANT or other build system tool
Knowledge of HSM operations
Essential Duties:
Designs software components based on proposed release content and Marketing Requirements.
Socializes designs with team and integrates suggestions and changes as appropriate.
Implements code in a timely fashion and with high quality, consistent with defined standards.
Unit tests software components to ensure module-level functionality and product consistency.
Resolves issues found during engineering test in a timely manner, taking risk into account.
Provides documentation as appropriate including design documentation, comments in code, inputs for External Specifications, Software Requirements Specifications, and end-user documentation.
Consistently uses tools such as git, coverity, teamcity, and Jira for tracking of defects and management of code.
Participates in design and code reviews of other team members’ implementations.
Independently manages time and prioritizes tasks to achieve results within cost and schedule constraints.
Provides work assistance to lower level engineers.
Travel to customer sites and manufacturing sites as required.
Other duties as assigned
Thales Trusted Cyber Technologies is an Equal Opportunity Employer committed to hiring and retaining a diverse workforce while maintaining an alcohol and drug-free workplace. U.S. Citizenship is required for most positions. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, disability, or protected veteran status.