Как стать программистом на Ruby: история Кирилла Зонова
Детство
В детстве всех спрашивают "васяпупкин, кем ты хочешь стать когда вырастешь?". Спросили как-то и меня. Я ответил, что хочу стать президентом. Когда меня ударили асфальтом реальности, сказав, что президент может быть только один, я немного подумав ответил, что тогда буду программистом.
Шли годы, развивались компьютеры, мне очень нравилось играть в Heroes of Might and Magic 3 и в Unreal Tournament, а программировать так и не тянуло. Но при этом в то время в городе, где я жил, только начался расцвет пиринговых сетей, а кабельный интернет был очень дорогим. И тут я внезапно осознал, что возиться с сетями гораздо интереснее, чем просто играть. Не прошло и года, как три соседних дома опоясывали мои витые пары и около двадцати человек пользовались моим широченным для того времени каналом интернета.
Все стало еще хуже, когда я пошел на курсы Delphi в старших классах школы. Мы делали всякие прыгающие шарики и прочие глупости, что меня не впечатлило совершенно, поэтому я твердо для себя решил, что заниматься программированием - это как-то не мое. Однако же это мне не помешало сделать windows tweaker на том же delphi и взять приз за оригинальность на оригинальном конкурсе по программированию для школьников.
Универство
Когда пришло время поступать в университет, исключительно программистские специальности я не рассматривал, поэтому поступил на Вычислительные машины, комплексы, системы и сети, где мне предстояло заниматься любимыми линуксами, сетями, а еще и с микроконтроллерами работать. Учеба давалась легко, поэтому уже с первого курса стал работать эникейщиком и ездить по всему городу, решать проблемы технического характера в виндоузах простых смертных. Когда на учебе началось программирование, все стало совсем грустно. Преподаватель полностью отбил желание заниматься этой профессией, хотя и преподавал нам и .net и java и C++. Поэтому все курсовые я писал на «ура», но работать все же предпочитал системным администратором, пока…
Программистство
Пока меня нелегкая не занесла в аутсорс контору, в которой ребята писали на Ruby. Проработал я там пол года, поползал под столами с кабелями, помониторил SMB сервера и закралась ко мне мысль, что пацаны-то живут веселее меня. У них там всякие митинги-стендапы-скрамы, а у меня только кофе, хотя и кабинет отдельный. Подошел я к начальнику и сказал, что тоже программистом быть хочу, пусть меня научит. Начальник золотой человек, палок в колеса вставлять не стал, а напротив дал скидку на их курс по программированию и позволил сделать тестовое задание и пройти собеседование.
Дальше все завертелось. Поработал какое-то время в этой компании, потом перешел на фриланс, потом сколотил свою команду, потом довольно долго был владельцем и СТО аутсорсинговой компании, потом снова пофрилансил с небольшой компанией друзей, а теперь вообще уехал из уютного города на Волге в далекие Европы.
Главным и любимым языком так и остался Ruby, хотя в гитхабе теперь и clojure, и react native, и swift, и node.js, и python скрипт на kaggle даже лежит.
Менторство
Кирилл обучает программированию на Ruby и Rails как новичков, так и обытных разработчиков Нанять
Для начала об опыте этого самого менторства. Когда я только открывал свою компанию и на первых порах я нанимал в основном начинающих ребят, поэтому половину моего рабочего времени занимал процесс обучения. По своей природе я не супер терпеливый человек, поэтому обучение было не в формате разжевывания материала, а в именно в формате менторства. Даю человеку направление, куда копать; он копает, через какое-то время во что-то утыкается и спрашивает, как оно и зачем, я объясняю.
Если не спрашивает - плохо дело, значит застрял и стесняется, тогда сам спрашиваю и дальше по той же схеме. Спустя пару месяцев если человек толковый - вуаля, новый программист в команде. К слову сказать, все, кого я обучал или переобучал, сейчас или сеньоры или СТО.
Кто-то может спросить, неужели у него в этих своих Европах мало денег и много свободного времени, чтобы заниматься менторством? Работаю я сеньор-помидор-девелопером, поэтому с первым все ок, помимо работы я постоянно посещаю митапы, читаю книжки, делаю pet projectы, бегаю марафоны и полумарафоны, поэтому от безделья не страдаю. Однако есть несколько причин, почему менторство для меня интересно:
- Я верю, что для полноценного профессионального развития человеку необходимо, чтобы круг его профессиональных коммуникаций был полным. Т.е. нужны коллеги примерно твоего же уровня, с которыми ты можешь обсуждать проблемы твоего же размаха и расти, конкурируя. Нужен ментор или человек круче тебя, с которым ты можешь проводить время, чтобы иметь ориентир и цель. И нужны mentee (прошу прощения за басурманское слово, его переводы «подопечные» или «студенты» тут не совсем подходят), чтобы человек мог делиться знаниями. Это как круговорот воды в природе, тебе нужно получать знания, но нужно их и отдавать.
- Живя здесь я вижу, что русские (территориально, не национально) ребята если не всегда рвут других по знанию, то по мотивации точно любым европейцам фору дадут. Поэтому из чувства патриотизма хочется поспособствовать усилению русского коллективного программистского разума.
- Супер важный эгоистичный пункт. Когда новичок задает тебе вопрос, ответ на который ты не знаешь, это здоровски помогает тебе в понимании своих пробелов.
Какой совет дашь новичкам, который редко встречается или считается необычным, спорным?
Всегда помните, что если вас компания взяла стажером или джуниором - она вложила в вас большое количество времени и денег. Относитесь к этому с благодарностью. Средний срок окупаемости для совсем зеленого сотрудника - 2-3 года. Поэтому даже если вы не готовы столько проработать в компании, по-крайней мере скажите спасибо руководству, земля круглая, особенно для программистов.
Как ты сохраняешь свои навыки актуальными? Как постоянно растёшь и становишься лучше как разработчик?
Ничего нового не скажу. Читаю новости (в любой форме, подкасты, weekly рассылки, reddit), общаюсь и дискутирую с коллегами, посещаю митапы и конференции, читаю книги.
Топ 3 книжек для новичка
- https://www.amazon.com/Grokking-Algorithms-illustrated-programmers-curious/dp/1617292230 - по алгоритмам, написана супер легко и красочно.
- https://www.amazon.com/gp/product/B073X6GNJ1/ - про то, о чем программисты часто забывают - этика, карьера, soft-skills.
Покажи свой рабочий стол
Если ты только думаешь, начать ли программировать - не думай, начинай %) Это огромный мир с кучей интересностей.
Об эффективности обучения у Кирилла и остальных менторов mkdev мы рассказывали в цифрах подписчикам нашей рассылки. Получить отчёт об успехах наших учеников ты можешь, подписавшись через эту форму: