Программист это уже не модно

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

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

Останутся ли программисты востребованы в ближайшие 15 лет?

Например не так давно экс главный HR компании Mail.Ru Алена Владимирская выдала в фейсбучке эпические пророчества:

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

Любой, кто в своей жизни писал хоть одну коммерческую программу — будет смеяться над этим нагромождением нелепостей, так как «потребность в кодинге» никуда с проектов не уходит даже при наличии всевозможных библиотек и фреймворков.

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

Ежегодно появляются сотни, если не тысячи языков программирования, которые студенты по всему придумывают в качестве курсовых работ. В итоге может один из них приобретает популярность и становится рабочим языком. Но это часть учебного процесса. Если же речь идет об изначально популярных языках, то каждому из них регулярно пророчат смерть — начиная от С++ и Python и заканчивая Java и джаваскриптом. Да, бывает такое, что IT-картели организованно топят неугодную технологию, как это было с Flash, но даже он пока еще болтается.

Для примера глянем данные со StackOverflow:

Как-то не похоже, что популярные языки загибаются

Реальность же заключается в том, что кто знал C++ или Java двадцать лет назад, тот и сейчас может на нем заработать. Конечно, для них появилась масса фреймворков и технологий, да и в самих языках появились новые вещи, однако в целом эти языки живее всех живых. И если какой-нить начинающий программер выбирает себе диковинный и невостребованный язык и потом удивляется, что на него нет спроса — это сугубо его личная проблема.

Кто востребован, так это конструкторы кода – те люди, которые знают все про открытый код, могут сконструировать качественную среду из него.

Мечты, мечты, мечты. Мол, весь код уже написан — осталось лишь компоновать куски. Увы, но нет. С таким же успехом можно было бы сказать, что строители не нужны, ведь можно строить панельные дома. Технология отточена, нужно лишь «скомпоновать» фундамент, стены и крышу — чего же мы ждем?

Подобные взгляды на программирование показывают насколько далек несведущий народ от понимания процесса разработки ПО. При всей доступности и разнообразности инструментов, фреймворков и «открытого кода», разработка софта, даже самого тривиального вроде лендинг-пейджа или простейшей CMS — требует тончайшей ручной работы. Это как со строительством самолетов и кораблей — казалось бы, живя в XXI веке, да при всём обилии технологий, уже можно было бы и штамповать их на заводах, ан нет. Каждый самолет или космическая ракета — продукт ручной работы. Почему? Да потому что это очень сложные системы, где требуется ручная подгонка каждой, даже самой мельчайшей детали. Хотя многие компоненты для их строительства, конечно, производятся в фабричных условиях.

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

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

Однако даже Билл Уильям Гейтс говорит, что это будет нескоро:

В целом автоматизация — крутая вещь, которая в итоге позволит нам не так сильно впахивать. Однако мы все еще на расстоянии как минимум одного поколения от существенных изменений в этом деле.

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

Источник: itpravda.com

Большое спасибо за прочтение! Пожалуйста, поставьте лайк и подпишитесь на канал. Этим Вы очень поможете в развитии блога!

Источник

Хорошо быть программистом – индустрия цветёт и развивается, спрос на кодеров увеличивается, зарплаты растут. Но как долго это будет продолжаться?

Операторы телеграфа 21 века

Можно провести неожиданные параллели между современными программистами и телеграфными операторами 19 века. По сегодняшним стандартам операторы были слабо технически подкованы – вся их работа состояла в получении и переправке сообщений, передающимся по проводам азбукой Морзе. Задача монотонная и требующая высокой концентрации. Сегодняшнее программирование требует наличия у человека достаточно широких познаний и понимания работы сложных систем, а также возможности быстро изучать и осваивать всё быстрее увеличивающееся количество разных фреймворков.

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

Но к 20-му веку был изобретён телефон, не требовавший участия человека для преобразования кода в естественный язык. К 1920-м годам от большого числа операторов осталась лишь малая часть, по сравнению с 1890-ми.

