Senior Software Engineer--Ottawa Canada

Apply for this position Please mention DailyRemote when applying
timePosted 13 days ago location United States salarySalary undisclosed
Before you apply - make sure the job is legit.

Attempting to apply for jobs might take you off this site to a different website not owned by us. Any consequence as a result for attempting to apply for jobs is strictly at your own risk and we assume no liability.

Job Description

Bachelorrsquos degree in Computer Science or Computer Engineering or a related field with 6+ years or Masterrsquos degree with 4+ years of experience. 1-2 years of experience using AWS, Docker, Kubernetes and launching products in production using these technologies. Experience with SaaS applications in the cloud and a solid understanding of cloud technologies (AWS, Azure, Google Cloud Platform) Experience in Go, CC++ or Java languages Experience with RESTful API using tools such as Swagger Experience with PKI, PKCS, KMIP standards Experience in the development of high availability and database-centric enterprise-class software on Postgres. Experience in troubleshooting and resolving database performance issues, blocking and deadlocking issues Experience with Linux software development, package, test release, desirable knowledge of scripting languages Preferred Requirements In-depth understanding of Design Principles, experience with new product launches from scratch and re-architecting existing products with new design principles. Demonstrable track record of developing management applications Understanding of service and device management Experience in using Messaging technologies (Kafka, Any MQ) and messaging patterns Programming knowledge around No SQL databases Ability to work in a fast-paced environment with minimal direct supervision. Strong team player. Willingness to proactively interact with the team and achieve results in a dynamic environment Strong communication, presentation, and negotiation skills Software engineering principles and best practices across all phases of commercial development and engineering product release practices Professional experience designing and building scalable microservices and orchestration Designing features for multi-tenancy, high availability, scalability, manageability and extensibility Evaluate new technologies, evangelize with prototypes and eventually get it integrated into the products where applicable Using test-driven methodologies and automation in the design and development phase to ensure quality before hand-off to Quality Assurance teams for further testing and verification. Debugging and resolving complex problems in multi-threaded applications Working closely with customer support to understand issues and represent solutions Communicating task and project status to the team and engineering management Time management for ensuring project goals are met on time and within budget Accurately breaking down, estimating, and scheduling software tasks Formal software configuration management control tools Keeping up-to-date with technical developments in the field of server development and security