Software Engineer

Job description

đŸ‘©â€đŸ«â€ŻWho are we?  

We at Infinitas Technology (the technology and product development arm of Infinitas Learning) are passionate about understanding and transforming the way people learn. We create educational solutions that touch the lives of everyone around us – both personally and professionally.

For everyone who discovers. For everyone who grows. For everyone who performs and challenges themselves. For your smallest dreams and your biggest ambitions. Learning will take you further. From your first day at school to the next step in your career. Infinitas is there for you and everyone who learns.

đŸ‘©đŸœâ€đŸ’» What do you do?

As Software Engineer at Infinitas Technology you are responsible for the delivery of digital products as part of cross functional product teams, along with the Product Manager and UX designer. You build software that underpins the Digital Technology strategy in collaboration with other engineers.  To learn more about Infinitas visit the home page of this career site.

Our products are all hosted on Azure, and while we do have some legacy technology (who doesn't?!) our new products and platforms are broadly based on the following technologies:

  • .NET (C#, .NET Core, .NET 5, LINQ, TPL) and ASP.NET MVC
  • NodeJS - which is (mostly) using NestJS, NextJS or Apollo Server
  • JavaScript/TypeScript and React
  • MongoDB, SQL Server, Redis
  • Git (e.g., Azure Repos, GitHub)
  • Rest and Graphql API's
  • Modern agile practices (e.g., Scrum, Kanban, Scrumban) - we give teams flexibility to use what works
  • Modern software development practices (e.g., TDD, CI/CD, IaC, test automation)
  • Infrastructure as code (e.g. Terraform)
  • Snowflake and DBT (for our data platform)

✹ What levels are we recruiting for?

We are hiring at all levels, and we are looking for people from diverse backgrounds who can work together to help us build great products that make a real impact.  We have a growth oriented career model, that can allow you to join at the right level, but also to learn from your peers and other senior engineers to grow and develop over time.

  • An Associate Engineer is typically not capable of completing any tasks independently, and must be coached as they are at the very beginning of their career - an apprenticeship level (e.g. work / school). This is primarily an on the job learning role.
  • A Junior Engineer is typically not capable of completing an end-to-end task independently, but can with the support and guidance of an engineer or senior engineer.
  • A Medior Engineer is capable of picking up specific tasks within a team and completing them independently, and carrying out more complex tasks with the support of a senior engineer.
  • A Senior Engineer is an expert across one or more areas of our technology platform (e.g. backend JavaScript, .NET, frontend, testing or operations automation), with significant experience individually owning a large part of an application and leading a small team. Engineers at this level provides mentorship for engineers within their teams, and guide the execution of their team.
  • A System Engineer is a senior technical specialist (typically within a specific area), capable of owning large sections of our technology architecture and strategy, providing mentorship and guidance for all members of teams they are a part of on the design of technical solutions. This is not a people management role, but a technical specialist role to allow your career to develop even if you do not want to be a manager.
  • A Principal Engineer is a systems or senior engineer who wants to move (partially) into a people management role, and round out their skills with an intent to head into a Head of Engineering or CTO role. They will take over management of a number of engineers in a domain, and so be linked to strategic business areas. This is in contrast to systems engineers who will be expected to move around based on need.

đŸ§‘đŸŸâ€đŸ€â€đŸ§‘đŸŒÂ What are our values?

  • We reflect the values of the teachers and learners who use our products
  • Creativity blossoms only when freed from fear
  • Leadership is approachable and supportive
  • We take strength from our diversity
  • We are all part of, and serve, the Infinitas group of companies

Job requirements

📖 Who are you?

While we don't like creating a detailed set of criteria that then filters out some potentially great candidates, it is important you have an idea of the type of thing we will be looking for after you apply - so please take these as a guide, but if you are uncertain please don't let it stop you applying!

  • Some experience as a software engineer - the amount of experience will be the primary guide to the level you should join at and so drive your renumeration, but if you are at the start of your career please also apply and we may have a role for you!
  • A bachelor’s degree or accredited professional certification in a technical major is helpful but not essential, we recognise that expertise can come from many sources.
  • You are comfortable working within your team on the mantra ‘you build it, you run it’
  • You are proactive and solution focused
  • You want to build solutions that are high quality, but also understand that our products only have impact if deployed - so no point aiming for perfection.
  • You find it fun and important to share your knowledge and learn from others.
  • You are happy to work in a dynamic and agile environment, where as we learn we will also be changing direction.
  • Excellent written and verbal communication skills and able to communicate in English (though we can also help you to improve with this if you aren't yet confident!)

🏆 What do you get from us?

  • The opportunity to work in a domain that makes a genuine and positive impact on the society we live in
  • The chance to work with a diverse team across a range of European countries and learn how education can be both the same and different at the same time
  • Ownership of the things you build, support to grow and a clear and structured career path built on a growth framework
  • Possibility to move around different teams to solve different problems and broaden your experience within the company
  • Attractive and flexible employment conditions
  • Flexible working hours depending on team requirements as to how, where and when you work
  • We can directly employ in a broad range of European countries, and can consider sponsoring re-location in those we have offices
  • A competitive salary and benefits (that will vary based on your location due to local expectations or requirements)

⏳ What happens after you apply?

  • Your application will be reviewed by Carl, Head of Engineering and Eline, HR to do a first review and agree to proceed, and we aim to have a response within 5 working days with regards to the next step.  If there is no next step we will also let you know and explain why.
  • The first call will be with Carl and Eline, to have a quick conversation about both your expectations and personal details - we don't want to waste your time if there is anything that will make it not work out regardless of how amazing you are.
  • Then we will send out an invite to a small coding excercise, it won't take you long, but then provides a conversation starter and context for the next stage.  We would typically give you a week to do this so the next step is arranged at the same time, but if you need more time that is also not a problem.
  • You will be invited to a teams call with two of our engineers (their level will depend on your level and will be from different teams), who will focus on reviewing the coding excercise and talking about your experience, and also be able to answer questions you may have.  
  • We ask that each interviewer submit their notes and decision independently, and then review those notes together with a principal engineer to make a final decision.
  • If successful we will contact you to make an offer, if not, we will contact you to let you know why not.

⏰ Important to know ...

  • All interviewers are trained by our HR team, and will have a set of standard questions to choose from to make sure that we gauge all candidates equally and as much as possible without bias.
  • We won't do any white board algorithm excercises, we are focused more on getting to know you you as a human being and future colleague.
  • We will treat you with respect at all times and provide feedback if you are not successful.
  • We do not hire into specific teams, you are applying for a job within the wider Engineering team, and you will get the opportunity to meet different teams when you join and have a say about where you want to work.