Software Engineer


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. 

PRINCIPAL DUTIES/RESPONSIBILITIES:

  • 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

 

EDUCATION AND EXPERIENCE REQUIREMENTS:

  • 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

 

SPECIAL REQUIREMENTS:

  • 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.

 

SKILLS AND ABILITIES:

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

 

Travel:

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:  careers@tditek.com