Senior Cloud Software Engineer
Remote within Canada
OpsGuru, a Carbon60 Company is a global engineering and consulting group. We are experts in the container ecosystem, data processing and analytics, and cloud-native technologies. Our team is formed by network, data, security, DevOps specialists and application developers. OpsGuru empowers customers with technology to solve their business problems and provide the tools to assure success in their digital transformation.
As a Senior Cloud Software Engineer you will be able to act as a full stack developer to help build, modernize, and migrate customer applications to the cloud. Being familiar with concepts such as DevOps and SRE, you will be able to build robust cloud based solutions that follow best practices. Through applying software architecture and underlying language, frameworks and data stores best practices, you will work in a team to implement business requirements, while ensuring maintainable and secure solutions, and optimizing for user-experience, scalability and performance.
Working directly with customers as part of a professional services team, you will have a wide range of projects to work on. Some examples of this include, but are not limited to:
- Application modernization projects to migrate applications to newer or updated technology stacks, languages, and frameworks.
- Transformation of applications to leverage modern infrastructure services such as containers or serverless.
- Application modernization to help move from monolithic applications to microservice based architectures.
- Providing support to move applications from an existing database engine (such as Oracle DB) to a new target data service (for example Postgres, NoSQL database, etc).
- Understanding requirements to transform existing applications, or create greenfield applications, using scalable event driven architectures with Cloud Native serverless solutions.
- Enhancing applications to optimize performance by leveraging tools such as content delivery networks, caching systems, modern file storage solutions, etc.
Core competencies (Mandatory):
- 5+ years of experience as software engineer
- NodeJS (experience with at least one of the following: Express, Socket.IO, NestJS)
- UI (experience with at least one of the following: ReactJS, Angular, Vue, Ember, Jamstack)
Working experience in at least one of the following:
- Java/Scala (experience with at least one of the following frameworks: Spring, Play, Struts)
- C# (experience with both .NET 4 and .NET Core, ASP.NET)
- Ruby on Rails
- Python (experience with at least one of the following: DJango, Flask, Bottle)
- PHP (experience with at least one of the following: Laravel, Cake, Symfony, Drupal)
- Experience with HTML/HTML5, CSS/SASS/LESS, SVG
- Deep understanding of secure coding practices
- Extensive experience with at least one of relational database platform (PostgreSQL, MSSQL, Oracle, MySql)
- Experience with at least one of NoSQL (MongoDB, DynamoDB, CosmosDB, Redis, Memcached, Cassandra, HBase, ElasticSearch)
- Understanding of web protocols, serializers, CDNs, DNS, web security controls and best practices
- Experience with designing, developing and implementing unit and scenario testing for existing code base and for new functionality under development
- Strong verbal and written communication skills (English)
- Ability to work collaboratively in teams with peers and with external customers
- Experience writing documentation related to requirements, architectures, code, or tests cases
- Skilled at working with quality engineering to troubleshoot defects, refactor code, and remediate defects
Additional competencies (nice to have):
- Experience using cloud computing platforms (AWS, Azure, or GCP)
- Working knowledge of data structures, OOP, architectural and design patterns
- Exposure to broad range of frontend and backend technologies, languages and frameworks
- Experience with message queues and service buses using at least one of the following: RabbitMQ, ActiveMQ, SQS, or TIBCO (or similar) Working knowledge of container runtimes and orchestration (Docker, Kubernetes, OpenShift)
- Knowledge of functional programming and experience with one of the functional languages (Erlang, Elixir, Closure, Haskell, F#, Rust, etc.)
- Experience working with serverless compute solutions (AWS Lambda, Azure Functions, Google Cloud Functions, OpenFaaS)
- Bachelor's Degree in Computer Science or related field
- Experience with DevOps methodologies, IaC, scripting, CICD
- Successful track record of developing quality software products and shipping production ready software involving highly scalable distributed systems, hybrid-cloud or cloud-based infrastructure design and implementation
- Experience with agile software development