Position: Architect C++ / GO
Company: Binaryx
Category: Lead
Experience required: 5y
English level: intermediate
Published: 2021-09-01T00:00:00+03:00

What we expect:

• Strong understanding of High-Availability principles & practices;
• Expert understanding of Go or C++, OOP, Standard patterns & antipatterns, Microservices, SOA, REST APIs, gRPC, web socket, tracing, logging;
• Strong knowledge of SQL & No-SQL databases;
• Expert understanding of DB access patterns, models and tools (ORM)
• Strong understanding of queues communication standards and tools (RabbitMQ, Kafka, etc.)
• Expert understanding of most popular CI/CD tools (K8S, Docker, Jenkins, GitHub, GitLab, etc.)
• Expert understanding of build and dependency management tools.


Requirements:

•  7+ years of commercial software development experience and solid portfolio;
•  5+ years of experience as a software developer on backend projects;
•  3+ years of experience in designing effective, scalable, high performance and responsive enterprise-grade software;
•  2+ years of practical architect experience;
•  1+ year of Team Lead experience;
•  Experience in creating architectural solutions (at least 2 projects);
•  Analytical mind and attention to details, the ability to understand complex business logic, dive into code and debug software systems;
•  Understand common cybersecurity risks for a given software system;
•  Professional experience with C++ or Go;
•  Proficient in PostgresDB;
•  Deep experience with Microservices architecture;
•  Experience with Enterprise Service Bus (preferably RabbitMQ);
•  Experience with cloud solutions/cloud transition processes;
•  1st class design skills including the ability to draw up extremely accurate specifications that could be effectively utilized by development teams;
•  Responsibility, initiative, readiness, and ability to work productively in a team;
•  Understanding of PoC and MVP creation process;
•  Strong organization, multi-tasking and time management skills;
•  Understanding of Agile principles;
•  Good understanding of computer networks, clouds, security solutions and processes;
•  Good command of English, proven writing and editing skills;
•  Experience developing backend architecture, including designing and implementation of CI/CD pipelines;

Will be a plus:

•  Practical experience with AWS, K8S, Helm;
•  Apache Kafka & Kafka Streams;
•  Knowledge of modern front-end technologies;
•  React/Redux;
•  Experience with GraphQL;

Responsibilities:

•  Designing and validation of the system architecture
•  Recommend changes to project design concepts to improve efficiency
•  Develop design specifications and other system-related documentation
•  Verify stability, interoperability, portability, security, and scalability of Java system architecture
•  Select apt design solutions and work alongside engineers to ensure the compatibility of system components
•  Provide technical guidance and support the development of systems
•  Identify system data, hardware, and software components required to meet user needs
•  Convey architectural solutions to all levels of professionals and leaders
•  Ensure compliance with established architecture, design patterns, policies, standards, and best practices
•  Design, develop, implement, and maintain a series of programs, subsystems, revisions, and enhancements of the current system
•  Development of high-level architecture vision;
•  Research of new and compare alternatives ways for the definition of the best variant for solution development;
•  Collaboration with other professionals to determine functional and non-functional requirements;
•  Participation in the planning and design of the solution from the draft;
•  Participation in planning, demo, retro, and other project activities;
•  The leadership of the technical changes in the product and flexibility of the system to satisfy business requirements;
•  Control of the implementation process;
•  Development and maintenance of documentation of the architecture;
•  Experiment and create architectural approaches;
•  Ensure the architectural integrity and consistency of the entire product, working closely with the development, software, and business analysis team;
•  Create architectural workflows, diagrams, and technical documents based on business requirements;
•  Participate in the creation of the system throughout the entire life cycle of the project (until successful deployment) and control the development by the architectural requirements;
•  Participate in discussions and code review.

We offer:
• Competitive salary and annual review
• Guaranteed vacation and paid sick leaves
• Opportunity for self-improvement and professional growth programs available (Paid courses, training, conferences);
• Modern office with the recreational area, convenient location, parking, and Apple Macbook equipment provided. Office location near Vasilkivska subway station in Kyiv
• Relocation support for candidates from other cities