The Principal Software Engineer will assist on research, design and review for different work streams, such as API design, solution architecture and software development. The ideal candidate will be an experienced developer with Node.JS, RESTful Apis, Docker and Cloud Native architecture. This role is directly responsible for providing guidance, solution architecture, and technical leadership for Software engineering teams with focus on Node.JS. The responsibilities of this position are to research, solution architecture and implementation related to APIs, Cloud Native systems for Questrade proprietary projects; to understand business needs, direct others in enhancing Questrade applications, apply and establish standards and best practices for Software engineering.
This position is a good fit for out-of-the-box thinkers who are passionate about working on cutting edge technology and want to work designing enterprise grade solutions.
- Provide QTG Management feedback on issues with the current systems and provide input around new solutions;
- Create technical documents to support architecture, design, proof of concepts, and standards with regards to Questrade's systems;
- Collaborate with technology teams to recommend appropriate solutions for software development issues;
- Extend application features and functionality in response to technology usage trends, new product offerings;
- Collaborate with the Enterprise Architecture team to define best solution architecture based on Business needs and offering optimal user experience;
- Pursue continuous learning regarding multiple technologies, architectures and design patterns;
- Work closely with application developers to assist API design for new microservices;
- Build and provide support teams with Docker images for new microservices created;
- Perform code reviews, assist team members with technical problems and ensure best practices;
- Participate in designing new application features and functionality, writing API's, scalability and maintainability improvements;
- Meet and interact with user interface designers, solution architects, marketing specialists, database architects and Node.JS developers as needed to elicit, define, analyze and document requirements for new applications;
- Monitor microservice under teams' domain for issues and improvements.
- At least 5 years of diverse Software Engineering experience;
- Master in writing REST-based services;
- Familiarity with building, unit testing and deploying Docker images as well as familiarity with CI concepts for microservices;
- Experience with Telemetry and Observability for Microservices;
- Experience of working closely in a scrum team with a cross functional team;
- Experience in using SQL Databases (e.g. MSSQL/ MySQL);
- Experience in using NoSQL Databases (e.g. Cassandra, MongoDB);
- Experience with Git, Jenkins, JIRA, Confluence, UML;
- Experience with major cloud providers: AWS, Azure, GCP, etc.;
- Working knowledge of TCP/ IP and UDP protocols (sockets);
- Understanding of Event-driven, streaming architectures, CQRS, etc.;
- Knowledge of system design and software architectures;
- Familiarity with containerization and orchestration solutions: Kubernetes, Mesos, etc.;
- Multithreading development experience;
- Full-stack experience and experience with modern web front-end frameworks is a plus;
- Experience with C# and .NET Core is a plus.
Interested candidates are welcome to submit their CV to: email@example.com
indicating the position title ("Principal Engineer, Node.JS") in the subject line fo the email.
Please clearly mention in your application letter that you learned of this job opportunity through Career Center and mention the URL of its website - www.careercenter.am, Thanks.