Principal Engineer - NABserv
ExternalPrepare for this interview
EliteAI-generated questions, company research, and talking points tailored to this role
About the role
As a Principal Engineer, your primary responsibility is to design and implement a robust integration landscape to modernize NAB that adheres to domain-driven design principles and industry frameworks like BIAN. This involves understanding the intricacies of the business domain and structuring microservices and its interfaces accordingly to ensure scalability, flexibility, and maintainability. You'll lead the effort to translate existing legacy microservices into a cohesive architecture, developing a detailed plan to transition them seamlessly while aligning and contributing to NAB Microservices Taxonomy. Your role extends to guiding project teams in developing business features within the appropriate microservices, thereby preventing the proliferation of unnecessary services, and promoting architectural consistency across the organization. Additionally, you'll oversee the entire microservices development lifecycle, ensuring technical excellence from design to deployment, and providing guidance on how multiple services can form a single microservice that aligns with a specific business capability Main Responsibilities Design and Implement Microservices Architecture : Leverage your deep understanding of domain-driven design principles to architect a scalable and maintainable microservices ecosystem. This involves identifying bounded contexts within the business domain and structuring microservices around them to ensure loose coupling and high cohesion. Develop Translation Plan for Legacy Microservices : Lead the effort to modernize legacy microservices by developing a comprehensive plan that outlines the steps needed to transition them into well-defined microservices. This includes assessing existing services, identifying dependencies, and strategizing the migration process to minimize disruption to ongoing projects. Guide Project Teams in Microservices Development : Work closely with project teams to provide guidance and direction on how to develop business features within the appropriate microservices. This entails understanding the business requirements, aligning them with existing microservices, and advocating for the reuse of existing components to foster consistency and reduce redundancy. Oversee Microservices Development Lifecycle : Oversee the entire microservices development lifecycle, from design and development to testing and deployment. Ensure that best practices are followed at each stage, address technical challenges, and foster collaboration between cross-functional teams. Design APIs and Integration Patterns : With a strong understanding of API design principles and integration patterns, design APIs that are aligned with resource-oriented architecture and promote interoperability between microservices. Implement integration patterns such as REST API, event-driven architecture, and queueing patterns to facilitate communication between services. Manage Stakeholders and Ensure Alignment : Actively manage stakeholders, including senior leadership, RTEs, architects, and development teams, to ensure alignment with the target state architecture. Communicate the rationale behind architectural decisions, quantify deviations from the target architecture, and mitigate risks to project delivery. Apply Governance Techniques : Make decisions that are aligned with enterprise principles and architectural and engineering design standards. Establish policies, procedures, and guidelines for microservices development, APIs, and Events, and enforce compliance through automation, regular audits, and reviews. Mentor and Coach Senior Resources : Mentor and coach senior resources, helping them to enhance their skills and navigate complex architectural challenges. Provide guidance on best practices, facilitate knowledge sharing sessions, and foster a culture of continuous learning within the organization. Prioritize Customer and Colleague Needs : Demonstrate a strong commitment to customer and colleague satisfaction by prioritizing their needs in every decision-making process. Actively seek feedback, solicit input from stakeholders, and advocate for solutions that deliver tangible value to end-users. Automate Governance Processes : Focus on efficiency and scalability by automating governance processes. Create enterprise reusable pattern libraries and integrate them with build pipelines to ensure that integration standards are enforced consistently across projects, reducing manual effort and improving overall productivity. Fulfil other tasks as assigned by your People Leader and/or authorized representative of NAB Vietnam from time to time. Your skills and experiences: Proficiency in Java Springboot/other backend framework microservices : Mastery of Java/other languages and Spring Boot framework/other backend framework to develop scalable and resilient microservices. Experience with cloud technologies like AWS and Azure : Fami