## Summary

Small startup in Bristol currently looking for an awesome software engineer 
to work on our existing code base.

Ideally you'd be located in Bristol/Bath and be able to work from our 
office, or be able to visit our offices on a weekly basis, but remote/home 
working is also negotiable. You would have prior experience of working for 
a small startup and/or handling all technical aspects of building a tech 
product. 

Our product is similar to Launch27, allowing customers to book a product, 
which is then allocated to groups within our workforce, and the lifecycle 
of a job is handled via our backend systems. This is not your typical 
boring Django integration job, there are some mundane parts but overall you 
should find this work quite pleasant.

Reply with why you think this role is interesting, and talk about any 
relevant experience you have with the technologies mentioned. Provide 
github links, code examples (gist/github/pastebin etc only pls, don't 
attach files), and anything else that makes you stand out from the rest. 
Interview would consist of a 1 hour phone call, and a decision made 
same/following day. Earliest start date would be 5th Jan.

## Tech specs

Stack: Python, Django, CircleCI, Github, DigitalOcean, Docker, MongoDB, 
Percona MySQL, Sentry, New Relic, LogEntries, Twilio, Slack, Vagrant, 
Trello, Stripe, TDD, Redis, RQ, CloudFlare, Python libs: 
django-debug-toolbar, freezegun, python-requests, freezegun, 
django-devserver, mongoengine, rq, django-rq

Primarily this is a Python role extended an existing API backend. We have 
complete separation between backend and frontend to ensure modularity and 
other developers working on the frontend. In future, we will have mobile 
integrations so it's absolutely imperative that the API is decoupled.

You may need to do other devops/research stuff, such as debugging prod 
instances, fixing memory leaks, diagnosing outages, settings up servers, 
fixing DNS, repairing build systems and all the other stuff that goes 
around a project.

All existing code follows TDD principles, has extensive commenting and is 
overall fairly clean, but with room for improvement on some of the core 
modules. Comes with CI build testing using Circle and ready to go Vagrant 
scripts. Our unit tests use time travel via freezegun, this allows us to 
test date/time sensitive functionality by means of monkeypatching. For 
example, ensuring that a subscription is terminated if a payment cannot be 
taken after 7 days. Every single piece of logic can be unit tested using a 
single command, and a full test suite takes around 60 seconds (not incl 
dependancies).

Ideal candidate would understand the importance of TDD, have good all-round 
knowledge of Python, and know their way around Django. You should 
understand the following without too much problem;

* How objects/classes works in Python (metaclasses, MROs etc would be a 
bonus)
* Python syntax (operators, list comprehensions, lambdas etc)
* Python stdlibs (itertools, os, sys, urllib etc)
* Stripe API for handling payments, invoices etc
* Job queues using rq/redis
* Document store using MongoEngine
* Demonstrate good understanding of what it means to be a software engineer
* Good knowledge of our stack

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/09dd12a3-86cc-4ca8-a392-b0bede493f26%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to