Помимо высоких заработков, профессия привлекает неформальной обстановкой на работе, гибким графиком, возможностью работать удаленно, а также творить и создавать что-то новое и полезное. Представители этой сферы в Ташкенте делятся советами на основе своего опыта.


Летом прошлого года в Ташкенте открылась первая бесплатная школа программирования, предлагающая освоить новый язык молодым и заинтересованным ташкентцам. VOT поговорил с причастными к школе о том, как стать программистом.


Учитесь на чужом опыте

Миролим Мирзахмедов

Программист, один из организаторов курса Summer Code School 2015


За рубежом множество программ, например Code.org и их Hour of Code, которые вовлекают молодежь в программирование. В Узбекистане пока не хватает сильного IT-сообщества, подпитываемого образованными новичками. Мы с друзьями частично восполнили этот пробел. Во многом хотели прозондировать почву, узнать, насколько молодежь заинтересована в этом направлении и есть ли потребность в подобных школах.


Решили начать с бесплатной школы программирования для начинающих. Начинающим необходимо иметь постоянную связь с преподавателем и однокурсниками, чтобы избежать чувства изолированности, к тому же самостоятельное обучение с нуля в отсутствии дедлайнов и объективного тестирования расхолаживает. Но живое обучение предполагало поиск учебного помещения, и в этом нам помог Университет Инха и Санжар Саидходжаев лично.


Мы планировали провести курсы для начинающих в группе из 30 человек, но желающих оказалось больше. Причем у многих был опыт программирования, но они хотели улучшить свои навыки и познакомиться с новым языком программирования Go (Golang). Из 400 зарегистрировавшихся мы собрали две группы по 35 человек. В первой давали базовые понятия и примеры, в «продвинутой» детально рассматривали особенности разработки на языке Go. Всего было 12 занятий с экзаменом в конце, по результатам которого вручали сертификаты об успешном прохождении курса.

Я считаю, что курс прошел успешно, мы приобрели полезный опыт. Многие участники демонстрировали сильную мотивацию, это побуждало нас прилагать максимум усилий. В будущем возможен запуск школы 2.0. Но эффективность подобных курсов обеспечивается их регулярностью. Должно быть вовлечено все местное IT-сообщество.


По итогам курса я понял, что очень важен фундамент. Многие знакомые самоучки учатся по принципу «how-to-do-something», что позволяет решить задачу в данный момент, но не годится для фундаментального приобретения знаний и навыков.


Полезных и интересных книг очень много, но они в основном на английском. Понятно, что знание английского языка обязательно для успеха в этой области. Могу посоветовать несколько книг из своего списка литературы для разработчиков программных решений:


  • Algorithms by Robert Sedgewick
  • Structure and Interpretation of Computer Programs by Harold Abelson
  • Code Complete by Steve McConnell
  • The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt


Ничего не могу сказать про платные курсы в Ташкенте, но принципиально выступаю за бесплатное образование в нашей сфере. С другой стороны, есть много авторитетных бесплатных онлайн-курсов, которые могут реально помочь разобраться в программировании и начинающим, и продвинуть свои навыки уже опытным специалистам.


Найдите ментора

Георгий Горбенко

Основатель Proweb.uz


Мы делаем упор на веб-разработку. Я вложил в наши 10-месячные курсы опыт моей 15-летней работы, что экономит время в изучении данной специальности. Наши ученики выполняют проекты различной сложности и решают множество кейсов.



Программист — это не человек, который знает все коды в мире. Это человек, который:


  1. Знает принципы программирования
  2. Имеет необходимые для работы знания
  3. Умеет находить решения на поставленные задачи

В интернете много бесплатной документации и видео. Но чтобы построить фундамент, человеку необходим ментор. Также главный совет, который мы даем всем студентам, — полюбите ваше дело. Попробуйте найти важную для вас задачу, которая поможет усовершенствовать ваши будущие навыки. Когда вы полюбите программирование, то удивитесь, как, оказывается, это все просто.


