Регалии: Серебряный (1993) и бронзовый (1997) призер чемпионатов Европы; серебряный призер чемпионата СССР (1990); 2-кратный чемпион России (1997, 1998); серебряный призер чемпионата России (1996); бронзовый призер чемпионата СНГ (1992); лучший снайпер чемпионата Германии (1993/94).
Родился 11 мая 1968 года в Кирово-Чепецке Кировской области (Россия).
Дмитрий Шакулин начинал заниматься баскетболом в родном городе, но в 14-летнем возрасте переехал в Москву, где продолжил баскетбольное образование в СДЮШОР №1. Выступал за «Динамо» (Москва) (1985-1992, 1993-1994, 1995-1996, 2001-2002), "Бейтар" Тель-Авив (1992-1993), немецкий "Оберельхинген" (1994-1995, 1998-1999), ЦСКА (1997-1998), "Маккаби" Ришон-ле-Цион (1999-2000), «Спартак» Санкт-Петербург (2000-2001).
В составе сборной России дважды становился призером чемпионатов Европы. В 1993-м россияне в финале обидно проиграли хозяевам чемпионата, немцам - 70:71. А в 1997-м в Испании оступились на стадии полуфинала (проиграли сборной Италии - 65:67), но затем в матче за бронзу разгромили греков - 97:77.
После окончания карьеры перешел на тренерскую работу, был ассистентом главного тренера в московском и подмосковном «Динамо», «Химках», молодежной сборной России.
С 2008 по 2015 год являлся помощником главного тренера в ЦСКА, причем оставался на своей должности при всех наставниках, сменившихся в армейском клубе (Этторе Мессина, Евгений Пашутин, Душко Вуйошевич, Йонас Казлаускас, Этторе Мессина), а с ноября 2010 по март 2011 года исполнял обязанности главного тренера.
В дальнейшем входил в тренерский штаб "Урала" из Екатеринбурга (2015-2016) и турецкого "Трабзонспора" (2016-2017).