Дмитрий Булыкин родился 20 ноября 1979 года в городе Москва. В футбольную школу мальчик пришел в 1986 году, попав в систему столичного «Локомотива». Своим первым тренером считает Виктора Харитонова, обучившего его азам этого вида спорта. В 1990 году парень вместе со своей командой и тренером переходят на базу спортивной детско-юношеской школы олимпийского резерва «Трудовые резервы», а также выиграл Кубок России среди юношеских команд. В 1995 году занимался в спортивной школе ЦСКА у тренера Евгения Лобкова.
Профессиональную карьеру футболист Булыкин начал в 1995 году в Третьей лиге в дубле столичного «Локомотива». В конце 1996 года главный тренер основной команды Юрий Семин иногда приглашал Дмитрия тренироваться с основным составом «железнодорожников».
В апреле 1997 года Булыкин впервые вышел на поле за «Локомотив». В 1/8 финала кубка России на 74 минуте меняет форварда Зазу Джанашия в игре против «УралАЗа» из Миасса. Для «железнодорожников» игра закончилась убедительной победой 5:0, в итоге став победителями кубка страны. В высшей лиге Дмитрий Олегович дебютирует только в мае 1998 года в игре против новороссийского «Черноморца», за четверть часа до окончания матча поменяв Маминова. Примерно через два месяца забивает свой первый гол в элитном дивизионе российского чемпионата, поразив в гостях ворота калининградской «Балтики». Игра закончилась со счетом 3:0 в пользу москвичей. Всего, в своем первом сезоне за «Локомотив» забил три мяча в 14 матчах и завоевал бронзовые медали чемпионата.
В сезоне 1998-99 года Дмитрий успешно играл в последнем розыгрыше Кубка обладателей кубков. Спортсмен сделал дубль в 1/16 финала в игре против киевского ЦСКА, в следующем раунде забил два гола в ворота португальского «Спортинга». В том розыгрыше «Локомотив» дошел до полуфинала, уступив только римскому «Лацио».
В 2000 году Булыкин в «Локомотиве» стал обладателем кубка страны. В решающем матче против ЦСКА вышел на поле в стартовом составе. Игра закончилась вничью 1:1. На 96 минуте Дмитрий выводит «железнодорожников» вперед, а на 113-й Илья Цымбаларь сделал счет 3:1. «Армейцам» удалось отыграть только один мяч уже в компенсированное к первому тайму время.
В «Локомотиве» Булыкин провел три сезона. Три раза выигрывает кубок страны, дважды серебряные и один раз бронзовые медали. Всего забил 24 гола в 89 матчах. После завершения контракта стал свободным агентом и искал новые варианты трудоустройства. Булыкина активно звали в итальянскую «Сампдорию» и швейцарский «Санкт-Галлен», но спортсмен решил остаться в России, согласившись играть у Дмитрий Прокопенко в московском «Динамо».
Сезон 2003 года получается весьма удачным у футболиста. Статистика Булыкина впечатляет. Дмитрий являлся лучшим бомбардиром команды, получил вызов в национальную сборную. Правда, в чемпионате «бело-голубые» остались без медалей, заняв шестое место.
За сборную России Булыкин дебютировал в 2003 году в игре против сборной легионеров РФПЛ. Спортсмен забил два гола и россияне победили 5:2. В официальных матчах открыл счет голам за сборную в отборочном матче за право играть на чемпионат Европы против Швейцарии. Дмитрий сделал хет-трик, оформив победу 4:1. Через месяц забил гол в ворота сборной Грузии.
В 2004 году Булыкин отправился с командой на чемпионат Европы. В игре против Греции забил второй гол россиян на 17 минуте, в итоге победа 2:1, но два поражения в стартовых матчах не позволили клубу выйти из группы. Сборная подверглась резкой критике. В октябре того же года Булыкин проводит свою последнюю игру в сборной, приняв участие в ее самом крупном поражении 1:7 от Португалии.
После этого Булыкин решает уйти в европейский клуб, однако руководство «Динамо» не желало его отпускать. Между ними произошел конфликт, в результате которого футболиста выставляют на трансфер за неадекватно высокую цену и его никто не купил. В 2006 году «Динамо» начал тренировать Юрий Семин, хорошо знакомый с футболистом по работе в «Локомотиве». Воодушевленный этим назначением Булыкин подписывает контракт на полгода, но Семина увольняют еще до конца сезона, а Дмитрия снова выставляют на трансфер.
В 2007 году интерес к Булыкину проявил клуб немецкой Бундеслиги «Байер» из Леверкузена. В августе футболист перешел в новую команду на правах свободного агента. Всего за «Динамо» провел 119 матчей, в которых забил 26 голов.
В немецком чемпионате Булыкин дебютировал в сентябре 2007 года, появившись на поле в концовке домашнего матча против мюнхенской «Баварии». Игра окончилась поражением его клуба 0:1. Отличиться в официальных матчах к тому времени Дмитрию не удавалось на протяжении года. Эту «засуху» прервал в игре группового этапа кубка УЕФА против швейцарского «Цюриха». Российский нападающий оформил дубль, а его клуб победил 5:0. В 1/4 финале его команда потерпела поражение от питерского «Зенита» 1:4. В ответном матче Булыкин забивает гол, который оказывается единственным в игре, но дальше все равно прошла российская команда.
За все время выступления в Бундеслиге Булыкин забивает только два года. В ворота мюнхенской «Баварии» и команды «Энерги» из Котбуса. В 2008 году клуб решил с ним расстаться. Всего на его счету за это время набралось 19 игр за «Байер» и пять голов.
В августе 2008 года Дмитрий стал игроком бельгийского «Андерлехта». Клуб его купил за один миллион евро. Уже в дебютном матче игрок отметился дублем в ворота «Кортрейка». Однако на дальнейших перспективах Булыкина отразился его конфликт с главным тренером Ариэлем Якобсом. Из-за него Дмитрия отправляют на скамейку запасных, а затем отдают в аренду в немецкую «Фортуну» из Дюссельдорфа. Всего в «Андерлехте» успел сыграть 10 игр и забить 3 гола.
«Фортуна» выступала во Второй Бундеслиге. Но и тут Булыкина поджидала неудача. В первой же игре за свою новую команду получил травму. Это перелом пятой плюсневой кости, полученный им в игре за кубок Германии против «Гамбурга». Желая себя проявить, Дмитрий продолжил играть, чем только усугубил повреждение. За это время даже забил свой первый гол за немецкий клуб, но затем все-таки отправился на лечение. Сезон оказался смазанным. Всего выходил на поле 10 раз, а первый забитый гол так и остается единственным.
Из «Фортуны» Булыкин отправился на правах аренды в голландский «АДО Ден Хааг». В первой же игре в новом клубе оформил дубль в ворота команды «ВВВ Венло», а его клуб победил 3:2. Данный сезон оказался успешным для Дмитрия. Булыкин забил 21 гол, став вторым в списке бомбардиров, а его клуб занял седьмое место, завоевав путевку в Лигу Европы.
В следующем, 2009 году Булыкин подписал контракт с «Аяксом». В сентябре, в игре против ПСВ забил свой первый гол, добыв ничью для своего клуба. Всего, ему удается отличиться 9 раз в 19 матчах. Является обладателем титула чемпиона Нидерландов. Эксперты признавали Дмитрия самым эффективным нападающим. Однако после завершения сезона клуб решил не продлять с ним контракт и Булыкин вновь стал свободным агентом.
Почти сразу получил приглашение от другого голландского клуба «Твенте». Игра в этом клубе оказалась не такой выдающейся. Футболист провел на поле 22 матча, в которых забил пять голов. В 2013 году Булыкин возвратился в Россию, согласившись на предложение «Волги» из Нижнего Новгорода. Дела в этой команде не заладились с самого начала. На поле выходил редко, забитыми голами не отличался, к тому же клуб задерживал ему зарплату. Игрок не собирался завершать карьеру, хотел ее продолжить в России или Голландии. Но на родине так и не получил адекватных предложений, а вернуться в Нидерланды ему помешал введенный там лимит на легионеров.
В итоге, 5 июня 2014 года Булыкин покинул «Волгу», а уже 6 июня 2014 года получил тренерскую лицензию категории А, поскольку ранее заявлял, что хотел бы в будущем тренировать «Динамо». Окончательно о завершении спортивной карьеры объявил 31 марта 2016 года.
Булыкин, 14 июня 2017 года назначен советником президента футбольного клуба «Локомотив». На своем посту решает вопросы стратегии и развития детско-юношеской системы клуба.
Защитив диссертацию по специальности «Биомеханика» на тему: «Техника стартовых действий в футболе и легкоатлетическом спринте» Булыкин получил ученую степень «кандидат педагогических наук». Параллельно являлся экспертом телеканала «Матч ТВ», а также выступал послом Чемпионата мира FIFA 2018 в Российской Федерации.
Российский футбольный союз 17 января 2020 года назначил бывшего футболиста национальной сборной страны Дмитрия Булыкина офицером по профилактике и борьбе с договорными матчами. Этому ответственному направлению уделяется большое внимание на уровне международных футбольных организаций. В новой должности Булыкин будет бороться за чистоту футбола и вести работу с игроками и официальными лицами в данной области.