Такие студенты с «огоньком» в глазах ценятся будущими работодателями. Еще стоит помнить, что профессионал всегда входит в сообщество программистов, часто даже виртуальное. Чтобы войти в эту сферу, надо больше общаться, делиться своим опытом и изучать чужой.


Отважьтесь на перемены

Тимур Сулейманов

Программист


Ключевой момент для меня — когда я понял, что не хочу работать в банке. Хотелось что-то создавать, решать задачи, а не перекладывать бумаги. Первые шаги подсказал друг: дал направление, показал, где и как искать необходимую информацию.


Развитая логика и знание английского — два важнейших качества в профессии. Мой пример показывает, что можно быстро стать программистом с нуля и в достаточно зрелом возрасте.




Заплатите за интернет

Руслан Сабиров

Программист


Я пять лет проработал менеджером в одной ташкентской студии, работал с дизайнерами и программистами. Часто нужно было точно оценить сроки на разработку задач, и постепенно я приобрел необходимые поверхностные знания в этих двух областях. Понял, что не нужно быть сверх креативным, чтобы быть веб-дизайнером, и не нужно быть физиком-ядерщиком, чтобы стать программистом.


Сначала решил стать веб-дизайнером, чтобы сидеть в Таиланде, попивать смузи и рисовать макеты. Но изменение парадигмы разработки веб-сайтов и кризис изменили ситуацию. Веб-дизайнер без навыков front-end разработки стал ненужным. Поэтому после своих мытарств с веб-дизайном решил закончить полный цикл «обучения» и переквалифицироваться в программиста. Во front-end разработке важны логика, понимание юзабилити, а также процессов, что стоят за выводом этого front-end’a.

Нужно читать и понимать по-английски. По мне лучше обучаться на топовых западных онлайн-курсах — они качественнее любых альтернатив. Но такие сервисы обычно платные. Из бесплатных хочу отметить Codecademy.com, хотя мне больше нравятся сервисы с видео. Например, Teamtreehouse — хорошая школа для начинающих.


После курса цифровой грамотности можно выбирать одно из направлений, к примеру, front-end веб-разработка, PHP-программирование или iOS разработка. Но будьте готовы платить не только 25 долларов в месяц за сервис, но и за высокоскоростной тариф с большим количеством трафика — курсы состоят из множества видеоупражнений и тестов. По похожему принципу работает Code School. Два других сервиса, Lynda и Udemy, предлагают большое количество курсов по разным направлениям и уровням подготовки, но тут надо будет уметь отделять зерна от плевел.


Найдите работу как можно раньше

Сардорбек Пулатов

Программист


Программированием я увлекся будучи подростком, когда начал играть в CompEvo (Компьютерная Эволюция). В ней можно было создавать дополнения (addon’ы). Начав писать код, постиг всю красоту программирования.


Помню, обучение начал с книги Java 1.2. В целом, искал в Интернете решение проблем по мере их поступления. У меня есть совет начинающим программистам: если не получилось за 15 минут, ищите ответ в Google.


Поиск подходящего именно вам курса и есть ваш первый тест на готовность стать программистом. Самое главное — воплотить какую-то идею или сделать какой-то проект, чтобы поддерживать интерес к обучению и оттачивать навыки на практике. Как ни странно, социальные навыки важны: хороший вариант обучения — это после начального курса устроиться работать бесплатно в хорошую команду, спрашивая помощи и изучая тонкости по ходу дела. Но для этого нужны знакомства и умение ладить с другими.


Новичку рано или поздно следует прочесть для укрепления фундаментальных знаний:


  • The Art of Computer Programming by Donald Knuth
  • Clean Code by Robert Martin
  • Design Patterns: Elements of Reusable Object-Oriented Software

Хороший программист стрессоустойчив и готов к постоянному изучению нового. Причем всегда, каждый день. Для этого есть много сайтов, будь то Y-Combinator или даже Habrahabr.


Текст: Миразиз Базаров

Иллюстрации: VOT