Просто «El clasico»

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

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

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

«Согласно данным Научного Совета, к 2030 году количество специалистов в сфере информационно-коммуникационных технологий вырастет на 39%, а в отчете О2 за 2013 год отмечалось, что для удовлетворения спроса на такого рода специалистов в период до 2017 года потребуется порядка 745 000 новых сотрудников.

Кроме того, по результатам исследований, проведенных в прошлом году City & Guilds, три четверти работодателей из сферы IT, компьютерных и информационных услуг отметили явную нехватку квалифицированных кадров, в то время как 47% опрошенных заявили о неспособности действующей системы образования подготовить хороших специалистов».

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

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

Бытует мнение, будто начать изучать программирование из-за серьезного отбора на соответствующие курсы и факультеты не так-то просто. Вот что по этому поводу пишет the Guardian:

«Это, конечно, одни из первоочередных навыков, необходимых в 21 веке, однако, если вы недостаточно обеспечены, чтобы позволить себе обучение, или вам не посчастливилось поступить в нужную школу, вероятнее всего, вы столкнетесь с немалыми трудностями, желая добиться поставленной цели».

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

Как следствие, в настоящее время появилось несколько инициатив в поддержку программирования. Правительство Великобритании объявило 2014 «Годом программирования»:

image

Лозунг гласит: «займись программированием в этом году, это проще, чем ты думаешь». В своем интервью для Newsnight, исполнительный директор кампании, посвященной Году программирования, Лотти Декстер, уверяет, что можно «вникнуть за день». На сайте неправительственной организации Code.org, «посвященной вовлечению широкой общественности в процесс изучения информатики», находим следующую цитату: «Code.org ставит своей задачей развенчать мифы о сложности программирования».

image

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

А как же традиционное официальное образование? Можно ли почерпнуть полезную информацию о подготовке программистов в университетах?

С учетом дефицита квалифицированных кадров можно предположить, что выпускникам факультетов информатики не грозит безработица. Увы, похоже, не все так просто. Исследователи из Агентства статистики высшего образования выяснили, что молодые специалисты, изучавшие компьютерные технологии, имеют «дурную славу из-за самого низкого процента занятости по сравнению со студентами другого профиля». Почему же? Забавно, но на лицо несоответствие между реальными навыками аспирантов и квалификации, которой от них ожидают работодатели. Или, если говорить точнее, после трех лет обучения информатике они не умеют программировать. Интересную идею озвучил в своем комментарии к этой статье аноним, преподаватель университета:

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

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

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

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

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

image
41,8% — самообразование;
37,7% — бакалавр, информатика (или смежная сфера);
36,7% — курсы повышения квалификации на предприятии;
18,4% — магистр, информатика (или смежная сфера);
17,8% — онлайн курсы;
16,7% — проекты по информатике (или в смежной сфере) в рамках обучения в университете, нет диплома;
6,1% — сертификация на производстве;
4,3% — другое;
3,5% — интенсивный курс программирования или специализированные вечерние курсы;
2,2% — доктор философии, информатика (или смежная сфера);
1% — репетиторство.


Только треть респондентов получила диплом по информатике или смежным предметам и почти 42%, самая большая группа, — самоучки. Я провел собственный небольшой и не совсем научный эксперимент на эту тему: принял участие в ежемесячном съезде .NET разработчиков здесь в Брайтоне, где быстренько опросил присутствующих. Так мне удалось узнать, что самоучек среди отличных программистов даже больше, чем свидетельствуют результаты исследований. Забавы ради я заодно провел и небольшой опрос в Twitter:

image
Вы программист-самоучка?
76% — Да
24% — Нет
101 голос.


76% опрошенных утверждают, что всему учились сами. Интересно было почитать и комментарии к опросу. Примерно так выглядели самые распространенные из них:

image
У меня диплом по информатике, но все равно я на 95% самоучка. По крайней мере, если мы говорим о прикладных знаниях.

Даже программисты с дипломами по информатике уверяют, что большая часть полученных знаний – их личная заслуга. Кто-то жаловался, что на вопрос ответить трудно, ведь отрасль изменяется стремительно, а, значит, учиться приходится постоянно. Соответственно, даже если вы и получили в свое время официальное образование, этого недостаточно для построения отличной карьеры. Любой классический курс обучения – лишь небольшой элемент в системе постоянного повышения квалификации, которая неотъемлемо связана с профессией программиста.

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

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

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

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

• «Вы можете изучить математику за день».
• Займитесь хирургической практикой в этом году. Это проще, чем вы думаете!
• skyscraper.org ставит своей задачей развенчать мифы о сложности архитектурного дела.
• «Сыновья и дочери шахтеров должны учиться на юристов».

Мой друг Эндрю Черри озвучил блестящую мысль на эту тему:

image
Народ! Покажите мне сферу деятельности, в которой станут тратить свое свободное время на то, чтобы провести бесплатные семинары для желающих пополнить ряды специалистов этой области. Не абсурд ли?

Ответ один: это сфера разработки программного обеспечения. Хотите стать врачом? Учитесь семь лет в медуниверситете.

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

Разработка программного обеспечения – несомненно, очень привлекательная сфера для трудоустройства. Работа хорошо оплачивается, мобильна, плюс сама профессия интересна и приносит море бонусов. Одновременно возникают проблемы с имиджем. Впервые я столкнулся с такой тенденцией в университете в 1990-х годах. Я как раз получал диплом по социологии (да, я тоже программист-самоучка). Что касается социального статуса, мы, студенты других специальностей, смотрели на однокурсников-информатиков со снисхождением. Это был самый «не-клевый» народ в общежитии – в основном, парни, которые ужасно одевались. Если кто-то и обращал на них внимание, это было из жалости и отвращения. Когда перед защитой диплома я сказал своей девушке, что, возможно, займусь программированием, она воскликнула: «О, нет, что за новости. Оно тебе надо?» Если бы вы провели опрос в любой компании, состоящей из представителей среднего класса Соединенного королевства, и попросили бы сравнить, скажем, медицину, право, архитектуру и что-то вроде бухгалтерского учета с разработкой программного обеспечения, уверяю, последняя оказалась бы в категории рода деятельности с самым низким социальным статусом. Даже в сфере бизнеса или, по крайней мере, традиционных предприятий, разработка программного обеспечения воспринимается, как относительно низкооплачиваемый вид занятости средней руки, подходящий для подростков или низкоквалифицированных специалистов. Ужасно и то, что все эти курсы с лозунгами «учитесь программировать, это легко» лишь усиливают впечатление, будто разработка программного обеспечения – дело несерьезное.

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

image
Google: как стать врачом
Источники: Бюро трудовой статистики США; раздел профессии (август 2015)
Шаг 1: Получите степень бакалавра;
Шаг 2: Сдайте тест на поступление в медицинский колледж;
Шаг 3: Поступите в медицинский университет;
Шаг 4: Пройдите медицинскую практику;
Шаг 5: Получите лицензию.


Существует целый перечень ступеней, которые необходимо пройти для получения признанной профессиональной квалификации. Выполнив необходимые условия, вы становитесь профессионалом в соответствующей области. Я не имел в виду, что легко стать врачом, но всем понятно, как это можно сделать. А теперь спросите Google «как стать разработчиком программного обеспечения». Ответы, вроде того, что использовал я, сводятся к туманным банальностям: «изучите язык программирования», «поучаствуйте в проекте создания продукта с открытым кодом», «вступите в сообщество местных программистов». Нет ни четкого плана относительно построения карьеры, ни гарантий по поводу того, когда и станете ли вы вообще профессионалом, ни слова о том, удастся ли получить высокооплачиваемую должность в будущем.

image
Google: как стать разработчиком программного обеспечения
Удачи!) Вы сами по себе.


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

