AIN.UA » СообществоНе учитесь программировать, пожалуйста

Не учитесь программировать, пожалуйста

27018

Быть программистом сейчас модно. О них снимают сериалы, пишут книги, их ставят в пример детям в школах. Но не стоит думать, что закончив быстрые курсы программирования, можно сразу оказаться среди лучших, с зарплатой как в Google и со штатным массажистом в офисе. Статья iOS-разработчика Бейзила Фарага на TechCrunch — как раз о том, как не поддаться шумихе вокруг IT и трезво оценить свои шансы, прежде чем кардинально менять карьеру. Предлагаем вам ее перевод.

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

Если вы обращаете внимание на регулярные шумные затеи Кремниевой Долины, вы, безусловно, слышали о движении Learn to Code. Политики, общественные организации вроде Code.org и даже бывший мер Нью-Йорка Майкл Блумберг несли в массы идею того, что они считают обязательным навыком работников будущего.

Доля правды в этом, возможно, есть, особенно учитывая, что спрос на инженеров в США не проявляет никаких признаков падения.

Но картинка все равно более сложная.

Мы живем в очень конкурентном мире, где люди пробуют любые средства, чтобы свести концы с концами. Продажа программирования массам как средства экономического спасения — это просто нечестно.

Возьмем учебные программы по программированию. С тех пор, как все узнали об успехе инженеров из Кремниевой долины, каждый мечтает стать программистом или основать свой стартап. Сериал «Кремниевая долина» производства HBO рисует нам картину, где 20-с-чем-то-летние программисты по ночам пишут код, курят травку, в процессе зарабатывая миллионы долларов. Американская публика зачарована фигурами вроде Илона Маска и Марка Цукерберга, которые каждую ночь зарабатывают, казалось бы, миллионы. Лихорадка программирования достигла даже ступенек Белого дома, поскольку президент Обама поддерживает закон о включении компьютерных наук в программы общественных школ.

sv

Это сложно объяснить, но не только организаторы учебных программ или политики поощряют всех учиться программированию.

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

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

Не поймите меня неверно: я верю в то, что инженерное дело и программирование — важные навыки. Но только в правильном контексте, и только для людей, которые готовы потом и кровью добиваться успеха. То же применимо ко многим другим специальностям и навыкам. Я бы никого не уговаривал учиться программировать более рьяно, чем, к примеру, учиться сантехническому делу.

Фокус на программировании завышает важность поиска правильного метода решения проблемы, и уменьшает значимость понимания проблемы.

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

Мой близкий друг когда-то выиграл чемпионат по программированию ACM. Самая важная вещь об этом чемпионате, которой он научил меня, была о том, какую именно проблему ты собираешься решить.

Нужно спрашивать себя «А есть ли проблема?» и «Можно ли применить принцип Фейнмана и объяснить ее так, чтобы все вас поняли?».

Этот друг сказал мне, что даже в элитных школах студенты только походя читают описание самой проблемы и тут же бросаются программировать. В год, когда он выиграл чемпионат, он понял: даже студенты из крутых школ с головой ныряют в сложные проблемы с кодом как единственным способом решения. Но этот мой друг писал код только после того, как глубоко вникал в проблему. Он почти все отведенное время посвящал ее обдумыванию. Он не приступал к коду до последних минут дедлайна.

И стал чемпионом.

Чрезмерный фокус на самом коде игнорирует и трудности, которые возникают у современных разработчиков.

Технологии в этой отрасли меняются невероятно быстро.

Несколько лет назад я использовал Objective-C, теперь почти все время пишу на Swift. Сейчас встречаю множество iOS-девелоперов, которые подаются на открытые вакансии, и которые в жизни ни строчки не написали на Objective-C. Swift проще выучить, он безопаснее, использует современные парадигмы разработки и элегантен так, как никогда и не снилось Objective-C. Факт того, что новые разработчики никогда не будут иметь дела с недостатками Objective-C, прекрасен, но он игнорирует реальность профессии.

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

Что случится с человеком, который денно и нощно изучал Objective-C, и который в ужасе услышит об анонсе Swift на WWDC 2014? Останется ли он в рядах программистов, использующих все менее популярный язык, или вынужден будет переучиваться с нуля? Если вам 20 с чем-то лет, это не составит проблемы, но если вы должны накормить семью и оплатить горы счетов, это превратится в геркулесов труд.

