DEV Community

Cover image for How I Tackled the Commonwealth's Bank Software Engineering Challenge
Luis Faria
Luis Faria

Posted on

How I Tackled the Commonwealth's Bank Software Engineering Challenge

While searching for the next task to tick off my daily diary, I stumbled across Forage’s CBA Software Engineering challenge.
Reading through it gave me goosebumps — and isn’t that feeling just amazing?

As a full-time student juggling casual jobs in construction and concierge services, I’ve been blessed with the flexibility to build my own schedule. Lately, I’ve been dedicating part of each day to challenges like these, and the compound effect has been incredible. So I thought I’d share my journey and learnings from completing this challenge.

“Comfort is the enemy. Keep moving.”


What the Program Included

The CBA team put together pre-recorded videos and example answers to guide participants through the challenge. It was self-paced, with clear explanations of what was expected in each task.

Here’s a quick rundown of the tasks:

Task #1 – Backend

  • Modify an existing .NET backend
  • Set up and used C# to extend the goal model and controller

Task #2 – Frontend

  • Modify an existing React/Redux frontend
  • Used TypeScript to extend the UI

Task #3 – Fullstack

  • Modify client requests
  • Worked with TypeScript and Axios to make POST and GET requests

Task #4 – Testing

  • Cover your code!
  • Used C# (xUnit) to unit test changes to the goal controller

Task #5 – PR

  • Display everything on GitHub
  • Created a new branch, committed, pushed changes, and wrote clear PR descriptions

What I Learned

Backend

C# – Never used it before! Learned how to install, run, compile, and understand .NET architecture as used in large institutions.

MongoDB – Reconfigured a fresh server and cluster, and connected it from scratch.

Swagger – Had used it in the past, but revisited it to test API endpoints after changes.

Version control – Committed everything into my Master’s SWE AI repo.

Frontend

React/Redux with TypeScript – Gained insights into how large institutions structure their frontend architectures.

Custom emoji picker – Implemented this feature into the React app.

Axios – Used for POST, GET, and handling requests for adding, updating, or removing emojis.

Testing

xUnit in C# – Noticed the similarity between [Fact] in xUnit and assert in pytest or expect in Jest.


The Result 🎓

I earned a badass certification with the following highlights:

Luis Faria – Software Engineering Job Simulation Certificate of Completion (July 12th, 2025)

  • ✅ Modify an Existing .NET Backend
  • ✅ Modify an Existing React/Redux Frontend
  • ✅ Modify Client Requests
  • ✅ Cover Your Code!
  • ✅ Create a Pull Request

Luis' Forage Certificate


Check It Out!

If you’d like to give this challenge a try yourself:

👉 CBA Software Engineering Virtual Experience Program

And if you’re curious about my code, it’s all open source right here:

👉 My GitHub Repository


How about you? Have you tackled any interesting challenges lately? Drop your experiences in the comments!

Top comments (0)