Senior Full Stack JavaScript Software Engineer
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