Back-end Developer

Description

Access Explorer is looking for a talented Back-end Developer to help us build out our new digital mapping platform. This individual will work with the Director of Software Development to design and implement back-end services running on AWS Infrastructure. In addition to development, the work will also include scaling, performance tuning, analytics, operations, and security.

Responsibilities

  • Participate in the entire software development life-cycle, including concept, design, testing, release, and support.
  • Develop data services, tools, and APIs for the GoodMaps platform.
  • Write unit tests spanning the entirety of the backend code and constantly advocate for test-driven development (TDD) as part of the agile process.
  • Write clean, scalable code, and constantly look for ways to improve old code.
  • Participate in brainstorming sessions.
  • Contribute to AWS infrastructure build out.
  • Develop tooling around our mapping and data collection procceses.

Technical Background

  • Experience developing backend JavaScript applications.
    • Expertise in JavaScript ES6+.
    • Expertise in NodeJS and serverless frameworks or Express.
    • Knowledge of NoSQL databases such as DynamoDB or MongoDB.
    • Experience in TypeScript preferred but not required.
  • Experience developing RESTful APIs utilizing JSON data.
    • Experience in GraphQL a plus.
  • Expertise writing and maintaining unit tests using tools such as Jasmine, Jest, Karma, or other industry standards.
  • Proficiency in AWS.
  • General knowledge of security best practices.
    • Experience using token-based authentication, especially JSON Web Tokens (JWTs).
  • Functional understanding of build automation tooling.
  • Experience in the Agile process.
  • Some experience with development in a frontend framework (React, Angular, Vue, etc.) a nice to have but not required.

Qualities you should have

  • You have strong communication skills, both verbally and in writing.
  • You are clear and concise.
  • You can talk effectively with both engineers and non-engineers.
  • You are easy to work with.
  • You are curious and energetic about taking on hard problems in new areas.
  • You love to learn and take initiative for your own learning.
  • You take ownership for your work.
  • You accept responsibility and work to improve the systems you are a part of.
  • You pay attention to details and explore edge cases, potential problems and repercussions of your technical decisions.
  • You get excited and stay informed about new technology.

Submit Resumé