
Software Developer III
- Durham, NC
- Permanent
- Full-time
- Building reliable infrastructure solutions to enable repeatable configuration managed software deliveries
- Architecting core logging and graphing solutions to enable monitoring of critical systems
- Developing and improving CI/CD pipelines and processes
- Improving security of production systems by implementing security scanning pipelines
- Delivering software applications that run on top of our core software platform baseline
- Determine user requirements and specifications and plan for software development within the broader organizational scope. Software development includes end-user, system-level, and data management applications.
- Formulate detailed plans for the implementation of software solutions.
- Implementation of design including coding, testing, and documentation.
- Deployment of applications across the enterprise, including cross-platform compliance and ensuring availability of necessary resources.
- Code maintenance including debugging and updating to keep pace with the evolving environment.
- Assist in planning for future applications based on advancements in software/security best practices.
- Collaborate as a part of an Agile Software Development team and participate in regular standups and planning activities.
- Maintain the strict confidentiality of sensitive information.
- Perform other duties as assigned.
- Responsible for observing all laws, regulations, and other applicable obligations wherever and whenever business is conducted on behalf of the Company.
- Expected to work in a safe manner in accordance with established operating procedures and practices.
- Typically requires a bachelors degree, masters degree or PhD in computer science, information systems or related discipline and progressive software development experience as follows; six or more years of experience with a bachelors degree, four or more years of experience with a masters degree, or two or more years with a PhD.
- Equivalent experience may be substituted in lieu of education.
- Must have a general understanding of software development concepts, principles, and theory and demonstrate the ability to apply programming and analysis concepts.
- Must possess the ability to understand new concepts quickly and apply them accurately throughout an evolving environment while organizing work assignments to meet established timetables.
- Strong communication, computer, and interpersonal skills are required to enable an effective interface with other professionals, produce appropriate documentation, and present results to an internal audience.
- The ability to work independently and as part of a team is essential.
- Experience with a variety of programming languages (Java, Scala, Python, and Golang).
- Experience with deployment technologies, such as Kubernetes (K8s) for container orchestration.
- Experience with containerization technology (Docker).
- Understanding of AWS services and cloud environments.
- Knowledge of CI/CD pipelines and tooling (Gitlab CI/CD, ArgoCD, CircleCI, Jenkins).
- Must be able to work extended hours as required.
- CompTIA Security+ certification or willingness to get certified
- An interest in geospatial data and analytics
- Experience with AWS infrastructure and tooling
- Knowledge of database technologies (e.g., PostgreSQL or other relational databases)
- Experience with cloud technologies such as Hadoop, Spark, HBase, Accumulo, Storm
- Experience with deployment technologies such as Docker, Kubernetes, Knative, Helm, Rancher
- Experience with DevOps concepts
- Curious and excited to learn new technologies
- Able to coordinate with a small team of engineers
- Excited about designing and building reliable software applications
- A collaborative problem solver
- Passionate about understanding our customer's needs and mission
- Comfortable working with Linux systems on a daily basis
- Comfortable with version control and Git