Software Engineer

TDI Technologies - Philadelphia, PA

Full-timeEstimated: $86,000 - $120,000 a year
TDI Technologies, Inc. is seeking candidates for a ship control networks Software Engineer position. The position’s main responsibility will be to assist with advanced ship control network design, test, analysis, optimization, and life cycle management. The position will also include test support, documentation, configuration control, and interface development. This position will support fielded Machinery Control Systems on advanced Naval surface vessels. The candidate must be comfortable working with electrical, computer, and mechanical systems.

Support systems engineering efforts for ship control network design, test, analysis, optimization, and life cycle management
Work within a team to troubleshoot complex problems in networked systems and test operational software
Support systems level testing of multiple versions of software and manage defect identification and correction
Review and analysis of technical documentation related to currently fielded and future systems
Provide technical input to the design of future user interfaces and system features

Bachelor of Science Degree in an engineering discipline - Computer Engineering, Electrical Engineering, Mechanical Engineering, Software Engineering or Computer Science is required.
1-3 years of experience in controls, networks, or software related engineering
Experience with system integration and/or industrial controls, networks, automation, or cybersecurity is preferred

Successful applicants must either have an active government security clearance or the ability to receive approval upon position acceptance.
Must have a valid US passport or the ability to obtain one upon position acceptance.

Essential Skills:
Software development and operation within Linux and Unix based systems (strong ability to navigate and script in Real Time / Red Hat Enterprise Linux (RHEL))
Software development ability in Java
Creating user interfaces using the Java Swing GUI toolkit
Experience managing software baselines using version control tools such as SubVersion or Git
Scripting with bash, shell, (also sed, awk, perl)
Ability to read and compare Software Requirement Sheets (SRS) with code
Shell scripting (primarily bash, also ksh and csh)
Experience using Oracle or other SQL-based databases in applications development
Understanding of mechanical and/or electrical systems integration with software
Ability to work with Model View Controller (MVC) design patterns, rapid development frameworks
Understanding of TLS, SSL, and encrypted communications protocols
Network data exchange using TCP/IP, UDP, protocols, experience with Unicast, Broadcast, Multi-Cast transmissions
Strong technical writing skills and attention to detail for documentation
Willingness to lead a team and convey technical problems and solutions to a variety of team members

Additional Preferred Skills:
Software development in C++ (utilizing GNU Compiler Collection preferred)
Experience with vessel integration and control systems for maritime or naval applications
Familiarity with agile software development practices
Knowledge of CORBA (particularly Java IDL), LDAP, and/or RTI DDS technologies
Cisco IOS networking software and switch configuration
Virtualization experience (ESXi and other VMWare products)
Experience with "hard" and "soft" real-time systems
Familiarity with Cygwin
Ability to write in vi text editor

This position may require up to approximately 25% travel. Location: 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 email resume to: