
Senior Software Engineer, Reuters
- Toronto, ON
- Permanent
- Full-time
- Communicate with product and business owners to analyze requirements, translating into technical design and preparing functional/technical specification documents.
- Research and identifying new technologies that can be leveraged to address business critical problems, improve application performance, reducing cost and maintain quality.
- Develop and enhancing software systems that handle content creation, enrichment and delivery on a massive scale with low latency.
- Collaborate with the Quality Assurance team to prepare test plans/test cases and define test execution methodology and perform tests. Identify and fix any defects.
- Work closely with the system operations team to ensure system stability and maintain high availability 24/7/365.
- A passion for evaluating and adopting new technologies.
- 5+ years’ experience working as a software developer.
- A bachelor’s or higher degree in Computer Science, Mathematics, Engineering, or related discipline.
- Self-motivated, cooperative team member abilities.
- The ability to work with global teams in a squad-oriented organization.
- Excellent communication skills, including written and spoken English.
- Demonstrable analytical and problem-solving skills.
- Strong and demonstrable programming skills in one or more modern computer languages such as Python, Java and JavaScript
- Knowledge and experience with SQL/NO-SQL database such as MySQL and AWS DynamoDB.
- Knowledge and experience with data representation formats such as XML and JSON.
- Knowledge of cloud technologies, preferably AWS.
- Knowledge of AI/ML techniques.
- Experience with Prompt Engineering.
- Experience building Retrieval Augmented Generation (RAG) Application.
- Experience building Web Services.
- Experience developing search solutions using Elasticsearch, Opensearch, Solr, or Lucene.
- Experience developing cloud-based solutions, preferably in AWS, notably Lambda, SNS/SQS, S3, ECS, EC2.
- Experience with Linux platform and related tools including shell script.
- Experience with containers (Docker) and container orchestration and management.
- Experience in development of networked services (TCP, UDP, HTTP, etc.).
- Experience with Python and/or Java.
- Experience with CI/CD.
- Experience with Automated Unit Testing.
- Understanding of Low Latency Programming Concepts and Techniques.
- Knowledge of Asynchronous Programming and Threading Concepts.