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.
- 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
- Transportation compensation
- Medical insurance