Так может ли разработка программного обеспечения пополнить список традиционных профессий и установить высокую планку для специалистов области? Попытки сделать это уже предпринимались. Британское компьютерное общество (BCS), окрестившее себя «чартерным институтом IT», задалось проблематикой профессиональной квалификации и стандартов в этой сфере деятельности. Только незадача: подобную инициативу всячески игнорируют представители индустрии программного обеспечения. Даже если бы они приняли оформившийся орган всерьез, как проверить квалификацию специалистов? Как проводить экзамен? Существует не так много наработок по данному вопросу, ведь, не успев появиться, любой механизм быстро приходит в негодность из-за стремительного развития интернет-технологий. Возьмем, к примеру, объектно-ориентированное программирование. В 2000-х годах, феномен, казалось, закрепился в качестве базового элемента программирования, но, спустя полтора десятка лет, для меня, и многих других пользователей очевидно, что этого делать не стоило. Как быстро будут изменяться стандарты и квалификации в сфере программирования в современных условиях? Думаю, быстро.

Тем не менее, в своей статье я хотел, в первую очередь, подчеркнуть, что программирование – род деятельности, требующий наличия определенных способностей, профессия, в которой немногие могут достичь успеха. Если в целях повышения квалификации, необходимо отсеивать тех, кто не сумеет освоить программирование, имеет ли значение, если кандидатов проверяют посредством устаревших методов, не имеющих отношения к современной практике? Может быть, предварительный тест на знание предмета должен подразумевать освоение одной из весьма сложных программ LISP? Что-то вроде Glass Bead Game для программистов? Нужно же узнать, способен ли человек программировать. А современные трюки можно освоить и позже. Проблема по-прежнему заключается в том, чтобы квалификацию сотрудников признавали в рамках соответствующей индустрии.

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

