В 1806 году поступил в Инженерный корпус юнкером 2-го класса. Служил в Киевской инженерной команде, в 1809 году получил звание подпоручик.
В 1810 году, во время Русско-турецкой войны состоял при генерал-майоре И. П. Гартинге в Молдавской армии, отличился при осаде крепости Силистрия. С осени 1812 года находился при главнокомандующем Дунайской армией адмирале П. В. Чичагове. Участововал в Сражении на Березине.
В 1813 — 1815 годах в чине штабс-капитанслужил в Кишинёве при И. П. Гартинге, управлявшем Бессарабской губернией. С начала 1816 года адъютант А. А. Аракчеева. Осенью 1816 года командирован для управления Высоцкой волостью. С ноября 1816 года капитан «по инженерному корпусу». В январе 1818 года вышел в отставку «по болезни».
26 мая 1821 года избран в члены Вольного общества любителей словесности, наук и художеств. Был знаком с Н. В. Гоголем.
С 1822 года на статской службе в Енисейском губернском правлении в чине надворного советника при губернаторе А. П. Степанове. Служил председателем губернского суда Енисейской губернии. С 1827 года по 1832 год — новгородский губернский прокурор.
В 1827 году издал свои «Письма о Восточной Сибири». «Письма о Восточной Сибири» стали популярной книгой. А. Г. Муравьева выписала «Письма о Восточной Сибири» в Читинский острог в октябре 1827 года. Переводил Кв. Курция и Архенгольца.
С 1837 года — управляющий Ставропольской комиссариатской комиссией. В 1841 году получил чин действительный статский советник.