Full Time
N/A
TBD
Jun 21, 2018
We are looking for a hybrid software engineer. Who can cross systems, DevOps, and application software boundaries who has a history of shipping high-quality production code in one or more of the following Python, Node.js, Java, and C# (if you are proficient in other languages please apply and let us know!).
Who is skilled at working directly on the command line. Someone who will embrace automation and take pride in building internal tools to help the team be more efficient and is not afraid to jump into application code to ship a new feature or infrastructure code to help scale a system.
Someone who solves challenges involving scaling, reliability, high availability, data pipelines, micro-services, and more in the day-to-day work and is comfortable building and scaling applications on one or more technologies, including Python, Sanic, Docker, Kubernetes, Redis, Memcache, and MySQL.
Someone who has experience working with databases and comfortable modeling database schemas and writing queries across a variety of data sources. Someone who is able to build up data processing pipeline for Data ETL.
About you!
You have worked with teams before scaling large projects. You understand that automation plays a critical role in scaling. You have designed and implemented systems in a distributed manner and are comfortable scaling these systems across hundreds of servers. You have no problem keeping systems like these running even while you sleep…because you've automated it.
You love prototyping ideas and iterating them to solve the problem in a fast manner.
You love learning and focus on self-improvement. You not only enjoy playing with new technologies but also open minded to exploring new concepts and skills.
You are very communicative in the way how you talk, write, and code. You over-communicate to ensure everyone is on the same page and always ask clarifying questions refraining from making assumptions.
You are proactive, a doer, and biased towards action.Even when you have nothing to do, you will find something to do.
Here are some things you'll probably do:
-Solve and implement scalability improvements to keep tasks running efficiently for our customer
-Implement systems to improve efficiency and quality of jobs for developer, operations and customer service, even sales.
-Automate disaster recovery efforts, including introducing random "chaos" into the system to test and improve overall resilience to failures
-Build tooling to increase visibility into our running production systems, measure performance continuously, and act upon changes
-Experiment a lot, as we are a startup, things change quickly!