Закат программирования как профессии

Перенесёмся на сотню лет вперёд – и мы окажемся в схожей ситуации, только уже с программистами. Конечно, эта профессия требует больше навыков и интеллектуальных возможностей, чем у телеграфного оператора. Но программисты сегодня занимают функционально схожую с операторами нишу. Взрывное распространение софта похоже на распространение ранних видов коммуникаций 19-го века. Спрос на операторов рос пропорционально росту сетей, и спрос на программистов растёт пропорционально росту ПО. Раньше все телеграммы необходимо было транслировать с азбуки Морзе в человеческий язык, а сегодня весь код должен быть написан человеком.

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

Но всё это изменится.

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

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

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

Но если вы – программист (как и я), не отчаивайтесь. Критическое мышление и технические навыки всё равно пригодятся нам в будущем для решения других задач. Ну а если нет – на всякий случай откладывайте часть заработка.

Источник

Быть программистом в крупной компании совсем не значит, что вы будете писать код в расслабленном режиме, используя технологии, которые больше нравятся. Вам придется искать новые решения, выполнять задачи в жесткие сроки, уметь разбираться в чужом коде, а также заранее просчитывать результаты разработки. О том, чего ожидать IT-специалистам, только начинающим работать в крупных компаниях, на что уже сейчас стоит обратить внимание студентам и какие навыки позволят им не оказаться на обочине рынка, рассказывает старший разработчик сервиса «Яндекс.Такси» Николай Фильченко. 

Чтобы заниматься программированием, требуется много времени: нужно постоянно следить за новыми технологиями

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

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

Источник: hr-portal.ruИсточник: hr-portal.ru

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

Программирование ­– это творчество, закованное в жесткие рамки

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

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

Если бы мир был сотворен программистом. Источник: blog.toggl.comЕсли бы мир был сотворен программистом. Источник: blog.toggl.com

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

Работа в компании разработчиком – не то же самое, что писать код для лабораторных в вузе

Работа в компании требует совсем иных навыков, чем та, которой студенты занимаются в вузе. В первую очередь, это командная работа. Нужно уметь не только кодить, но и читать чужой код. И важно помнить: точно так же кто-то будет читать и твой код.

Источник: techfly.co.ukИсточник: techfly.co.uk

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

Команда Яндекс.Браузер. Источник: businesslynch.ruКоманда Яндекс.Браузер. Источник: businesslynch.ru

Программист в компании работает максимально автономно и отвечает за то, что делает

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

Осознание того, чем разработчик хочет заниматься, нужно сформировать как можно раньше

Кроме работы в «Яндексе» я также преподаю язык С++ на кафедре компьютерных технологий в Университете ИТМО, на которой я обучался. Ребята на первых курсах должны изучать много разных языков, и они зачастую не понимают, а зачем им это? Дело в том, что многие языки и технологии, да тот же С++, являются достаточно узкоспециализированными и пригодятся далеко не всем разработчикам. В целом, изучение таких языков, мне кажется, можно сделать факультативным.

Сотрудники и студенты кафедры компьютерных технологий Университета ИТМОСотрудники и студенты кафедры компьютерных технологий Университета ИТМО

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

Попасть в крупную компанию можно и по обычному резюме

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

Сейчас я старший разработчик в сервисе Яндекс.Такси. В основном разработка ведется по двум направлениям: это реализация новых продуктовых требований и оптимизация уже реализованных алгоритмов для повышения надежности и быстродействия сервиса.

«Стрит-арт на борту». Конкурс Яндекс.Такси и Музея стрит-арта«Стрит-арт на борту». Конкурс Яндекс.Такси и Музея стрит-арта

Результаты олимпиад могут быть предварительным критерием отбора программистов в компании

