My summer internship at NatWest Group provided hands-on experience in enterprise software development within one of the UK's largest banking institutions. Working across multiple projects, I contributed to frontend development, automation, and data analysis initiatives.
Key Projects and Contributions
UI Boilerplate Development
I built a comprehensive React.js boilerplate for the bank's web applications, including forms with TanStack integration, landing page components, and API hooks. This template became a foundation for other development teams, enabling them to quickly develop websites using the boilerplate as a starting point and ensuring consistency across applications.
Release Automation
One of my significant contributions was developing automation for the Schedule of Events (SoE) process. Previously, developers manually coordinated application releases, which was time-consuming and error-prone.
I created a Bash script and GitLab CI/CD pipelines that automated release scheduling, significantly reducing manual overhead for development teams. This automation streamlined the entire release coordination process.
Data Analysis and Integration
I analyzed and integrated open-source data from government platforms like GOV.UK and ONS with internal banking datasets. This work involved data cleaning, correlation analysis, and generating actionable insights for business stakeholders.
The challenge was reconciling different data formats while extracting meaningful patterns that could inform business decisions. The comprehensive findings and recommendations provided valuable intelligence for the bank.
Java Validation Features
For the "Consent to Let" project, I led the implementation of key validation features in Java. This included defining comprehensive testing criteria, developing validation logic, and creating test classes to ensure seamless integration within the user journey for mortgage applications.
Technical Environment
Working at NatWest exposed me to enterprise-scale development practices. The technology stack included React.js, Python, Express.js, MongoDB, and Java, with GitLab managing CI/CD workflows.
The scale and security requirements in banking present unique challenges. Every code change undergoes rigorous review processes, and compliance considerations significantly influence technical decisions.
Challenges and Learnings
Enterprise Complexity: Banking software operates under strict regulatory requirements, making seemingly simple features complex to implement. Understanding these constraints early proved crucial for successful delivery.
Cross-team Collaboration: Working with multiple development teams highlighted the importance of clear documentation and standardized practices. The UI boilerplate project succeeded because it addressed real pain points experienced across teams.
Data Quality: Integrating external datasets revealed how data inconsistencies compound in large systems. Robust validation and error handling became essential skills for reliable data processing.
Impact and Reflection
The internship demonstrated how technology drives efficiency in traditional industries. The automated release scheduling alone saved hours of manual work weekly across multiple teams, while the UI boilerplate accelerated development cycles.
While the banking sector moves more cautiously than startups, this conservative approach ensures system reliability when handling customer finances. The experience provided valuable perspective on balancing innovation with stability requirements.
The projects I contributed to continued beyond my internship, with other developers building upon the established foundations. This reinforced the importance of writing maintainable, well-documented solutions that can evolve over time.
Working at NatWest strengthened my understanding of full-stack development in regulated environments and demonstrated how thoughtful automation can significantly improve developer productivity while maintaining the high standards required in financial services.