Senior Software Engineer (Curriculum)

UK

Skiller Whale

October 7, 2022

Job Description

Skiller Whale changes what tech teams are capable of through live, remote training sessions led by subject-matter experts. Developers attend a 1-hour session every week, learning something new through challenging exercises with a trainer to give extra context and answer difficult questions. No video lectures, ever.

We’ve found the most effective way to accomplish this is through realistic exercises that can be explored and tackled in our interactive teaching model. The majority of developers who use Skiller Whale give overall satisfaction ratings of 5/5, and we’re committed to keeping this level of user love. This requires the development of demo apps and code examples that get to the heart of a topic, challenge learners, and demonstrate interesting edge cases. To create these, we need to quickly learn, deeply understand, and clearly demonstrate new concepts and technologies.

 

The role:

We’re looking for a smart, experienced software engineer to extend and enhance the learning that Skiller Whale provides.

Unlike most software engineering roles, you won’t be spending all of your time working with one stack – instead, each week you might be learning and working with new aspects of languages and frameworks, with a focus on the backend or data science / engineering. We’re currently developing material to teach Python (including data packages), Java, Docker, and TypeScript and expecting to build content for AWS, C#, and language-agnostic skills (design patterns, security, testing, refactoring etc.) soon. We’re also likely to be building curriculum for some or all of Kubernetes, SQL Server, Scala, Ruby on Rails and Rust before long.

You will become our internal expert in one or more of these technologies, owning the structure and quality of curriculum in that technology, ensuring that it is accurate and that it will provide excellent learning. More than being a fast learner, we are looking for people who are fast to grok – to quickly reach a point of intuition with a technology. That means more than just being able to write a “Hello World” app, or even a full application; it means understanding a technology’s edge cases and gotchas, being able to predict its behaviour in unusual conditions, and write clean and idiomatic code.This means that you can expect to be learning new technologies and skills at a much faster pace than you would elsewhere: if you prefer to stick with the tech you already know well, then this job is not for you!

 

What you can expect to work on
  • Code Exercises / Teaching Design: Ultimately, most of your work will result in focused 1-hour long ‘modules’ that consist of code examples and accompanying written material to explain the related concepts. This will often involve working with external experts, where your team’s job will be to learn from them, and help to structure and improve the material they produce. You won’t need to have experience in everything that’s being developed (that’s what the experts are for), but you’ll need to learn fast, and be good at logically breaking down ideas once you understand them.
  • Research & Learning: The core of the curriculum team’s role is about learning. Since the topics we teach are largely led by our customers’ demands, we end up covering a wide range of things. When this involves new skills, you will be reading books and articles, working through online code examples / courses, experimenting, and studying documentation for the awkward edge cases that might trip people up. You’ll guide your team in producing curriculum that passes on what you’ve learned effectively, and you’ll also have lots of opportunities to learn from the external experts we work with.
  • Explaining Concepts: In addition to the code examples, our sessions include accompanying written explanations. These should be concise, with concepts introduced in a logical order that makes complex ideas easier to understand. If you’re strong at technical writing yourself then great, but it’s essential that you can recognise when a concept has been well communicated. You’ll be responsible for the quality of material produced by others.
  • App Development: We deliver our sessions through the Skiller Whale app, which comprises several services. You may well spend time working alongside the app development team, particularly on the code related to delivery of our teaching material.
  • Other Things: as with all small start-ups, there will be opportunities to work on many other things, and grow your own skills. Depending on your experience and interests, this could include teaching, developing our web app, writing articles/blog posts, customer development, or many other things we haven’t thought of yet.

Requirements

 

Designing good teaching requires a wide range of skills. As well being able to quickly understand new things, you’ll have to combine creativity with a well structured way of thinking, and the ability to clearly communicate your ideas. You don’t need to have a background in teaching or pedagogy, but you will need to be interested in it, and have the desire to learn and improve our methods.

 

Essential
  • Ability (and desire) to quickly learn new things, and deeply understand them.
  • The ability to clearly explain difficult technical concepts.
  • Good communication skills, both written and verbal (expert/native English).
  • High competence in at least one of Python, Java or C#.
  • A broad understanding of concepts in computer science (data structures, algorithms, databases, networks etc.).
  • Passion for learning.
  • Creativity – designing instructive & interesting exercises is hard!
  • Proactive and fast moving – willing to get stuck in and make an impact.

 

Nice to Have
  • Teaching or mentoring experience.
  • Experience leading delivery in a software team.
  • High competence in at least one statically typed language and at least one dynamically typed language
  • High competence in at least one imperative language, at least one functional language, and at least one declarative language
  • Computer Science degree or another degree that involved some software engineering.

Benefits

  • £65,000 – £85,000 salary, depending on skills and experience
  • Share options in the company.
  • Enhanced parental leave.
  • £1000 / year to improve your home work environment.
  • MacBook Pro (or other laptop) provided.
  • Fully remote work, forever.
  • Kind and collaborative company culture.
  • 33 days holiday (including public holidays).
  • Be a key part of growing our company from 15 people to 50 to 5000.
  • Make a huge impact in helping to build and shape the product, team and culture as we grow.