Жуан Алвес ди Ассис Силва родился 20 марта 1987 года в бразильском городе Сан-Паулу. Жо вырос в бедном районе Сапопемба. Отец Жо также был футболистом, выступал за клубы «Гуарани Адмананита» и «Итумбиара». В 1997 году Жо поступил в футбольную школу известного бразильского клуба «Коринтианс». В 2002 году получил вызов в молодёжную сборную Бразилии, в этом же году Жо стал обладателем Кубка Бразилии среди молодёжных команд. 29 июня 2003 года Жо дебютировал в составе «Коринтианса» в матче против «Гуарани» (Баже), таким образом он стал самым молодым футболистом в истории клуба. Первый гол за «Коринтианс» забил в августе того же года. В 2005 году Жо стал чемпионом Бразилии. За три сезона в «Коринтиансе» Жо провёл в чемпионате Бразилии 113 матчей и забил 18 голов.
В декабре 2005 года Жо заключил пятилетний контракт с московским ЦСКА. За армейцев Жо дебютировал на Кубке Первого канала. Первый гол забил в ворота донецкого «Шахтёра». В сезоне 2006 года Жо стал лучшим бомбардиром ЦСКА, забив за первый круг чемпионата 14 мячей (из них 4 он забил в одном матче в ворота ярославского «Шинника», сделав, таким образом, «покер»), однако травма не позволила ему продолжить участие в гонке бомбардиров, и по итогам чемпионата Жо стал только вторым. В 2007 году впервые сыграл за сборную Бразилии в товарищеском матче против сборной Турции (0:0), выйдя на замену. В сезоне 2007 Жо с 13 забитыми мячами стал лучшим голеадором московского ЦСКА второй раз в своей карьере.
Сезон 2008 бразилец начал успешно, забив 2 гола в 2 матчах.
2 июля 2008 года Жо заключил контракт с английским клубом «Манчестер Сити». Сумма сделки составила 18 миллионов фунтов стерлингов, что являлось на тот момент трансферным рекордом для манчестерского клуба. В 2009 году был отдан в аренду в «Эвертон». За «Эвертон» Жо провёл 15 матчей и забил 6 голов. 21 января 2010 года он был арендован турецким «Галатасараем» до конца сезона. 20 июля 2011 года было официально объявлено о переходе Жо в бразильский «Интернасьонал».