Когда я поступал в Университет ИТМО, я как раз поступил по результатам олимпиады, и, на мой взгляд, это был более профильный отбор, чем сумма баллов ЕГЭ. Поэтому если олимпиада «Я – профессионал» более приближена к реальности, чем тот же ACM ICPC, то ее результаты могут стать неким предварительным профессиональным отбором талантливой молодежи. По крайней мере, на этих ребят можно будет обратить внимание и, например, предложить им стажировку.

Напоминаем, что 1 декабря стартовал отборочный онлайн-этап первой всероссийской олимпиады студентов «Я – профессионал». на олимпиаду записались более 200 тысяч человек со всей России. Одним из самых популярных направлений у участников стал трек «Компьютерные науки», куратором которого выступает Университет ИТМО. Полное расписание онлайн-этапа доступно на сайте проекта. Участники, продемонстрировавшие высокие результаты в отборочном туре, выйдут в заключительный, который состоится 27–30 января в очном формате.

Источник

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

В этой статье я хотел бы затронуть вопрос, который не раз обсуждался на Хабре: насколько реально быть программистом после 35–40 лет? Не ведущим архитектором, не тимлидом, не менеджером проекта, а именно программистом? Я не согласен с мнением, что программирование — это удел молодых. Считаю его вредным и сейчас расскажу почему.

Существует несколько доводов, на которые опирается этот миф. Давайте-ка их подробно рассмотрим.

Объяснение 1. Требует нервов и реакции

Нам говорят: «Программирование требует энергии, которая присуща только молодым. В зрелом возрасте на это уже просто не хватает сил».

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

Это — знаменитый Чесли Салленбергер, который в 58 лет стал героем США, посадив самолёт на Гудзон.

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

Объяснение 2. Учиться, учиться и еще ещё раз учиться

Нам говорят: «Знания программиста постоянно устаревают, и к 30–35 годам то, что ты учил в вузе, уже может быть никому не нужно, а переучиваться поздно».

Опять же — вроде бы лестно звучит. Профессия такая интеллектуальная и элитарная, что ты постоянно должен быть на острие прогресса.

Но есть и другие профессии, где надо непрерывно учиться. А 40-летних оттуда никто не гонит.

Вспомним юристов. Законодательство постоянно устаревает. Это норма. Более того, у них ситуация даже более жёсткая, чем у программистов. С выходом стандарта C++20 никто не уволит тех, кто писал на предыдущем стандарте, не потребует от них немедленно переучиваться. А у юриста выбора нет: с выходом новой редакции Гражданского кодекса РФ он обязан её прочесть, запомнить и использовать.

То же самое можно сказать о врачах: они вынуждены постоянно обновлять знания. Чтобы было понятно, до какого возраста должен учиться, к примеру, хирург, прочитаем мнение главного кардиохирурга страны Лео Бокерии:

В отношении врачей так было во все времена: люди хотят лечиться у опытного врача. Кардиохирургов, скажем, в Америке к столу допускают только в 37 лет, а состоится он к 40 годам как самостоятельный хирург, это ещё большой вопрос. Это касается врачей, учёных, преподавателей, людей интеллектуального труда, а также рабочих высшей квалификации.

Обратите внимание на «людей интеллектуального труда» — программисты же к ним относятся, я надеюсь? А значит, опыт здесь так же важен, как и в любой другой интеллектуальной отрасли.

Насколько человек вообще может осваивать новое в зрелом возрасте? Я не педагог, не психолог и не нейробиолог, чтобы квалифицированно ответить на этот вопрос. Однако, как показывает практика, такое вполне возможно. Масса людей находится на острие прогресса и после сорока. Если отвлечься от IT-индустрии, можно вспомнить того же Сергея Павловича Королёва. Основные разработки он сделал после сорока пяти — вряд ли чисто на основе тех знаний, что получил до 30 лет.

Также существуют неявные знания. Их невозможно получить в вузе и почерпнуть из литературы. Потребуется проработать не один год (а порой даже не одно десятилетие) в конкретной отрасли. Программист в 40 лет знает, как надо программировать, а ещё (если он участвовал в так называемых безнадёжных проектах) — как не надо программировать и каких ошибок стоит избегать при выборе архитектуры ПО и написании кода.

