We're hiring SDE + Instructor - DSA for our Computer Science Department. What if your day job meant living and breathing data structures and algorithms? Breaking down DP, graphs, and complexity becomes part of your everyday work, not just interview prep. You get to help others truly understand problem-solving while building a community of learners who are just as driven to improve, compete, and think better every day.
You're not just solving problems; you're shaping how others approach them, guiding students to think clearly, optimise better, and build strong fundamentals. Every session becomes an opportunity to simplify complex ideas and make problem-solving more intuitive. Over time, you're not just teaching DSA; you're helping create confident, industry-ready engineers. In short, you wouldn't just be an instructor; you'd be a builder, mentor, and driver of real-world impact.
Responsibilities:
- Course Development and Delivery: Design and teach engaging lectures and practical sessions covering algorithm design, Time and Space Complexity, Data Structures, and advanced algorithmic techniques.
- Lab Management: Lead problem-solving and coding labs where students implement and analyse algorithms through hands-on exercises.
- Technical Mentorship: Guide students in developing strong problem-solving skills, preparing for technical interviews, competitive programming, and research-oriented algorithmic challenges.
- Cross-Functional Collaboration: Work with faculty, industry mentors, and curriculum designers to keep algorithm courses rigorous, relevant, and forward-looking.
- Academic Excellence and Student Success: Provide structured feedback, review assignments and projects, and support student growth through continuous assessments and mentorship.
- Stakeholder Engagement: Collaborate with university leadership and industry partners to drive innovation in algorithm education and curriculum design.
- Research and Innovation: Encourage students to explore algorithmic research, competitive programming, open-source contributions, and participation in coding competitions.
Requirements:
- 6+ years of experience in software engineering, competitive programming, teaching, or research with a strong focus on Data Structures and Algorithms.
- Strong proficiency in one or more languages such as C++, Java, and Python.
- Deep understanding of algorithm paradigms, including greedy, Divide and Conquer, Dynamic Programming, Backtracking, Graph Algorithms, and Advanced Data Structures.
- Solid foundation in time and space complexity analysis, optimisation techniques, and problem-solving strategies.
- Ability to explain complex algorithmic concepts in a clear, structured, and approachable manner.
- Comfortable teaching both theoretical foundations and hands-on implementation.

