Cloud Engineer Node.js
Detailed job description
We are seeking an experienced backend developer responsible for building an API app with Node.js and Cloud Firestore as main technologies. Your primary responsibility will be to design and architect from scratch the backend service that will communicate with a React Native app in the domain of social media. The backend should have a scalable architecture and use a cloud stack infrastructure (like serverless. We encourage using Firebase with Google Cloud for Node.js and cloud functions, but we are open to other similar stacks from Amazon, Microsoft or other providers. Along the way you will design and develop new modules and coordinate with the rest of the team working on different layers of the application. A commitment to collaborative problem solving, sophisticated design and quality product is essential.
The Perfect Candidate
- Experience with Node.js on the cloud technologies is a must. You can pick your favorite stack here, but we suggest one of the following:
- 1. Google stack: Cloud Node.js, cloud functions, cloud storage and Firestore
- 2. Amazon stack: Node.js with AWS Lambda functions, DynamoDB, S3 storage
- 3. MS Azure stack: Azure functions for Node.js, Azure SQL database, Azure Storage
- Previous experience with popular Node.js libraries such as express-session, express-jwt, express-validator, joi, body-parser, morgan, multer.
- Familiar with the design for RESTful APIs.
- Understanding of fundamental design principles for building a scalable backend service.
- Ability to integrate multiple data sources and databases into one system.
- Understanding flows for user authentication and authorization between multiple systems, servers and environments.
- Understanding the nature of asynchronous programming and its quirks and workarounds.
- Experience with TypeScript, GraphQL, MongoDB or other backend frameworks is a plus.
- A knack for writing clean, readable and easily maintainable code.
- Proficient understanding of code versioning tools such as Git.
- Understand complex concepts in solving problems.
- Suggest workflow process improvements and sustain self-organised agile teams.
- Option to mentor other members of the team.
- Maintaining active communication with the customer in order to understand the requirements and translate them into technical requirements.
- A good leader, empathic and working independent.
- Able to assume different project roles: Product Manager, Scrum Master, Team Member.
- Excellent written and speaking English skills.
- Analyzing application requirements and designing backend architecture from scratch and for the new functionalities along the way.
- Design, implement and maintain efficient, reusable and reliable code.
- Ensure the best possible performance, quality and scalability for the backend service.
- Identify bottlenecks and bugs, and devise solutions to mitigate and address these issues.
- Help maintain code quality, organization and automation.
- Keep clear documentation of the database setup and architecture.
What We Offer
- Very flexible work time and option to work from home anytime.
- Attractive salary package (including discounts for Sports activities etc).
- The opportunity to learn from experienced senior developers, analysts and consultants.
- Working with international customers and projects.
- Rewards and benefits based on achievements.
- Good coffee and cake at the office :)