Как филология привела меня к JavaScript
Выпускник LoftSchool Игорь Крамарь, разработчик компании DINS, рассказал как филология привела его в программирование, сложно ли быть тимлидом и почему необходимо изучать алгоритмы.
Полезный бонус от Игоря: список книг по алгоритмике.
Чем ты сейчас занимаешься?
Я из Омска, недавно переехал в Санкт-Петербург. Работаю программистом в компании DINS. Мы участвуем в разработке и поддержке UСaaS-платформы американской компании RingCentral. Это облачная телекоммуникационная платформа для бизнеса, популярная в США, Канаде и Великобритании. Конкретно я разрабатываю административную панель биллинга платформы. Делаю задачи в основном по frontend, иногда по backend.
Я пишу на JavaScript, если говорить про frontend. Знаю весь современный стек: TypeScript, React, Redux. В backend-разработке работаю на Java, А ещё у меня большой опыт в Node.js.
Что было до программирования?
По образованию я филолог и журналист. Закончил бакалавриат и магистратуру по журналистике, медиалингвистике и даже учился год в аспирантуре. Программирование пришло в мою жизнь через лингвистику – науку о языке: я хотел стать писателем, увлёкся когнитивной лингвистикой, потом нейролингвистикой и нейробиологией. Так меня занесло в искусственный интеллект.
По сути, язык программирования – упрощённая версия человеческого языка.
Изучать ИИ без навыков разработки крайне сложно. Я начал самостоятельно изучать программирование, а потом подумал: раз уж начал разбираться, почему бы не начать зарабатывать на этом? Я попробовал и мне понравилось. Оказалось, что именно этим я и хочу заниматься.
Лингвистика и программирование схожи. И там, и там есть синтаксис, семантика частей языка и структура, которая наделяет языки программирования смыслом. По сути, язык программирования – упрощённая версия человеческого языка.
Какой был твой первый заказ в разработке?
Первый коммерческий заказ я делал 6 лет назад, когда ещё заканчивал бакалавриат в журналистике.
Одна государственная организация заказала интерактивную карту для своего сайта. А я тогда ещё даже верстать толком не начал. Полез в интернет, нашёл готовое решение, пытался понять, как это делать. Использовал там какие-то устаревшие теги типа
Расскажи про свой опыт работы в IT-компаниях?
Первая IT-фирма, куда я устроился – это аутсорс-компания, выполняющая проекты для российских заказчиков. Выполнял задачи, связанные с CMS: bitrix и всё такое. Мне это не очень нравилось. Делали, в основном, интернет-магазины. Я работал и на frontend, и на backend, там всё намешано было: PHP, JS, куски кода Joomla, WordPress, Bitrix. Как страшный сон сейчас вспоминаю, если честно.
Когда мне дали первый проект, я даже не знал, что такое CMS. Это был проект на Bitrix. Нужно было сделать аналог Яндекс.Такси только для людей с инвалидностью.
Когда мне дали первый проект, я даже не знал, что такое CMS.
Потом, когда набрался опыта, перешёл в омскую компанию Purrweb и проработал там почти 2 года. Сперва как frontend-разработчик, потом занимался и backend. Через полгода мне доверили делать первые проекты в одиночку, а затем дали команду разработчиков, где я стал тимлидом.
Позже я работал над разными проектами, в том числе над иностранными.
Значит, ты руководил целой командой. Это сложно?
Мне не было сложно. С коммуникациями у меня всё в порядке, я же учился на журналиста. Слышал мнение, что тимлид должен держать дистанцию с командой, чтобы дружеские отношения не влияли на работу. По-моему наоборот – приятельские отношения дают профит. Со многими ребятами из команды я общаюсь до сих пор.
В чём особенность работы с иностранными компаниями?
Иностранные компании имеют конкретные требования к ожидаемому продукту и хорошо представляют, на каких технологиях и каким образом будет построен этот продукт. Они стремятся к использованию наиболее современных технологий. От них редко получишь требование «сделайте красиво и чтоб продавало». Это иная бизнес-задача и они решают её сами, потому что хорошо разграничивают сферы деятельности и имеют чёткий список задач для каждой стороны.
В какой момент в твоей жизни появилась школа LoftSchool?
В LoftSchool я пришёл учиться на своей первой работе: коллега посоветовал, так как сам у вас учился. Это было через 4 месяца после того, как я начал заниматься коммерческой разработкой. Я начинал с курсов «Основы вёрстки» и «Веб для начинающих». Мне было не так сложно как новичкам, потому что у меня уже был опыт. Первые курсы прошли «на изи».
Последним и самым интересным курсом был «Vue.js Продвинутая веб-разработка». Я тогда ещё не занимался React, писал на ванильном JavaScript. Vue.js был первым фреймворком, с которым я познакомился. И возможно то, что я разбирался с ним и написал сайт-портфолио на Vue.js, в будущем помогло мне разобраться и с React.
Как планируешь развиваться дальше?
Меня привлекает возможность заняться нейросетями, искусственным интеллектом. Я ведь из-за этого и пришел в программирование. Я даже Python изучал, чтобы на TensorFlow (открытая программная библиотека для машинного обучения от Google – прим. ред.) отправлять свой код. Пока у меня практического опыта не было, может чем-то таким займусь.
Ты получаешь удовольствие от своей работы?
Я счастлив! Программирование – это постоянное движение вперёд и непрерывное развитие. Тебе ставят интересную задачу и ты её решаешь. Ищешь пути, алгоритмы и кайфуешь, когда находишь.
Хочу сказать спасибо людям, которые меня развивали: Ольге Болотовой, моему наставнику в LoftSchool, всем своим тимлидам, коллегам. Спасибо, за то, что работали и работаем вместе.
Дай пару советов новичкам и студентам LoftSchool
Первое: не путайте вёрстку и программирование. Много раз замечал, как люди думают, что изучив вёрстку они становятся программистами. К сожалению, это не так. Вёрстка — хорошее подспорье, но нужно стремиться к настоящим языкам программирования. Изучайте алгоритмы, подходы, паттерны.
Второе: набирайтесь базовых знаний. Если нет профобразования – тут сложнее и многие останавливаются на вёрстке и CMS. Чтобы двигаться дальше, нужно более алгоритмическое мышление, немножко математики и теоретическая база. Без неё никак, особенно если хочешь заниматься серьёзным программированием: большие системы, backend, искусственный интеллект, нейросети. Там уже алгоритмы, матан, дискретка.
Третье: изучайте технологию досконально. Если изучаешь JavaScript – смотри как устроен JS изнутри, посмотри что такое прототипы, покопайся как работают классы. Многие уже сейчас переходят на ECMAScript 6, но даже не знают что такое прототипы, как строились функциональные классы в JS, как базовые вещи работают в языке. Учите язык как программу. Любой язык это надстройка над другим языком более низкого уровня. Воспринимайте его как конструктор. Если изучаете WordPress – поразбирайте, как он построен, на каких модулях работает, как эти модули между собой взаимодействуют.
Подборка книг от Игоря Крамаря
![]() |
![]() |
![]() |
Адитья Бхаргава. Грокаем алгоритмы. |
Мартин Роберт К. Чистый код. Создание анализ и рефакторинг. |
Макконнелл Стив. Совершенный код. |
Мы брали интервью и у других выпускников Loftschool:
Денис Кирсанов о том, как ушёл из продаж в IT и как его там встретили.
Михаил Балакирев о том, как ушёл с должности гендиректора в IT и почему выбрал backend-разработку.