// J.P. Morgan CFG resources
The Code for Good Guide
What actually happens at J.P. Morgan Code for Good and how to give yourself the best shot at leaving with a software engineering internship offer.

// First: congrats
If you're reading this because you received a Code for Good invite, congrats. I made this guide because the process felt confusing and anxiety-inducing when I received my offer. My goal is to make your weekend a little less mysterious.
Code for Good is a chance to build something useful with other students, meet J.P. Morgan engineers and recruiters, and work directly with nonprofit leaders. It's also an evaluation, so show up ready to be a good teammate, not just the person who writes the most code.

// The hiring process
For this software engineering path, CFG is effectively the interview round. Your performance during the event helps determine whether you receive an internship, so preparation matters.
// What the event looks like
11:00 AM
Optional workshops
Workshops may cover Git, mobile app development, and other hackathon basics. The material can be surface-level, but showing up is useful for meeting people early and getting comfortable before the event starts.
12:00–1:00 PM
Introductions, teams, and lunch
Everyone gathers for the event overview, logistics, Wi-Fi details, and the schedule. Teams are assigned randomly. Mine had 15 teams total, and the team number was printed on each name tag. We ate lunch after the introduction.
2:00 PM
Nonprofit introductions
The nonprofit representatives explain their organizations and the problems they want teams to solve. Take basic notes and think through a possible solution for every prompt because you may not receive your first choice. I didn’t.
3:00 PM–12:00 PM next day
The 21-hour hackathon
Your team builds a working solution for its assigned nonprofit. This is the core of Code for Good and the part that functions most like your interview.
Around 8:00 PM
Deeper nonprofit briefing
The nonprofits may hold an optional session with more detail about their problem and expectations. Assign at least one teammate to attend and bring back notes because it can include information your team needs. This was also around when we received CFG merch.
// How to handle the hackathon
Talk to recruiters
Recruiters are part of the hiring process, so don't spend all 21 hours hidden behind your laptop. Introduce yourself, ask thoughtful questions, and make it easy for people to remember your name.
Make useful, readable commits
J.P. Morgan owns and can review the repository. Don't commit every single line, but don't disappear into one enormous hundreds-of-lines commit either. Break work into logical pieces and use descriptive commit titles.
Use your mentor
Each team gets a mentor who is a full-time J.P. Morgan engineer. Talk through tradeoffs, ask for feedback, and get to know them. Even beyond the evaluation, it's a rare chance to learn from someone doing the job.
Make a real sleep plan
I passed out around 3:00 AM and woke up at 7:00 AM. Not smart. Coordinate shifts with your team, decide when each person will rest, and actually follow the plan. A rested teammate makes better decisions than an exhausted hero.
// How I'd prepare
01. Learn enough React to contribute
React is likely to be the common frontend language across your team. Backend choices vary. MongoDB and Express, Flask and Postgres, or Firebase are all plausible, but React is the safest common denominator.
02. Build one project beforehand
Get familiar with turning a fuzzy idea into a small working product before you do it under pressure. Practice Git branches, pull requests, dividing work, and connecting a frontend to a backend.
03. Practice being a teammate
Communicate what you're working on, unblock other people, ask before making sweeping architecture changes, and help the team finish a coherent demo. The goal is not to win a solo coding contest.
// Code for Good FAQ
Is Code for Good an interview?
For the J.P. Morgan software engineering hiring path described here, Code for Good effectively serves as the interview round. Your performance at the event can determine whether you receive an internship offer.
How long is the Code for Good hackathon?
In my experience, the coding portion ran from 3:00 PM until noon the next day, which is 21 hours. Exact schedules can vary by event and location, so follow the agenda J.P. Morgan sends you.
Are Code for Good teams assigned randomly?
At my event, teams were assigned randomly and the team number appeared on each person’s name tag.
What tech stack should I learn for Code for Good?
React is the most useful common denominator for the frontend. Backends vary, but MongoDB and Express, Flask and Postgres, or a packaged backend such as Firebase are all realistic choices.
Still have a question?
Send me an email and I'll do my best to help.