Stay in Touch



Senior Staff Software Engineer - Search






Ankara, TR


You are going to be part of the team that aims to provide a world-class search functionality to Udemy users. Search is a core part of the Discovery Experience in Udemy with the mission of getting students to the right content. Team works together with other engineering teams, product managers, data scientists and data analysts to provide a Search System to provide best search Delivering robust, maintainable and reliable solution and scaling to ever-growing user, content and data are among the priorities of the Search Engineering Team.
The goal of the Search Team is retrieving the most relevant content from Udemy’s rich catalog and ranking them in the best way to match user’s needs. Solving core relevancy and ranking problems is a core responsibility of the team. Solving these problems is impossible without utilizing the data effectively. On this purpose, Search Team owns various workflows that ingest data from a number of data sources to the Search platform. Maintaining and scaling the infrastructure that keeps the Search platform up and running is also among the responsibilities of the team.
As a Senior Staff Software Engineer, you are expected to develop robust, viable and scalable solutions; demonstrating the traits of an experienced software professional. The expectation from the position is not limited to individual contribution only; you are also expected to be a steer the overall design of the system and lead medium to large-scale efforts. In addition to demonstrating solid individual contribution, you are also expected to act as a mentor and role model to the junior engineers, in order to help them grow.  Going the extra mile is a core expectation from your position. Personal Development is an essential part of your job. You are always encouraged to broaden your and your team’s vision with new technologies, tools, and methodologies


    • Design and implement a versatile Search System matching students to the right content in Udemy.
    • Collaborate with product managers, data scientists, and engineers to identify opportunities and implement solutions that provide positive value to our students and our business.
    • Plan, organize, and complete work within agile sprints.  
    • Communicate effectively on progress and meeting expectations.Participate in code reviews, design discussions, and develop features and solutions that scale.
    • Contribute to a team culture that values openness, quality, robustness, and scalability while fostering innovation.Lead of medium to large scale projects.
    • Plan resources and coordinate the effort of others.
    • Mentor junior engineersIdentify and evaluate new technologies that improve the performance, maintainability, and elegance of our software implementation.

Minimum Qualifications

    • BS/MS in Computer Science or equivalent
    • 6+ years of software development experience
    • Being proficient at least one of the mainstream programming languages (Python, Java, PHP, C#, C, C++ or equivalent)
    • Superior design and architecture skills, as well as a solid grasp of Object Oriented design patterns
    • Being proficient in data design and modeling
    • Engineering process expertise, with a full understanding of the Software Development Life Cycle (SDLC) principles
    • Demonstrated problem solving and troubleshooting skills at large scale
    • Effective communication skills
    • Curiosity to learn what is going on under-the-hood with the technologies that you are working with

Preferred Qualifications

    • Experience with:
    • Elasticsearch /Apache Solr
    • Logstash
    • NoSQL data sources
    • Amazon Web Services or other cloud platforms
    • Understanding of Text Search and Information Retrieval techniques

Apply for the job

Subscribe to our blog.


Blog & Newsletter Signup