Объяснение 3. Программист в 35 уже ничего стоящего не родит

Нам говорят: «Да, можно быть программистом в 35–40 лет, но ничего серьёзного такой программист уже не сделает».

Тут следует начать с основ — с самого компьютера. Его создали Эккерт и Мокли. Эккерту тогда было 25, а Мокли — как раз 35 лет.

Перейдём к тем, кто создал что-либо серьёзное после 35 лет. Начнём с известного и авторитетного для программистов Дональда Кнута. Первый вариант своей знаменитой системы TeX он разработал в 1978 году — когда ему было 40 лет. Чуть позже, в 1981-м, он создал концепцию грамотного программирования (literate programming).

Перенесёмся в более близкие времена. Мартин Одерски родился в 1958-м и начал создавать язык Scala в 2001-м — после более чем десяти лет работы над языками Pizza и Funnel (и над GJ compiler, который стал прообразом javac).

Вот ещё один пример программиста, который и в молодости был хорош, и в старости таким остался. Андерс Хейлсберг написал первую версию компилятора Pascal в 1981-м, в 21 год. C# он разрабатывал с 2000-го, когда ему было уже как раз под сорок. А в 2012-м (в 62 года) Хейлсберг начал создавать TypeScript. Я для интереса в своё время смотрел репозиторий этого языка — там от Андерса довольно много коммитов.

Более того, есть мнение, что возраст с 40 до 55 лет для специалистов инженерных профессий самый плодотворный, поскольку накопился опыт и ничто уже не отвлекает от работы: семьёй человек обзавёлся, дети успели вырасти…

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

Объяснение 4. Ты что, до сих пор не руководитель?

Нам говорят: «Программист — это всего лишь первая ступенька в карьере. К тридцати, самое позднее к тридцати пяти ты должен выбиться в руководители, если у тебя есть мозги и способности».

Это самое оскорбительное объяснение. Мол, программированием можно побаловаться по молодости, но после тридцати надо заниматься чем-то серьёзным.

Легко понять всю абсурдность этой точки зрения, если попробовать приложить её к другим профессиям. Попробуйте сказать 50-летнему юристу: «У тебя всё ещё нет собственной юридической конторы?» Попробуйте сказать 50-летнему хирургу: «Ты всё ещё не заведующий хирургическим отделением?» Попробуйте, наконец, сказать Салленбергеру: «Посадил самолёт на Гудзон в 58 лет? Нормальные люди в твоём возрасте давно уже собственными авиакомпаниями владеют».

Программист и менеджер IT-проекта — это разные профессии, хотя менеджеры зачастую и вырастают из программистов.

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

Откуда же взялся миф «Программист — профессия для молодых»?

В своё время я пытался это выяснить и выделил два источника:

  1. Ранняя эпоха программирования. Те самые романтические годы написания программ даже не на ассемблере, а на машинных кодах, причём не в нормальной IDE, а на перфокартах. Тогда разработка ПО была гораздо более трудоёмкой, нежели сейчас. И я охотно допускаю, что конкретно такой процесс проще всего выдерживали именно молодые.
    Однако сейчас ситуация изменилась. На дворе уже давно не пятидесятые, разработка не настолько тяжела.
  2. Сугубо российская специфика. В нулевые наступил золотой век Рунета: IT-сфера бурно росла, всё и вся автоматизировалось, каждое предприятие обзавелось собственной системой автоматизации документооборота, в страну пришли зарубежные конторы… Кроме того, это был славный период побед на конкурсах типа ACM. Тогда отрасль реально быстро развивалась. Можно было поработать программистом максимум пять лет после диплома, а затем дорасти и до руководителя проекта. Возможно, тогда-то и сложилось убеждение, что программист — это переходный этап в карьере.

