Senior Full-Stack Software Engineer
Job Description
We're looking for talented full-stack engineers with a proven track record of building robust, scalable products and an eye for finding elegant solutions to complex problems. We work in small teams with clear objectives, which allows for accountability and transparency, and an expectation to support and maintain the software we create.
Our technology stack is mainly C#, Java, Python, Golang, Javascript, and SQL, and we are looking to fill roles for a variety of projects including:
- Event-driven microservices and APIs in a distributed architecture
- Dynamic web applications (ReactJS, Node.js, Backbone.js, Hapi)
- Infrastructure development on AWS (EC2, ECS, SNS/SQS, RDS, Elasticache, Elasticsearch)
- Deploying, scaling, automating, and monitoring servers in multiple data centers and the cloud (DevOps & SREs)
- Event streaming & big data solutions (Kafka, Spark)
Job Requirement
Essential
- BA/BS degree in Computer Science or equivalent industry experience
- Fluency in at least two programming languages (C#, Java, Python, Go, C/C++, JavaScript)
- You've used a range of storage engines (SQL, Elasticsearch, Cassandra, RDS offerings) and know when each type is useful
- Effective communication skills, via interactive mediums and documentation
Desirable
- 5+ years experience as a software developer
- Experience in event streaming architecture and stream processing (Kafka, Spark)
- All your infrastructure is code, you're experienced with configuration and orchestration tools for AWS and bare-metal provisioning (Terraform, Kubernetes, Puppet, Chef, Salt, Ansible)
Company Info
Senior Software Engineers are an integral part of our autonomous, multi-disciplinary product teams, working closely with UX designers, Product Managers, and other software engineers to deliver quality, rock-solid customer experiences and scale our systems for ever-increasing growth.
We're looking for talented full-stack engineers with a proven track record of building robust, scalable products and an eye for finding elegant solutions to complex problems. We work in small teams with clear objectives, which allows for accountability and transparency, and an expectation to support and maintain the software we create.