Posted over 4 years ago
Key responsibilities
* Work as part of an engineering team in an agile environment, collaborating with engineers and designers from concept to delivery
* Work with the product owner to translate business requirements into technical requirements and API specifications
* Develop automated testing plans and infrastructure
* Execute on a software architecture and development plan to bring products to life
* Propose novel solutions to design and technical challenges
* Develop all software according to coding standards and processes, which you also help define
* Perform review of other engineers’ code
Ideal experience
What we look for
* Excellent written and verbal communication skills, including professional-level competency in English
* A proven track record in building and maintaining complex distributed applications
* Strong experience with relational databases, document or key-value stores and domain-driven design
* Experience with cloud infrastructure providers and continuous delivery
* Can write performant, fault tolerant and secure server code
* Can show strong understanding at an architectural level of large systems in which you played a key role
* Have shipped software over multiple releases as a technical lead in a strong team
* Familiarity with modern standards like OAuth, JWT, websockets, and service-oriented architecture
* Strong collaborator, transparent about progress on tasks
* Seeks feedback early and often and works effectively with a team
* Can deliver on engineering estimates
Requirements
* 5+ years professional software development experience
* Minimum 4 years production experience with modern JavaScript (ES6, TypeScript, etc.)
* Advanced knowledge of React and Node.js
* Minimum 3 years experience building and maintaining back end web services in a production context, in a cloud-based environment (e.g. Heroku, AWS)
* Minimum 2 years experience working with PostgreSQL or another relational database in production
* Minimum 2 years experience designing, building and maintaining APIs in a production environment
* Prior experience with GraphQL
Nice to have
* Proficiency with a back-end JS framework (e.g. Express, Koa, Hapi) and ORM (e.g. Sequelize, TypeORM)
* Experience in building web applications with Apollo Client and Apollo Server
* Experience with Gatsby and single page web applications
* Experience in working with UI component libraries and toolkits such as Material UI, Theme UI, Styled System, Rebass, etc.
* Experience in testing JS applications with Jest, Cypress, and/or CucumberJS
* Experience in building and shipping React Native applications
* Native iOS or Android development experience
* Prior experience in startups as a software engineer
* Evidence of open source contributions