Software Developer/ Engineer/ Architect

Software Engineer

  • Work closely with colleagues to build the right solutions to the problems our customers face.
  • Make valuable changes in our codebase in your first week, and see them live in production minutes after merging them.
  • Write and review high quality, well tested code to ensure that we’re creating a stable product for our customers, and a stress-free codebase for ourselves.
  • Identify areas for improvement, both in our codebase and in how we work, and share the responsibility of making our team better.
  • Own the problems you’re solving - and the software you write to solve them - all the way to production and beyond, responding to customer feedback to improve those solutions.

At higher levels of this role, you will also:

  • Mentor other engineers in our team, providing support and guidance to help them grow their abilities.
  • Help prioritise our roadmap, identifying how we can use our time pragmatically and effectively.

Projects you might work on:

  • Re-implementing our event data storage to improve our background job throughput and increase stability.
  • Introducing dark mode across our entire application UI.
  • Collaborating with our Customer Success team to simplify the upgrade process for customers with on-premise installations.
  • Writing a blog post to share something interesting we learned with the community.
  • Profiling our test suite to diagnose performance issues and ensure our feedback loop stays fast.
  • Creating a Tines story to automate the management of our DNS records.
  • Adding auto-scaling policies to our web-server fleet to improve scalability and efficiency.
  • Owning the introduction of teams into the product, all the way from early tech plans to final UI fixes.
  • You’ll need to be capable with a high-level programming language. Our interview process includes building a small command-line program that makes decisions based on some JSON input, so you should feel very comfortable working at that level of technical complexity. Our main languages are Ruby and TypeScript, but you don’t have to be familiar with those - we value curiosity and an eagerness to learn over existing experience. We’ll also cover the cost of education material to bring you up to speed.
  • Your abilities matter, not your education or experience. We don’t require any specific degree or previous work experience. We just need you to show us that you have the skills needed to succeed.
  • Cybersecurity knowledge isn’t required. We take application security seriously, but for this role you don’t need any specific knowledge or experience.
  • This role is broad, not specialised. You’ll work across our backend, frontend and infrastructure. You don’t need to have expertise in all of these areas (no one on the team does), but you will need to be comfortable pitching in anywhere when needed, with the support of your teammates. This allows us to be more effective as a team, and provides a lot of opportunities for you to learn.
  • We’re focused on the most important problems, not the most interesting ones. Your time and energy are limited, so in order to succeed you’ll need to spend it where it will make a difference. We view technologies as a means to an end, and stick to simple, common tools - Ruby, Rails, React, TypeScript, Postgres, Redis and Docker. 
  • We work healthily and sustainably. We work reasonable hours, we take our holidays and we plan our workloads realistically. No matter how excited we get by a project, it’s more important to not get burnt out from overwork.
  • Your contributions will be obvious. On a small team like ours, you don’t have to spend a tonne of time and energy making sure your work is seen - your impact will be clear to everyone.
  • We’re building an inclusive, supportive team. We have a wonderfully wide spectrum of colleagues at Tines, and we treat them all with kindness and respect - we expect that you will too. We don’t hire people that treat their colleagues badly, no matter how talented they are.

Tines provides equal employment opportunities to all employees and applicants for employment without regard to sex, race, colour, ethnic or social origin, genetic features, language, religion or belief, political or any other opinion, membership of a national minority, property, birth, disability, age or sexual orientation.