Однако сейчас ситуация изменилась. Этому есть много причин, но самая важная, на мой взгляд, — демографический провал. До Москвы мне довелось и преподавать в провинциальном вузе, и работать в провинциальных IT-конторах. Могу засвидетельствовать лично: в регионах уже в 2010-м дефицит кадров был очень острый. Молодёжи стало гораздо меньше, и вузы банально не могли поставить нужное количество программистов. Может быть, в Москве и Петербурге это не ощущается, но в остальных городах всё обстоит именно так. Всех 30-летних программистов заменять некем. Очевидно, что они не могут уйти на другие должности — кто программировать-то будет?

Демографический провал привёл к тому, что предельный возраст программиста в регионах начал незаметно, но неуклонно увеличиваться. Происходит ли это в столице — вопрос открытый.

Советы студентам IT-специальностей

Как относиться к своей профессии? Чему учиться, чтобы в тридцать пять не оказаться за бортом и не жалеть о потерянном в вузе времени? Вот мои соображения.

  1. Не воспринимайте свою профессию как временную — иначе вам придётся несладко. Программисту надо тяжело учиться, а нельзя тяжело учиться тому, что ты не считаешь делом своей жизни: когда планируешь отдать ему лет пять максимум, а вот потом уже заниматься реально интересными вещами типа руководства проектами. Определитесь, собираетесь ли вы действительно всю свою жизнь быть программистом. Учтите, что если вы воспринимаете свою профессию как сугубо временную, то резко возрастает вероятность того, что вы освоите её поверхностно.
  2. Не пренебрегайте низкоуровневым программированием типа ассемблера и таким языком, как С/С++, особенно указателями. Если вы этого не освоили, то вы автоматически отсекаете себя от ряда областей разработки. Самый яркий пример — разработка ОС. Если вам кажется, что это очень нишевая область, то вспомните о компьютерной графике для игр: там это тоже есть. Или о драйверах для современных устройств. Да и вещи вроде nginx писать будет проблематично. В плане работы не забывайте, что практически на каждом предприятии — что у нас, что за рубежом — есть масса микроконтроллеров, а их вряд ли будут в ближайшем будущем программировать на Питоне.
  3. Не пренебрегайте функциональным программированием. Долгое время, особенно в девяностых, в эпоху расцвета ООП, этот стиль выглядел чем-то академическим, что на практике в работе обычного программиста не встречается. Всё изменилось примерно с середины нулевых, и Твиттер авторитетно подтвердит, что на Scala можно разрабатывать и высоконагруженные системы. Вообще концепции функционального программирования используются куда шире, чем думают многие студенты. Практически все языки программирования, появившиеся в мейнстриме в последние 10 лет, содержат элементы функционального программирования. Его концепции ещё долго будут проникать в разные сферы. От себя рекомендую курс Абельсона и Сассмана. Это классический курс MIT восьмидесятых, после которого современные языки осваиваются куда лучше.
  4. Попробуйте силы в спортивном программировании. Скажу честно: это самый неоднозначный совет. Спортивное программирование в силу своих особенностей (программа проходит набор автоматизированных тестов с ограничением по времени, но никто не проверяет стиль и продуманность архитектуры) поощряет небрежное написание кода. Однако с другой стороны — более интенсивное знакомство с алгоритмами вряд ли возможно придумать. Припомните, сколько лекций про графы и алгоритмы поиска на них было у вас в вузе? Две-три? Сколько раз вам приходилось применять эти знания? Тоже два-три раза? Не сравнить с опытом, полученным при решении пары сотен задач. Как и в любой работе, экспертом становишься в результате практики.

Вместо заключения

После тридцати пяти вполне реально быть программистом и устроиться на работу — и не только на какой-нибудь завод на поддержку старой системы, но в современные IT-компании. Главное — развиваться, не бояться нового и любить своё дело.

А что думаете вы? Согласны или нет? Какой опыт у вас?

Источник