What are the responsibilities and job description for the Software Engineer with Security Clearance position at Encode?
Client seeks a Software Engineer to support the research and development of large-scale open architecture distributed / cloud-based data processing, analysis, and Artificial Intelligence (AI) projects utilizing agile development methodology. Client technical staff will design the software architecture systems with input from the contingent worker. Under the guidance of client's technical staff, the candidates will perform the coding, development, implementation, integration, and testing of these systems. Responsibilities include but not limited to :
Support client staff that are developing algorithms for threat detection and decision support and implement and support software for real-time control of hardware from camera to radar systems.
Enable and support third parties engaged by a sponsor agency to enhance and extend the system. Must haves :
JSON, Protobuf, and SQL-Based Databases
Software / Algorithm Development
Inter-process Communications (TCP / IP, Thin Communications Layers, Publish / Subscribe Middleware, DDS)
Networking Applications and Protocols : TCP / IP, DNS, NTP, DHCP, SSH, FTP and HTTP / S.
Backend Programming (SQL)
C / C Programming
GIT / GITHUB
IDE to Java
Java / J2EE / JEE (JSP, SERVLETS, JDBC, JSTL, SOAP) Development
Java Development
JavaScript Development
Object Oriented Software Design and Development
Software Design / Development
XML and SQL
Maven or Gradle, Git / Gitlab, Make / Autotools
Software programming : Java, C / C , Python, Linux
Full stack developer
Developing, debugging, and executing software in a Linux environment
Specifying, developing, and verifying software functions and modules
Good understanding of communication protocols
Ability to update and debug legacy codebases with minimal supervision
Ability to rapidly and independently learn new skills as needed Nice to haves :
The ideal candidate for this position has strong organizational skills and is a self-motivated team player who enthusiastically explores new areas and prides themselves on using the latest techniques and technologies in the areas of software development and distributed real-time systems.
Be a lead individual contributor within a team
Work collaboratively with limited supervision
Have excellent written and verbal communication skills
Ability to decompose loosely defined requirements and work with team to provide a solution
Software Documentation
C 11 or later, Stand Template Library, Boost library
Hardware and Software Integration