По версии В.И.Даля, поговорка "собаку съел" произошла из усечения пословицы «Собаку съел, а хвостом подавился», то есть человек справился с очень трудным делом, но уже в самом конце на какой-то мелочи споткнулся.
"Съесть собаку" в каком-либо деле - это значит, быть знатоком этого дела, иметь богатый опыт в чем-либо. В просторечье даже используют слово "насобачиться".
Имеются разные версии происхождения данной поговорки. По одной из версий, так говорили крестьяне, возвращаясь уставшими с очень тяжелой и долгой работы: "Так устал, что и собаку бы съел" (имелась даже байка про косаря, съевшего собаку).
Есть версия с древнеиндийскими корнями, рассказывающая о неудачной игре в кости одного царевича. "Собакой" в этой игре назывался неудачный бросок. Царевич так неумело играл в кости, проиграл "на собаке" и царство и свою жену.
-Так ты, Шарик, всё ещё не веришь, что в этом деле я не одну собаку съел!