Position: Software Architect
Company: PIN-UP Global
Experience required: 5y
Category: Golang
English level: upper
Published: 2023-06-01T00:00:00+03:00

The PIN-UP.TECH is looking for a Software Architect to join and strengthen the Architect's team. The main responsibilities and duties are collaborating with BA and stakeholders, analyzing user stories and converting them to technical (development) language - specification creation (system operation, system commands and system events) based on DDD architecture, high-level and low-level diagrams building  (UML2.0/C4 model), API design (protobuf, Swagger). In addition, inter-team collaboration would also take place. And last but not the least, helping teams to implement them.

**Requirements:**
• Experience as a Software Architect 4+ years;
• Commercial development experience 7+ years, using Golang 2+ years;
• Experience in building high-performance systems;
• Experience in designing microservice systems with the principles of fault tolerance, horizontal scaling, high availability;
• Application of TDD/EDD/DDD/12-factor app practices;
• Expert knowledge of industry recognized reference architectures, architectural patterns and styles (SaaS, SOA, N-Tier, Layered Architecture, MVC, Client-Server, Message Bus, etc.);
• Strong system design skills;
• Practical knowledge of containers (Docker, Kubernetes);
• Experience DBA(SQL/NoSQL) and messaging services (Kafka, NATS, etc.);
• Data structure(protobuf, JSON, etc.);
• Design of schemes UML2.0/C4 model;
• Working with cloud providers such as GCPAWS;
• Estimation and scope decomposition;
• Expert knowledge of design, coding, unit testing, configuration management best practices;
• Expert knowledge of development tools, libraries, frameworks;
• English language, B2+.

**Will be plus:**
• Experience as a Technical Lead 2+ years;
• Experience in GitOps, Terraform, Helm/ArgoCD;
• Observability stack (Grafana);
• Computer since grade;
• Knowledge of software quality metrics (Loose coupling, cyclomatic complexity, code coverage, etc.);
• Continuous learning and self-development.

**Responsibilities:**
• Evaluation and clarification of incoming functional business requirements from customers and business analytics in specification format;
• Creation of technical specifications following functional business requirements;
• Building of services and infrastructure architecture according to technical specifications;
• Control of compliance of new solutions to the general architecture;
• Technical risks evaluation for services performance and infrastructure, and potential solutions development for mitigation;
• Services and infrastructure evolving and optimization;
• Performance, security, and stress testing planning and supervision found vulnerabilities and issues resolving;
• Architecture and technical solutions presentation and discussion with technical Leads and members;
• Supervision of technical solutions compliance to project requirements;
• Maintenance of technical documentation and development regulations;
• Requirements analysis, technical design, scope decomposition, and estimation with the technical teams;
• New projects and services of the company evaluation for compliance with the existing regulations and methodologies;
• Mentor development team members and Senior technical staff in the architecture area;
• Establishment and development of new technological practices for the company.