Donaldson si distingue da buona parte dei suoi connazionali essendosi allenato per ben due anni sui campi in terra rossa di Buenos Aires, dal 2012 al 2014.[1] A causa del periodo in Argentina infatti non prende parte ai maggiori tornei giovanili americani, ma nel 2013 viene sconfitto nella finale dei campionati nazionali under-18 da Collin Altamirano.[2]
Le sue prime apparizioni nel circuito professionistico risalgono al 2012 proprio in Sudamerica, con le partecipazioni a due Futures in Venezuela. L'anno successivo prende per la prima volta parte ad un torneo del circuito ATP, con una wild card in quello di Newport, nel quale raggiunge solo il secondo turno di qualificazione perdendo da Jan Hernych. Due mesi dopo ottiene poi un'altra wild card per il tabellone di qualificazione degli Us Open, dove si ferma soltanto al turno decisivo per mano di Philipp Petzschner.
Nel 2014 partecipa a diversi challenger e soprattutto, a Washington, supera il tabellone di qualificazioni raggiungendo per la prima volta l'ingresso in un main draw ATP: si ferma subito al primo turno, dove si fa rimontare dal connazionale Rajeev Ram. Ottiene un'altra volta una wild card per gli US Open, questa volta direttamente per il tabellone principale, nel quale però esce subito sconfitto da Gaël Monfils.
È però il 2015 l'anno della svolta per Donaldson: nel 2015 infatti ottiene la sua prima vittoria tra i professionisti (contro Stefan Kozlov a Memphis) e vince per la prima volta un torneo challenger, quello di Maui, dove sconfigge in finale Nicolas Meister e dove fa doppietta trionfando anche nel doppio in coppia proprio con Stefan Kozlov. A Cincinnati raggiunge il secondo turno dopo aver sconfitto Nicolas Mahut, mentre agli Us Open si ferma nuovamente al primo turno. A ottobre viene sconfitto in finale da Taylor Fritz a Sacramento, concludendo così l'anno alla 134ª posizione del ranking ATP.
Nel 2016, dopo un'altra finale challenger a Savannah, raggiunge l'apice della carriera con l'ingresso in top 100 dopo un US Open, nel quale, arrivando dalle qualificazioni, si ferma solo al terzo turno dopo aver sconfitto tennisti del calibro di David Goffin e Viktor Troicki. Nello stesso anno arriva anche agli ottavi finale della Rogers Cup 2016, dove si arrende a Milos Raonic dopo aver eliminato Fabio Fognini.
Inizia il 2017 superando le qualificazioni per il torneo di Brisbane; al primo turno batte Gilles Müller ma si arrende nel turno successivo a Kei Nishikori. All'Australian Open perde al primo turno contro il brasiliano Rogério Dutra da Silva col punteggio di 6-3, 6-0, 1-6, 4-6, 4-6. Esce al primo turno in due Challenger e a Memphis. A Delray Beach supera al primo turno Michail Kukuškin in tre set, ma viene poi sconfitto da Sam Querrey per 6-2, 6-3. Fallisce le qualificazioni ad Acapulco e Indian Wells. Raggiunge i quarti all'Irving Tennis Classic. Supera le qualificazioni a Miami battendo al primo turno Kyle Edmund, al secondo Miša Zverev e al terzo approfitta del ritiro di Milos Raonic, raggiunge per la prima volta gli ottavi di finale in un 1000, dove viene sconfitto da Jack Sock per 6-1, 6-2. Questo risultato gli permette di raggiungere la posizione numero 73 del ranking.
Inizia la stagione su terra a Houston, dove viene sconfitto dal qualificato Máximo González 4-6, 7-5, 3-6. Raggiunge poi i quarti a Sarasota. A Madrid supera le qualificazioni e al primo turno batte Adrian Mannarino prima di cedere al futuro finalista Dominic Thiem al secondo turno. Agli Internazionali d'Italia entra in tabellone come lucky loser ma cede al connazionale Ryan Harrison al primo turno. Prende poi parte al torneo di Ginevra dove al primo turno supera Víctor Estrella Burgos e viene poi eliminato al secondo turno da Kevin Anderson in tre set. Accede per la prima volta al tabellone principale del Roland Garros ma viene sconfitto 6-4, 7–6(5), 6-4 da Pierre-Hugues Herbert.
Sull'erba del Queens fallisce le qualificazioni, cedendo in due set a Tobias Kamke. La settimana seguente a Eastbourne, batte al primo turno Diego Schwartzman, tds numero otto, in tre set ma al turno successivo si arrende al connazionale Donald Young in due set. A Wimbledon supera il primo turno, grazie al ritiro di Janko Tipsarević sul punteggio di 5-0 in favore dell'americano, al secondo batte Paolo Lorenzi 6-4, 7–6(0), 6(0)–7, 6-2, ma al terzo viene sconfitto da Dominic Thiem per 5-7, 4-6, 2-6. Ad Atlanta batte al primo turno Ernesto Escobedo in due set, ma viene poi sconfitto da Christopher Eubanks al turno successivo. La settimana successiva partecipa al Citi Open, dove viene sconfitto al terzo turno da Jack Sock. In Canada supera al primo turno, la testa di serie numero tredici Lucas Pouille con un doppio tiebreak, al secondo batte Benoît Paire 6-2, 7-5 per poi arrendersi al terzo turno a Diego Schwartzman col punteggio di 6-0, 5-7, 5-7. A Cincinnati elimina al primo turno Roberto Bautista Agut per 7–6(5), 6-3, al secondo supera Ramkumar Ramanathan in tre set e al terzo batte 6-4, 7–6(4) Nikoloz Basilašvili, ma viene poi sconfitto nei quarti di finale da John Isner per 7–6(4), 7-5. Sale così fino alla posizione numero cinquantuno. Allo US Open 2017 - Singolare maschile batte al primo turno ancora Basilashvili col punteggio di 6-0, 4-6, 6-3, 7–6(6), ma al secondo turno Pouille si prende la rivincita battendolo 5-7, 4-6, 6-4, 6-3, 4-6.