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
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)