skedge.me - Senior Software Engineer – Backend
Role
We are looking for an experienced systems engineer to design and implement deployment automation, automatic failover, reliable backup/restoration, and scalable data storage strategies that can be distributed globally.
Our technology stack is based on Haskell, Postgres, NixOS, and we deploy to AWS with NixOps. Our ideal candidate is well versed in all these technologies, but most importantly has experience managing, scaling and monitoring high performance web services with any stack.
Additionally, we desire candidates with continuous deployment/delivery experience. Candidates should be familiar with being part of an on-call rotation, and developing a runbook. We rely on our continuous integration server to build, run tests, and provide binary caches of compiled assets to accelerate compilation. We automate anything we can. We know the value of a two line shell script and a one step build.
A typical week might include
Designing a strategy for horizontally sharing our database. Implementing graceful server shutdown on runaway memory consumption. Adding real-time metrics hooks to key areas in the code base, and adding alerts to our monitoring system. Developing an offline database jobs system, for zero downtime migration. Redesigning existing APIs to common industry practices (HATEOAS, cacheable urls, etc.). Profiling slow requests and implementing improvements. Addressing production issues from our existing clients. Fixing bugs and adding tests to our automated suite.
Qualifications
    Professional Haskell experience is desired but not required. Haskell expertise is required.
    BA/BS in Computer Science, related technical field or equivalent practical experience.
    Minimum 4 years experience writing scalable, reliable software.

Email REDACTED_EMAIL to apply.