Programming Engineer

Platform Team · Edinburgh, Newcastle · Full-Time
About

The Role

SoPost is on a mission to build the world's best product sampling platform, and we are hiring into our platform team. We are currently seeking engineers (design, operations and programmers) to expand the team to help with the growth of our business.

As a programming engineer, you will spend your time creating and modifying the software on our platform. You will be responsible for writing tests, keeping your code well documented and for maintaining accurate README files so that other engineers can use your software without your intervention.

You will collaborate with operations engineers to guide your work into staging and production and with design engineers to ensure a tight experience that complies with our internal grading standards.

You will work from a backlog in a Kanban style. There is a little bit of admin that you'll need to do each day such as replying to email and making sure that any dates on tasks assigned to you continue to reflect reality. The majority of your day will be spent programming.

We've done a lot to create an environment conducive to concentration. For example, we've built custom desks that shield you from distractions in your field of vision, and we don't expect you to be active in Slack or monitor multiple notification channels for incoming interruptions.

No matter what your background or story is, as long as you can demonstrate solid programming skills and a professional attitude, then we can work with you to get you where you need to be. Even though we primarily use Elixir here, it is OK if you do not know it.

If you're reading this and thinking that you'd like to come and work here, then we would urge you to apply.

Skills

Essential

We have built our platform on functional languages (mostly Elixir), so you will need to be a confident programmer and ideally with some experience of functional programming. You do not have to know Elixir, but you should be able to demonstrate that you understand functional concepts in whatever language(s) you currently use.

You should be able to pick up new languages quickly as you will be expected to work in Elixir. We will provide you with suitable training experience during the first half of your probationary period to aid your transition from your current functional language to Elixir.

  1. Intermediate programmer
  2. Ability to learn
Skills

Optional

We manage our source code with Git here at SoPost, and it would be a big help if you already knew how to use it.

Elixir and Elm are the two main languages we use, and while it is ok if you do not know them, it would obviously be beneficial if you did. You will score more points for understanding OTP application design and even more for knowing when a function is preferable to a GenServer.

We use Python quite liberally (mostly ops and our internal helpdesk) and knowing it would be a big help for the times that you need to work with helpdesk people.

As well as programming, your role will work with data, so it would be very beneficial if you had experience of working with relational databases (SQL) (bonus points for PostgreSQL) and GraphQL.

Increasingly, data analysis is playing a part in shaping our platform, and if you have experience in this area, then you also score some bonus points.

  1. Git
  2. Elixir
  3. Elm
  4. Python
  5. R / Matlab
The

Salary

£30–40K D.O.E.
This is the starting salary bracket, and we will review it when you have completed the probation period. We can be flexible for the right person. The offer made to you will be dependant on experience.
The

Holidays and Benefits

You'll get 23 days holiday plus bank holidays a year. Once you have been here for three years, we'll give you an extra two days holiday allowance per year.

We keep a well-stocked fridge full of soft drinks, or if you prefer something more refined, we have delicious coffee beans and a great coffee machine. We engage in team activities once in a while, bringing everyone in the company together from all over the world.

You will also get some excellent tech to use. You can either choose between a non-retina iMac + 4K monitor or you can have a retina iMac. Once you are out of your probation, it is also customary to reward you with a lovely mechanical Cherry keyboard.

The

Hiring Process

We split the hiring process into five distinct parts. If you pass one stage, you will proceed to the next. We try to give feedback to you if your application is not successful but this is not always possible.

The process is designed to give you maximum insight into what it is like to work here and also for us to be able to assess your skills as quickly as possible.

Screening
we review your CV and verify claims
Call
a video/phone call to assess your experience
Technical Interview 1
basic programming exercises
Technical Interview 2
you complete a pre-interview task; we do a code review on it
Offer & References
we will make a formal offer, subject to references
Your

Application

Use the below button to send us an email. Attach your CV and a link to your Github profile. We will use your Github profile to validate claims made in your CV. If you have a personal website or maintain a blog, this would be a most welcome inclusion in your application.