Senior Software Engineer (​Full stack) at Open Learning

Full-time, Sydney sydney engineering full-time
Description
Posted 1 months ago

About us:

OpenLearning.com is a growing education SaaS company working towards its mission of being the number one lifelong learning platform. We provide a cutting-edge lifelong learning platform which goes beyond content delivery, and focuses on enabling interactive and engaging social learning experiences for communities of connected learners.

We are currently looking for two senior software engineers to join our growing technical team in Sydney.

OpenLearning values diversity of experiences and backgrounds. We strongly encourage everyone with a genuine passion for education and solid software development experience to apply, even if you only meet some of the role criteria.

COVID-19:

This role is ordinarily based in our Sydney office, but we are currently working from home. We have adapted well to working remotely and check in with each other via daily video standups, with discussions/pair programming over discord. We otherwise enable a flexible working schedule that values personal autonomy and your preferred work style. You will be working in collaboration with our core platform developers in Sydney, our international software teams, and our global operational support staff - primarily based in our Sydney and Kuala Lumpur offices.

What we are looking for:

We’re looking for two senior software engineers, one full stack (web/mobile) and one with a backend focus. As an ideal candidate you will have a passion for developing a world-class education platform, an ability to thrive in a fast paced environment, and excellent team and communication skills, including the ability to:

● Identify issues in technical architecture, development practices, team processes, and communication within and outside the development team. Surface these issues with relevant stakeholders, collect further information, and take responsibility for making the necessary improvements.

● Work in consultation with stakeholders including the leadership, product, and customer success teams (and others) to identify product requirements, design solutions, and ensure requirements are met.

● Constantly research developments in the broader technical community and integrate appropriate and useful innovations into our code and processes. Engage the team in these discussions and build consensus for worthwhile changes.

● Contribute to the learning and development of others on the team, including participating in and leading code showcases, code reviews, discussions about technical architecture, etc.

● Proactively work to support the rest of the team, including with communication, moral support, and optimising the developer experience.

● Show a passion for teaching, learning, experimentation, and making a social impact.

● Encourage a kind/positive/playful attitude that embraces change, agility, and diversity within teams and working environments.

You will have a Bachelors, Masters, or PhD in computer science/software engineering, a related technical field or similar experience, with a solid understanding of software engineering principles and practices.

Extensive experience is required with a prominent web application language - preferably both Python and NodeJS (Typescript) - as well as familiarity with front-end development technologies (e.g. React and Javascript browser technologies), unit testing, and defining test cases for system/user testing

Technical skills (Full stack):

Excellent knowledge of web technologies:

● Experience working in large ​JavaScript projects, including integrating new technologies and practices such asTypeScript​, CSSinJS

● Experience designing complex React.js and/or react-native apps, including overall application architecture, central state management (e.g. with Redux/Apollo/MobX​), server side rendering, etc.

● Enablement technologies such as Webpack​ and other FE build/packaging tools

● API design​ and implementation

● Experience refactoring large codebases to make incremental improvements.

● Type checking, continuous integration, and other helpful practices

● Core security concerns within a typical web/mobile application (password hashing, TLS, XSS, XSRF, code injection, access control, CSP/web security headers)

Advantageous (but not essential) experience:

● GraphQL

● developing with education technologies such as xAPI and LTI 1.3 Advantage

● Ansible (or other configuration management tools) serverless Azure technologies, such as Azure Functions (& durable functions), Event Hubs, Azure SignalR, Stream Analytics

● knowledge of container technologies (Docker, Kubernetes)

● CQRS, event-driven, and event-sourcing architectures

● Experience contributing to open source software projects

Apply:

Contact​ [email protected]​ with a CV/Resume and examples of your relevant experience