Software Architect (Europe)



Местоположение и тип занятости

Можно удаленно


Мы создаем и масштабируем программные решения для компаний России, США и Европы.

Описание вакансии

Условия работы

We’re looking for a Software Architect position with the requirement to work in Europe with the following experience:

You are self-driven with experience in microservices design and implementation of complex and distributed system, particularly in building high-performance backend and/or frontend framework. You have a passion for seeking engineering excellence and adopting new technologies. You are not afraid to drive for success by working with cross-functional teams. You have thorough knowledge the full vertical stack development, testing, continuous delivery models and related open source tools. You have excellent analytic and decision-making skills. Your strong communication skills help you influence others. You thrive in dynamic environments with multiple changing priorities, where flexibility and time management are necessary tools. You are a quick learner and are able to break down and organize complex problems.

Skills profile:

  • Master’s degree in Electrical Engineering, Computer Engineering or similar quantitative field.
  • 10+ years’ experience in Software Development.
  • 3+ years’ experience in working with systems in Networking industry.
  • 3+ years’ experience as an Architect within Software Engineering driving technical leadership.
  • 2+ years successfully owning and evolving a production solution with complex integration requirements.
  • Outstanding written and verbal communication skills.
  • Experience working in a fast global team environment.
  • A solid foundation in computer science, with strong competencies in data structures, algorithms and software design.
  • Expert in software development domain and principles, including design patterns, code,structure, programming languages, continuous integration, deployment architecture, software quality assurance principles – building reliable systems.
  • Experience supporting at least one full application system/design in production.
  • Prior experience with at least one major IaaS/PaaS/SaaS technology: AWS (preferred), Azure, vSphere - including integration of third party solutions.
  • Strong understanding of infrastructure and related technologies (hardware, virtualization, networking).
  • Experience with large systems software design and development, with extensive knowledge of UNIX/Linux.
  • Solid understanding of security/access control, scalability, high availability and release management patterns.
  • Define the interfaces needed to integrate across components of a solution, including mobile applications, web applications, backend services, and databases.
  • Hands-on experience in building a microservices based architecture and platform developed and deployed at scale.
  • Ability to quickly understand the impact of constraints and clearly explain and justify ideas when faced with competing alternatives.
  • Ability to translate business strategy and vision to a technical architecture that meets the business objectives.
  • Experience in creating proofs of concept and then moving them to an implementation.
  • Strong knowledge of containers and virtualization technology (Docker, Kubernetes).
  • Proficient in at least one static OO language (preferably Go, or Java).
  • Proficient in at least one dynamic language (e.g. Python).

Essential Job Duties:

  • Provide leadership and expertise in the development of standards, architectural governance, design patterns, and practices.
  • Be the go-to resource for multiple development teams supporting various aspects of technology solutions.
  • Driving and solving critical cross-functional design and architectural problems, handle escalations.
  • Designing, developing and deploying microservices based systems.
  • Drafting and reviewing architectural and deployment topology, design specifications, technology selection, and other design documents.
  • Deploy a wide variety of leading technologies and tools to help implement continuous improvement of the software engineering processes.
  • Implement POCs and pair with technical leads on implementations.
  • Performing hands-on implementation work to keep current with technology trends inside and outside the company.
  • Research, design, test, and evaluate new technologies and vendor solutions.
  • Understand scheduling, cost and other constraints; and make resource and architectural trade-offs based on those factors.
  • Provide detailed reports within area of responsibility after product testing and validation.
  • Regularly demonstrate operational systems.

  • What you can expect from us:
  • Challenging and interesting tasks
  • Travel reimbursement
  • Residence
  • Transportation compensation
  • Medical insurance