job summary: Description:
As a Software Engineer, you will be a technical contributor on the team with input on technical design decisions. You will work with other engineers and researchers with backgrounds in advanced fields such as computer vision, natural language processing, information retrieval, and knowledge representation. As a member of the team, you will help define, refine, and test state of the art algorithms, and scale the associated systems for high performance, stability, and availability. Qualification and Experience:
- BS in Computer Science or related technical field, or equivalent professional experience.
- 5+ years of relevant work experience, including extensive programming experience and strong software engineering skills.
- Go, Java, C, C++ or other compiled, statically-typed languages, with a strong preference for Go.
- Software development techniques including continuous integration, test-driven-development, automated unit and integration testing.
- Unix/Linux systems concepts, system programming, command-line tools and scripting.
- Service oriented architectures and an understanding of design for scalability, performance and reliability.
- Containerization, Docker or equivalent.
- Container scheduling and orchestration, one of Amazon ECS, HashiCorp Nomad, Kubernetes or Docker Swarm.
- Cloud computing infrastructure including provisioning, scaling and networking. One of Amazon AWS, Microsoft Azure, Google Cloud Platform, with a strong preference for AWS.
- NoSQL and distributed databases, one of Amazon DynamoDB, Cassandra, or MongoDB.
- Distributed asynchronous messaging. One of Kafka, AWS Kinesis or SQS
- Distributed configuration frameworks, one of HashiCorp Terraform or AWS CloudFormation.
- Experience with version control with Git.
- Data interchange and representation formats such as JSON, XML, Protocol Buffers.
location: Washington, Washington, D.C.
job type: Contract
salary: $47 - 57 per hour
work hours: 8am to 5pm
- Writing production-quality, tested code.
- Understanding the code base thoroughly in breadth and depth, as well as managing code repositories and development infrastructure.
- Producing technical designs and documentation at varying levels of granularity.
- Collaborating with our quality assurance and technical operations teams to provide outstanding customer service
- Resisting and removing the accrual of technical debt in our systems.
- Mentoring more junior members of the technical staff, performing code reviews, and leading the team to be effective and agile.
- Building proof-of-concept applications or conducting exploratory experiments with MAF.
- Staying educated on technical developments and tools necessary for the design and maintenance of complex, distributed platforms.
- Experience level: Experienced
- Minimum 5 years of experience
- Education: Bachelors
Equal Opportunity Employer: Race, Color, Religion, Sex, Sexual Orientation, Gender Identity, National Origin, Age, Genetic Information, Disability, Protected Veteran Status, or any other legally protected group status.