Responsibilities
§ Collaborate with other professionals to determine functional requirements for new software or applications.
§ Develop high-level product architecture with attention to system integration, scaling and feasibility
§ Help defining all aspects of development from appropriate technology and workflow to coding standards
§ Oversee progress of development team to ensure consistency with initial design
§ Provide technical guidance and coaching to developers and engineers
Requirements
§ Proven experience as software architect and application design.
§ Experience in software development and coding in various languages (NodeJS, Angular)
§ Experience in breaking monoliths into microservices architecture.
§ Deep understanding of cloud based infrastructure.
§ Knowledge in industry best practices for package management, and their release cycles.
§ Experience with multi-version microservices.
§ Deep understanding in software design paradigms (DDD, TDD, etc.) and principles (KISS, SOLID, DRY, SSOT, CQS, etc.)
§ Experience with NoSQL and SQL
§ HO experience in Dockerize environment
§ Knowledgeable with branching strategy for Git based development.
§ Hands-on experience and good understanding of Kafka and Big Data stream processing.
§ Experience from companies that have experienced hyper growth.
§ High personal and leadership skills