About the team: Our team is responsible for developing innovative solutions to enhance our first full digital banking services. We work on various projects that leverage the latest technologies. We are a diverse and inclusive team that values collaboration and creativity.
About the job role: As a Senior Full Stack Engineer, you will be responsible for designing, developing, and maintaining both front-end and back-end components of our regional digital banking platform focussing more on web. You will work closely with other engineers, designers, and product managers to deliver high-quality software solutions.
Responsibilities:
- Develop and implement the full stack web applications; to improve the availability, scalability, latency, and efficiency of the Bank's range of services.
- Building critical back-end services, APIs, and frontend interfaces, as well as associated integration components.
- Develop scalable applications and integrate them with other third-party and internal products.
- Problem solver with ability to estimate and size technical solutions based on business requirements.
- Design, develop, and maintain web applications that are used by external customers and internal business teams.
- You collaborate with other engineering teams to explore and create new designs / architectures geared towards scale and performance, and product and experience teams to define and prototype feature specifications.
- You participate in code and design reviews to maintain our high development standards.
- You engage in service capacity and demand planning, software performance analysis, tuning and optimization.
- You will liaise closely with the infrastructure team in building and scaling back-end services as well as performing root cause analysis investigations.
- You are responsible for designing, building, analysing and fixing large-scale systems.
- You are accountable for full stack performance tuning and optimization.
- You support the debugging and modification of complex, production software.
- You can write extensible code for complex projects and pick the right abstractions that adhere to S.O.L.I.D principles. Understands more complex data structures and algorithms , and recognizes when to use them.
- You raise the bar in the squad by thoroughly reviewing other engineers code and by providing constructive comments.
- You are an expert in the team's codebase. Understands how one's own systems interact with the other engineering systems and where they fit in the GXS/GXB ecosystem. Familiar and able to contribute to other team's codebase as well.
- You demonstrate a thorough understanding of the underlying infrastructure and how they break.
- You demonstrate strong technical leadership and are able to mentor less experienced team members.
- You can independently draft and lead technical design and solutioning aspects and are able to demonstrate maturity in writing good quality documentations.
- You exhibit thorough understanding of concepts around system scalability, performance, extensibility, reliability and maintainability. Contributes to measuring and improving them
Requirements:
- 3-5+ years of professional software development experience, with a focus on web development.
- You have a degree in Computer Science, Software Engineering, Information Technology or extensive working knowledge of strong computer science fundamentals in algorithms and data structures.
- You have extensive working knowledge in software engineering in a distributed systems environment.
- You are methodical and can communicate your observations and insights well through your design skills and ability to think critically of the current system in terms of growth and stability.
- Expertise in frontend development, demonstrating strong web fundamentals and hands-on experience with Next.js, React.js, TypeScript, and JavaScript.
- Strong proficiency in backend development; experience with Golang is a bonus.
- Strong proficiency in backend development, with a background in languages like Java, Python, C#, or Node.js; experience with Golang is a bonus.
- Your prior experience in designing, developing, and implementing large-scale, highly available online services, with a strong understanding of system performance and scaling, will be an advantage.
- You take full accountability as well as end-to-end ownership on the problem and solution space, from developing user-friendly UI components to designing database schemas aligned with the PST (Problem Space Team) ways of working.
- We value proactiveness, autonomy, self-management, bias for action, as well as collaborative culture within a cross functional team.