Образование получил в Полоцком кадетском корпусе, по окончании которого 12 июня 1862 года был принят во 2-е военное Константиновское училище
12 июня 1863 года - выпущен в 6-й сапёрный батальон. В этом же году принял участие в подавлении восстания в Польше
27 июля 1865 - произведён в поручики
31 октября 1867 - закончил прохождение курса наук в Николаевской инженерной академии и был определён в дополнительное отделение этой академии
29 ноября 1867 - произведён в штабс-капитаны
6 апреля 1868 - переведён в военные инженеры в Киевский военный округ
28 марта 1871 - произведён в капитаны
24 июля 1874 - назначен помощником делопроизводителя канцелярии Инженерного комитета по искусственной части
2 ноября 1876 - перед началом русско-турецкой войны по собственному желанию отправился в действующую армию, где был назначен помощником старшего адъютанта полевого инженерного управления
27 марта 1877 - произведён в подполковники. Здесь принимал деятельное участие в постройке мостов через Дунай, а затем был начальником военно-дорожного отдела в Болгарии
11 ноября 1878 - назначен преподавателем фортификации в Николаевской инженерной академии и училище по отделу военных сообщений. Читал курс мостов в Технологическом Императора Николая I институте, где в 1886 году получил звание адъюнкт-профессора
20 марта 1880 - произведён в полковники
1890 - назначен ординарным профессором Николаевской инженерной академии
30 августа 1890 - произведён в генерал-майоры
21 марта 1891 - занял должность помощника начальника Главного инженерного управления
1896 - получил звание заслуженного профессора
6 марта 1903 - назначен постоянным членом Инженерного комитета
6 декабря 1899 - получил чин генерал-лейтенанта
В начале 1909 года, вследствие тяжёлой болезни, вышел в отставку с чином инженер-генерала