Меню
Программирование, женщины и мотивация

Мы поговорили с преподавателем курсов JBORN
Иналь Кятовым
Программированием я занимаюсь со второго курса, это уже почти 10 лет. Сейчас я работаю java-программистом.
Путь
У меня старший брат программист и, когда я шел в университет, это было по его стопам, понимал, что тоже хочу им стать.
Я закончил МЭСИ (*Московский государственный университет экономики, статистики и информатики) по квалификации «математик-программист». Можно сказать, я пошел по следам, но совсем в другую сторону. Он учился на инженера, а потом сам переквалифицировался на 1С-программиста, а я сразу пошел на программиста.
До университета я почти не был знаком с программированием. В школе были уроки по информатике, рисовали какие-то графики, было мало, но интересно. А в университете нравилось учиться и, на мой взгляд, получалось у меня хорошо. Со второго курса начал работать в самом университете в IT-отделе, мы делали сайт приемной комиссии. Потом была другая работа, и следующая, и теперь уже лет 10 как я программирую на разных языках.
Язык программирования, как женщина
Я работал на разных языках программирования: C++, С#, PHP, Pascal, Assembler, Delpi и другие. Из всех мне больше нравится Java и С Sharp.

Любой язык программирования, как женщина. Если говорить про Java и С#, то они об этом:
— Они более терпимые и предупреждают об ошибке. А если ошибка произошла, то они тебе ее прощают. В свою очередь, C++ тебя игнорирует и ни о чем не предупреждает.
— Они более строгие. Держат тебя в рамках и не распускают. Ты не становишься разнузданным, как в PHP, например. Ты понимаешь, что имеешь дело со строгим и достойным языком и вести себя с ним надо также достойно. Это очень дисциплинирует и язык в свою очередь тебе быстрее открывается и становится более понятным.
— Они для тебя, как надежное плечо. Ты чувствуешь, что ты не один в этом мире. Как-будто ты за каменной стеной. Например, в PHP любое решение похоже на костыль. А в Java решения красивы и устойчивы. Ты чувствуешь их опору. И чем больше опыта набираешься, тем более устойчиво себя ощущаешь.
— За Java надо поспевать, язык быстро меняется. Два года назад была Java 6, сейчас уже Java 9. Скоро будет Java 10. Но, если ты понимаешь принципы того, что стоит за изменениями, тебе достаточно пробежаться по книжке и тогда будешь успевать за изменениями. Например, на прошлой неделе мне пришлось прочитать две книжки, вроде поспел.
Девушка-лингвист сможет стать программистом?
Написать программу и написать книгу — это практически одно и тоже.
Если ты можешь написать книгу, то скорее всего ты сможешь написать программу. Похож сам принцип. Чтобы написать книгу на естественном языке, у тебя должен быть богатый словарный запас, а если его нет, то ты ничего не напишешь, хотя при этом можешь придумать хороший сюжет, сценарий и структуру. Например, если говорить про книгу Игра престолов: я увидел хороший сюжет, сценарий, но в целом книга мне не понравилась, язык показался не интересным (может, из-за перевода).
Чтобы написать программу, надо понимать основные концепции, которых не так много: можно перечислить на пальцах двух рук. Если их понять, то можно писать на любом языке программирования.
Книга благодаря которой…
На первом курсе я прочитал книгу, которая сделала меня программистом. Называется она «Алгоритмы и структуры данных» Никлауса Вирта. После этой книги ты сможешь писать алгоритмы. А поскольку любая программа сводится к алгоритмам, основное понимание начинается с этого. Это поможет просканировать взглядом, мозгом, дебаггером любую программу. Следующим шагом важно знать, какие бывают данные, понимать их структуру. Опираясь на это, в принципе, можно начать понемногу разбираться. Потом идут более продвинутые концепции. Из современного, например, это инверсия управления, внедрение зависимостей. Если знаешь это, то уже знаешь основной принцип созданий надстроек над языком. Это называется Framework.
Какими качествами должен обладать человек, чтобы стать программистом?
Я считаю, что любой навык приобретается с опытом, а любое качество можно развить.
Когда я писал свою первую программу в начале первого семестра университета, это заняло у меня часов 8. Как пришел после учебы, так почти до утра писал. Потом, уже в конце первого курса, точно такие же программы писал за 5−10 минут. Навык прокачивается. Я думаю при желании любые качества развиваются.
Надо поставить себе цель и просто к ней идти. Вместе с правильной целью человек перестраивается.
Про мотивацию и вопрос "ЗАЧЕМ"
У меня в начале учебы было серьезное отставание от всех. Все хоть немного представляли себе, что это такое и имели небольшой опыт программирования. А я с программированием был очень мало знаком. И у меня были даже основания думать, что я такими темпами не смогу даже закончить первый курс. Тогда подстегнуло понимание, для чего я это делаю и зачем прикладываю такие усилия. Любая учеба основывается на том, что человек должен понимать, зачем ему это нужно. Если человек не будет понимать зачем и для чего, нервная система будет фильтровать и отбрасывать эту информацию. А когда ты понимаешь зачем, то появляется мотивация. Тогда ты сможешь просидеть 8 часов за программой, если это будет нужно.
Про гуманитарный и технический склады ума
Я в это не верю. Как и в то, что бывают интроверты и экстраверты. Все зависит от условий и состояния. Я обожаю читать художественную литературу, философию, люблю импрессионистов. И не считаю себя ни с техническим, ни с гуманитарным складом ума.
Мне кажется, это либо боязнь, либо лень, либо непонимание. Вот перед тобой новая область, ты не понимаешь ее и не хочешь понять, поэтому ты ей и не интересуешься.
Достаточно уловить изюминку, как начнешь увлекаться.
Про страх
Когда я пришел в программирование, у меня был страх чего-то не понять. Потом осталось только такое ощущение, «как так, если я не пойму», «я пойму и иначе быть не может».
Это как если есть гора грязной посуды, нужна воля, чтобы ее всю перемыть. Начинаешь мыть по одной тарелке, сначала кажется, все бесполезно, но потом вдруг видишь, что все помыто.
Важно понимать, что любое движение дает результат. У нас мозг так устроен, как только начинаешь чем-то новым заниматься, как активизируются нейроны, начинают создаваться новые связи. Даже если тебе кажется, что ничего не получается и ничего не происходит, мозг работает, намывает по одной тарелочке.
Про понимание
Когда ты начинаешь понимать принципы, ты можешь открыть любой код и без всяких книжек, начать понимать, что происходит, возможно, консультируясь с документацией по каким-то вопросам. А книги по Java я читаю, чтобы знать больше решений. Для того, чтобы расширить кругозор. Чтобы не с одним молотком к каждой проблеме подходить, а более деликатно.
Про рутину
В программировании многие задачи похожи друг на друга. С одним и тем же набором инструментов и одними и теми же способами решений. В таком случае программирование кажется рутиной. Но и в таком случае можно подходить творчески к решению.
А еще можно менять работу, менять сложность. Болото может затягивать и убивать мотивацию.
Про трудоустройство
Чтобы устроиться на работу на какую-то базовую позицию, не обязательно знать много теории. Достаточно понимать и владеть типовыми решениями и набором шаблонных действий, которые позволят начать решать задачи. А вообще, чтобы при трудоустройстве показать себя получше, лучше прочитать хотя бы одну хорошую книжку про Java.
Про один случай
Однажды был такой случай, который я наблюдал, когда знакомый, будучи инженером и не имея никакого опыта в программировании, перешел за полгода в Java, подготовившись самостоятельно по книжкам. Так бывает. А если будет человек, который будет тебе грамотно подсказывать, то можно гораздо быстрее подготовиться.
Все всегда зависит от желания. Если у человека сильное желание, то он рано или поздно поймет, что программирование — это его! А если желание в себе не развить, если оно будет на уровне «ну было бы неплохо», то с большой вероятностью можно недооценить свои силы, удариться лбом о стену и ни к чему не прийти. Надо просто адекватно оценивать свои силы, брать режим и скорость, который тебе по силам. Это как со спортзалом — надо брать адекватную нагрузку. В принципе, при желании можно достичь чего угодно.
Про скорость обучения и критическую массу
Многое зависит от бэкграунда. Если ты специалист по средневековой поэзии, естественно, процесс обучения программированию пойдет тяжелее и дольше. Но все равно, рано или поздно, ты накопишь критическую массу и мозг прорвет эту плотину. Ты резко начнешь понимать, что происходит вокруг тебя и какое твое место в этом.
Почти все зависит от цели, которую ты себе поставил.
Всегда есть куда
Языками, лингвистикой, философией можно бесконечно заниматься, анализируя и узнавая связи. С программированием тоже самое. При прочих равных оно не может надоесть. Всегда есть куда развиваться.
Зачем преподавать и почему это может нравиться
Во-первых, хочу учиться сам. Когда сам повторяешь и получаешь разные неожиданные вопросы, то сам узнаешь всё больше и больше.

