JOB DESCRIPTION
The Software Engineer will design and develop complex new software products, or make significant
enhancements to existing software, and deliver mission impacting applications to users across mission
center. The ideal candidate is a hands-on developer with significant experience in developing scalable
data platforms, with experience in business intelligence, analytics, data science and data products. They
must have strong, firsthand technical expertise in a variety of configuration management and big data
technologies and the proven ability to fashion robust scalable solutions that can manage large data sets.
They must be at ease working in an agile environment with little supervision. This person should embody a passion for continuous improvement and innovation.
QUALIFICATIONS
- Bachelor’s Degree in Computer Science, Electrical or Computer Engineering or a related technical discipline, or the equivalent combination of education, technical training, or work/military experience
- Minimum of eight years current and related software development experience
REQUIRED KNOWLEDGE/SKILLS
- Demonstrated experience building and operating a full stack application using Java and Angular or similar Javascript/Typescript framework
- Demonstrated knowledge of working against distributed no-sql data stores, such as ElasticSearch, MongoDB, Cassandra, etc.
- Proficiency in traditional SQL databases and knowledge of persistence frameworks like JPA
- Hands on experience configuring Java web servers such as Tomcat or Firefly
- Familiarity with build automation technologies like Maven, Jenkins, etc.
IDEAL ADDITIONAL SKILLS
- Knowledge and experience building Business Intelligence dashboards and systems such as Elastic Kibana, MS PowerBI, or Apache Superset
- Development experience in Python and experience with Anaconda
- Familiarity with Ansible for deployment and management
- Familiarity with HTTP proxy systems such as haproxy or nginx
- Knowledge of containerization technologies to include Docker, Kubernetes, Helm,etc.
KEY RESPONSIBILITES
- Design, develop, and support production, user facing applications in support of mission objectives
- Troubleshoots complex problems and provides customer support for software systems and application issues.
- Provide recommendations for continuous improvement.
- Work alongside other engineers on the team to sustain and advance our organization’s capabilities