Experienced Python Developer // Hosted Graphite

Experienced Python Developer

Hosted Graphite is growing! We’re looking for an experienced software engineer to join us in Dublin. Our team is a mix of junior and senior developers, and we’re looking for someone with a few years of engineering experience who’d like a new challenge.

We hire for fit, not for a list of technical qualifications. We’ll give you a (long!) description of how things work around here, and if you think this is the sort of place you’d love to work, please apply! We aren’t matching you up against a checklist of skills — if you have a lot of experience with python and distributed systems but haven’t delved into the deep magic of Django, that’s okay. If subversion rather than git has previously been your jam, that’s not a dealbreaker. Let us know what you bring to the team, and we’ll see if there’s a fit.

What’s the story?

On the dev team, we design and build new services, dive deep into performance issues in our distributed systems, and fix the hairiest bugs.

We mostly work in Python – 2, but we’re pushing towards 3. Our frontend stuff uses plenty of Javascript, and there’s a sprinkling of Go and Erlang. We build most web services in Django or Flask, use MySQL for relational data, and deploy a lot of NoSQLy stuff where it makes sense: Redis, Memcache, Riak, and our in-house time-series database.

We have a big thing for distributed systems and fault-tolerant tech. It’s crucial that our services can survive the failure of a server or three. We work hard to give our SRE (Service Reliability Engineering) team good options for scaling services, diagnosing problems between them, and restoring them easily when they fail.

We have excellent tools for continuous integration, packaging, deployment, rollback, and application metrics/logs. We’ve put a lot of effort into our developer tools and it really pays off — we think nothing of a dozen deploys a day. Developers are responsible for their own deploys; our SRE colleagues are pretty hands-off when it comes to deploying changes, but are always willing to help when we’re unsure or when the tools aren’t doing what we expect.

We have hundreds of Linux servers running many services, all talking to each other over reliable and unreliable networks. We have a lot of opportunity to build and exercise knowledge of working with Linux, with different protocols, socket programming, handling common network error conditions, etc.

Our contributions are exercised by more than one hundred billion events every day. We always have to think about how something will perform, scale, and fail.

Testing is important to us; every developer is expected to write tests and to guide our development processes so we always produce stable, high quality software. We don’t consider writing tests to be optional, and the build fails if the code coverage drops!

We support our developer colleagues through discussions, advice, and code reviews.

We work closely with our SRE team to prepare new services for deployment.

When a tough problem is escalated to us by our colleagues in support, we work directly with customers to understand their issue, prioritize the problem, and get it resolved. We’re proud of the excellent support we provide.

In summary, we’re a small company who take a lot of pride in what we do and how we help each other do it.

Tools

  • Github for code hosting, code reviews, etc. Everything goes through a pull request and review process. We’re free to nominate whomever we think is best for a review, and comments are always constructive. ‘Bikeshedding’ is heavily discouraged.
  • CircleCI for continuous testing, and these builds generally produce the packages that end up getting deployed to production too.
  • Sentry for error-tracking, and the ELK stack for digging into logs from all the servers.
  • Staging servers for validating our changes in a near-production environment.
  • “Canary” deployments, so our changes see a small amount of real user traffic before we roll it out everywhere.
  • We heavily use our own service (hooray for dogfooding!) to monitor the service itself – metrics and measurement on everything!
  • Puppet, for managing configurations and the state of all the production systems. Config changes also go through Github and a review process!
  • Docker for containerising some applications.
  • Slack for team communication, “ChatOps” deployments, and control of infrastructure. This also supports a thriving emoji ecosystem that is arguably inextricable from our production architecture.

Philosophy

We offer a great deal of trust and support. We’re expected to take initiative, and we expect to do our best work here, but we don’t want to burn out in a couple of years either. We trust one another to make good decisions and to ask for a nudge or advice when we need it.

If you don’t look, act or feel like everyone else in the tech industry, you should know that diversity is important to us. We’ve written about it hereherehere and here. Our founder and CEO is particularly keen on this, so there’s support for diversity right from the top.

We’re serious about empowering developers to deploy early and often, and every new hire deploys something to production on their first day.

We don’t really care about your level of formal education, mathematical skill and so on. We want to see that you have relevant experience, that you have good attention to detail, an aptitude for learning new skills, and that you have empathy towards your team-mates and our customers.

Location and hours

Our office is in Dublin, Ireland and we’d like you to be based there. We have a bright, spacious office on South William St with views over the city centre and many good lunch and transport options nearby.

Our working hours are typically 1000-1800, but it varies by person. If we need to visit a doctor or wait at home for a package, that’s grand.

Once you’re settled in, you’ll have the opportunity to work from home regularly.

Compensation

  • A competitive salary, dependent on experience. Yeah yeah, weasel words, here are some real figures: we’re offering around €40k for someone with a few years of experience up to €70k for someone really experienced. It’s a rough figure, and it really depends on where you’d fit in our team.
  • 25 days of paid holiday. In addition, we usually get a few extra days off towards the end of December to smooth out those awkward days that no one really wants to save annual leave for.
  • Health insurance for you and your family, or if you don’t take that up, an equivalent “health” benefit like a gym membership. Up for discussion.
  • We provide a company laptop, typically a Macbook Air, but the brand/model is up for discussion.
  • Free coffee and snacks in the office!

Social

We run social events from time to time — we’ll occasionally do a free lunch thing, have a night out or an evening meal with the team. We often just get some cans in and chill on a Friday evening too, sometimes with board games or Mario Kart if we’re of a mind. We’ve had a few entire-company days out where we travel and go on a small adventure for a day, and we love hosting parties (sometimes with a BBQ!) on our penthouse terrace.

How to apply

To apply, please email jobs@hostedgraphite.com with your CV attached (PDF and TXT files strongly preferred, please) and tell us about yourself. Please tell us why the job is interesting for you, and why your skills and experience make you a good fit. There’s no recruitment company or keyword-filtering tech in between us mangling what you write, we read every application carefully and we’ll try to get back to you quickly.

Note for recruitment companies: We don’t work with recruiters, so please don’t contact us.