TDI Technologies, Inc. is seeking candidates for a ship control networks Senior Autonomy Engineer position. The position’s main responsibility will be to assist with designing, implementing, and testing software to interface with shipboard sensors and actuators. Additionally, this position will require to applicant to be comfortable with in the fields of Autonomy and Machine Learning. The candidate should be comfortable both prototyping new research project and implementing production level code. The candidate must be comfortable working with electrical, computer, and mechanical systems.


1. Develop and test software, in Java, C++, Python, and Matlab to implement signal processing and autonomy capabilities on shipboard systems.

2. Design and implement prototype mechatronics systems.

3. Provide technical input to the software system architecture.

4. Work within a team to troubleshoot complex problems in autonomy and machine learning.


1. Bachelor of Science Degree in an engineering discipline - Computer Engineering, Electrical Engineering, Mechanical Engineering, Software Engineering or Computer Science is required.

2. 3-5 years of experience in software engineering

3. 3-5 years of experience working with mechatronics systems


1. Successful applicants must either have an active government security clearance or the ability to receive approval upon position acceptance.

2. Must have a valid US passport or the ability to obtain one upon position acceptance.


Essential Skills:

1. Software development in C++ (utilizing GNU Compiler Collection preferred)

2. Software development in Java

3. Software development in Python

4. Software prototyping in Matlab

5. Software development and operation within Linux and Unix based systems (strong ability to navigate and script in Real Time / Red Hat Enterprise Linux (RHEL))

6. Scripting with bash, shell, (also sed, awk, perl)

7. Shell scripting (primarily bash, also ksh and csh)

8. Experience using Oracle or other SQL-based databases in applications development

9. Understanding of mechanical and/or electrical systems integration with software

10. Experience managing software baselines using version control tools such as SubVersion or Git

11. Strong technical writing skills and attention to detail for documentation

12. Willingness to lead a team and convey technical problems and solutions to a variety of team members

Additional Preferred Skills:

1. Familiarity with agile software development practices

2. Experience with existing autonomy and machine learning frameworks, including ROS and TensorFlow

3. Experience with vessel integration and control systems for maritime or naval applications

4. Experience with "hard" and "soft" real-time systems


This position may require up to approximately 25% travel.

Philadelphia, PA

Equal Employment Opportunity Policy:

TDI Technologies, Inc. provides equal employment opportunities to all employees and applicants for employment and prohibits discrimination and harassment of any type.

This policy applies to all terms and conditions of employment, including recruiting, hiring, placement, promotion, termination, layout, recall, transfer, leaves of absence, compensation and training.

To Apply:

To be considered for a position at TDI Technologies, Inc., please apply here.