Job Summary
Battelle’s Cyber Solutions Division (CSD) is seeking an entry-level Software Engineer to work in our Columbus, OH, or Chantilly, VA , locations. The position reports to the Division Manager of Cyber Solutions. CSD is responsible for ideating, developing, and deploying advanced technical solutions to solve the most challenging national security problems. This position is contingent upon award.
Responsibilities
As a Software Engineer I at Battelle, you will spend your day designing, coding, and testing software. Our projects are non-standard, highly customized, and will push you to new levels as a software engineer. You will work with customers and team members to understand project requirements and scope, design/develop/modify software and firmware for custom memory constrained hardware and related systems. You will work with internal and external customers to understand and set goals and expectations and translate and communicate those goals and expectations to the team. You will research and analyze new libraries, technologies, and tools and perform full software life cycle functions including software/firmware requirements, architecture, design, code, test, integration, and documentation.
Key Qualifications
- Bachelor’s degree in related field; or an equivalent combination of education and/or experience in a related field
- Experience with or ability to understand compiled languages and memory management (e.g., C, C++)
- Experience with or ability to understand interpreted languages (Python)
- Competency in object-oriented programming
- Familiarity with development tools (e.g., Visual Studio Code, PyCharm, Eclipse)
- Familiarity with version control systems (git)
- Demonstrated understanding of common debugging tools and how to use them (e.g., GDB, Visual Studio Code debugger
- Ability to work in Linux-based Operating Systems (e.g., Ubuntu, RedHat, CentOS.)
- Understanding of TCP/IP networking fundamentals
- Familiarity with Agile methodologies
- Ability to work individually and in small, fast paced team environments
- Passion and drive to constantly improve your skill set
- Ability to develop, test, document, and maintain code for deadline-driven projects
- Ability to participate in requirements-gathering process, provide user documentation, and comment code clearly
- Must be a US citizen with an active TS/SCI.
Preferred Qualifications
- Experience with or ability to write unit and integration tests to verify code functionality
- Experience with or understanding of relational databases
- Experience with or understanding of NoSQL databases (e.g., MongoDB, Redis, MarkLogic, Cassandra, etc.)
- Understanding of supervised and unsupervised machine learning techniques
- Familiarity with machine learning libraries such as Tensorflow, Pytorch, Scikit-Learn, etc.
- Familiarity with data pipelines to process and distribute data such as NiFi, Apache Spark, Airflow and/or Prefect
- Familiarity with microservices architecture, containerization, and container orchestration software (e.g., Docker, CRI-O, Docker Swarm, Kubernetes, Marathon)
- Familiarity with cloud computing and associated service providers such as Amazon Web Services (AWS) and Microsoft Azure
- Familiarity with web development technologies such as HTML, XML, JSON, CSS, or JavaScript/Typescript
- Understanding of user interface and user experience design and implementation
- Full scope polygraph.