Во-вторых, интересно этим заниматься, работать с группой, помогать им понимать лучше.

И в-третьих, дополнительный заработок.
Про мечту
Моя мечта жить на Гавайях.
Мечта — это чуть дальше, чем реальная жизнь.
Можно просто шагать в эту сторону и, возможно, когда-нибудь ее достигнуть.
Про суперсилу
Мне кажется, желание обладать супер силой уводит в сторону иллюзий и сильно расслабляет.
А если помечтать, я всегда бы хотел быть молодым и здоровым.
Что изменил бы в мире
Мир настолько логичный, что если попробовать в нем что-то поменять, будет уже что-то не так. И получится, что надо будет уже где-то дорабатывать, а это будет не по силам человеку.
Это как бывает в некоторых программах, меняешь одно, а за этим следует все остальное.
При любом изменении надо продумать все законы и все изменения, это очень сложно, поэтому лучше в мире ничего не менять.
Что изменил бы в себе
Я бы хотел быть более продуктивным. Я считаю, что я пока не умею тратить время достаточно эффективно, хотя этому учиться надо всю жизнь. Жизнь — она ограничена, и тратить ее на то, что тебе не дает энергию — пустая трата времени.
А энергию дает что? Энергию дает то, что приносит удовольствие. А мотивация — это удовольствие, которое ты рассчитываешь получить в будущем.
Про круг личности
Это когда личность в центре, а вокруг него любовь, дружба, семья, работа…
Важно, чтобы во всех сферах у тебя был прогресс. Нельзя, чтобы только в одной ты сильно преуспевал и ничего не делал для другой. Это вредно. Надо чтобы все было гармонично.
А работать надо с реальными ситуациями и целями.
Совет
Чтобы не сдаваться, надо понимать зачем ты это делаешь.
Если ты понимаешь зачем, то ты физически не сможешь сдаться, ты весь будешь направлен на достижение цели.
А результат будет быстрее, если рядом будут те, кто сможет тебе подсказать, как двигаться и в каком направлении.
Первым делом надо добиться от человека, зачем он это делает. Например, чтобы кто-то не бросал спортзал, ему можно сказать: «А ты что, хочешь быть как тот парень с большим пузом?».
Надо постоянно в голове держать, зачем делать то, что делаешь, и это будет помогать двигаться.
Иналь Кятов
Java программист, преподаватель курсов JBORN