Position: Principal Software Engineer
Company: Alcor
Category: .NET
Experience required: 5y
English level: upper

Canadian product company opened its doors in 1999 and is still one of Canada's fastest-growing online brokerages. It offers a great balance of platforms, a range of markets to trade, and services including multiple account types. The first product was a platform that allows people to do trading, then the company added a couple of new business lines, and now is on the way towards full solution digital banking.

**What do we offer?**
● Competitive salary, paid vacation, and social benefits;
● Medical and dental insurance;
● The possibility of relocation to Canada;
● Ability to work from home;
● Corporate English classes;
● Local and foreign business trips;
● Wellness program.

**Job Responsibilities**
● Work with QTG architects and technical leads to design the approach for software solutions, including a selection of technologies, setting technical directions, estimating/planning, and directing engineers.
● Collaborate with enterprise architects and technical leads to enhance existing business applications and facilitate solutions to meet business requirements.
● Collaborate with other technology teams to solve issues and enable new architecture.
● Play an active role in the creation of standards and guidelines around Scalability, Security, Logging, Auditing, Policy Management, and Performance Monitoring, and KPI for end-to-end process execution.
● Act as a technical reference by providing technical guidance on cutting-edge technology.
● Propose and actively collaborate with QTG Architects and Engineers in defining and implementing best practices, standards, and procedures including quality and delivery methodologies for software development.
● Ensure consistency of design elements within individual components, services, modules, and across applications.
● Work on the translation of the business requirements into specific solutions, applications, process design, and implementation.
● Identify, analyze and design integration flows using and technically own and manage the process of ensuring on time and on budget build and integration of the various elements of the solution.
● Write technical and design documents for the proposed solution.
● Provide technical ability screening for new team members.
● Assist in preparing roadmaps & strategies for the Integration department.
● Work/Assist in the development of proposals and presentations of proposals.
● Work on technical POC's to prove out the technology and ultimately leading into selection.
● Work/Assist on implementations of Microservices using multiple languages and best cloud-native practices.
● Work/Assist on implementation of Web applications.

**Key requirements**
● Strong experience with .NET core development.
● Strong experience with SQL and NoSQL databases.
● Experience with the development of web applications.
● Experience with modern Front-end frameworks (E.g.: Angular, React, VueJS) is a plus.
● Experience with NodeJS is a plus.
● Good experience with Cloud providers (AWS, GCP, Azure).
● Strong knowledge of SOLID principles.
● Experience with all aspects of the system implementation process of system design, configuration, customization, integration, testing, and support including.
● Knowledge of Web Services, standards and ability to suggest, criticize and formulate solutions in multi-vendor and architecture committee meetings.
● Good understanding of integration design patterns & best practices.
● In-depth experience using Agile, Scrum, and iterative development practices.
● Experience with Microservice Architecture.
● Familiarity with The Twelve-Factor App.
● Extensive experience applying Service Oriented Architecture (SOA) concepts including REST-ful and SOAP-based services.
● Designed and developed enterprise services using  REST-based APIs.