Software Engineer
Etegent Technologies
About the Role
Etegent Technologies is seeking a Software Engineer to transition data exploitation algorithms from R&D into usable software for Department of Defense (DoD) and Intelligence Community (IC) customers. This role involves application software development from conceptualization to sustainment. The position is based in Dayton, OH, with some on-site work at customer facilities. The ideal candidate has experience in all phases of the software development lifecycle, is detail-oriented, and passionate about creating software solutions. Experience supporting AFRL or NASIC on-site is preferable. The immediate focus will be on projects in signal processing, algorithm efficiency, webstack, databasing, infrastructure, and deployment.
Key Responsibilities
- Write efficient, modular, and well-documented code.
- Collaborate with machine learning scientists and engineers building data analytics tools.
- Develop customized tool sets to accelerate machine learning data curation and quality control, including machine-assisted data labeling and quality checks.
- Develop reliable machine learning pipelines for research, training, evaluation, and deployment.
- Build visualizations of complex numerical and scientific data.
- Develop signal processing chains and algorithms for processing large sensor data volumes with near real-time results.
- Design and implement optimized, low-level code on embedded hardware.
- Design and implement end-user applications leveraging machine learning algorithms.
- Build and deploy machine learning systems/computer vision systems for analysts.
- Architect user interfaces/APIs for sensor simulation, exploitation, and analytics.
- Identify architectures and tool sets to support design implementations and optimize throughput.
- Develop database schema and application interfaces to scale solutions on high-performance computing environments (HPC/Cloud).
- Assist in monitoring and directing project schedules, resources, and costs.
- Report on software development status and demonstrate software to customers.
- Build and maintain GitLab CI/CD pipelines for multiple projects.
Requirements & Tech Stack
- An active TS security clearance is a MUST.
- Candidates must be LOCAL to Cincinnati or Dayton, OH.
- Experience with data visualization tools or libraries.
- Object-Oriented software development knowledge and experience.
- Unit testing tools and methodologies knowledge and experience.
- Experience with Linux OS.
- Strong oral and written communication skills.
- Strong planning and capacity experience in a hands-on environment.
Qualifications
- Bachelor’s Degree in Computer Science, Software Engineering, or a computer-related engineering field.
- Previous experience in Software Engineering.
Preferred Qualifications
- Master’s Degree in Computer Science, Software Engineering, Data Science, or a related field.
- 3+ years of experience in Software Engineering.
- Experience working with relational SQL databases (e.g., PostgreSQL).
- Strong knowledge of Python, and common data science / ML packages (e.g., NumPy, PyTorch).
- Experience or knowledge in Machine Learning and Machine Learning Pipelines.
- Experience analyzing user requirements and translating them into technical designs.
- Ability to understand the requirements of designing or transitioning software in a production environment.
- Capacity to quickly learn new algorithms.
- Familiarity with geospatial standards, GIS applications, or geospatial data formats (e.g., GeoJSON, KML, Shapefiles).
- Strong knowledge of C++, as well as GPUs and other embedded hardware.
- Experience with web development and common frameworks (e.g., React, TypeScript).
- Knowledge and experience with WebGL, Web Map Service (WMS) and RESTful interfaces.
- OpenGL, QT framework, and Web Services experience.
- Experience scaling algorithms for high-performance environments (Cloud/DSRC).
- TS security clearance with active SCI adjudication.
Key Attributes
- Ability to work independently and as part of a team, managing multiple simultaneous projects.
- Welcomes a challenge and does not shy away from adversity.
- Collaborative, understanding team needs and communicating frequent updates.
- Comfortable adjusting to the needs of a small business and wearing multiple hats.
- Innate curiosity and passion for learning and understanding.
- Flexible and adaptable, with the desire and ability to learn new skills.
- Sharp, curious, well-rounded, adaptable individuals who can learn and grow.