Senior Software Engineer

OpenText - Waterloo, ON (30+ days ago)

Apply Now

As the Information Company, our mission at OpenText is to create software solutions and deliver services that redefine the future of digital. Be part of a winning team that leads the way in Enterprise Information Management.

The opportunity:
Be part of the team responsible for powering some of the largest companies in the world today. The Applications team builds industry specific solutions that enable businesses to thrive in a data driven world, allowing our customers to make a real impact on millions of people all throughout the globe. We are building content-centric applications for the next generation of businesses - that means deconstructing the status quo, moving fast, and forming solutions that will surpass lifetimes. This position will have a special emphasis on SOA enablement, TDD, PAAS development practices, Continuous Integration/Continuous Delivery and automation in its focus.

The Senior Software Engineer will be a member of the Applications team, reporting to the Director of Engineering of Applications unit of OpenText. This is a leading role in driving product development, designing and implementing new features, and making decisions that will impact the life of the product. The Senior Software Engineer will work closely with product managers as well as peers from other internal teams in executing application delivery on the OpenText cloud.

You are great at:
  • Ability to write clean code that is well designed, testable, and maintainable
  • Leverage a multitude of services (both internally and externally) to deliver robust, scalable distributed systems.
  • Build software tools that allow for instrumentation, monitoring, and ad-hoc tasks to get executed
  • Make use of TDD and BDD to write tests that run on automate build systems
  • Understand the cost/benefit of different technologies and back up design decisions with thorough analysis and reasoning
  • Collaborate with developers across the organization to build multi-tier systems
  • Demonstrated ability to architect highly available, high volume, distributed systems in a service-oriented environment.
  • Proven ability to architect and design Micro-Services based solutions.
  • Previously worked with contemporary architecture, patterns and technologies and a demonstrated ability to lead solution definition and technology adoption.
What it takes:
The ideal candidate will possess deep technical skill in software architecture and cloud computing as well as very strong written and public communication skills. The ideal candidate should also have a demonstrated ability to think strategically about business, product, and technical challenges.

  • Bachelor's degree in Computer Science/related field, or relevant experience
  • 8+ years industry experience in building SOA style applications in the cloud
  • Extensive experience with Java or Javascript based server-side development technologies, such as Spring Boot, Node.js, Deno, etc.
  • Use node.js to write microservices, scalable isomorphic frontend javascript, scripts, command line utilities (CLI's), and more - is a must
  • Experience in architecting Kubernetes and Docker based solutions and CI/CI pipelines.
  • Experience building solutions on at least one of the major PAAS Clouds (AWS, Azure, Google Cloud)
  • 3+ years of experience building enterprise applications with relational database technologies (preferably Postgres) as well as NoSQL data stores.
  • Experience with MVC frameworks
  • Strong experience building and consuming RESTful APIs, or working with modern UI framework such as React, Angular, or Vue
  • Strong experience using git as a version control system
  • Strong verbal and written communications skills are a must
  • Experience with process centric business applications such as ServiceNow, SalesForce, or workflow based api’s, such as Flowable
  • Deep knowledge of Business Process Model Notation (BPMN) or Case • •
  • Management Model Notation (CMMN) standards
  • Experience with JMS and Kafka as streaming and messaging layers in solutions
  • Experience with architecting SOLR & ElasticSearch solutions highly desirable
  • Experience with building Big Data solutions on NoSQL technologies
  • Experience working in a DevOps environment
  • Experience architecting complex web applications involving federated security, extensive data entitlements, and global distribution
  • Experience with multiple languages, such as Go, Python, Ruby, Rust, or others
  • High level understanding of machine learning and what problems it can solve
  • Experience with Apache Kafka, or other machine learning enablement tools