Software Architect

BETER posted it 5 months ago
Job status:
Active

Job details

Location
Ukraine
Required languages
English
Ukrainian
Employment type
Full-time
Experience level
Mid-senior level
Sector tags
IT

Description

BETER is a rapidly growing product company. We create competitive content supplemented with analytics.

Our main product is sports content. We create and distribute sports content based on real sports matches (we make 45k+ matches monthly) and analytical data. Our content is watched by 50+ million viewers in 150+ countries.

We have our own engineering team supporting the business with innovative software on every level: sports tournament management, high-load analytical systems, video streaming tools, product store for our partners.

We are looking for a Software Architect to maintain the level of technical solutions. If you enjoy solving complex design problems, searching for and implementing modern development methods and tools, and inspiring developers toward technical excellence, this vacancy is for you.

Key Requirements:

  • At least 4 years of experience working as a Software Architect or a similar position.
  • Minimum of 10 years of practical software development experience.
  • Extensive experience in software development using the .NET stack.
  • 4 years of professional experience working on commercial projects with SOA and/or Microservices architecture types.
  • Practical experience in developing asynchronous systems with distributed message processing.
  • Deep understanding of software system design principles and a strong knowledge of design patterns.
  • Practical experience in developing real-time data processing systems.
  • Experience working with Kubernetes in production.
  • Significant experience using tools for system metrics collection, monitoring, and application logging in a horizontally scalable environment.
  • Strong communication skills, especially in code reviews, refactoring discussions, team mentoring, and effective inter-team communication.
  • Practical experience in developing and integrating with third-party services/systems.
  • Strong problem-solving skills and the ability to transform problems into tasks.
  • Practical experience in preparing and presenting technical designs.
  • Experience in documenting architecture (HLD, C4, UML, etc.).
  • A clear understanding of non-functional requirements for software and code, such as performance, maintainability, and usability.
  • A higher education degree in computer science.

Will be a plus:

  • Experience working with AWS.
  • Understanding of DevOps infrastructure and processes.
  • A continuous quest for answers to "why" and "how to make it better" questions, combined with critical thinking to understand when "better" is rational.
  • Education in mathematical/technical disciplines.

Responsibilities:

  • Design, develop, implement, and support architectural solutions based on business requirements.
  • Conduct architectural reviews, assist with development, and facilitate technical decision-making within teams.
  • Analyze existing and future products to identify potential architecture redesign opportunities.
  • Ensure adherence to development standards and code quality.
  • Address technical debt by identifying it and assisting teams in planning.
  • Conduct R&D on technical solutions to address specific company needs.
  • Design and maintain technical documentation.
  • Collaborate closely with Product Owners, Business Analysts, and development teams to achieve product goals.
  • Mentor developers and promote the development of technical competencies within teams.

How Teams Work:

  • Use multiple technological stacks, including .NET Core, PHP, Node.js, and Python.
  • Containerized with Docker and hosted on AWS (currently on separate hosts, migration to Kubernetes in progress).
  • Data storage with MySQL, PostgreSQL, MongoDB for operational data, and S3 for archives.
  • ELK for logging, Victoria Metrics for metrics, Redis for caching, and Kafka for message transport.
  • GitLab for repositories and CI/CD in Docker on-spot instances, Nexus for images.
  • Cross-functional development teams focused on their goals, with DevOps focusing on infrastructure and DevOps practice standardization: builds, deployments, monitoring, and tracing.
  • Minimal bureaucracy, the ability to communicate easily with all levels of management.
  • Emphasis on making decisions quickly without months of discussions if a person has analyzed risks, and alternative options, and understands the essence of their proposal.