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