Job Description
We are growing and so we are looking for Principal Software Engineers.
Your role will sit within an Agile team developing products deal with a variety of applications and broad set of technologies, datasets and cross industry requirements. You will help drive the development and integration of these products.- We will need you to ensure adherence to best practice in building modern software architectures with well-designed APIs.
Main Responsibilities
- Lead implementation and delivery ensuring coding, unit testing, system integration, defect resolution, and technical documentation adheres to our standards.
- Proactively identify problems with requirements and communicates these issues early to help course correct.
- Assist in troubleshooting and support efforts for existing systems and applications, focused on improving our existing systems and applications.
- Promote shared ownership of code though code reviews, standards, and documentation.
- Participate in the definition and implementation of the engineering team roadmap.
Qualifications
- Bachelor's degree or equivalent in Computer Science or a related field.
- 10 -15 years of proven experience in software development and system maintenance.
- Strong background in a combination of the following: Typescript, React/Angular, NodeJS, and GraphQL. C#, Java, Rust, Python would be considered an asset.
- Superior knowledge of modern enterprise and cloud architectures (e.g., microservices, serverless, event driven, reactive) and containerization methodologies.
- Expert level knowledge of multiple technology stacks, object-oriented design approaches and enterprise design patterns.
- Strong data engineering foundation gained in developing commercial applications with traditional (SQL, Postgres, etc) and NOSQL databases (Elasticsearch, Neo4j, MongoDB, etc) and streaming data (Kafka).
- Hands on experience with application optimization, scaling, and security. Particularly caching strategies, and large-scale distributed computing.
- Commercial product or analysis experience with commodities market datasets, data feeds and industry conventions would be considered a plus.
- Excellent written and oral communication skills.
- Strong analytical and problem-solving skills.