Udacity's mission is to democratize education. We're an online learning platform offering groundbreaking education in fields such as artificial intelligence, machine learning, robotics, virtual reality, and more. Focused on self-empowerment through learning, Udacity is making innovative technologies such as self-driving cars available to a global community of aspiring technologists, while also enabling learners at all levels to skill up with essentials like programming, web and app development. Udacity is looking for people to join our Engineering team. If you love a challenge, and truly want to make a difference in the world, read on!
We're looking for a Full Stack Developer to join our Workspaces team. As an engineer focusing on our interactive student learning environments and IDE’s, you’ll be building systems that propel students of all levels forward in their learning efforts.
Responsibilities:
- You will own the full-stack development of one or more of our products and collaborate with designers and other engineers to launch new products, iterate on existing features, and support integration into the entire Udacity student experience.
- We use what we teach (and we teach the latest tools and techniques). Some cool projects you might work on: (1) Create a Docker-based + WYSIWYG tool set to configure Workspaces for specific courses and types of content (2) Implement an interactive debugger for students to use and learn with (3) Develop a learning environment to leverage interactive 3D simulations in the browser, for topics such as Robotics and Self Driving Cars
- Some technical challenges you’ll encounter include: (1) Securely authenticating sessions across multiple domains/geo-regions, including dealing with cross origin security policies (2) Debugging network and application failures across proxies or intermediate services (3) Architecting safe concurrency strategies for synchronizing and sharing workspace state between users
- If the above examples and challenges sound thrilling, let’s chat!
Requirements:
- 2+ years general programming experience + semantic HTML and CSS.
- Solid experience building backend and front-end systems in tandem with a clean, secure separation of concerns and load.
- Experience with back-end, federated systems in Node is required. You ideally have deployed global cloud-based services and are aware of the challenges.
- Command-line applications, source control, and testing frameworks are part of your daily work already
- Experience with a popular front-end framework (e.g. React), front-end debugging tools (Chrome Dev Tools, etc.) and build tools (babel, webpack, yarn, etc)
- Java programming experience is a big plus.
We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.