Software Engineer
Job description
Software Engineer
ID #; 7AP0315SE
Location: Ottawa/ Toronto Ontario
Term: Full time
High Tech Genesis is looking for a Software Engineer to join our challenging and rewarding team and who is passionate about our work.
Responsibilities:
- Develop and deliver features for the Provisioning, Service Monitoring and Assurance areas of the product.
- Develop and deliver features on time and with quality.
- Contribute to work being done for Platform Scalability, Redundancy, High Availability
- Design and develop RESTful APIs for highly scalable SaaS deployments.
- Design and implement data models using NoSQL technologies like Cassandra and Redis.
- Extend and maintain the current automated testing strategy to expand and validate the current set of solutions before being released to our customers.
- Responsible for deployment of containerized platform services using Kubernetes.
- Extend the overall BSS/OSS platform integration capability with 3rd
party products.
- Improve platform monitoring aspects by integrating the current service health capability with monitoring and alerting systems.
- Work with Architecture and business stakeholders to plan and design new solutions that enable fast deployment of cloud-based networking services for both Enterprises and Service Providers customer.
- Design and document technical specifications that will be used to communicate and validate the overall capability of a use case.
- Execute, maintain and add unit / regression tests during the development phase.
- Subject the system to perforce and stress testing to identify areas that will require improvements.
- Participate in design sessions to support and validate ideas for possible solutions.
- Peer reviews to ensure that new feature will comply to the development standard and best practices.
- Develop and manage the overall continuous integration process.
- Write tests that validate the overall acceptance criteria for a given feature.
- Work in an Agile environment using Scrum and Kanban methodologies.
Requirements
- BS or MS degree in Computer Science or related fields
- 10+ years of experience in software development
- 5+ years of experience in development of large distributed enterprise applications (scalable, reliable, available, distributed)
- Proficient level knowledge of Java, J2EE, Spring, Servlets, JSPs, Go, Python
- Adept level knowledge of SOA and Java Web Services - REST, SOAP, XML, XSL, JSON
- Good knowledge of the following technologies: Kafka, Redis.io, Consul, Vault
- Experience working with NoSQL databases like Cassandra
- In-depth knowledge of virtualization tech: Docker, Openstack, VNF, SDN
- Skilled with basic networking protocols
- Familiarity with build process and tools like Gradle, Jenkins, Git
- Experience working in an Agile/Scrum development process
Desirable Skills:
- Strong analytical and troubleshooting skills
- Strong written and verbal communication skills, strong presentation skills
- Self-starter and works well with others
- Ability to work under pressure
Note 1: You MUST be legally entitled to work in Canada (i.e., possess Canadian Citizenship, Permanent Residency or Valid Work Permit)
Note 2: High Tech Genesis Inc. is an Equal Opportunity Employer.
Note 3: Accommodations are available upon request for all aspects of the hiring process.
Note 4: Please submit a MS Word version of your resume when applying for this position.