JOBSEARCHER

Senior Software Engineer – Python, Java, Kubernetes & DevSecOps

ARCHIVED

We can't find an active application page for this role right now. It may reopen or be listed elsewhere. Use Next Steps to search for an active apply link and similar live jobs.

Job Title: Software Engineer - Python, Java, Kubernetes & DevSecOpsDuration: 3+ yearsClient: Defense Research LabLocation: Lexington, MA - mostly onsite with flexibility to work from home 1-2 days/weekDescription: Full lifecycle application development. Designing, coding, and debugging applications in various software languages. Software analysis, code analysis, requirements analysis, software review, identification of code metrics, system risk analysis, software reliability analysis. Object-oriented Design and Analysis (OOA and OOD). Software modeling and simulation. Front end graphical user interface design. Software testing and quality assurance. Performance tuning, improvement, balancing, usability, automation. Supports, maintains, and documents software functionality. Integrates software with existing systems. Evaluates and identifies new technologies for implementation. Maintains standards compliance. Implements localization or globalization of software.Background/Need: Come and help defend the nation in cyberspace! In the Technology Group at Laboratory, we research challenging technical problems in cyber security, develop new technologies, and prototype first-of-a-kind systems. We have particular focus on enabling human operators and improving operational systems, orienting our work toward strong practical impact.We work across a variety of cutting-edge national-security applications:Enhancing the cyber security and resilience of critical infrastructure and other operational technologyQuantifying risk posed by adversary cyber threats to key national security missionsHelping the nation’s cyber operators do their jobs better, faster, and at greater scaleCreating game-changing capabilities for defensive cyberspace operationsProtecting and defending emerging U.S. systems for conducting Joint All-Domain Command and Control (JADC2)Developing techniques to coordinate actions for emerging mission scenarios combining cyber and other mission domains such as air, land, sea, and space.As an interdisciplinary group with blended differences, we innovate by drawing insights from computer science, software engineering, data engineering, data science, artificial intelligence/machine learning, electrical engineering, mathematics, statistics, physics, and allied technical fields. We collaborate with research partners across team, offering frequent opportunities to team and learn in new areas. If you want a career in R&D with the opportunity to have real impact on important problems, join us.Other information relevant to the job requirement?The software engineer’s primary role as an implementer and integrator will be to:1) Architect, develop, and deploy cloud native services using modern frameworks and container/orchestration technologies. Design and develop modern microservices (e.g. Python, Java, Node). Include API design, service implementation, testing and validation, security, and deployment in a modern deployment infrastructure (e.g. Kubernetes, Istio)2) Design and implement data integration pipelines to ingest, transform, adapt, and synchronize diverse data sources. (e.g. Apache NiFi, Kafka / Kafka Connect, Pulsar, Cribl)3) Perform data analysis (e.g., SQL, Python Pandas) to understand and investigate cyber-related data4) Create intuitive data visualizations and dashboards to communicate results clearly to technical and non-technical stakeholders (e.g. Kibana, Superset, Grafana)5) Infrastructure Automation and deployments with Docker, Ansible, Kubernetes and Terraform. This includes developing automation for configuration and deployment of the software services to AWS and ESX environments using containers and Ansible and including infrastructure configuration with Terraform. This task also includes using automation to secure and harden deployed services.6) The software engineer will also perform related testing, and compose, compile, and maintain documentation for users and administrators. A secondary role will be to assist the development team in the planning and execution of effective agile software development practices.Required:Experience developing non-trivial applications using Python, Java, Angular, JSON, MavenExperience with SQLExperience with source code version control systems (i.e., git & Github)Experience building secure software systems using secure software development best practicesExperience using (i.e. development for, configuration, deployment) Docker, Ansible, KubernetesUnit testing and integration testingDeveloping, debugging, and executing software in a Windows and Linux environment.Producing, editing, and maintaining documentation aimed at users and other developersExperience working in agile, scrum-based teamsExperience with software build systems (e.g. Bamboo, Jenkins)Experience with user interface technologies (e.g. Javascript, HTML, CSS)The software engineer must have a willingness to take on new technologies and work in areas and take on responsibilities that they are not necessarily an expert in.The software engineer must be able to communicate, collaborate, and work effectively within our JADC2 related systems.Preferred:Experience with Python data analysis tools (e.g. Pandas)Experience with Elastic Stack, Apache NIFI, SupersetExperience with middleware and messaging platforms (e.g. Kafka, ActiveMQ)Others:Clearance: Active clearance is preferred; however, team will consider candidates with the ability to obtain interim clearance for assignment.Work Location: Hybrid — Candidates should expect to be mostly onsite with flexibility to work from home 1-2 days/week.Interview Process: Interview procedures will be either onsite or via video conference and may consist of initial one on one and may advance to panel interview.