Job Description
- Developers will work with other developers to deliver big projects end to end. The team may have international developers.
- Engineers will be responsible for talking with end users to figure out requirements, propose high level design, get buy-in from other leads and develop a plan that can be executed by other engineers.
- Engineers will also play a hands-on role in implementation of particularly complex software pieces, debugging tricky issues, as well as perform research on new technologies
Qualifications
- Batch processing analytical software tends to be throughput sensitive rather than latency sensitive. Candidate must be able to understand the trade-off between performance, simplicity, maintainability, and timeline constraints when developing software solutions.
- Strong technical knowledge in at least one of the following ecosystems: Java, Python, Javascript. Experience designing batch processing systems is valuable but not necessary.
- Experience in some of the Big data technology stack: GCP ecosystem sucha as BigQuery, PubSub.
- Work with multiple stakeholders to gather requirements, work on high level design and get buy-in from peers and stakeholders
- Translate high level design to specific steps that can be executed by other developers
- Mentor and provide technical leadership to other engineers including system design, code reviews, etc
- Familiarity with machine learning algorithms and concepts (gradient descent, logistic regression) and software libraries like pandas, tensorflow, etc
- Candidate should be able to design high performance, maintainable, extensible software architectures to solve abstract business problems.