Черту между обучением программированию и получением настоящих денег за свой труд программиста-профессионала не так-то легко перейти.

Поверьте.

Мне пришлось обучаться самому больше года, прежде чем я получил какую-никакую работу фрилансером. И даже тогда платили мне мало. Бесчисленное количество раз мне отказывали даже в собеседовании, поскольку у меня не было IT-образования.

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

Настойчивость — вот то, что мне помогало — и помогает — оставаться в профессии.

Правда в том, что очень непросто проскользнуть в профессиональные разработчики, даже если речь идет все еще об ученичестве. Вам нужны связи, GitHub-аккаунт, люди, которые за вас поручатся, и еще много чего.

Хранители врат — повсюду. Это будут выпускники Лиги плюща, верящие в то, что лучший способ измерить чьи-то технические дарования — это вопросы в стиле «Как бы вы изобрели бинарное дерево?». Вам предстоят встречи с проджект-менеджерами, помешанными на тестах, и беспомощными HR-ами с требованиями в стиле «5 лет опыта программирования на Swift». Эти люди, к добру или худу, будут стоять между вами и достойной работой.

И насколько я знаю, нет никакого другого способа пройти мимо них, кроме как принять их правила игры. Даже если они несправедливы.

Заключительные мысли

Если стать программистом или инженером — это то, чего вы хотите, не позволяйте мне или любому другому становиться на пути. И не позволяйте традиционным ограничениям вроде системы образования тормозить вас. Не существует правильных и неправильных путей достижения цели.

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

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

Заметили ошибку? Выделите ее и нажмите Ctrl+Enter, чтобы сообщить нам.

20

Комментарии | 20

  • Весь этот бред сводится к одному: айтишником могут быть лишь те, кто посвятит этому жизнь. На обеде думаешь про IT, на выходных думаешь про IT, в отпуске думаешь про IT, на природе всегда с доступом к IT, etc. Иначе ты дно!

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

  • В школі діти вивчають все і відразу, щоправда в малій кількості (в тих же США, в Україні програма розростається з кожним роком). Який сенс в уроках хімії? 95% не знадобиться в дитті знання того, що CaO + H2O = Ca(OH)2, а комусь не знадоьиться навіть знання 3-х базових законів Ньютона і т.д. Саме і це є ціллю школи — дати базові знання, на мінімальному рівні дати попробувати все щоб кожен вибрав, що ближче. І в сучасному світі програмування і є такою дисципліною, не менш важливою ніж будь який інший предмет.

    > Как бы вы изобрели бинарное дерево?”. Вам предстоят встречи с проджект-менеджерами, помешанными на тестах, и беспомощными HR-ами с требованиями в стиле “5 лет опыта программирования на Swift”. Эти люди, к добру или худу, будут стоять между вами и достойной работой.
    Ну так всі ж хочуть с ходу мінімум в мідли, а то і сіньйори, адже вони «зашибають бабки». Так ні, треба побути джуном, а там в США зп трохи вищі ніж в Макдональдсі. І кого із 100500 заявників на вакансію джуна вибрати, звісно того, хто при інших рівних знає щось про бінарні дерева. Ну а якщо ти сіньйор — то ти повинен вміти вирішити будь яку задачу самостійно, а просто формочки клепати і навіщо мені ті дерева, поліноми, і площа кола 🙂 — то ти і є джун і немає чого претендувати на сінйорську зп.

  • Сначала все ломанулись в бухгалтеры, потом в юристы, дальше в стоматологи, сейчас в программисты.
    И каждый раз всё было одинаково: кричали, что это навсегда, это суперпроффесия, ляляля…
    Сейчас те бухгалтеры в свои нынешние 50 лет вытирают полы в офисах, юристы страдают помощником помощника в суде за убогую ЗП, стоматологи сидят в супермаркетах на кассах.
    Вывод прост, не гоняйтесь за престижной профессией, а станьте профи в той, которая Вам лично нравиться. Тогда у вас будут и деньги, и работа, и прочее, что захотите.
    [Все примеры из личного опыта]

  • Если стать программистом или инженером – это то, чего вы хотите, не позволяйте мне или любому другому становиться на пути. И не позволяйте традиционным ограничениям вроде системы образования тормозить вас. Не существует правильных и неправильных путей достижения цели.

    Вот и не слушайте афтора

  • Какой-то галимый сумбур. Вы читаете то, что публикуете?

  • говно — статья, рецензия на сериал..

Поиск

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: