Udemy is looking to hire a Software Engineer to help define the future of learning by improving the experience of learning for their learners, specifically focusing on the course taking experience.
Requirements
- Minimum three (3) years of experience as a full-stack or backend software engineer
- Experience building APIs and backend services called by frontend interfaces
- Knowledge of Object Oriented software design patterns and computer science fundamentals (e.g. data structures, algorithms)
- Web application development using modern frameworks
- Experience with Testing methods, including unit and integration tests
- Minimum 2 years of experience with Java, Kotlin or other strongly typed language
- Experience with microservice development and communications using gRPC
- Experience with Spring Boot Microservices
- Experience defining and developing APIs with GraphQL
- Experience working with Real-time messaging and NoSQL infrastructures: Redis, Kafka, DynamoDB, etc.
- Familiarity with container orchestration technologies (Kubernetes, Marathon, Nomad, etc.)
- Familiarity with monitoring and alerting tools (DataDog, etc.)
Responsibilities
- Contribute to the process of defining and designing features in a highly collaborative agile environment
- Design, specify and implement features and services
- Participate in code reviews making sure that our code is well designed, tested, robust, secure, performant and readable
- Document, monitor and maintain features post-release
- Contribute to a team culture that values openness, inclusiveness, quality, robustness, and scalability while fostering innovation
- Grow your Software Engineering skills!
- Build the APIs and microservices for products and features that impact millions of learners
Other
- You are a motivated, meticulous Software Engineer with a team-oriented approach and exceptional problem-solving skills.
- You take lead and ownership over your work with relentless focus, act as one team by working collaboratively with your team members, and never stop learning.
- Excellent communication skills in English
- This is an in-office position, requiring three days a week in the office (Tuesday, Wednesday, Thursday) and flexibility on Mondays and Fridays.