Purpose of the Role
The Full Stack JavaScript Developer joining our team will be taking ownership of features from conception to delivery, from frontend to backend. We work in small teams, so this is an opportunity to have a big impact, contribute, ship features autonomously and “get stuff done”.
Duties and Responsibilities
- Understanding business and technical requirements and assisting in product definition
- Design product architecture and advise on the best technology stack to be implemented
- Lead and take decisions on client-side and server-side development
- Works closely with QA team members in the testing phase
- Collaborate with the Infra Ops team on deployment and implementation
- Participate in all Agile/Scrum activities
- Collaborate with UX, Product and Engineering to architect elegant APIs, Data Models and Re-usable JS functions
Required Experience & Knowledge
Essential
- 4+ years of professional JavaScript application design and development experience
- Deep knowledge of modern back-end technologies and frameworks (Node.js, Koa2, Sequelize, Swagger)
- Experience with databases (PostgreSQL, Elasticsearch) and ability to write clean SQL statements and execute performance analysis
- Experience solving data-driven problems like caching, version control, batch processing, and real-time concurrency
- Keen eye for detail, understanding the importance of creating pixel perfect designs, and the subtlety that comes with it
- Proficiency on modern ReactJS/Redux to handle side effects, state management, performance optimization, styling and testing
- You write tests on a daily basis and have experience with different testing approaches
- Thorough understanding of the principles of component-driven architecture
Advantage
- Experience building public facing and internal REST APIs
- Experience building Design Systems
- Advanced knowledge on managing NPM packages (Lerna and Yarn Workspaces)
Skills and Attributes
- Excellent communication skills, and ability to team up with professionals in a multicultural virtual work environment
- A well-structured way of working and the ability to meet deadlines
- Proactive, goal-oriented, energetic with an independent way of working
- A problem solver. You aren’t afraid to go deep, experiment, learn on the fly, and do the work
- Passionate about quality. You do things right the first time by thinking deeply about quality, soliciting feedback, and being test-driven
Required Education & Qualifications
- Fluency in English (both written and spoken) is a must
- Bachelor’s/Master’s degree in Computer Science, related degree or prior work experience