Description:
We are seeking a curious, adaptable, and collaborative Software Engineer to join our distributed team. You will work primarily with React on the front-end and Node.js on the back-end, leveraging JavaScript/ TypeScript across the stack. This role requires a strong emphasis on communication, openness to feedback, and a willingness to grow alongside teammates in different time zones.
In this position, you will build and maintain features that serve a global user base, collaborating with colleagues who may be remote or located in different countries. As a mid-level engineer, you will be entrusted with end-to-end ownership of projects—writing clean, maintainable code, helping improve processes, and mentoring junior engineers.
Key Responsibilities
- Develop and maintain React components, Node.js APIs, and microservices using JavaScript/ TypeScript.
- Collaborate in a global, distributed environment, participating in stand-ups, sprint planning, and retrospectives.
- Troubleshoot and optimize performance bottlenecks, ensuring scalability and reliability across various regions.
- Take ownership of entire features, from planning and testing to release and post-deployment support.
- Mentor and guide junior developers through pair programming, code reviews, and regular knowledge-sharing
- Maintain clear documentation and update project wikis for smooth handoffs and transparency.
Required Technical Skills
1. JavaScript/TypeScript
- Proficiency in building front-end (React) and back-end (Node.js) solutions.
- Familiarity with modern ES6+ features, async/await, and modular design.
2. Node.js & Express
- Hands-on experience creating and consuming RESTful APIs.
- Understanding of middleware, authentication, and scalable server-side architecture.
3. React
- Solid grasp of React fundamentals, including hooks (useState, useEffect, useContext) and JSX.
- Ability to develop reusable components, manage state effectively, and optimize for performance.
4. Git / Version Control
- Proficient in Git workflows (branching, merging, pull requests).
- Comfortable with code reviews, resolving merge conflicts, and version tagging.
5. Foundational Unit Testing
- Experience writing unit tests with frameworks such as Jest or Mocha.
- Understanding of test structures, mocking strategies, and maintaining test coverage.
Preferred / Nice-to-Have Skills
1. Front-End Extras
- Redux or React Query for advanced state management and data fetching.
- Familiarity with React Router for SPAs, dynamic routing, and nested routes.
2. Databases
- PostgreSQL or MongoDB: schemas, indexing, query optimization.
- Redis for caching strategies to boost application performance.
3. Search & Indexing
- Elasticsearch for implementing full-text search and indexing.
4. Messaging & Queuing
- RabbitMQ, Kafka, or SQS for asynchronous processing and service decoupling.
5. CI/CD & DevOps Fundamentals
- Comfortable configuring pipelines in GitLab, GitHub Actions, or Jenkins for automated testing and deployment.
- Basic Docker knowledge for containerizing Node.js/React apps.
6. Security & Performance
- Awareness of OWASP Top 10 vulnerabilities and mitigation strategies.
- Experience with profiling, monitoring, and optimizing performance in production.
Required Soft Skills
- Effective Communication & English Proficiency
- Collaboration & Teamwork (Across Distributed Teams)
- Adaptability & Openness to Feedback
- Problem-Solving & Critical Thinking
- Time Management & Prioritization
- Mentorship & Leadership Potential
- Emotional Intelligence & Empathy
- Accountability & Ownership