Software Engineer

Chantilly, VA

JOB DESCRIPTION

We are looking for an experienced Systems Software Engineer to join our team, interested in designing, developing and maintaining essential software systems. The optimal candidate will have demonstrated experience integrating solutions with graph databases, such as JanusGraph. They will also have a strong background in systems software development, experience with 3rd party system integration, expertise in ElasticSearch, and a solid understanding of data modeling concepts. This is a fantastic opportunity to work on a challenging project that requires innovative solutions and collaborative problem-solving.

KEY RESPONSIBILITIES

  • Design, develop, test, and deploy scalable and efficient software solutions

  • Collaborate with cross-functional teams to identify and prioritize project requirements

  • Participate with code reviews and ensure high-quality, modular, and reusable code

  • Troubleshoot and debug issues in the application, including performance optimization and error handling

  • Stay up-to-date with industry trends and emerging technologies, applying this knowledge to improve our application

  • Design and implement data models that meet the needs of the application, ensuring data consistency and integrity

EDUCATION AND EXPERIENCE

  • 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.

  • 5+ years of related software development experience.

REQUIRED QUALIFICATIONS

  • Extensive expertise in Python and NodeJS

  • 5+ years of experience in systems software development in NodeJS or Python

  • Strong proficiency working with graph databases and graph query languages

  • Proven experience with 3rd party system integration using APIs, webhooks and other integration methods

  • Strong understanding of software design patterns, principles and best practices

  • Excellent problem-solving skills, with the ability to work effectively in a team environment

  • Basic understanding of data modeling concepts, including entity-relationship, data normalization, and denormalization

  • Experience with Git workflows, including feature branching, pull requests and code reviews

  • Ability to work effectively in a Linux-based development environment

DESIRED QUALIFICATIONS

  • Hands on experience with AWS Lambda, EventBridge and SQS

  • Experience with Node.js, Express and MongoDB

  • In-depth knowledge of ElasticSearch, including indexing, querying and aggregation

  • Knowledge of containerization leveraging Kubernetes

  • Familiarity with CI/CD pipelines and automation tools such as Jenkins or CircleCI

  • Hands-on experience working with message brokers such as RabbitMQ or AWS SQS