13-е сентября — День программиста (досрочное поздравление)
Друзья, завтра День программиста! Наверняка у каждого из нас есть знакомый программист. Такой специальный человек, которого все просят починить компьютер, принтер, телефон, «а что, он же программист, значит шарит в компьютерах». Так вот, не забудьте завтра поздравить этих знакомых и важных людей! Но сегодня пятница, поэтому мы решили поздравить всех программистов заранее.
Важность труда программистов для мира IT трудно переоценить. И не только для него. Благодаря им у нас есть компьютеры, смартфоны, планшеты, сайты, соцсети, мессенджеры и даже Хабр. Теперь вот они ещё и очки с часами прокачали. Благодаря программистам, мы сегодня обрели способности полубогов, с точки зрения предков. Современные высокие технологии позволяют нам получить все знания мира, не вставая с дивана. Всего за несколько десятилетий развитие программирования радикально поменяло мир, сделало доступными невиданные, фантастические технологии. Мы теперь можем увидеть на маленьком устройстве каждый уголок планеты, сразу узнать о событиях, происходящих за тысячи километров от нас. И если к возможностям и универсальности компьютеров и мобильных гаджетов все давно привыкли, то нас ещё ожидают невероятные успехи в роботостроении. Глядя на текущие достижения, понимаешь, что пора сдувать пыль с трёх законов робототехники, они нам уже скоро понадобятся.
Ладно, а теперь развлекательная часть. Сегодня мы подготовили для вас небольшой ролик, который особенно оценят программисты, работающие в командах, отделах и прочих департаментах. Не будем описывать, смотрите сами.
[embedded content]
Поздравляем вас! Желаем безбажного кода, интересных проектов и успешных релизов! Кстати, наш CEO Дмитрий Гришин тоже когда-то был программистом, начав свою карьеру с должности разработчика ПО, подрабатывая на нескольких работах и учась при этом в Бауманке. Через два года он занял пост технического директора в новой компании Mail.Ru, которая несколько лет спустя выросла в крупнейшую IT-компанию России. В связи с праздником мы попросили наших программистов рассказать о том, почему они выбрали эту профессию, и что станет с программистами через 20 лет. Их рассказы читайте под катом.Заур Абдулгалимов (FlashPress), флеш-программист студии IT Territory:
На самом деле, я не выбирал профессию программиста. Она сама избрала меня, не оставив выбора. В школе я любил математику (Татьяна Петровна, спасибо Вам за это). Часто из любви к математике делал различные внеурочные задачи, в ущерб остальным предметам. Одноклассники спрашивали меня: зачем тебе это, ты собираешься стать профессором по математике? На что я отвечал: я делаю это просто потому, что мне это нравится. Когда же в школе я познакомился с языком программирования TurboPascal, для меня перестали существовать остальные предметы (кроме математики, конечно). У меня не было цели стать программистом, я программировал, просто потому что мне это нравилось. И профессия меня сама нашла.
P.S. Если меня спросят, почему я работаю программистом сейчас, я отвечу так: я получаю истинное наслаждение, когда моими руками из тысяч мелких кусочков создается цельный продукт.
Я думаю, что через 20 лет профессия программиста станет еще более востребованной, т.к. компьютерные приложения проникают во все уровни жизни современного человека, и в скором будущем качество используемого ПО будет определять качество жизни человека.
Александр Никишин (WisDooMer), iOS-программист Моего Мира:
Это может показаться странным, но я выбрал путь программиста из-за пирамиды Маслоу. Именно эта профессия открывает огромный простор для реализации двух верхних ступений моих потребностей (признание и самоактуализации). Программирование для меня — это технический вид творчества, плодами которого могут пользоваться тысячи или даже миллионы людей, парой даже не придавая этому большого значения. Сейчас я занимаюсь мобильной разработкой, и тут, если верить недавним словам Джонатана Айва, связь с пользователем происходит на самом близком уровне, уровне прикосновений и тактильных ощущений. Понимая это, относишься к своей работе очень ответственно, всегда стремишься к лучшему и постоянно развиваешься.
Довольно сложно делать предсказания на столь длительный срок. Например, если взять «специалистов» по экономике из газет, посмотреть на их прошлые прогнозы и сравнить с реальной картиной мира, боюсь мы могли бы подумать, что эти люди только зря портят бумагу (на самом деле нет :)). Не хочется прослыть таким «специалистом» в программировании. Но тем не менее, я ставлю на то, что через 20 лет профессия программиста будет существовать, и нас не заменит искусственный интеллект.
Илья Кузнецов (KIlLXXXVI), программист Ответов Mail.Ru:
У меня всегда была тяга к математическим дисциплинам, как-то комфортнее было в школе и в универе именно со всякими математиками и информатиками. К предпоследнему курсу универа у меня в активе было лишь пару лет работы консультантом по различным телефончикам, малогабаритной технике, образование инженера-продавана и ощущение того, что зря трачу время, а потом всё удачно сложилось — один друг посоветовал поискать счастья в «программистах», другой — привёл по знакомству в мою первую контору, где хоть и «за еду», но удалось почувствовать на своей шкуре, что значит работать головой, а не ногами и языком. Было комфортно: чувствовал, что пользу приношу, хоть и небольшую, но всё-таки пользу и для себя и для конторы.
Сейчас быть программистом — это очень модно. Многие даже не понимают, чем мы действительно занимаемся и считают нас излишне умными, порой просто гениальными. Порой действительно приходится импровизировать достаточно много, каждый день рождаются какие-то новые идеи и для их реализации приходится в очередной раз изобретать «велосипед» такой же как обычно, но на этот раз с пропеллером. Индустрия «бурлит», индустрия ищет. Лет через 20 эти «бурления» поутихнут, всем будет всё равно на чём писать: на пхп или на питоне — будут задачи, у которых по большей мере уже имеются готовые решения. От «программиста», если его так ещё будут именовать, будет требоваться достаточно рутинная работа по «допиливанию» весьма банальных кусков уже продуманной и доведённой до ума «программы». Думаю, тут можно провести весьма условную параллель с сантехниками: когда-то им приходилось много импровизировать, чтобы всё «работало как надо»: разные диаметры и материалы труб, разные типы «прокладок», разные вспомогательные инструменты — и ведь наверняка были очень оживленные споры о том, как делать «правильно». Сейчас всем всё равно, чем там заделывают: шпаклей, резинкой, какой-то китайской фигней — никто с этим не заморачивается, пусть придёт «мастер» и сделает так, чтобы не текло и не сломалось на следующей же неделе, а уж что и как, он там будет делать — да какая разница.
Леандр Халиуллов (khaliullov), программист группы антиспама:
Программировать я начал с детства. После первого знакомства с компьютером я был очень вдохновлен его возможностями. На компьютере можно было решать разные задачи и не только по математике. Еще в школе я быстро освоил Basic, C, Pascal, написал свои первые программки: Tetris, RendZu. Программирование мне помогало и в учебе: автоматизировать что-нибудь, решить задачку, сдать экзамен, написав резидентную программку, которая сама проходит тест. На третьем курсе мое хобби стало работой, и с тех пор я уже более 10 лет работаю только в сфере IT.
В будущем, я думаю, программист будет обычной профессией, как, например, сейчас бухгалтер или сантехник, и каждый в той или иной степени будет программистом: как мы ведем домашний бюджет или сами чиним кран, также каждый будет решать какие-то задачи в жизни. Возможно, как-то это будет всё упрощено с помощью абстракции от программирования, и с помощью удобных интерфейсов можно будет программировать все, что угодно.
Сергей Прилуцкий (BoogerWooger), программист проекта Cars:
Потому что на моем Commodore не было ни одной кассеты с играми, а только чёртов basic. Иначе я стал бы геймдизайнером.
В код можно будет напрямую помещать собственные, особым образом сформированные мысли, минуя устройства ввода, поэтому профессия программиста начнет исчезать, ибо создание алгоритмов для окружающих человека устройств станет совершенно естественным делом для большинства. Конечно, будут люди, умеющие формализовать и упаковать в программный код сложные технические и математические задачи, но большинство современных прикладных задач по поиску и анализу информации за счет множества уровней абстракции будут доступны любому человеку без квалификации. Устройства, управляемые разумом будут все более сложными, что подтолкнет разум ко всё более сложным формам мышления, развивая его так же, как развивались руки человека в процессе эволюции. В общем, ждём homo cyberneticus.
Вадим Балашов (VadimBal), iOS-программист Почты Mail.Ru:
Профессию программиста плавно втекла в мою жизнь. В уже далеком 1998 году у меня дома появился компьютер. В то время у многих моих друзей уже были компьютеры, но у них были «Пентиумы», тогда еще первые. А у меня была машинка на базе процессора 80386sx — «трёшечка». Какое-то время я провел за игрой в старые добрые Кирандию, Спэйсквест, приключения Ларри, Дум и Варкрафт II, но все мои друзья играли в другие игры, и мне было абсолютно не с кем обсудить ни ход игры, ни достижения. Как-то в гости ко мне пришел друг, который записался в секцию по программированию. Он принес на дискете QBasic и пару программ. Доступа в интернет у меня тогда не было, книг по программированию тоже. Написать ни одной строки кода я не мог. Но мог удалять — чем я и занялся. Удаляя по одной строке, я раз за разом запускал программу и смотрел, что изменяется. Выяснял, почему при удалении некоторых строк, программа перестает что-то делать, а при удалении других строк вообще перестает запускаться. В следующий раз, когда ко мне приехал друг, я уже чуть-чуть понимал, что к чему, и у меня накопились вопросы. Так постепенно я начал программировать на basic. На следующий год в школе нам начали преподавать Pascal. Еще через год в школу поставили современные компьютеры и мы перешли к Delphi. На подготовительных курсах к университету, я познакомился с С (тогда, читая журнал Хакер, я знал, что все «тру программеры» пишут именно на нем, но знаком с ним не был).
Несмотря на это все, я никогда не думал, что стану программистом и даже учиться пошел на робототехника. Но по окончанию учебы выяснилось, что с робототехникой у нас в стране пока туго (об этом можно поговорить отдельно). Тогда в один прекрасный день я получил приглашение на работу в Mail.Ru Group, с трудом прошел собеседование (спасибо Игорю М., что все-таки поверил в меня) и вот уже 4 года работаю тут, сменив за это время 3 проекта, три платформы и три языка.
Я думаю, что профессия программиста никуда не денется через 20 лет. Возможно, мы будем программировать совсем другие устройства (кто бы поверил 20 лет назад, во времена десктопов с Виндоус 95 и ЭЛТ-мониторов, что каждый второй будет ходить с «компьютером» в кармане?). Возможно, сильно поменяются языки, но сама суть не исчезнет.
Егор Шубин (esin), программист студии Аллоды:
Тут все довольно банально. С детства любил компьютеры, в основном, из-за игр. И когда в школе началась информатика, сразу понял, что это моё. С тех пор ни разу не пожалел о принятом решении.
Уже сейчас можно создать систему, которая позволит вводить текст без клавиатуры, только с помощью мысли. Очень надеюсь, что технологии будут развиваться в этом направлении. Плюс беспроводные технологии и ещё более высокоуровневые языки. И тогда программисты будут сидеть где-нибудь за столиком в парке, с чашкой чая/кофе, тетрадкой и планшетом для обратной связи, и думать над алгоритмом/архитектурой. А на его рабочей машине будет создаваться программа.
Игорь Глотов (sol1tude), разработчик интерфейсов:
Выбрал эту профессию еще в школе. В детстве много играл в Lego и понял, что создавать — это мое, решил попробовать. В школьные времена много возился с Linux’ами (Ubuntu, ArchLinux, Gentoo), которые очень располагают к программированию и изучению нового — открывай vim и пиши код, полная свобода, все доступно и открыто, тогда я понял, что программирование даже круче, чем Lego. Начинал с изучения и написания всякой ерунды на С, а потом поступил в вуз, где уже удалось реализовать свое увлечение программированием до конца. Немного жалею, что не занимался в свое время олимпиадным программированием достаточно, но зато удалось поучаствовать в CTF, где многому научился и познакомился с классными ребятами. Сейчас пишу под две мобильные платформы и каждый день изучаю и применяю что-нибудь новое. Еще ни разу не жалел о выборе профессии, ты строишь системы, которыми пользуется огромное количество людей — это огромная ответственность, но и чувство удовлетворения, когда видишь результат.
Думаю, за 20 лет в нашей профессии ничего кардинально не изменится. Ну разве что разработчики будут сидеть в Oculus’aх и писать код импульсами мозга. :) Технологии продвинутся далеко, какие-то вещи уйдут (например, десктопные ПК и потребительские ноутбуки), какие-то придут (туча носимых устройств разного характера, умные дома и т.д.), но у нас, разработчиков, все равно будет старая добрая хардварная клавиатура, IDE и консоль, чтобы писать код и отлаживать его. Наверное, еще виртуализация будет развита куда сильнее, придется эмулировать все эти девайсы.
Олег Ларионов (Bloof), младший программист Одноклассников:
Пока что я младший программист в Одноклассниках, всё еще учусь в магистратуре в СПб НИУ ИТМО. Выбрал такую профессию по нескольким причинам. Во-первых, как и многие другие, проводил много времени за компьютером. Любил играть. HoMM 3, CS 1.5, WC III, вот это всё. Также в 9 классе открыл для себя интернет и Debian. Осваивать их было крайне увлекательно. :) Во-вторых, учитель по информатике заинтересовал меня решением олимпиадных задач по программированию. Теперь практически любой новый язык программирования изучаю, решая задачки на acmp.ru и acm.timus.ru.
Мне кажется, через 20 лет программисты будут еще более востребованными. Я не думаю, что в течение этих 20 лет напишут все возможные программы, что программисты станут не нужны. Также маловероятно, что все люди вдруг откажутся от компьютеров, либо станут сами себе писать софт. Наоборот, появится больше разнообразных девайсов, роботов, квантовых компьютеров, и для всех них нужно будет писать прошивки и ПО. А кто это будет делать, если не мы?
Даниил Попов (int02h), программист студии IT Territory:
Честно говоря, когда я писал свою первую программу на курсах программирования в 8-м классе, я не сильно задумывался, а может ли это занятие стать моей профессией. Мне просто был интересен тот факт, что я даю компьютеру команды, а он их в точности выполняет. У меня, у школьника, это вызывало дикий восторг. С другой стороны, мне всегда было интересно как устроено программное обеспечение изнутри. Поэтому, когда я взломал первую игру, то понял, что хочу заниматься программированием. Потом мне подарили первый планшет, и я тут же начал разбираться, как написать для него программу. Со временем начали появляться некоторые задачи, которые выполнять вручную было крайне утомительно, и тут на помощь мне опять приходило программирование. Автоматизация рутинного человеческого труда — это реально круто. Подводя итог, я могу сказать лишь, что программирование для меня — это не профессия, а скорее хобби, которым я занимаюсь не только в рабочее время. А когда за хобби ты получаешь еще и зарплату, то становится вдвойне приятнее.
Я думаю, что с профессией программиста в ближайшие 20 лет ничего не случится. Будут появляться новые технологии, новые платформы, новые устройства, поэтому индустрия всегда будет нуждаться в людях, создающих программное обеспечение. Необходимость в программистах, возможно, отпадет, когда создадут настоящий искусственный интеллект, который будет способен самостоятельно писать программы.
Максим Пестун (RenovatioNova), программист студии Аллоды:
Профессия программиста очень интересна из-за следующий факторов: — каждый день создаешь и изучаешь что-то новое, так что мозг всегда в тонусе; — почти все окружающие люди, не знакомые с написанием кода, не понимают, чем именно занимаются программисты, что придает профессии эффекты тайны и эксклюзивности; — многие считают, что программисты — это такие умные люди, которые могут все: установить Windows, взломать банк, узнать тайны государства.
Все перечисленные факторы, но преимущественно первый, повлияли на мой выбор профессии.
Сейчас программирование становится все более популярным. Этому способствуют многочисленные сообщества, конференции, конкурсы. Поэтому лет через 20 примитивный код будут уметь писать практически все. Но возникнет новая проблема: знания о старом коде и былых технологиях, на которых будет базироваться все новое достояние человечества, будут практически забыты. И появится профессия программистов-археологов, которые знают что такое MASM, умеют понимать код на C, просматривать файлы в кодировке ANSI и многое другое, что сейчас кажется обыденным.
Валерий Быков (vozbu), ведущий программист Таргета Mail.Ru:
Потому что компьютеры в детстве притягивали, а уметь заставлять их делать что-то такое, что ты сам придумал — завораживало. С тех пор я четко знал, что хочу заниматься программированием, и потом, когда уже учился в университете, понимал, что основное все-таки — компьютеры, а не наука.
Принципиальных изменений через 20 лет я не вижу. Да, появятся новые языки, разные фреймворки, многие вещи станет проще делать. Будут развиваться библиотеки машинного обучения, компьютерного зрения, накидать распознавание образов на коленке для телефона смогут школьники (да и сейчас уже, наверное, могут). Но с появлением новых возможностей будут появляться новые, более амбиционзные задачи. Никуда не уйдет необходимость придумывать эффективные алгоритмы и задействовать все аппаратные возможности железа.
Евгений Лойков (Bot_A_Nick), старший программист студии Аллоды:
Изначально необходимо было оправдание перед родителями за то, что провожу кучу времени за компьютером, потом это переросло в увлечение, которое стало профессией и хобби.
Если какой-нибудь Иуда не напишет полноценный искусственный интеллект, который нас всех заменит, то принципиально ничего измениться не должно. Из примечательного: — придумают язык программирования для кошек; — анонсируют поддержку законов робототехники в стандарте С++34; — терабайты памяти будут давать на сдачу в магазине, при этом человек удаливший лишнюю переменную по-прежнему будет считать себя спасителем человечества; — появится термин обозначающий «притеснение личности использующей другой язык программирования»; — выпустят стандарт совершенно нового языка программирования, который позволит вообще не писать код, и при этом получать готовый продукт. Правда, единственное, на что он будет способен в первой версии, — это сортировка массива из 42 беззнаковых целых четных чисел методом пузырька, но все равно найдутся люди, которые назовут это прорывом и будут предлагать писать именно на нем.
Иван Полуянов (poluyanov), руководитель группы frontend-разработки Почты Mail.Ru:
Мне очень повезло с выбором профессии — мне даже ее выбирать не пришлось :) Так получилось, что свой первый helloworld я написал в начальной школе на QBasic, и это было счастье! Тогда я думал: «как здорово заставлять компьютер что-то делать для тебя!» Спустя время интерес к программированию всяких интересных, но бесполезных штук эволюционировал в желание делать что-то осязаемое и нужное людям, и тогда я выбрал путь web-программиста. Профессия программиста дает мне возможность делать вещи, которые так или иначе будут помогать миллионам людей делать свою жизнь проще, комфортней и интересней — и мне это нравится. Ну, и вообще, это весело! :)
Если 7 лет назад было «модно» быть веб-программистом, 4 года назад было модно быть мобильным разработчиком, то через 20 лет, как мне кажется, в моде будет программирование робототехники и всей ее инфраструктуры. Учитывая постоянно растущий спрос на программистов, я думаю, что будет происходить четкое разделение на 2 уровня: прикладной и системный. Прикладные инженеры будут работать с конкретными компонентами/фреймворками, из которых как из кубиков будут собирать программы. Мне кажется, что в этом направлении исчезнут языки программирования, и вся работа будет сведена к взаимодействию с софтом вроде того, который используется в Lego Mindstorm. Системные программисты будут делать эти фреймворки/компоненты для прикладных программистов на привычных для нас языках программирования.
Ксения Боброва (ksusha), ведущий программист Денег Mail.Ru:
Вообще-то я не была увлечена программированием с детства, мне нравились иностранные языки, и я планировала стать переводчиком с французского. Но в старших классах мне в руки случайно попался один компьютерный журнал, из которого я узнала про Linux. Мне стало очень любопытно, что это за «другая» операционная система. Поставила себе парочку дистрибутивов, начала разбираться. Несколько недель сидела на форумах линуксоидов, собирала из исходников какие-то драйвера, правила конфиги, по большей части не осознавая до конца, что делаю. Параллельно я прочитала «Just for fun», после чего Линус Торвальдс стал моим кумиром. Я решила, что программистом быть довольно круто и интересно, поэтому начала учить Си, писала на нем какие-то простенькие консольные приложения. Это был весь мой программистский опыт на момент поступления в университет, и я все еще не была уверена в своих способностях в этой области, поэтому выбрала специальность на рубеже программирования и экономики, чтобы можно было «сбежать» в случае чего. В университете уже окончательно поняла, что это мое, и нашла свою первую работу в веб-программировании.
Я думаю, что через 20 лет будет в целом все как и сейчас — популярность профессии будет только расти, но при этом хороших программистов будет не хватать, и они будут стоить дорого. Я также думаю, что программистам сложнее будет держаться на плаву и быть в курсе всего. Уже сейчас языки и технологии множатся, требования к кругозору постоянно повышаются, поэтому после работы нужно садиться за книги и свои домашние проекты, учиться чему-то новому постоянно. Многие просто не выдерживают такого ритма. Через 20 лет еще сложнее будет за всем успевать.
Ахмед Шериев (Atreides07), программист Агента:
Программированием увлекся еще в 3 классе. После того как написал на старом советском «корвет»-е свою первую программу из одной строчки, выводящую на экран слово «Привет!», и оно заработало и приветствовало, для меня вопросов, кем я хочу стать, больше не возникало. Так как доступ к компьютерному классу был очень ограничен, я до сих пор с некой теплотой вспоминаю тетрадку, куда записывал свои программки, которые планировал проверить при первом доступе к компьютерному классу. Уже потом после покупки первого компьютера просиживал ночи не только за играми, но и за написанием своих игр и штудированием книжек по программированию.
Сколько бы я не занимался программированием, все время встречал людей нетехнических профессий, которые утверждали, что еще немного и программирование как профессия будет не нужна, так как скоро появятся инструменты, которые позволят любой домохозяйке делать ту работу, что сейчас проделывает профессиональный программист (к примеру, если раньше, для того чтобы произвести расчеты по сложной формуле на компьютере, надо было привлекать программиста, то теперь есть пакеты вроде Mathcad, или чтобы сделать свой сайт, необходим был человек со знанием HTML, то теперь уже есть множество CMS). На это я всегда отвечал, что когда современные сложные задачи станут тривиальными и доступными для решения всем, то неизбежно это приведет к возникновению новых нетривиальных задач для науки или для бизнеса, который захочет занять новую нишу или получить дополнительную прибыль от получения преимуществ перед конкурентами. Поэтому я считаю, что профессия программиста не только не исчезнет, а в будущем станет еще более разнопрофильной и еще более узкоспециализированной в конкретных областях.
А как вы попали в профессию? Расскажите свою историю в комментариях!