We are seeking an experienced Sr Software Engineer with a passion for building complex backend systems. The ideal candidate will have 5-7 years of experience as a Backend Developer and will be responsible for translating requirements into flawless product features, optimizing performance, and debugging production issues. This role requires a strong understanding of modern web and mobile product development, with a focus on delivering best-in-class code.
Roles and Responsibilities
- Development & Implementation: Translate requirements and implement product features to perfection. You'll work directly with developers as a team lead to conceptualize, build, test, and release products.
- Code & Optimization: Deliver best-in-class code across a broad range of interactive web and mobile products. You will have a knack for benchmarking and optimization, and will optimize the performance of existing implementations.
- System Development: Develop features for highly complex, distributed transaction processing systems.
- Testing & Debugging: Implement functionality for automated tests that will successfully pass and meet coding standards. You will also debug production issues and create subsequent mitigation plans.
- Innovation: Stay abreast of new innovations and technology trends, exploring ways to leverage them for product improvement.
Skills Required
- Experience: 5-7 years of experience as a Backend developer.
- Technical Stack:
- Expertise in Node.js & Nest.js with GraphQL is a must.
- Experience in JavaScript, Java, and TypeScript is a plus.
- Experience with WebSocket, REDIS, Memcached, and Cloud Messaging Frameworks (PUSH Notifications).
- Database & Architecture:
- Database architecture and design on SQL (Postgres) and NoSQL (MongoDB) systems.
- Experience with various data storage options, such as Relational and NoSQL.
- Experience with Microservices.
- Development Practices:
- A strong emphasis on Unit-testing and TDD (Test-Driven Development).
- Familiarity with a CI/CD environment (Jenkins/CircleCI).
- Experience with Agile Development (SCRUM methodology, JIRA).
- Proficiency with code versioning tools such as Git, Bitbucket, Mercurial, SVN, etc.
- Ability to debug moderately complex problems and analyze logs in production systems.
- Problem Solving:
- Strong problem-solving and critical-thinking skills.
- The ability to deal with ambiguity and thrive in a team environment.
- Additional Skills:
- DOM manipulation and new CSS functionalities.
- Memory management, multithreaded programming, and background processing.
- Object-oriented design, data structures, and complexity analysis.
- Elasticsearch ELK stack and REST API integration.