We are looking for a passionate and highly capable Software Engineer to join our engineering team. The ideal candidate should have strong fundamentals in software engineering, the ability to design scalable and reliable systems, and a strong sense of ownership toward delivering high-quality solutions.
Key Responsibilities
• Design, develop, and maintain scalable, reliable, and high-performance software applications.
• Apply strong knowledge of Data Structures and Algorithms to solve complex engineering problems.
• Contribute to High-Level Design (HLD) and Low-Level Design (LLD) of software systems and features.
• Design and develop multi-threaded and concurrent applications with a focus on performance and reliability.
• Work with different types of databases, understanding their architecture, internals, performance characteristics, and appropriate use cases.
• Write clean, maintainable, and efficient code while following software engineering best practices.
• Collaborate with cross-functional teams to understand requirements, evaluate solutions, and deliver quality products.
• Take end-to-end ownership of assigned features and continuously improve existing systems.
Technical Skills
• Solid knowledge of Data Structures and Algorithms.
• Expertise in System Design, including HLD and LLD.
• Hands-on experience with multi-threaded/concurrent applications.
• Good understanding of databases and their internals, including different database architectures and performance considerations.
• Strong programming and problem-solving skills.
• Good understanding of software development principles, design patterns, and best practices.
Non-Technical Skills
• High Agency: Proactively identify problems, take initiative, and drive solutions without constant supervision.
• Strong Sense of Ownership: Take responsibility for outcomes and see tasks through from conception to completion.
• Passion for Software Engineering: Genuine interest in building quality software, learning new t