Проголосовало 3567 человек. Воздержалось 435 человек.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Комментарии (185)


  1. Mrrl
    08.12.2015 21:27
    +11

    В 2000-х годах, феномен, казалось, закрепился в качестве базового элемента программирования, но, спустя 20 лет, для меня, и многих других пользователей очевидно, что этого делать не стоило.
    В каком же году это написано? В 2022-м?


    1. Wolf6969
      08.12.2015 23:40
      -42

      Почем зря цепляетесь. 2000-е года это 1991-2000. Ваш кеп


      1. Frag
        08.12.2015 23:44
        +38

        А 90-е когда были, капитан?


        1. fshp
          10.12.2015 08:58
          +3

          В восьмидесятых, видимо.


      1. YChebotaev
        08.12.2015 23:52
        +19

        Справедливости ради, 2000-е — это все-же 2001–2010. 1991–2000-е — это девяностые.


        1. Frag
          08.12.2015 23:57

          Вот и я о том =)


        1. Mrrl
          09.12.2015 08:35
          +6

          Скорее, 2000-2009 :)


    1. deniskreshikhin
      08.12.2015 23:57
      +7

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


      1. tyomitch
        09.12.2015 01:13
        +5

        Да и не только там: чего стоит «освоение одной из весьма сложных программ LISP».


        1. Yuuri
          09.12.2015 01:27
          +3

          И игру в бисер не перевели :(


          1. Mrrl
            09.12.2015 07:35

            Спасибо! Я её тоже не узнал :( Теперь стало гораздо понятнее.


  1. Scf
    08.12.2015 22:03
    +2

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

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


    1. jacob1237
      08.12.2015 22:20
      +23

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

      А если серьезно, про какую сферу Вы говорите?

      Большое количество современных специальностей, например в веб-разработке, требует в основном хорошее знание инструментов и процессов, и такие знания претендуют больше на ПТУ, чем на ВО. Front-end как пример.
      Беда только в том, что, как я понимаю, таких ПТУ пока нет (таких, где бы проходили например Gulp/Grunt/Browserify/Angular/Ember и т.д.) и на этом пытаются зарабатывать всевозможные «курсы». Впрочем как нет и сколько-нибудь полной системы подготовки таких кадров.

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


      1. Scf
        08.12.2015 22:34
        +1

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

        Вариант с «ПТУ» — это индийский путь. Да, он позволяет дешево и сердито клепать сайты-визитки и админить серверные фермы для больших корпораций, но это точно не тот путь, которым стоит идти России, с её инженерными традициями.


        1. Oxoron
          08.12.2015 22:55
          +12

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

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


          1. volhovec
            09.12.2015 17:04
            +1

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


      1. Oxoron
        08.12.2015 22:40

        Все осложняется еще и тем, что каждый год вот-вот да выстрелит какой-нибудь новый фреймворк, который будет стильнее/моднее/молодежнее.

        О да. Одну коллегу попросили написать учебный план с дисциплиной «современные информационные технологии» на 5 курсе. Добавить столько эмоций к фразе «современные и 5 лет в ИТ это антонимы» не каждому дано.
        Помню, мы ей про google glass говорили тогда, и где они теперь?


        1. YChebotaev
          09.12.2015 00:03
          -2

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


        1. scumware
          09.12.2015 01:19
          +8

          >мы ей про google glass говорили тогда.

          Google glass — это маркетинговый boolshit. Для меня всегда было очевидно, что запихать в их форм-фактор невозможно, что на серьёзные вычисления (а особенно графические) нужна парочка энергоблоков АЭС, а не маленькая батарейка, что управлять компьютером силой мысли мало кто не умеет, а других средств управления у этих стекляшек явно не достаточно, что их цена — явное указание на попытку заработать немного лёгких денег, а не захватить рынок.

          Какая там нафиг «дополнительная реальность»?! Там тупо негде разместить электронику!
          У меня в те годы в компе стояла не далеко не самая дорогая и не самая крутая видеокарта, так для её установки пришлось изуродовать старый корпус — она тупо не помещалась в него. А зимой я её как печку использовал: подставлял замёрзшие руки под горячий поток воздуха, выходящий из корпуса, с ужасом представляя её тепловую мощность. Фикус тут в том, что её производительности не хватило бы на «виртуальную реальность», а очков бы для «дополнительной реальности» не хватило бы тем более.

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


          1. Insty
            09.12.2015 03:26

            Подписываюсь под каждым словом. Сам вертел в руках эти хваленные Glass, а теперь это чудо лежит в универе на стенде с раритетами.


          1. nile1
            09.12.2015 08:31
            +38

            boolshit

            схоронил)


            1. Misery
              09.12.2015 16:20
              +7

              10100101201

              boolshit


          1. Alexeyslav
            09.12.2015 10:55
            +1

            Для электроники места там вполне достаточно! Для механики, конечно не найти…
            Нужна там не такая же электроника как в графических ускорителях, а специфическая заточенная на дополнительной реальности.


          1. elderos
            09.12.2015 12:12
            +3

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

            Просто гугловый пиар очень хорошо работает


        1. zahardzhan
          09.12.2015 16:14
          +1

          «Современные технологии» в мейнстриме и в академии это две большие разницы. То что сейчас для большинства «последний писк моды» и «хипстерство», для академии — г*о мамонта из семидесятых. Так что писать о «современных информационных технологиях» можно свободно с запасом на 10-15 лет, нужно лишь быть в теме не «современных» технологий, а современных технологий — в истинном смысле этого слова.


      1. asm0dey
        09.12.2015 09:03
        +7

        Здравствуйте, меня зовут asm0dey и я «синьор». Я вообще никогда не имел дела с нейронными сетями и вообще, мой весьма ограниченный мирок — это энтерпрайз. Ограниченный он потому что в нём редко встречаются нейросети и куча других интересных штук. Но зато этот мирок богатый. Очень богатый даже если ты не настоящий сварщик, а только маску на свалке нашёл. И да, конечно же я самообучился. Так-то я магистр психологии в бизнесе НИУ-ВШЭ'шного разлива.


        1. 0xd34df00d
          13.12.2015 18:27

          Чем же этот мирок богат тогда?


          1. asm0dey
            13.12.2015 18:46
            +3

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


            1. 0xd34df00d
              14.12.2015 22:16

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

              А деньги — дело такое, деньги едва ли могут принести ощущение самореализации.


              1. asm0dey
                14.12.2015 22:28
                +1

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


                1. 0xd34df00d
                  15.12.2015 19:46

                  Палка о двух концах, на самом деле.

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


                  1. asm0dey
                    15.12.2015 21:32

                    Ну я джавист и ещё интересуюсь хаскелем и другой функциональщиной. Хаскель хорош для математики, но я не математик и для души, но одной душой я много не заработаю.


                    1. 0xd34df00d
                      16.12.2015 13:51

                      Ну, таки за код на хаскеле мне тоже иногда платят. А иногда не платят, когда сижу дома и делаю что-то вечерами для души.

                      Не обязательно же весь код должен приносить деньги.


                      1. asm0dey
                        16.12.2015 13:53

                        Ну в моём маленьком мирке почти никто не понимает, что это у меня за закорючки вообще. Дженерики они ещё поняли, а вот линзы… Но мне нравится когда мне приносит деньги то, чем я занимаюсь для души :)


                        1. 0xd34df00d
                          16.12.2015 15:14

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

                          По крайней мере, мне было бы некомфортно, если бы мне за мой вечерний опенсорс внезапно начали бы платить, например.


                          1. asm0dey
                            16.12.2015 15:19

                            Поэтому я стараюсь найти работу, которая в радость (и, кажется, наконец нашёл) — чтобы обязательства нести было приятно.


                            1. 0xd34df00d
                              16.12.2015 18:23

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


                              1. asm0dey
                                16.12.2015 21:44

                                Ну видите, у нас с вами сильно достаточно интересы расходятся. Мне как раз это интересно. Абстрактные задачи меня не особо интересуют.


                          1. VolCh
                            17.12.2015 08:32

                            Не знаю, как по мне, деньги налагают некоторые обязательства.

                            Если деньги выплачиваются по факту сделанной работы, то не налагают. Как не налагает, например, надпись типа «отблагодарить автора вы можете так-то» на сайте проекта.


        1. arielf
          16.12.2015 21:38

          Это был тонкий юмор?


          1. asm0dey
            16.12.2015 21:43

            Почему?


            1. arielf
              16.12.2015 21:49

              Прошу прощения, просто ваш пост слишком типично энтерпрайзный ;-) ещё раз извиняюсь.


              1. asm0dey
                16.12.2015 22:12

                Да не, мне правда интеренсо в энтерпрайзе. Кровь и кишки в нём не очень люблю, но разбираюсь в них тоже :).


        1. arielf
          16.12.2015 21:47

          А вообще, как я уже писал программисты бывают самые разные, как и строители. Продолжая аналогию, можно сказать, что Вы (из Вашего описания) — квалифицированный проектировщик супермаркетов, а парни из Human Brain Project — занимаются подводными городами, например. Само собой на супермаркетах Вы намного больше заработаете, и это создаёт некую иллюзию большей значимости — но это не значит, что наукоёмкие проекты оказались уделом нищих аутсайдеров.


          1. asm0dey
            16.12.2015 22:14

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


      1. VolCh
        10.12.2015 11:44

        такие знания претендуют больше на ПТУ, чем на ВО

        Техникум/колледж. Среднее профессиональное образование.

        И не имеет значение конкретный фреймворк, инструмент или язык. Там должны учить промышленной разработке в целом.


      1. veitmen
        15.12.2015 11:18
        +1

        Блин. :) ТАк и хочется сказать, а я говорил. :) А ведь это было уже 6 лет назад. :)

        Вообще да, все верно. Сейчас нужны специалисты, умеющие решать задачи.


    1. dendron
      09.12.2015 19:10
      +4

      Из всего вышеперечисленного я согласен только со знанием базовой теории. Способность решать олимпиадные задачи по математике и писать сложные алгоритмы — ИМХО, вообще не важно для джуниора (а чаще всего и не для джуниора). Нужные знания в требуемой предметной области можно и походу подтянуть.

      Гораздо важнее способность работать в команде, без этого никуда.


  1. evil_me
    08.12.2015 22:16
    +47

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

    Айти — это такое место, где невозможно получить хоть сколько-нибудь приемлемое образование. Ты можешь закончить ИТМО или Политех, хвастаться золотыми медалями и красными дипломами. Но Вася с образованием «менеджер по туризму», вовремя прочитавший Олиферов, всё равно окажется ценнее в серверной. Тем более, всё равно 90% знаний появляются в процессе испуганного панического тыканья вслепую. Кстати, если ты думал, что пока у тебя мало опыта и ты, весь зелёный и трясущийся, пытаешься разобраться в настройках свитча стоимостью с твою машину, тебя будет хоть кто-то подстраховывать, — чувак, ты очень серьёзно ошибался.


    (с) Чумной барак для сумасшедших фриков


    1. Iceg
      09.12.2015 12:53
      +10

      инженеров страхуют целыми отделами, занятыми перепроверкой всего и вся
      Не хочу никого напугать, но — нет ;-(


    1. XAHOK
      11.12.2015 21:22

      Спасибо!

      Айти — это когда ты точно знаешь, после какой бессонной ночи подряд начинаются лёгкие галлюцинации.


      Узнаю себя


    1. ConstantineOupirum
      16.12.2015 06:31

      О, узнаю. Эту пасту мой знакомый написал.


  1. QtRoS
    08.12.2015 23:08
    +26

    Голосование все же надо было делать с несколькими вариантами, я хоть и считаю, что самообразование это 4/5 моих навыков, но университет не хочется совсем уж считать абсолютно бесполезным, в конце концов где еще твои лабораторки бесплатно проверят и укажут на недостатки?.. А ведь это первый, но обязательный шаг к становлению стиля программирования, логического мышления и т.д.

    И дополнительно хочется согласиться с тем, что что-то нездоровое есть в этой суматохе а-ля «Программистом стать легко, не нужно быть гением». Например, с похожей настойчивостью сейчас везде рекламируют бинарные опционы =\


    1. zharikovpro
      08.12.2015 23:38
      +5

      Плюсую. По большей части я самоучка. Но например о такой дисциплине как дискретная математика и о ее применении в том числе в играх узнал в ВУЗе. В общем, очень многое зависит и от программы обучения и от преподавателей. Есть и замечательные, у которых реально есть чему полезному поучиться.


      1. TimsTims
        09.12.2015 09:47
        +3

        Согласен с вами. И опрос «Are you self taught programmer?» вовсе не означает, что:

        76% опрошенных утверждают, что всему учились сами.

        -Ключевое слово «Всему сам» здесь из ниоткуда появилось, ведь в опросе вопроса «научились всему?» небыло.

        Еще такой интересный момент — можно ли считать «самообучением» — задавание вопросов на форумах, общение через компьютер с другими людьми для поиска ответа? Гугл в помощь — это тоже самообучение? Ведь в любом случае, ты читаешь то, что написали другие люди для тебя(для всего интернета), значит кто-то тебя по идее учит. Значит, отличия от образования с преподавателем лишь в том, что преподаватель работает с тобой «в режиме реального времени», а странички в интернете просто сохранены как текст в учебнике.

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


        1. Alexeyslav
          09.12.2015 11:06
          +1

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


          1. TimsTims
            09.12.2015 13:58

            Ок, тогда заранее составленный видео-урок вы куда отнесете? А книгу «Изучаем С++ за 3 недели» куда?
            К программе обучения(ведь и в видео-уроках есть план обучения), или к самообучению, потому-что ты вдруг решил прямо сейчас посмотреть/досмотреть видеоурок, или вдруг решил прервать видеоурок т.к. понял, что он тебе больше не нужен?
            Здесь грань очень тонкая, и её определяет сам человек. Т.е. от человека всё зависит — будет/хочет ли он обучаться, или нет.

            Все знания, которые есть в ИТ — готовят для нас другие люди, значит потенциально, мы от них тоже обучаемся. Кто тогда кого учит?


            1. Alexeyslav
              09.12.2015 15:26

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


            1. Source
              09.12.2015 20:39

              заранее составленный видео-урок вы куда отнесете? А книгу «Изучаем С++ за 3 недели» куда?
              Конечно, в самообразование, если ты сам решил его посмотреть/прочитать потому что захотелось, а не потому что надо. Самообразование от образования отличается не отсутствием плана обучения(его можно и самому для себя составить), а тем что только ты сам решаешь что и как изучать и сам с себя спрашиваешь.
              Оно может включать в себя что угодно, и чтение учебников, и просмотр видеокурсов, и общение на форумах, и парное программирование, в общем любые формы получения знаний и навыков.


              1. chersanya
                10.12.2015 08:41

                … и сам с себя спрашиваешь.

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

                А вообще грань достаточно тонкая — например, обучаться в университете можно и по индивидуальному плану.


                1. Source
                  10.12.2015 13:42

                  В случае с обучением в университете, есть известный критерий: ты зачем учишься? для получения знаний или для получения оценок/диплома?
                  Чисто технически, если для знаний, то это можно тоже самообразованием считать, так как учебный план ВУЗа будет только вспомогательной частью обучения.


                  1. Mrrl
                    10.12.2015 13:53

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


                    1. Source
                      10.12.2015 21:51

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


                      1. Mrrl
                        10.12.2015 21:57

                        Выбор кафедры и темы диплома — конечно, тоже шаги квеста… как и участие в студенческой жизни.


        1. PsyHaSTe
          10.12.2015 09:33
          +1

          Имхо самообучение — это когда ты сам себя контролируешь с выполнением заданий, а не кто-то. Если человек самостоятельно лезет в гугл и хочет чего-то узнать — это самообразование. Если мама сказала, что стране нужны программисты — то нет. А источник знаний — преподаватель или гугл, какая по сути разница?


    1. deniskreshikhin
      08.12.2015 23:53
      +4

      в конце концов где еще твои лабораторки бесплатно проверят и укажут на недостатки?

      Для таких целей есть codereview.stackexchange.com


    1. YChebotaev
      09.12.2015 00:13
      +4

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


      1. VolCh
        10.12.2015 11:53

        Как можно ориентироваться на заказчика и из-за этого получать конфликты с ним же?


        1. Oxoron
          10.12.2015 15:34

          Заказчик хочет странного. Получает. Пользователи (подчиненные заказчика) жалуются заказчику, у того болит голова и отваливается язык всех на*** посылать. И он идет говорить с разработчиком, чтоб переделал. Согласно (взятой с потолка) статистике, заказчик при этом желает, чтоб разработчик переделал бесплатно либо дешево. А разработчик (согласно той же статистике) не желает работать даже дешево. Конфликт желаний, который иногда называют конфликтом интересов.


    1. VolCh
      10.12.2015 11:51

      В большинстве вузов большинство проверок преподавателем (хорошо если не лаборантом) легко бы заменилось приемочными тестами. Субъективно.


      1. YChebotaev
        10.12.2015 20:07

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


        1. VolCh
          10.12.2015 20:11

          Автоматизированный, да.

          Лет 20+ назад в рамках курсовой работы я написал программу автоматической (псевдо)случайной генерации заданий и их проверки. Потом использовалась на кафедре. По слухам студенты были более младших курсов были очень недовольны, что не могли найти готовые решения у студентов старших курсов.


          1. QtRoS
            10.12.2015 20:26

            А поговорить со студентом? Увидеть знания\незнание? Поощрить интересующихся\наказать неуспевающих?
            Я не буду с Вами спорить, но по мне сам смысл преподавания заключается в контакте между преподавателем и студентом.


            1. VolCh
              10.12.2015 21:21

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


    1. saboteur_kiev
      16.12.2015 03:37

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

      Буквально сегодня был на рекламе новых проектов в нашей конторе. Требуются не просто мидлы-сеньоры, а люди конкретно шарящие в математике. Всякое компьютерное зрение, видеокодеки, сжатие, распознавание. Требования — куча матана, алгебра, всякие алгоритмы… Я осознаю, что во взрослом возрасте (25+) освоить матан в разы сложнее, чем программирование, не в последнюю очередь из-за мотивирования. На матан мотивировать тяжело…


      1. arielf
        16.12.2015 22:37
        +2

        У кого как, я сейчас осваиваю курс математики намного легче, чем в семнадцать лет, ибо знаю зачем оно мне нужно.


  1. ZOXEXIVO
    08.12.2015 23:12
    +3

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


  1. Kroid
    08.12.2015 23:55
    -6

    Что тут сложного? Не бином Ньютона. По-моему, крутым хирургам в 100500 раз тяжелее приходится.


    1. qw1
      09.12.2015 00:46
      +8

      Если сравнивать, то весь спектр медицинских работников, от медсестёр и терапевтов, до крутых хирургов, со всем спектром программистов, от писателей макросов в Excel, до разработчиков jit-компиляторов и систем компьютерного зрения.


      1. AlexTest
        09.12.2015 09:30
        +8

        Интересно где на вашей шкале медработников находится скорая помощь?
        Случился как-то со мной oртостатический коллапс. Приехала скорая, врач с фельдшером довольно быстро сообразили, что у меня упало давление и надо бы прокапать допамин, но поставить капельницу не смогли, т.к. вены сдулись и ушли глубоко. Истыкали мне предплечье, кисть и даже в ногу хотели сделать -я их послал, приехала другая бригада — тоже не могут. Мне плохеет — вызвали реанимацию, слава богу в бригаде реанимации была очень пожилая женщина, которая без проблем с первого раза смогла поставить капельницу на другой руке. В итоге все закончилось хорошо, только потом еще месяц проходили гематомы от попыток первых бригад. Что мы имеем — стандартная и довольно частая ситуация с пониженным давлением и «уходом» вен, две бригады скорой помощи тупо не могут в этой (не самой сложной) ситуации капельницу поставить!
        Я думаю квалифицированных кадров не хватает везде, а не только в IT.


        1. Calc
          09.12.2015 12:39

          Сисадмины?


          1. BalinTomsk
            09.12.2015 22:55
            +2

            у нас на канадской тусовке figvam.ca: зуботехник — тестер, терапевт — сисадмин, фармацевт — научный программист, еше пара человек с околомедицинским образованием — программный менеджер и аналитик.


      1. Kroid
        09.12.2015 12:40

        С чего бы сравнивать весь спектр? Граф, у которого все вершины соединены со всеми остальными, не несет практической информации. Гораздо интересней случаи, в которых некоторые вершины не соединены с некоторыми другими. Ну да ладно.

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


        1. qw1
          09.12.2015 13:32
          +2

          Это известный факт. Кого-то выматывает работа с кодом, но во взаимодействии с людьми они как рыба в воде, кого-то выматывает общение, а кодирование, наоборот, приятно.


    1. DrReiz
      09.12.2015 14:02
      +4

      Тяжелее != Сложнее, Трудность != Сложность.


  1. ooprizrakoo
    09.12.2015 00:11
    +4

    В статье верная мысль промелькнула — для того, чтобы стать хорошим программистом, помимо желания и наличия компьютера с обучающими материалами, нужно ещё иметь и специфический склад ума, коим обладает по моим прикидкам не более ~50% людей. Куда идут выпускники вузов с кафедр программирования/вычисл.математики? Статистику можно увидеть, по-моему в программисты не более 20%. Остальные находят себя в смежных областях или вообще в других сферах.

    Если человек до вуза не пробовал делать что-то по своей специальности, или если пробовал и ему не понравилось — надо задаться вопросом, а точно ли престижная корочка диплома/сертификата важнее личной самореализации в какой-то другой, потенциально менее денежной сфере. Ведь в долгосрочной перспективе работа по призванию окажется гораздо более полезной и денежной, чем «престижная», но не любимая.


    1. tyomitch
      09.12.2015 01:26
      +6

      Если человек до вуза не пробовал делать что-то по своей специальности, или если пробовал и ему не понравилось — надо задаться вопросом, а точно ли престижная корочка диплома/сертификата важнее личной самореализации в какой-то другой, потенциально менее денежной сфере.

      Вот кстати да. Как раз на днях большой начальник рассказывал, что какой-то профессор Кембриджского университета ему жаловался: «Пятнадцать лет назад первокурсники на специальность Computer Science приходили с опытом самостоятельного кодинга хотя бы на Бейсике; сейчас — некоторые пробовали сами писать HTML-разметку, а большинство вообще не представляют себе, что такое код.» Это после отбора лучших среди всех британских абитуриентов!


      1. beeruser
        10.12.2015 01:03
        +3

        Платформы 80-х годов подталкивали к этому.
        8-битники после сброса стартовали в бейсике.
        А там и до 10 PRINT «Hello World!» недалеко.

        Что мы имеем сейчас? Тыкнуть пальцем в иконку, с чем прекрасно справляются обезьяны.
        http://www.youtube.com/watch?v=JkNV0rSndJ0


        1. Mrrl
          10.12.2015 15:41
          +2

          Какой PRINT? Выучили два волшебных слова LOAD и RUN, научились подключать магнитофон — и играй на здоровье…
          Но действительно, желание написать свою игрушку появлялось быстро.


          1. XAHOK
            11.12.2015 20:53

            Но действительно, желание написать свою игрушку появлялось быстро.


            А потом ты начинаешь играть как извращенец (по мнению всех остальных):

            — тут косяк в логике…
            — а давай попробуем ввести AI в ступор…
            — интересно, а как он вообще <что-то> рассчитывает?..
            — хм, а как же оно тут работать может?..
            — а что будет, если это значение в памяти раза в 2 увеличить… упс, упала (привет первый Elite, ArtMoney и бесконечное топливо:))
            — не, ну тут точно костылей понаставили…
            — ну вроде основные принципы логики уже понятны… надо бы собрать все воедино и найти оптимальный стиль игры…
            — что-то играть уже слишком легко и не интересно…
            — uninstall

            А дальше привет Pascal/Basic/C++/Java и т.д, а так же мнение окружающих, что ты очень странный человек.

            PS. Лет 10 назад «играл» в Neverwinter Nights. На создание персонажа было потрачено времени раз в 10-20 больше, чем собственно на игру. Все никак не складывалась логика для пункта: «надо бы собрать все воедино и найти оптимальный стиль игры...».


    1. Ajex
      09.12.2015 02:11

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


  1. JRazor
    09.12.2015 00:43
    +9

    Не знаю, как в России, но мне в Казахстане очень тяжело объяснить, чем я занимаюсь (я фрилансер, Python-разработчик). Страны СНГ еще не вышли на технологический уровень и это очень сказывается как на внедрении информационных технологий (интернет-магазины и прочее), так и на «Я программист. — Компьютеры настраиваешь?». То есть мало того, что это перевод, так у нас все еще хуже.

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


    1. WST
      09.12.2015 08:39
      +3

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


      1. vlreshet
        09.12.2015 10:59
        +5

        Они становятся на путь «тыжпрограммиста».


    1. Nookie-Grey
      09.12.2015 21:30
      +1

      Абсолютно тоже самое в Узбекистане.
      Я уже не говорю что я front-end разработчик, тупо упрощаю — программист, так меня недавно одна барышня спросила:
      — Программист? В IT?
      — … Я такой думаю, тааак, а где еще бывают программисты, если не в IT? Думаю ну ладно, кивну — Да, в IT.
      — У меня в компьютере куча вирусов, можешь почистить
      Это было бы баяном, если бы не было правдой)

      Или другой друг спрашивает чем занимаюсь, смогу ли найти ему работу, я говорю ок, могу поднатаскать на HTML/CSS для начала,
      а он такой скорчил лицо, не… я вот Cи изучаю…


      1. Wayfarer15
        09.12.2015 22:19
        +3

        Представь себе следующее, спрашиваешь ты меня, чем я занимаюсь, а я говорю:
        — Я Microarray Analysist.
        — WTF?
        — А это в био-информатике.
        — А, так ты программист, и на чём вы программите?

        «Это было бы баяном, если бы не было правдой»


        1. Nookie-Grey
          10.12.2015 13:11

          Может мне стоит закопирайтить выражение?)

          К сожалению даже гугл не смог внятно ответить, что это за профессия. Это что-то связанное с тестирование ДНК-микрочипов?


      1. 3dtim
        10.12.2015 15:01

        реально на HTML/CSS можно что-то заработать кроме как на еду?


        1. VolCh
          10.12.2015 18:07

          Смотря сколько есть. Сотня тысяч рублей — это только еда или нет?


          1. qw1
            10.12.2015 21:28
            +1

            Вспоминается анекдот:

            — Ты нищеброд, даже на туалетную бумагу не зарабатываешь.
            — Ну ты и засранка...


          1. 3dtim
            11.12.2015 08:37
            +1

            сотка за что? только за верстку страничек? ой врядли


            1. VolCh
              14.12.2015 07:44

              Только. Максимум цликлы и условия шаблонизаторов. Даже джаваскрипт пишут специально обученные люди.


              1. 3dtim
                14.12.2015 09:06

                Видимо я что-то не понимаю в этой жизни)
                Может они бешеные объемы гонят, впахивая без выходных?


                1. StGeass
                  14.12.2015 13:04
                  +3

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


                  1. Nookie-Grey
                    14.12.2015 13:14

                    а ооочень хорошие верстальщики получают еще больше) Которые считают что вёрстка — это просто css2.1 а которые изучают w3c.org, браузеры/платформы и т.п. В вёрстке тоже есть много тонкостей. Хотя это уже не верстальщики) Вообще глупый термин.


                  1. 3dtim
                    14.12.2015 13:28
                    +1

                    запишусь ка я на курсере на курс по верстке, раз такое дело!


                1. VolCh
                  14.12.2015 18:54

                  Нет, просто хорошо знают свою работу. Как говорится среди ночи разбуди и расскажут о нюансах вёрстки под ИЕ7 и последнюю айось на часах. Или их предложения принимают за основу в в3ц.


  1. tyomitch
    09.12.2015 00:43
    +34

    У переводчика богатая фантазия.

    It’s well paid, mobile, and the work itself is challenging and rewarding.
    Работа хорошо оплачивается, в том числе и услуги мобильной связи для специалиста, плюс сама профессия интересна и приносит море бонусов.
    Mobile — «подвижная» (легко переходить с одного места работы на другое) — превратилась в «услуги мобильной связи для специалиста».


    1. JRazor
      09.12.2015 00:54
      +13

      Я долго пытался понять, что за привилегии у меня в мобильной связи


      1. ragequit
        09.12.2015 01:01
        -9

        tyomitch, мне тут рассказывали, что об огрехах/ошибках перевода принято сообщать в ЛС, а не тешить свое ЧСВ в комментах. Ошибки случаются у всех.


        1. Iceg
          09.12.2015 13:00
          +4

          Я прихожу к мысли, что нужно стыдить за ошибки, чтобы была мотивация их не допускать. В каждой статье есть ошибки — от неверного перевода и несогласования падежей до унылого тся/ться. Но хабр же не сообщество редакторов для бесплатной вычитки?


          1. tyomitch
            09.12.2015 17:53
            +5

            Есть разница между ошибками, не влияющими на смысл текста (типа несогласования падежей и унылого тся/ться) — и ошибками, искажающими смысл, иногда до противоположного (например у alizar).
            О вторых есть смысл сообщать в комментариях потому, что если автор «втихую» исправит смысл статьи — уже прочитавшие её не узнают, что прочитали не то.


            1. Iceg
              09.12.2015 18:25
              +4

              Ошибки, искажающие смысл — это не совсем даже «ошибки» в статье, это суть плохая статья, и обсуждение таких «ошибок» можно считать полноценным обсуждением статьи. К ним я бы отнёс и неверный перевод, и слишком вольный пересказ новости в духе "via %source%".

              ps

              21 сентября 2011

              Экий вы злопамятный)


        1. withkittens
          09.12.2015 14:14
          +3

          Вас обманули.


      1. qw1
        09.12.2015 01:11

        У меня мобильная связь и интернет оплачивается. Когда читал это место, подумал: «молодец автор, хорошо знает специфику». А тут просто ошибка перевода ((


        1. ragequit
          09.12.2015 01:13
          -2

          Так-то я в курсе о подобных плюшках, поэтому, вероятно, и закралась ошибка :). Выше товарищи правы в плане «мобильности».


  1. goodbear
    09.12.2015 00:55
    +5

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


    1. qw1
      09.12.2015 01:15
      +5

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


    1. zontar
      09.12.2015 03:55
      +3

      очень мало о чем говорят без подтверждения данных

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

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

      Точно так же неизвестно сколько «закончил профильный факультет» стали бы более классными программистами, если бы получили бы 5-6 лет профильного опыта в хорошей компании, не забывая при этом про MOOC.


      1. asm0dey
        13.12.2015 20:35

        Мой хороший товарищ, друг и бывший коллега вообще без высшего образования поработал-поработал сначала у себя в Новосибе, потом в мск, а теперь уехал развивать OpenShift 3 в RedHat. Причём всю дорогу тут он писал на Java, а там его взяли на синьора на Go.


    1. palexisru
      09.12.2015 04:21
      +1

      Да, «где научились?» и «какое образование?» — разные вопросы.
      Программирование на 1 курсе (и, теперь, в школе на информатике) все проходят.
      За высшим образованием пришлось гоняться позже, но там программирование — 1 из 40 предметов. Основное — предметная область.


    1. VolCh
      10.12.2015 12:12
      +1

      Я видел достаточно «считаю себя программистом» на чью работу невозможно глядеть без слез.

      Приемочные тесты проходит эта работа?


    1. arielf
      16.12.2015 22:57

      Как хорошо, что нельзя ещё «cчитать себя авиационным инженером», химиком или, упаси Бог, врачом.


  1. xakpc
    09.12.2015 07:47
    +5

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

    Можно еще условно разделить программистов на тех кто совершенствуется за счет проектов «в стол» и на тех кто делает это за счет корпоративных курсов. Но говорить что «я научился программировать в университете / я научился программировать сам» просто глупо.


    1. m52
      09.12.2015 07:50
      +1

      > Технологии не стоят на месте

      В этом проблема :3


    1. lucid
      09.12.2015 09:46
      +2

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


    1. Calc
      09.12.2015 12:49
      +1

      А вы не рассматриваете тех, кто в институте не учился, но очень успешно работает в сфере?


    1. VolCh
      10.12.2015 12:16

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

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


  1. DenVdmj
    09.12.2015 08:37

    Забавно, но на лицо несоответствие между реальными навыками аспирантов и квалификации, которой от них ожидают работодатели.
    Между навыками и квалификацией. Исправьте пожалуйста.


  1. AlexTest
    09.12.2015 08:46
    +2


  1. AlexZaharow
    09.12.2015 08:56
    +7

    За многие года работы в IT — программирование — это просто перекладывание данных из одного места в другое. В этом вся суть или дзен, если хотите. Все «современные» и не очень технологии просто предоставляют разные способы для этого и для разных условий в которых это «перекладывание» происходит. Но как бы это банально не звучало — это очень интересно. Как программист, я — туроператор для данных. И от меня зависит, какой сервис предоставить моим данным. Мне нравится предоставлять моим данным первоклассный сервис, принимать их, устраивать в пятизвёздочные хранилища, устраивать их показы, чтобы все на них смотрели и восхищались: «глядите, какие классные данные!!!».

    «Дайте мне точку опоры и я подниму это хранилище данных!»


    1. tyomitch
      09.12.2015 18:15
      +3

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


      1. Mrrl
        09.12.2015 18:48
        +2

        Проблема в том, что во всяких обработках всё равно огромная часть времени компьютера идёт на перекладывание байтиков из структуры в структуру. А времени программиста, если он хочет обработку ускорить — на борьбу с этими перекладываниями, чтобы данные побыстрее попадали на то место, откуда их возьмёт следующий обработчик. И это тоже очень интересно :)
        Правда, от гибкости архитектуры после такой оптимизации ничего не остаётся… зато есть шанс, что программа успеет выполниться за назначенное время.


    1. Source
      09.12.2015 20:53
      +2

      всё-таки надо расширить до «перекладывание и преобразование», своебразный конвеер для данных, которые, пройдя через серию алгоритмов, превращаются в другие данные…
      а так да, в этом вся суть программирования )


  1. juga
    09.12.2015 11:15
    +1

    Говоря об IT в Англии, автор не учитывает, по-моему, главного — ИТ у них не просто не престижная работа, а скорее удел горстки фриков/гиков. У них престижно и популярно быть медсестрами и юристами.

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

    Впрочем, если начали появляться гос. программы, то это лет через 5-10 ситуация is quite likely to change.


    1. dark_ruby
      09.12.2015 12:40

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


      1. juga
        09.12.2015 12:49
        +3

        Может быть ваше мнение справедливо для Лондона, Манчестера, но для остальной страны — все-таки думаю, я права.

        Участвовала в нескольких университетских программах Борнмута, Саутгемптона, конфах для поступающих и выпускников. Ооочень маленький интерес и предложение в IT. Такой вот mindset — программирование не интересно и будущего там нет.


      1. qw1
        09.12.2015 13:38

        Поэтому и жалуются, что разница не вписывается в их картину мира.


  1. bo883
    09.12.2015 11:26

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


  1. Gugic
    09.12.2015 12:11
    +3

    А я 100%-й самоучка, по образованию инженер-конструктор (в смысле железа). И очень часто сильно жалею об отсутствии профильного образования. Просто иногда, не смотря на годы практики и долгий и упорный рост из джуниора, десятки больших и не очень завершенных проектов и прочая и прочая, не хватает знания какой-то базовой вещи.


  1. Godless
    09.12.2015 12:40
    +3

    В целом я согласен с заголовком, но не могу отнести себя к одной группе. Я самоучка во многом да, но в универе нас учили и я учился (понимаем разницу, да?) многому и очень полезному. Я не могу представить как бы я поднял даже за 10 лет то, чему научили в универе за 5.
    Надо отчетливо понимать, что знать/уметь делать в каком-то языке if/while/proc/struct/cmpxchg8b/jmp $ — это одно, а разбираться в предметных областях — это другое. Ни один программер не напишет толковую прогу без адекватного понимания предметной области.
    Ситуацию осложняет рост количества технологий… Сегодня очень сложно выделить то что будет живо еще лет 10. Да и порог вхождения возрос и растет каждый год…
    Про какие-то специфические способности говорить сложно как мне кажется. Да, люди с предрасположенностью к решению интегралов в голове справляются с задачами лучше, но я видел обычных трудяг, которые всего добивались кропотливым трудом. Да, они тратили больше времени, но результат был не хуже.

    А по поводу вечного обучения в нашей сфере… Да таких полно. Мир меняется. Это надо принять.
    ЗЫ: выше AlexZaharow интересную метафору приводит.


    1. VolCh
      10.12.2015 12:26
      +1

      Да и порог вхождения возрос и растет каждый год…

      Скорее наоборот уменьшается с появлением всё более высоких уровней абстрагирования.


      1. Yuuri
        14.12.2015 02:17

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


        1. VolCh
          14.12.2015 07:46

          Чем выше уровень абстракции тем, как правило, проще ложатся.


  1. Fen1kz
    09.12.2015 13:04
    +2

    Не очень понял как так быстро доказали что не все могут программировать и для этого нужен «талант». Тезисы у них такие:
    1) Много студентов не годны даже после обучения
    2) Программы обучения плохие
    И вывод они делают какой-то странный: Для программирования нужен талант, а форму обучения стоит сменить.
    Хотя я бы предположил что если сменить программу обучения, то и количество «талантливых» резко поднимется.


    1. Mrrl
      09.12.2015 13:43
      -1

      Центральный тезис у них такой:

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

      И, собственно, вопрос: насколько велики шансы у тех, кто «провалил первый курс», пойти и научиться самостоятельно? Почему они его провалили? Только из-за того, что программа обучения плохая?


      1. smartello
        09.12.2015 19:11

        У нас ещё на втором неплохо сократилась группа, преподаватель не шутил, оказывается, что в среднем каждый четвёртый, переживший первый курс и самые основы, клинически не понимает указателей.


        1. Mrrl
          10.12.2015 15:43

          Вероятно, у этих «четвёртых» не было таланта. Что и требовалось доказать.


    1. intet
      09.12.2015 14:15
      -1

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


    1. withkittens
      09.12.2015 14:21
      +2

      Для меня было очень занятным вот это чтиво: Separating Programming Sheep from Non-Programming Goats. В том числе paper (про тест), на который статья ссылается.


      1. velvetcat
        09.12.2015 20:40

        Спасибо за ссылку. Имхо в этом списке

        The authors of the paper posit that the primary hurdles in computer science are…

        assignment and sequence
        recursion / iteration
        concurrency*

        не хватает указателей (про принципиальную неспособность их понять некоторыми людьми писал Джоэль Спольски).


      1. Mrrl
        10.12.2015 15:54

        Во как.

        In the test the consistent group showed a pre-acceptance of this fact: they are capable of seeing mathematical calculation problems in terms of rules, and can follow those rules wheresoever they may lead. The inconsistent group, on the other hand, looks for meaning where it is not. The blank group knows that it is looking at meaninglessness, and refuses to deal with it.

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


  1. Gorthauer87
    09.12.2015 14:14

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


  1. Arslaman
    09.12.2015 14:15
    +3

    Только треть респондентов получила диплом по информатике или смежным предметам и почти 42%, самая большая группа, — самоучки.

    Если сложить бакалавров и магистров, то получится ~56%.


    1. Mrrl
      09.12.2015 15:30
      +7

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


  1. DieSlogan
    09.12.2015 18:36
    +1

    Хорошим программистом — да, но вот нужны еще и те, кто будет прилаживать веб-морду к готовой системе. И даже не прилаживать, а просто создавать шаблоны и распихивать по нему данные, максимум, что там нужно — где-то парочку if/case поставить.
    И такие тоже нужны, потому что даже junior-у это надоедает.


    1. Mrrl
      09.12.2015 18:52
      +11

      У альф работа гораздо трудней, чем у нас, потому что альфы страшно умные. Прямо чудесно, что я бета, что у нас работа легче. И мы гораздо лучше гамм и дельт.


    1. VolCh
      10.12.2015 12:28

      а просто создавать шаблоны и распихивать по нему данные, максимум, что там нужно — где-то парочку if/case поставить.


      Это работа нормального верстальщика (не путать с фронтенд-разработчиком)


      1. Nookie-Grey
        10.12.2015 13:24

        DieSlogan и говорит, что очень часто нехватает просто хорошего верстальщика, который может точно и качественно создать View, со всеми учётами браузеров/разрешений/изменения контента и т.п. А сейчас junior-ы лезут глубоко, не разобравщись с азами. И считают что они крутые программисты, раз смогли подключить шаблон к CMS, а вёрстка — это так, лёгкая ерунда. Но когда доходит реально до вёрстки то очень часто спрашивают(даже не джуниоры) чем отличается tag .class {} от tag.class {}

        Раз уж пошло.
        Часто вижу как ПМ/руководство готово платить PHP/Java разработчику по его рейту за то, чтобы он коряво верстал,
        но нанять хорошего верстальщика, даже на чуть меньший рейт, чтобы тот всё сделал быстрее и качественнее они считают дорого и неоправданными растратами


        1. vlreshet
          10.12.2015 14:54
          +1

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

          tag .class
          
          — это класс который находится внутри тега,

          tag.class
          
          — это тег с таким-то классом, верно?


          1. Source
            10.12.2015 22:07

            В принципе да, но если позанудствовать, то

            tag .class {} — это стиль, который применится к любым элементам с классом «class», находящимся внутри элементов tag

            tag.class {} — это стиль, который применится к элементам tag с классом «class»


        1. VolCh
          10.12.2015 18:10
          +1

          Часто вижу как ПМ/руководство готово платить PHP/Java разработчику по его рейту за то, чтобы он коряво верстал,
          но нанять хорошего верстальщика, даже на чуть меньший рейт, чтобы тот всё сделал быстрее и качественнее они считают дорого и неоправданными растратами


          Как правило, на проекте просто нет загрузки на фуллтайм верстальщику, как минимум. А похоже и PHP/Java разработчику :)


  1. Wayfarer15
    09.12.2015 22:31
    +6

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

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

    Это я к тому, что давно пора уже забыть слово «программист», а использовать специализацию. Утверждение, что у нас нет «врачей» звучит глупо — каких врачей у вас нет, вам нужен детский терапевт или гинеколог? Однако «нет толковых программистов» почему-то ни кого не напрягает. Для меня это звучит также глупо. Мне, например, нужен специалист по ICD-10 кодам. И что? Что же вы, гении в PHP, жметесь по углам? И почему программисты C++ для QNX не строятся рядами?


    1. OutLander
      10.12.2015 01:03
      +1

      Я аж поперхнулся своим кофе. Бывают же совпадения… Я как раз исправляю баг связанный с неверным мапингом сих кодов (если вы говорите о International Classification of Diseases, а то вдруг подразумевалось другое)


      1. Wayfarer15
        10.12.2015 02:01

        Они самые — ICD-9 и ICD-10.


    1. VolCh
      10.12.2015 12:36
      +3

      Мне, например, нужен специалист по ICD-10 кодам. И что? Что же вы, гении в PHP, жметесь по углам?

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


  1. Wayfarer15
    10.12.2015 02:30
    +2

    Писать коммент без фактов не хотелось, пока искал, нашёл таки такую букву, а заодно и пример того, почему заказчики недовольны программистами. И так, смотрим — рост количества API за… а фиг его знает какое время (а ведь этот график сбацал Head Developers Relations).

    Кстати, это данные до 2008 года, сейчас уже 14 тыс API.

    image

    Получается, что заходя в универ, даже очень толковый парнишка наблюдает одну картинку, а на выходе от него работодатели требуют уже совсем другое, потому что «месяц назад John Пупкин из Кремниевой Долины представил какой-то новый API, который в очень узком случае много лучше, чем те 14 тыс уже существующих API» и теперь работодателю срочно нужны специалисты именно по этому API.

    И тут можно разрозиться проклятиями на систему образования, котороя, такая сякая, не подготовила программистов со знанием API от г. John Пупкина из Кремниевой Долны или ленивых программистов, которые, почему-то, не набрасываются на yet another API.

    Думаете я утрирую — ни чего подобного. Я прямо в режиме реального времени наблюдаю, как заказчики хотят уже иметь готовых специалистов по HL7 FHIR в то время как сам стандарт ещё только во второй draft версии. Откуда взяться специалистам, из какого универа, если стандарт ещё не утвержден?


    1. mapron
      10.12.2015 06:45
      +2

      Ага, а в вакансиях по С++ — «Отличное знание С++11/14», хотя стандарту 14 года, на минуточку — один год. Т.е. у универа нет никаких шансов.


    1. arielf
      16.12.2015 23:09

      В университете, как правило, изучают фундаментальные знания, а API нужно учить в свободное время и практиковаться в летних школах.


  1. saboteur_kiev
    10.12.2015 04:39
    +5

    А причины — вполне логичные и видны невооруженным глазом.

    1. Программирование — интеллектуальная профессия, и нытье на тостере, что «читаю книгу по программированию, и через 20 минут уже не могу, что делать», мне говорит о том, что подавляющее большинство в школе не училось, в детском саду родители ребенка не развивали, в институте кое-как отмучались. Какой результат? Недостаток образования? НЕТ. Недостаток развития. У мозга не было интенсивных тренировок почти 15 лет, с чего бы ему вдруг развиться за 2-3 месячные курсы, или в том же институте?
    И это — IMHO одна из основных причин.

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

    3. Сложность растет. 20 лет назад про ООП говорили, сейчас оно везде. 20 лет назад хорошо если кто-то пользовался CVS, сейчас без системы контроля версий не пишут даже Hello World, 20 лет назад как минимум не было мобильной платформы, а сейчас того и гляди количество софта под мобил превысит десктопные, а embedded, а всякие ардуины. 20 лет назад большинство софта — окошко и формочки, а сейчас — https/json/sql/js и куча других казалось бы мелочей, но без них ты не можешь даже начать, а это ведь уже входит в самую базу, то есть входной порог действительно поднялся на порядки.

    4. Для получения диплома, нужно образование в сертифицированном учреждении. Для СНГ практически все такие учреждения работают по программе, которую составляет мин.образования. По программе которую нужно придумать, утвердить, расписать, прописать, еще раз утвердить, размножить в множество заведений, провести курсы повышения квалификации преподавателей, и наконец (лет через 3-5) учить молодежь. Если взять web — там за 5 лет статикой остается только базовый html, все фреймворки обновляются и меняются. В других языках ситуация тоже не стоит на месте. Ну и в «официальное образование» обычно с трудом входит язык программирования, но никак не стек технологий с багтрекерами, системами контроля версий. Да пусть бы хоть слепую печать проходили — была бы конкретная польза.


    1. VolCh
      10.12.2015 13:04
      +1

      то есть входной порог действительно поднялся на порядки.

      Не согласен. ООП, системы контроля версий, https/json/sql/js не увеличивают сложность, а уменьшают её, скрывая от начинающего разработчика низкоуровневые детали реализации, облегчая работу. Окошко да кнопочки? Вы помните, сколько нужно было написать кода, чтобы вывести стандартное окно, просто обрабатывающее стандартные кнопки и стандартное меню сворачивания, разворачивания и закрытия окна с помощью Win32 API?


      1. Insty
        10.12.2015 18:44

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


        1. VolCh
          10.12.2015 21:17

          какой ужас скрывается за обычными рюшечками

          С тех пор порог входа для программирования их рисования значительно уменьшился, собственно их можно рисовать вообще без программирования, достаточно, например, языка разметки типа html, xul или qml.


      1. Source
        11.12.2015 02:34
        +1

        Вы помните, сколько нужно было написать кода, чтобы вывести стандартное окно, просто обрабатывающее стандартные кнопки и стандартное меню сворачивания, разворачивания и закрытия окна с помощью Win32 API?
        Я помню, только, справедливости ради, этот код писали вручную разве что для развлечения уже 10 лет назад. В Visual C++ он генерировался автоматически в отдельных файлах, а в Delphi его даже видно не было. Ну и кстати ничего особо страшного в том коде не было, довольно простой, только многословный. Поэтому декларативный способ описания форм в итоге победил.


      1. saboteur_kiev
        13.12.2015 05:56
        +5

        Уменьшают сложность конкретного синтаксиса написания. То есть подсветка, подсказки, удобные IDE-шки что-то упростили. Но сколько теперь технологий нужно знать чтобы просто выпустить продукт?
        Даже если захотел написать hello world на андроид, нужно еще догадаться в чем написать, как его потом на телефон засунуть и запустить.
        Где сейчас включил комп и пиши себе программу на бейсике? нигде. Нужны IDE/ компиляторы, разбираться в битности. Я помню как в детстве рисовали различные геометрические абстракции — сейчас до графики пока доберешься…
        Возможно вы сравниваете win32 api и QT, но я то сравниваю z80/БК-010-01 и DOS с тем, что есть сейчас…


        1. VolCh
          14.12.2015 07:53

          Включил комп, запустил браузер и пиши программу на JavaScript. На Canvas сразу графику :) А под какой-нибудь хромосью браузер сам запускается. :)

          Андроид не в тему, это уже разработка на одной платформе под другую, что никогда простым делом не было. Хотя сейчас проще, имхо, написать программу на условном «БК-010-01», которая заработает на условном «Sinclair», чем тогда.

          Я сравниваю Радио-86РК и СМ-1420 с тем, что сейчас есть :)


  1. Sild
    10.12.2015 09:11

    В опросе хотелось бы видеть мультиселект. Я, к примеру, не выделяю обучение в университете или самообразование как «основной вклад». Всего было, и всё было неплохо.


  1. ketrin7
    11.12.2015 09:12

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


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


    1. VolCh
      14.12.2015 07:54

      «Троичка» — это «удовлетворительно», то есть человек может выполнять свою работу нормально. Не хорошо, не отлично, но и не плохо.


  1. arielf
    13.12.2015 04:45
    +7

    Почему-то многие считают, что программирование сильно отличается от прочих профессий, и сам факт наличия образования превращает их в классных специалистов. Разница лишь в широких возможностях самообучения и практики — программисту не нужны лаборатории и реактивы. Все же согласны с тем, что если выпускник физфака за всё время обучения не написал ни одной статьи, не занимался хоть какой научной работой, не был на стажировках, и единственное его достижение — отличные оценки, то его шансы малы даже для аспирантуры (я имею в виду хорошую аспирантуру в приличном вузе), а, скажем, в НАСА его шансы равны нулю. Почему же в программировании выпускники, не имеющие никаких интересов, и за всё время обучения не написавшие ни одной реальной программы должны быть нужны кому-нибудь, кроме своей мамы? Профессионалом стать легко — нужно всего лишь безумно любить свою профессию.


    1. PavelMSTU
      15.12.2015 17:12
      +2

      Профессионалом стать легко — нужно всего лишь безумно любить свою профессию.

      Я вот только бы заменил слово «легко» на слово «просто». Все-таки не всегда легко, но всегда просто ;)

      Это ваши слова?
      Гениально! Я честно, без всякого подлизывания!
      Надо распечатать и раздавать всем первокурсникам!


      1. arielf
        16.12.2015 23:21

        Да, мои слова. Спасибо, но мне прямо неловко, настолько они очевидны. Лично я с удивлением смотрю, как многие в вузе изучают неизвестно что, занимаются неизвестно чем, целых четыре года! А затем в реальной работе их знания оказываются не нужны. Да и знаний у них, как правило, нет, так что разговоры про устаревшие знания — от лукавого. Неужели за всё время обучения они не нашли время взглянуть на то, чем они займутся? На свою будущую работу? Неужели не интересно? А зачем тогда нужно было поступать на выбранное направление?

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


        1. Mrrl
          17.12.2015 08:11

          Лично я с удивлением смотрю, как многие в вузе изучают неизвестно что, занимаются неизвестно чем, целых четыре года! А затем в реальной работе их знания оказываются не нужны. Да и знаний у них, как правило, нет, так что разговоры про устаревшие знания — от лукавого. Неужели за всё время обучения они не нашли время взглянуть на то, чем они займутся? На свою будущую работу? Неужели не интересно?

          Предположим, что студент каким-то непостижимым образом узнал, какими будут его «будущие работы», скажем, в ближайшие 20 лет. Насколько глубоко ему надо «взглянуть» в них, чтобы узнать, какие именно знания понадобятся? Мало ли куда может занести студента, да и куда повернёт развитие выбранной фирмы. Вот и приходится учить «про запас», набивать мозги всем подряд, и выстраивать мощную ассоциативную сеть — которая позволить опознать встретившуюся проблему, и подскажет, куда копать дальше — какие там термины, что искать, в каких терминах будет ответ, и прочее.
          Неожиданно понадобилась метрика из пространства Соболева. Которое изучают где-то в конце курса УрЧП. Кто бы мог подумать… Зато теперь, когда я вспомнил, как оно называется, можно поискать его свойства, и посмотреть, не пригодятся ли какие-нибудь из них.


  1. KasperGreen
    15.12.2015 13:55
    -2

    +1 писатель самоучка

    В последнее время склоняюсь именно к термину писатель, т.к. в этой стране, чтобы быть программистом достаточно уметь устанавливать программы. По крайней мере программистов воспринимают именно так (личный опыт)


  1. PavelMSTU
    15.12.2015 17:08

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

    Моя точка зрения высказана академиком А.П. Ершовым аж в 1981 году в эссе «Программирование — вторая грамотность».
    Даже если не согласитесь — почитайте. Это очень интересный взгляд на программирование.