Chantilly, VA

Software Engineer – Clearance Required – Multidisciplinary

$100,000-$130,000 / YEAR

This software engineering position is embedded in a multidisciplinary team which creates solutions under tight time frames to support federal law enforcement operations. Composed of DevOps, Network Engineers, Systems Admin, Security Engineers, and Software Engineers, everyone works together without silos to get the job done. The ideal candidate will lean toward generalist and be willing to learn a little bit of all the roles to better participate. Prototype capabilities put together for specific operations will often be “enterprised” for use by a wider audience for future operations or common use cases. Because of this dynamic, the team experiences a mix of fast-paced prototyping and routine enterprise development work tempo depending on the week.

Required Competencies and Certifications

  • Active Secret or Top Secret Clearance, SCI eligible
  • Ability and willingness to travel to Chantilly, VA on a daily basis
    • Depending on operational needs, telecommute options may be authorized
      at the discretion of the Technical Lead and client approval.
  • Work well under pressure, can meet tight deadlines, and is committed to work as needed to complete time-sensitive tasks
    • During low ops tempo times, considerable flexibility in working hours
      is granted to balance the need for dedication to mission.
  • Ability to communicate complex topics to customers and peers verbally and in writing
  • Ability to understand and execute functional and technical specifications

Four Years of Experience in the Following:

  • Programming applications and systems in Python
  • Working with staged environments (ie. development, integration/testing and production)
  • Using agile methodologies (such as Scrum, Kanban, XP, or others)
  • Prototyping in a fast-paced environment with little input
  • Researching and tracking flaws with proven ability to use debuggers, log output, and other sources to troubleshoot, diagnose, and remediate bugs.
  • Usage of at least one NoSQL database engine (such as MongoDB, Couch, Cassandra, HBase, Neo4J, Redis, Memcached, or others)
  • Usage of at least one relational database technology (such as MySQL, Microsoft SQL Server, Oracle. Postgres, IBM DB2, or others)
  • Building web applications using common technologies (such as HTML, CSS, JavaScript, AngularJS, or others)
  • Working with multiple operating systems (such as Windows, Linux, MacOS, or others)
  • Using at least one cloud computing platform (such as Amazon Web Services, Microsoft Azure, Google Compute Engine, or others)
  • Shell scripting to handle repetitive tasks (such as sh, ksh, bash: can be any of one (1) of these, but preferably all three (3))

Desired Competencies and Certifications

  • Familiarity with various serialization formats and/or data exchange methodologies (such as XML, JSON, AJAX, WebSockets, YAML, Protocol Buffers, Comet, or others)
  • Familiarity with other object-oriented languages (such as C#, C++, Objective-C, Ruby, or others)
  • Ability to write complex queries in SQL and/or NoSQL databases
  • Rudimentary understanding of networking for programming over HTTP and/or TCP calls
  • Familiarity with Kubernetes, Docker, and other containerization infrastructure as code.
  • Bachelor’s degree in computer science (or related) recommended, however not required

About BrainGu

While Python is our primary language used for development, the nature of our work means that we run across almost everything. It's common to see a need to do work in Javascript, Ruby, PHP, Java, and PERL. On rare occasion that stretches to Erlang, Go, C/C++, C# and others. No one is expected to be an expert in all languages, but the ability to step outside your comfort zone and get the job done is key. Don’t worry, Google and StackOverflow are top tools in the team! We also use tools to collaborate and coordinate -- when your code moves fast, it’s important to keep your teammates up to date. Someone working at BrainGu is expected to actively log their work against tickets, submit their code as pull requests in git with sane commit messages, help to review each other’s pull requests to keep quality high, and document code design details into our wiki. Beyond programming is the ability to connect with various data sources, process that data, and deliver valuable results. Again, we have our favorites (Mongo, Redis, MySQL) but we have to go where the data is (sometimes Oracle, Microsoft SQL Server, Postgres, Cassandra, etc). It’s important for someone joining up to have existing experience with at least one NoSQL and one traditional RDBMS, but generally be ready and able to learn new database engines with some help from your teammates and some reading the documentation. Once we write our code and have something awesome to crunch data with, we need to deploy it so that our end users get the value. At BrainGu, we typically run a 3-stage operation starting with Development for early testing, moving to Integration for final shakedown, and finally on to Production where it runs 24/7 helping our customers do their jobs. This is where being a multidisciplinary team really shines. You’ll be working side by side with a DevOps Engineer to set up automated deployments and configuration management to get your code to production. If there’s a bug in it (you don’t write bugs do you?) then you’ll work together with the team to diagnose and resolve the issue, turn it into a patch, and run it back through the stages so we squash the bug. If it looks like a bigger lift, we can always revert production to the previous version and try again tomorrow.