Work on multiple components of a very powerful ‘big data engine’
Code: today we do most of our work in Scala, Go and JavaScript (Node.js), with some Python and Java here and there. Why these languages? In short, we like them and we’ve found that they're among the best tools for data pipelines, backend, and frontend development, respectively. We could have just as easily picked other languages and frameworks, but so far are quite happy with these.
Environment: we run everything in Docker images running on Kubernetes, within Google Container Engine (GKE). Why? Because after getting over the initial learning curve, we’ve found Kubernetes to be incredibly powerful, with a vibrant community that is driving the product forward at an incredible pace.
Testing & Deploy: our continuous deployment pipeline gates all changes on 100% test pass rate. Why? We believe technical debt is a slippery slope and people always underestimate the impact of short-cuts. It really is better to do things right from the beginning.
Services & APIs: we like both TDD and DDD (Doc Driven Development). We like API Driven Development (acronym TBD) even more. Why? In early stage companies things change very quickly. Leveraging environments like Kubernetes allows us to easily spin up services that expose clean APIs for particular purposes. We like a microservice approach for its modularity, speed of development and maintainability. Each of our services exposes REST and/or gRPC APIs that adheres to a well-thought-out spec, ensuring that if we do need to change implementation strategies, the work is well contained.
At Ascend, you get the opportunity to design things from the ground up and set the direction for years to come.
- Phone screen
- Coding challenge (If not already taken)
- Onsite interview with the team focusing on design, algorithms and coding
This job is open for all candidates located in the United States, including New Grads. Ascend transfers and sponsors H1-Bs, but candidates must currently be authorized to work in the USA.