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 English 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).
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.