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
Posted about 3 years ago