Position Details

CHIEF is looking for a Software Developer to assist with the development of backend systems at our client’s site in Washington, DC.

What You'll Do

  • Serve as a senior backend developer in completing the code base for Operations geocoder using Scala and Akka programming languages.
  • Provide expertise in operating and maintaining a public facing geocoder based on open source data from a variety of public sources, and ensuring geocoder meetings filer needs.
  • Assist the Solutions Architect in developing and preparing for production, the entire Operations platform and geocoder in a highly scalable environment, using Reactive programming principles, in Docker containers, Akka Clusters deployed on an Apache Mesos cluster.
  • Assist the Operations team with documenting best practice guidelines for the developer team and provide mentoring to junior developers.
  • Participate with the team in the product planning and general direction of the platform using agile methodologies.
  • Establish automated testing and continuous delivery using tools such as Jenkins and Travis.
  • Monitor quality of backend code and other system settings to ensure high performing products.
  • Provide section tier support to the Operations systems deployed into production.

What It Takes

  • A minimum of 5 years of professional senior level backend developer experience. University degree/advanced degree preferred.
  • Solid understanding of backend system design with experience developing, deploying and troubleshooting docker and/or Akka applications in a high elastic, microservices architecture built upon Apache Mesos or similar. The candidate must have demonstrated experience developing for backend systems with microservices based architectures.
  • Knowledge of developing and deploying geospatial data and/or geocoding solutions using open source tools such as PostGIS, GeoServer, or similar desired. Additionally, knowledge of open source geospatial projects and data, such as MapZen, OpenAddresses, MapBox, CartoDB, and appropriate application of said solutions is ideal.
  • Experience working in open source software development for an organization.
  • Experience developing software and technical solutions specifically in large data volume inserts and/or requests via the web.
  • Experience translation information needs into application solutions by implementing custom development expertise with statically typed languages like Scala, Java, and/or Go.
  • Experience implementing large/big data in database such as ElasticSearch, Cassandra, or similar, and in working with analytic platforms such as Spark or Hadoop.
  • Experience with automated testing and continuous delivery pipelines (Jenkins/Travis/Ansible) and using Github for source code management.
  • Knowledge and skills can be demonstrated through professional experience, training, self-learning, or coursework, and may take the form of personal projects where code is shared on sites like Githib.