Job Description:
We are looking for software team leaders (in both core and non-core) who are responsible for the leading team and handling the technical architecture for the projects. The candidate should have good experience in software and infrastructure architecture, security design patterns, microservices architecture, coding standards, RESTful APIs, single sign-on, single sign-off, Oauth 2.0, OpenID, LDAP, SAML, and federated identity management. Having a strong background in cryptography is a big plus.
Job Responsibilities:
Understanding and applying the software architecture and application security.
Cooperate with other sub-dept/dept or project team to build software development plan.
Technical support, solve problems.
Leading team (3-10 members) and training.
Participate projects and/or implement other jobs as per assignment /authorized.
Organize and monitoring software development lifecycle such as approve documents and manage work, Evaluate and select software solutions, programming tools.
Research new software engineering technicals and apply them to the projects.
Job Requirements:
Expert in one or more programming languages, such as C, Java, NodeJS, JavaScript, TypeScript.
Experience defining the architecture of cloud-deployed applications (AWS/Azure preferred).
Experience in agile development teams, such as Scrum, Kanban.
Strong knowledge of OOP, design patterns, multithreading/concurrency programming, data structure, and algorithms.
Experience defining and driving SecDevOps best practices within large teams.
Excellent in Microservices architecture for high traffic applications.
Understanding of CI/CD software development environments.
Experience in distributed storage & messaging systems (RabbitMQ, Active, Kafka…), microservices, ELK, and mobile development.
3+ years of experience in the role of Software Architect/Technical Team Leader.
Experience with event-driven applications using queues, service buses, and other related patterns.
Interested in dealing with technical challenges and keen on exploring new things.
Knowledge of Keycloak/Redhat SSO is a big plus.
Good problem-solving skills and teamwork spirit.
Experience with containerized applications using Docker, Kubernetes, or another similar tooling.
BS, MS, and/or Ph.D. degree in computer science, software engineering, or a related technical field.
Very strong problem solving with deep system know-how across all layers
Strong communication skills to effectively collaborate with other developers and stakeholders.
Good English communication.
Experience in frameworks, such as .Net core, ASP .Net, Spring Boot, Hibernate, Spring Data, Spring Security, Angular, ReactJS.
Experience establishing legacy modernization and migration roadmaps for large-scale applications.
Experience in the good foundation of SQL and NoSQL databases, such as Oracle, PostgreSQL, Couchbase, MongoDB.