Become Exercism's Front-end Developer! We're looking for some who loves building React and CSS to continue to develop Exercism's front-end. Do you take pride in building pixel-perfect UIs that work reliably and performantly? Do you have a passion for programming and a growth mindset? If so, this role might be perfect for you.
Summary
Exercism is a not-for-profit organisation providing world-class programming education to anyone for free. Our online platform is centred around self-directed learning and volunteer mentoring, and has nearly one million members. Over the next 5 years, we want to become the defacto programming education platform that anyone, anywhere can use for free. Through our work we aim to improve the global standard of programming and increase participation in tech from under-represented groups. You can learn more about Exercism in our "About Exercism" pages.
Exercism is a complex, highly-technical platform, with production code running in over 40 languages. From our users' perspective, however, it's an easy-to-use website that helps them improve their programming skills. We take pride in hiding all that complexity, and making Exercism feel as lightweight and beautiful as we can. We're looking for someone to take the lead in the continued development of Exercism's front-end, implementing designs to a pixel-perfect standard in CSS, and writing fast, performant and readable React code.
We are building an exceptional team of ambitious, passionate people who love their work, excel at what they do, and have fun doing it. The values of empathy, integrity and personal-growth are core to everything we do. If that sounds exciting to be part of, and you feel you have the skills to help, we'd love for you to apply.
Responsibilities
You have two core responsibilities:
- Create performant interactive components in React.
- Implementing designs to a pixel-perfect standard in HTML/CSS.
As Exercism is a large and complex site, there is a huge variety in the things we work on day-to-day. Here is an idea of some of the things you'll work on through the first 12 months:
- Creating a new UI for admins to manage automated mentoring
- Implementing dark-theme throughout the site
- Making the logged-in part of the website responsive
- Make the code editor "multiplayer"
- Add a section to allow people to create research profile
- Scan through open issues for an idea of what the community are hoping comes next!
We use TypeScript, so it will help if you are comfortable with it. If you only know JavaScript, there's a small learning curve you'll need to take, which we will help you with. For CSS we use Tailwind. If you've not used it before then there is only a small learning-curve from CSS3 or another preprocessor such as SASS.
In addition to the technical work, you'll also work closely with rest of Exercism's team as we decide how to evolve the platform. We'll encourage you to get involved in our wider community, to tap into their collective knowledge and experience, but this isn't compulsary.
Is this job right for you?
The right person for this role will be someone who loves programming, is passionate about education, and who shares our values.
At a technical level, we're not worried about your background or qualifications - what matters to us is that you'll be able to elevate the quality of Exercism. The easiest way to know if this is a good fit for you is to spend some time using Exercism and ask yourself two questions:
- Would I be excited to work on this?
- Could I have developed this myself and done as good a job (or hopefully an even better one)?
If the answer to those two questions is yes, then you probably have the requisite technical skills. What matters then is whether you'll enjoy working in our team. There are a few principles that underpin how we work. If these sound exciting to you, then you'll probably enjoy working with us:
- We take on high levels of personal responsibility and work autonomously. We discuss problems and ideas with other if we get stuck, but don't pair-program.
- We have a strong tendency towards pragmatism, and tend to make decisions that optimize for the bigger picture over situational-perfection.
- We write code that makes it easy for others in the team to work with. We choose standards and stick to them. We generally prioritize developer-happiness over technical optimisation.
- We are dedicated to continous personal development. We each have intrinsic drives to learn, grow and elevate our standards.
- We believe and trust in each other, support each other, and make time for each other.
In additon to these things, our whole team have a shared commitment to kindness, honesty, and curiosity, and strive to build a working environment where everyone can learn, improve and do their best work. We believe that everyone has the right to feel happy, safe and supported at work, and strive to ensure that is the case at Exercism. We celebrate diversity, and do better work because of the different perspectives and insights that different experiences bring. It's important to us that you share these values and want to be part of a team living them out.
Finally, we want to hire someone who can get passionate about Exercism. We care deeply about what we're building - about creating a world-class educational resource that everyone can use for free, and it matters to us that everyone in the team shares that passion.
Other requirements
We are a fully remote team who communicate in English. We aim to mix effective work with a sense of connectedness, so spend some time during the week on video calls sharing ideas and updates, some time doing simpler work while being on Slack, and some time offline focusing on deeper work.
These lead to the following extra requirements:
- Able to work at least 4 hours per day during 9am - 6pm UTC, to enable you to interact with the rest of the team.
- You are willing to travel once per year for an in-person meetup.
- You are comfortable speaking English, and could write English to a level similar to this.
- You are excited to work in a diverse, inclusive team that cares about culture and where honest, empathic communication is the norm, and self-improvement is a lived value.
Research has shown that people from under-represented groups are less likely to apply for jobs if they don't feel they fit all of the criteria. If you think you'd enjoy the role and could do a good job, but are not sure if you're fully qualified, please apply anyway!
Benefits
Treating each other fairly is at the core of our individual and company values, and we want the pay and benefits of Exercism to reflect that. We offer the same benefits to all Exercism employees.
- A truly flexible, remote-first, working culture.
- A collaborative, creative and inspiring working environment. No shouty bosses, presenteeism or unexpected deadlines.
- £50k starting salary, which increases each year (inflation + 2%).
- Matched pension contributions up to 3%.
- 35 days holiday.
- We will pay for access to a local co-working space (if desired).
The role is full time, but you may choose to work either 5 days (~40 hours) per week or 4 days (~32 hours) per week. If you opt for the shorter working week, salary and holiday will be prorated accordingly.
How to apply
Firstly, if you're about to apply, thank you! We're grateful and excited that you're taking the time to do so 🙂
We're expecting a high number of applicants for this role, and so are asking everyone to submit an implementation of a programming challenge that will allow you to demonstrate your CSS and React skills. You can read the details of the challenge here.
To apply send an email to jobs@exercism.org with:
- Subject of "Front-end developer"
- A couple of paragraphs introducing yourself and providing some brief background.
- A link to a short video introducing yourself in more detail, telling us why you're interested joining Exercism, and giving us some more information on your experience and why you're right for the role. Don't worry about the quality of the video itself! Try and keep it around 5-10 minutes long. We use Loom for easy recording and sharing.
- A link to your Challenge code (preferably on GitHub).
- A link to your Challenge solution hosted online (GitHub pages works for free for this).
The application process will run as follows:
- You send in your application.
- We'll get in touch to acknowledge receipt of your application (generally within 2 working days)
- We'll review your application and let you know whether we wish to continue the process with you (generally within 7 working days).
- We will send you a questionnaire to try and understand more about your experience.
- Based on initial applications and questionnaires, we'll invite a final set of applicants to have a video interview with the CEO.
- We hope to make a final decision on who we offer the role to by the end of April.