Software Development Engineer II (SDE-II) - Backend 2
swivl.tech
- Bangalore, Karnataka
- Permanent
- Full-time
- Design, develop, and maintain complex server-side applications using Node.js, applying OOP principles and best practices.
- Collaborate closely with front-end developers to integrate user-facing elements with server-side logic, ensuring seamless functionality and a great user experience.
- Architect and implement efficient data storage and retrieval mechanisms, leveraging databases and APIs effectively.
- Write clean, reusable, and testable code, following industry standards and best practices.
- Conduct thorough code reviews, providing constructive feedback to ensure code quality, maintainability, and adherence to coding standards.
- Troubleshoot and debug applications, identifying and resolving performance and functionality issues in a timely manner.
- Mentor and guide junior developers, fostering a culture of continuous learning and growth within the team.
- Stay up-to-date with emerging technologies and trends in backend development, particularly in the Node.js ecosystem, and evaluate their applicability to our projects.
- Collaborate with project managers and stakeholders to define project requirements, estimate effort, and contribute to project planning and execution.
- Drive the adoption of best practices, tools, and frameworks to improve development efficiency and code quality.
- Participate in Agile development processes, including sprint planning, daily stand-ups, and retrospectives, ensuring timely delivery of high-quality software.
- Bachelor's degree in Computer Science, Engineering, or a related field (or equivalent experience).
- Strong understanding of backend development principles, best practices, and architectural patterns.
- Expertise in Node.js and JavaScript, with proven experience in developing scalable and robust server-side applications.
- Solid understanding and practical application of Object-Oriented Programming (OOP) concepts, such as encapsulation, inheritance, and polymorphism.
- Experience working with databases, both SQL and NoSQL, and designing efficient data models.
- Proficiency in designing and implementing RESTful APIs and web services.
- Familiarity with frontend technologies such as HTML, CSS, and JavaScript frameworks/libraries (e.g., React, Angular).
- Strong knowledge of system design principles and ability to architect scalable and resilient backend solutions.
- Experience with performance optimization, debugging, and profiling tools.
- Excellent problem-solving and analytical skills, with the ability to propose innovative solutions to complex technical challenges.
- Strong communication and collaboration abilities, with the capability to effectively communicate technical concepts to both technical and non-technical stakeholders.
- Demonstrated leadership skills and experience in mentoring and guiding junior developers.
- Proactive mindset, self-motivated, and driven to continuously improve skills and stay up-to-date with industry trends.
- Experience with Express.js or similar Node.js frameworks.
- Knowledge of cloud platforms, such as AWS or Azure, and experience in designing and deploying applications on cloud infrastructure.
- Familiarity with containerization technologies like Docker.
- Understanding of testing frameworks (e.g., Mocha, Chai) and test-driven development (TDD).