This job offer is closed.

Location: Ottawa, Canada

Thales people architect identity management and data protection solutions at the heart of digital security. Business and governments rely on us to bring trust to the billons of digital interactions they have with people. Our technologies and services help banks exchange funds, people cross borders, energy become smarter and much more. More than 30,000 organizations already rely on us to verify the identities of people and things, grant access to digital services, analyze vast quantities of information and encrypt data to make the connected world more secure.

Full-stack Software Engineer

Job Purpose:

As a seasoned full-stack Software Engineer, for the Cloud Services Platform team, you will work across a variety of disciplines to investigate, prototype, develop, test, and deliver, software across the full technology stack. This includes UI development to building backend services in a micro-service based, secure, native cloud enterprise deployment. You will be involved in understanding requirements, translating them into working enterprise level architecture, as well as, implementing and supporting the solution. You will work closely with a cross-matrixed team, in a scaled agile environment. You will be involved in the entire software development lifecycle, including automation and DevOps.

Key Responsibilities:

Be part of a team required to design, implement, test, and support features with the following mind-set: end-user experience, maintainability, scalability, performance, cost, resilience CI-CD.

Responsibilities include:

  • Building cloud native software, using various platform-as-a-service (PaaS), Software-as-a-Service (SaaS), Infrastructure-as-a-Service (IaaS) technologies and related tools
  • Applying coding/implementation best practices to produce elegant, high quality, resilient, maintainable, and reusable code
  • Implementing and following security best practices
  • Proactively participating in creating unit test cases, along with integration & performance testing
  • Enhancing, and maturing, our existing automation test suite and tooling
  • Participating in issue investigation, and deployment of applications, and testing/integration in various deployed environments
  • Managing the source code repository for projects in Git
  • Documenting, managing, and maintaining internal knowledge and processes
  • Remaining up-to-date on industry trends, and applying the latest evolving technologies, and frameworks

Collaborate with other developers, to share knowledge, and improve overall product/solution. Responsibilities include:

  • Following agile methodology. This includes active participation in sprint planning and retrospective meetings, creation of user stories, as well as, corresponding tasks
  • Interacting with UX team to implement and verify user experience concepts
  • Providing feedback to documentation team to develop, improve, and review Customer centric feature documentation
  • Interfacing with geographically distributed teams in Austin, Ottawa, Noida, and other locations on a regular basis

Required Skills and Experience:

  • Bachelor's degree in Computer Science or Computer Engineering
  • Strong programming skills in any of these languages: Java, Python, Golang, Linux scripting languages, along with frameworks, such as Apache, Springboot, Node.js, J2EE
  • Minimum of 2 years' experience delivering software in an Agile/SAFe/Scrum development environment: designing and implementing the feature; design testing a solution; developing automated functional tests and unit tests; continuous integration/delivery; drafting the information needed in developer and customer documentation; and addressing bugs and improvements. As such, working knowledge of JIRA, GIT, build and deployment systems is required.
  • Experience developing code using IDE's such as Intellij or Visual studio
  • Demonstrate experience in building complex enterprise micro-service cloud based applications
  • Demonstrate strong troubleshooting skills in a cloud environment
  • Experience in developing web based client-server applications using a combination of Java, Golang, or Python, as well as, web application server setup/configuration
  • Experience in web services, web standards; REST, HTML/CSS/JavaScript
  • Proficient understanding of web markup, protocol and client-side scripting technologies in general, including HTML5, CSS3, JavaScript, AJAX, JSON, JQuery, REST API, Angular, React, Node.js
  • Develop and design RESTful services and APIs
  • Strong backend development skills integrating with Web based front-end and SQL/non-SQL databases such as MySQL, Postgres,
  • Extensive experience in the implementation of highly secure web-based cloud applications using the latest industry standards
  • Familiarity working with continuous integration tools such as: Gitlab, Teamcity, Concourse, Terraform, and CI/CD pipeline setup working experience
  • In-depth experience working with Linux and Linux based applications
  • Familiarity with unit test development, such as junit, and test automation, using frameworks, such as Selenium, Protractor, or Playwright
  • Familiarity with Agile/SAFe development methodology
  • Ability to effectively work in a cross matrixed team environment
  • Highly motivated, enthusiastic, with an extreme desire for continual learning, and the ability to work under minimal guidance with demonstrated analytical and problem solving skills in order to deliver features on time in a fast paced team environment
  • Strong collaboration and communication skills which will be fundamental to your, and the overall teams success, of the projects you work on
  • A endless passion for continually learning which provide you the building blocks to develop industry leading secure cloud native applications
  • Stay current and provide insight on cutting edge software approaches, architectures, and vendors
  • Ensure that non-functional requirements such as security, performance, maintainability, scalability, usability, and reliability are being considered when architecting solutions.

Preferred Skills and Experience:

  • Working experience/knowledge with industry leading cloud providers GCP or AWS
  • Knowledge of code analysis tools such as IDE Tools, Security and Open source scanning tools, such as Blackduck, logging and monitoring tools (i.e. datadog)
  • Experience with security and identity management (access management, authentication, authorization identity providers), as well as, monitoring framework
  • Working knowledge of cryptographic concepts (i.e. Encryption concepts and technologies), and an understanding of encryption and cryptographic key management with experience using them to protect sensitive data in database, applications, storage systems, virtualized platforms and cloud environment.
  • Familiarity with FIPS (Federal Information Processing Standards), and other NIST requirements
  • Working knowledge of CI/CD build and deployment pipelines and DevOps common industry practices
  • Experience with automated deployment and associated technologies: terraforms, helm, yaml, ansible
  • Deployment and management of docker containers deployed in a kubernetes environment
  • Networking and cloud infrastructure knowledge and above average application troubleshooting experience
  • Experience providing L3 pager support for large complex enterprise applications

Thales is an equal opportunity employer which values diversity and inclusivity in the workplace. Thales is committed to providing accommodations in all parts of the interview process. Applicants selected for an interview who require accommodation are asked to advise accordingly upon the invitation for an interview. We will work with you to meet your needs. All accommodation information provided will be treated as confidential and used only for the purpose of providing an accessible candidate experience.

More from the employer