В этой статье хотел бы сделать обзор новшеств, которые появились в версии прошивки ONTAP 9.2 которая вышла спустя девять месяцев после выхода версии 9.0. Как обычно NetApp радует большим количеством нового функционала и возможностей в своих системах хранения данных, давайте их разберем.


Релизы ONTAP 9.1 и новее теперь будут выходить регулярно каждые 6 месяцев. Ранее релизы оттягивались чтобы вместить невероятно большое число новых фич, теперь их будет меньше в каждом релизе, но они начнут выходить регулярнее и не будут оттягивать выход других фич. Появились релизы с долговременной и коротко временной поддержкой. Поймите правильно, оба релиза полностью production-ready, general avalability, оттестированы, отлажены и работоспособны. Так как на некоторые новые системы появилась возможность покупать поддержку на 7 и более лет, чтобы мочь увеличить срок поддержки релизов ONTAP, было принято компромиссное решение выпускать часть релизов с длительной поддержкой, а часть с короткой, как это происходит, к примеру, в Ubuntu.

Постоянное движение в сторону упрощения



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

  • Расширение кластера путём добавления совместимых нод теперь можно выполнять из ГУИ, оттуда же теперь доступен Auto Discovering новых нод
  • automatic switchless-cluster detection — автоматически будет определять состоит кластер из двух или более нод, больше нет необходимости переключать вручную
  • Опция detect-switchless-cluster включается по умолчанию на новых и обновляемых до 9.2 системах
  • OnCommand System Manager Guided Setup (GUI) — В самом начале необходимо подключиться к консоли СХД и задать node-IP адрес, а дальнейшую первоначальную настройку кластера теперь можно выполнить из графического интерфейса
  • Обновлённый Dashboard (начиная с ONTAP 9.1)
  • Export and Import Cluster Configuration for Initial Setup — позволяет выгрузить и загрузить настройки кластера из csv-тимплейта, который можно редактировать в обычном текстовом редакторе или Excel

Расширенные возможности QoS


Balance placement (QoS) — при создании LUN'а система будет предлагать куда его располагать.

QoS minimum, этот функционал ещё называют Throughput Floors (TP), он может работать вместе с функционалом QoS Maximum (throughput ceilings), который был доступен ранее. Throughput Floors позаботиться, чтобы производительность IOPS не упала ниже ранее вами заданной. Кластер должен иметь хотя бы одну AFF ноду, чтобы фича работала для протоколов iSCSI/FCP.

Минимум QoS появился в версии 9.2, который задаётся в групповых политиках производительности. То, сколько система может выдать с текущей нагрузкой, динамически берется из Headroom мониторинга, встроенного в СХД и выбирается из оптимума. Оптимумом называется участок графика нагрузки системы по ИОПС/Латенси, пока он идёт линейно. После линейного начинается участок графа, где при увеличении нагрузки большее число ИОПСов вызывает диспропорциональный, геометрический рост латенси с линейным ростом ИОПС. Таким образом Throughput Floors добивается, чтобы луну был выдан минимум, при необходимости забрав часть производительности с тех лунов, которые ещё не достигли своего минимума. Другими словами, для всех остальных лунов будет установлен «временный или динамический максимум», который будет меньше чем их Throughput Ceilings, но больший чем Throughput Floors, чтобы страдающему луну был выдан его положенный минимум.

Cross Volume Deduplication


Inline Aggregate- Wide Deduplication on SSD (или Cross Volume Deduplication). Функция включена по умолчанию для всех SSD агрегатов в ONTAP 9.2. Да конечно хотелось, чтобы был «глобал кластер дедуп», но нет предела совершенству и пока это работает только на уровне агрегата, но даже с ним текущие SSD агрегаты ONTAP настолько большие, что они больше, чем целые системы некоторых конкурентов с глобал-дедупом. Поэтому агрегат-дедуп будет давать достаточно для конкурирования с другими All Flash Array (AFA) системами по эффективности. Максимальный размер агрегата для All Flash FAS (AFF) систем увеличен до 800ТиБ (ранее был 400)

В версии 9.2 доступна новая команда «storage aggregate show-efficiency» для командной строки, которая может показывать эффект от экономии по каждой отдельной технологии, будь то клоны, компрессия, дедуп и т.д.

Tiering или FabricPool


FabricPool это технология реализована в рамках стратегии DataFabric, которая в свою очередь должна расширить интеграцию всех продуктов NetApp и расширить возможности мобильности данных. Когда NetApp делает новую фичу, он не смотрит на других и не пытается добавить фичу «ради галочки». Вместо этого выпускается технология, которая действительно хорошо продуманная и будет востребована потребителями. Это касается и новой Tiering-фичи FabricPool. С ростом спроса на SSD увеличивается число инсталляций и интереса к этой технологии, поэтому NetApp выпустил функционал FabricPool. FabricPool это технология смещения холодных данных с SSD агрегата (AFF, FAS, ONTAP Cloud систем) на холодный объектный уровень — в облако Amazon S3 или на объектную СХД NetApp StorageGRID.

Внедрение FabricPool Data Tiering на Object Storage будет состоять из двух стадий. В 9.2 будет доступна возможность смещать только снепшоты. А следующей стадией будет возможность смещения холодных данных из активной файловой системы вольюма на холодный уровень. Пока с FabricPool не поддерживаются FlexFroup, MetroCluster, ONTAP Select, SnapLock и др.

Лицензируется по-терабайтно на FAS/AFF системах с Amzon S3. Добавление лицензии сразу добавляет 10ТБ. Потом можно добавлять по терабайту.
Для работы функционала FabricPool на системах хранения FAS/AFF, лицензия необходима тоько в случае использования Amazon S3. В случае NetApp StorageGRID лицензия для работы FabricPool не нужна. Для систем ONTAP Cloud живущих в Amazon также нет потерабайтного лицензирования со стороны ONTAP для включения FabricPool — вы оплачиваете только фактическое потребленное пространство холодного уровня в AWS S3 напрямую самому Amazon.



Шифрование вольюмов теперь можно включать из GUI. SnapLock вольюм теперь может быть зашифрован при помощи NetApp Volume Encryption. FlexGroup теперь также работает с шифрованием NVE (только при создании FG).

Online Certificate Status Protocol (OCSP) — этот функционал используется для приложений, которые применяют TLS шифрование, к примеру, LDAP over TLS. С 9.2 появилась возможность задать максимальное число попыток неуспешных подключений по SSH, чтобы предотвратить перебор паролей. iSCSI Endpoint Isolation — позволяет указывать диапазон IP адресов, которым разрешен логин на СХД.

ADP для AFF: Возможность растягивать агрегат, построенный на разделах (RD2) на диски не только в первой полке (или в голове), но и следующей полке (до 48 дисков).

ADP Root-Data Partitioning теперь поддерживается и на гибридных системах: FAS80ХХ/FAS8200/FAS9000, что позволит чуть более рационально использовать диски благодаря возможности обходиться без выделенных дисков для root агрегатов.

В boot menu появился новый пункт (Option 9) для работы с разделами (Появилось с ONTAP 9):

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

OnCommand Unified Manager 7.2 теперь в себе включает сразу и OnCommand Performance Manager.

ONTAP Select теперь поддерживает


  • 2-Node HA для ROBO заказчиков
  • ONTAP Select теперь поддерживает FlexGroup
  • vNAS — внешнее хранилище для пользователей vSAN, у них естественно нет промышленного СХД и которым не хватает NASа.
  • inline Dedup для all-falsh ONTAP Select

Обновление по аппаратной платформе FAS и All Flash FAS (AFF)


  • Поддержка дисковых полок DS460C в Metro Cluster — только полностью забитые полки доступны. Требует 9.2
  • Метрокластер c ONTAP 9.2 поддерживает теперь до 8 ISL линков
  • Метрокластер на базе AFF c ONTAP 9.2 поддерживает Inline aggregate dedup (Cross Volume Deduplication), Метрокластер с SSD агрегатами на базе FAS систем (hybrid), как в обычных кластерных системах не поддерживает Inline aggregate dedup
  • Возможность апгрейда 2620 с одно-нодовой конфигурации в двух-нодовую
  • Возможность превращения 2620 в полку DS122C и 2650 в полку DS224C
  • Для Метро Кластара на базе 8200/9000/А300/А700 появиться гибридные SSD полки где используются 18 SSD дисков большего объёма и 6 маленьких SSD для root разделов (чтобы не тратить большие диски для рут-разделов).
  • Теперь 2620 поддерживают до 132 дисков (ранее 120)

Сообщения по ошибкам в тексте прошу направлять в ЛС. Замечания, дополнения и вопросы по статье напротив, прошу в комментарии.
Поделиться с друзьями
-->

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


  1. XNoNAME
    01.06.2017 10:19
    +5

    Спасибо. И вправду стал меньше об этом беспокоиться.


    1. Contriver
      01.06.2017 11:37
      -7

      Ага мой знакомый программист тоже не беспокоился, если что нагуглю.
      Подвернулась работа с хорошей зарплатой (для провинции)от 50 тыс руб в оборонном НИИИ, НУ НЕТУ ТАМ ИНТЕРНЕТА — НЕ ПОЛОЖЕНО.
      Итог преподаёт в колледже за 15 тыс руб.
      А в провинции другой работы нет, на hh по региону 7 вакансий программист с копеечной зарплатой.
      А в столицу ехать не может, престарелые родители требуют ухода, а также есть дети и семья.
      Жизнь штука сложная и длительная, особенно в условиях России и натягивать американский шаблон в реальной действительносити не выйдет-лопнет.
      Как сказано выше ядерные ракеты комуто надо делать, а реальное производство растёт в регионах в большинстве за счёт оборонки и перевооружения армии.


      1. SirEdvin
        01.06.2017 12:00
        +6

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


      1. batment
        01.06.2017 13:13
        +18

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

        Но проблема думаю не в доступности удаленной работы, а в том, что ваш знакомый скорее всего выучил лет десять-двадцать назад delphi / c++ / 1C и больше никуда развиваться не хочет, так как новые языки его в чем-то не устраивают, или на это банально нет времени.

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


        1. Contriver
          01.06.2017 13:41
          -2

          Мой знакомый молодой человек 28 лет отроду delphi учил только в институте.

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

          Не все могут сутками кодить и изучать новинки.

          завести локальные справочники на телефоне
          телефон, планшет, модем, в оборонном НИИИ за это УВОЛЯТ, а то, чего хуже и ПОСАДЯТ(если найдут повод).
          Это всё кладётся в железный ящик при входе в рабочую зону.
          Кому то ведь надо там работать и жить в регионах России, а то с такими размышлениями из страны будет пустыня с оазисами из крупных городов


          1. FatalStrike
            01.06.2017 14:45
            +3

            Возможно знакомый выбрал не ту профессию?


          1. basili4
            01.06.2017 14:57
            +4

            За книги тоже уволят или посадят? Все запомнить все равно нельзя. Есть много вещей с которыми не сталкиваешься каждый день.


          1. AllexIn
            01.06.2017 15:19
            +16

            То есть ему лень учиться и поэтому он работает за 15 000.
            Ну я его понимаю. У меня последний год кризис психологический, мне лень учиться(за год только одну техническую книгу осилил Эффективный и современный С++), работаю мало, новое изучаю неохотно.
            Зато снес гараж, построил на его месте парковку, полностью поменял в доме канализацию, водопровод и отопление, отремонтировал куче всего…

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


            1. geher
              01.06.2017 18:09
              -3

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


              1. AllexIn
                01.06.2017 18:48
                +4

                А я и не говорил что лентяй.
                И вообще понятие лентяй — достаточно общее.
                По факту есть миллион причин для лени.
                Про средства я не понял. Ну да, когда молод и полон сил — херачиш 16 часов в день, успешваешь и работать и учиться. А потом это сходит на нет. Да еще и эелание пропадает, что только усложняет.
                Но это я все лирика не имеющая отношения к теме. А тема, я напомню, «нет интернета поэтому работает за 15000». Ну не поэтому он за 15 000 работает.


                1. geher
                  03.06.2017 11:21

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


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


                  1. khim
                    03.06.2017 19:36
                    +1

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

                    А если на досуг время есть — то и на учёбу его можно немножко наскрести…


              1. MacIn
                01.06.2017 20:15
                +3

                Тогда человек УЖЕ свернул куда-то не туда в своей жизни. Зачем жаловаться на то, что у тебя жена-дети, кредит, зарплата всего в N тугриков и ты не можешь выкроить время и деньги на учебу? Это значит, что изначально, когда ты должен был учиться, достигнуть зарплаты, купить жилье (а уж потом заводить семью) он делал что-то другое.


                1. Varim
                  01.06.2017 21:04

                  должен был учиться, достигнуть зарплаты, купить жилье (а уж потом заводить семью)
                  не факт что так правильней чем сначала завести семью а потом развиваться


                  1. 0xd34df00d
                    05.06.2017 03:55

                    Почему?


                    1. dimm_ddr
                      05.06.2017 17:00

                      Ну вообще реально же не факт. Как не факт что правильно обратное.


                      1. 0xd34df00d
                        05.06.2017 18:14

                        Безусловно. Но поэтому я и интересуюсь аргументацией этого тезиса. Аргументы в защиту, которые я могу придумать сам, какие-то смешные получаются.


                        1. Arastas
                          05.06.2017 19:56

                          Ну вот вы в 20-25 лет встретили свою половинку. Что, ждать до 30-35?


                          1. 0xd34df00d
                            05.06.2017 20:14
                            +1

                            Сомневаюсь, что в 20-25 лет достаточно социального опыта для того, чтобы корректно определить, половинка это или нет, особенно если тратить достаточно много времени на учёбу.


                            Ну а так да, ждать до 30-35.


                            1. Arastas
                              06.06.2017 10:41

                              Без обид, но ведь то, что Вы сомневаетесь в отсутствии опыта в 20-25, это же Ваша личная история, да? Вы же не переносите её на всех остальных?


                              1. 0xd34df00d
                                06.06.2017 18:43

                                Не только моя личная, я таки и за окружающими людьми могу наблюдать.


                                Ну и опять же, когда на социальную жизнь будет достаточно времени, если в 15-20-25 почти всё время тратится на учёбу-поступление-в-вуз-хобби-опенсорс-etc?


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


                                И я же, в конце концов, не ною про обратную ситуацию, мол, такие все вокруг семейно успешные, и почему у меня не так.


                          1. dimm_ddr
                            06.06.2017 11:05
                            +3

                            А в чем проблема ждать до 30-35? Могу предсказать, что если прожить вместе не заморачиваясь семьей и детьми 5-10 лет и все-таки решиться всем этим заняться, то брак будет значительно более крепким и успешным чем в 20.


                          1. MacIn
                            06.06.2017 22:11
                            +1

                            Нет никакой «своей половинки», это идеалистическая ерунда. «Свою половинку» и в 20, и в 35 найти можно.


                            1. Arastas
                              07.06.2017 10:40

                              Вы определитесь, так её нет, или её можно найти?


                              1. bigfatbrowncat
                                07.06.2017 12:42

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


                                1. Arastas
                                  07.06.2017 14:10

                                  Это было бы корректно, если бы в первом предложении кавычек не было, а во втором были бы. Чтобы подчеркунть различие между совей половинкой и как бы "своей половинкой".


                                1. 0xd34df00d
                                  07.06.2017 19:05

                                  С другой стороны, прокачанность технических навыков отрицательно коррелирует с социальными навыками.


                            1. 0xd34df00d
                              07.06.2017 19:05

                              Опять же, с другой стороны пул свободных кандидатов на «половинки» в 35 уже таки поменьше.


                              1. dimm_ddr
                                08.06.2017 09:54

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


                                1. 0xd34df00d
                                  08.06.2017 17:54

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

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


                                  А драйв-то и ты давать/создавать не умеешь, потому что, ну, в общем, откуда его уметь-то?


                                  шансы на нахождение подходящего среди оставшихся даже увеличатся

                                  Подходящего, опять же, по каким критериям?


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

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


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


                  1. MacIn
                    06.06.2017 22:13

                    Факт. Просто деньги имеют ценность не только сами по себе, но и в зависимости от времени. Рубль сегодня и рубль завтра — разные вещи. Именно поэтому надо сегодня, условно скажем, достичь уровня финансового благосостояния в N тугриков, чтобы вложить их в жилье, фондовый рынок — что угодно. Потому что завтра та же сумма будет иметь меньшую ценность. И если сегодня, при тех условиях, что есть за окном, вместо работы на будущее потокать своим гормонам, потом будет сложнее как выучиться (никто не молодеет), так и догнать пробел в финансах. Люди это чувствуют — средний возраст деторождения возрос с 18 до 30


                    1. MacIn
                      06.06.2017 22:17

                      (с 1990 по 2015 год). Как и возраст вступления в брак — 20 лет для мужчины в 1990, 35 в 2015 (по моей стране, не Россия).


                1. geher
                  03.06.2017 11:30

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


                  1. khim
                    03.06.2017 19:39
                    +1

                    Учиться некогда
                    Это только от вашего желания зависит.

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


            1. injecto
              02.06.2017 09:00
              +3

              > А если работать с 9 до 17 и не жить работой — то и программист будет получать нищенскую зарплату.

              Крайне распространенное заблуждение, культивируемое, видимо, работодателями.


              1. AllexIn
                02.06.2017 09:03
                +1

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


                1. injecto
                  02.06.2017 17:50

                  Чтобы увлеченно работать и учиться не обязательно перерабатывать.


                  1. PsyHaSTe
                    06.06.2017 18:47

                    Нужно изучать новые технологии/ездить на конференции/так или иначе общаться на рабочие темы… Если всем этим заниматься рабочее время, то на саму работу времени не хватит, и работодатель на такое не пойдет. Лучший реальный сценарий — пару месяцев тратишь дома на написание прототипа на новой технологии, потом продавливаешь использование на работе, объясняешь плюсы такого решения, и только потом можешь расти и работать параллельно. Но чтобы этого добиться, нужно изначально потратить время на ознакомление и анализ, а иначе никакой работодатель не согласится на "там вышла крутая технология, я на хабре статью прочитал. Не знаю, как она работает и сколько времени понадобится на переход, но я хочу попробовать!"


                    1. dimm_ddr
                      07.06.2017 11:22

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

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


                      1. PsyHaSTe
                        07.06.2017 12:12

                        Тут есть два варианта:


                        1. У бизнеса есть проблема, и есть таска поисследовать в рамках решения этой проблемы. Например, долго рисуется страничка, и мы начинаем смотреть в сторону ангуляра/реакта. Тут бизнес уже решил переходить, нужно только выбрать лучшего кандидата.
                        2. У бизнеса нет проблем (с его точки зрения), но есть мысль у разработчика, как улучшить решение (заменить билд-скрипты на гитовые хуки, перейти на другую субд, заменить галп на вебпак...). Для его реализации нужно иметь плюсово-стоимостной анализ, а для этого нужно знать обе технологии, чтобы грамотно сравнить. А время на изучение не дадут в случаях, кроме п.1 (по крайней мере в большинстве случаев).


                        1. khim
                          07.06.2017 19:46

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

                          Вы не поверите, но биснес-люди — не идиоты, если придти к ним и сказать: «у нас сборка „пустого“ проекта занимает 70-100 секунд, а разработчики вынуждены вызывать её по 20-30 минимум — непроизводительные потери где-то 30-40 минут у каждого разработчика каждый день… хотим посмотреть нельзя ли это как-то решить» — то они вас легко поймут (просто грубо пересчитав потерянные часы в рубли «зря» выплаченной зарплаты). А если вы не можете описать возможный выигрыш в принципе — то зачем вообще что-то делать?

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


                          1. PsyHaSTe
                            08.06.2017 12:06
                            +1

                            Если бы это было так, то у всех разработчиков были бы топовые машины. Посчитано, что удорожание сборки с 1000 до 2500 долларов с шагов в 500$ экономит разработчику более 10 минут в день (не считая психологического комфорта). И что? Много видели машин с Core i9 и pcie SSD?:)


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


                            Вы чего хотите этим добиться? Ускорения сборки, или уменьшения затрат памяти на сервере или… «проcто поиграться»? Если «просто поиграться», то вам никто ресурсов не даст — и будут правы. Если хотите посмотреть не может ли какая-нибудь технология дать вам выигрыш в чём-то — смотри пункт один.

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


                          1. 0xd34df00d
                            08.06.2017 17:58

                            Если «просто поиграться», то вам никто ресурсов не даст — и будут правы.

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


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


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


                            Впрочем, время Bell labs умерло, похоже. А жаль.


              1. vyrkmod
                02.06.2017 10:39
                -1

                Программист, который не кодит что-то «для себя» (наверняка не на работе, там работать надо) — либо такой себе программист, либо дико вымотанный, что с точки зрения производимой работы одно и то же.


                1. injecto
                  02.06.2017 17:51

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


          1. Direvius
            01.06.2017 19:52
            +1

            Есть еще такие справочники, я слышал, их из деревьев делают, там еще страницы руками листать надо. Старомодно, но работает.


          1. theaklair
            02.06.2017 10:27
            +1

            Не все могут сутками кодить и изучать новинки.

            Вы серьезно? :) Улыбнуло. Никто сутками этого и не делает — хватает пары часов в день для изучения чего-либо. Главное это систематичность!
            В остальном — как я понял после университета человек не особо был заинтересован в программировании.
            Никто кроме него в этом не виноват, поэтому лично мне его ничуть не жалко (если вы старались вызвать жалость своим комментарием)


        1. cranium256
          01.06.2017 15:15
          +1

          Обычную работу найти сложно, а удалённую работу — сложно вдвойне. А если ваш возраст перевалил за 40, то можно умножать ещё на 1.5 за каждые 10 лишних лет.

          Попробуйте посмотреть какие вакансии есть, например, на ресурсе, дружественном Хабру, «Мой круг» для разработчика на С++ в «удалённом режиме». Во-первых, вакансий очень немного (хотя вроде как С++ стабильно держит 2-3-4 место по востребованности). Во-вторых, либо требуестя дополнительно знание ещё большого количества чего-то (других языков, фреймворков, библиотек, технологий и пр.), либо это достаточно узкоспециализированная сфера, которую надо тоже знать.

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

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

          Для справки. Сейчас посмотрел вакансии на «Мой круг»:

          • Всего: 643
          • С тэгом С++: 26
          • С тэгом С++ и «удалённая работа»: 7


          1. VadimChin
            01.06.2017 19:38
            +1

            По-моему вы не там ищите. В свете того, что с каждым годом открывается много направлений — кадров категорически не хватает.

            Опять же про специализацию, если брать рунет, то кодить сносно на Битриксе человеку с опытом программинга — 2-5 месяцев расслабленного ковыряния. 100-150к вполне можно поднимать удаленно.

            Если амбициозней цели — английский подтягиваем + мобильную (или ентерпрайз жабу) и toptal или аналогичные, или можно на стартап сайтищах подыскивать без посредников


          1. F0iL
            01.06.2017 19:38
            +3

            По-моему вы преувеличиваете проблему.

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

            Ради интереса пролистал МойКруг, на который вы ссылались. По части C++ («других языков, фреймворков, библиотек, технологий и пр.») требования почти везде стандартные — POSIX, STL, Boost. В конце концов, да, действительно, «ждать месяц-два-три» пока вы в этом разберетесь никто не будет, но можно проанализировать рынок, выбрать наиболее востребованные технологии для изучения, а через «месяц-два-три» появятся другие вакансии с подходящими требованиями.


            1. michael_vostrikov
              01.06.2017 21:25
              +1

              А я похоже понял, о чем он. У меня похожая фигня после универа была. Я думал, что раз я все лабы пишу на C++, то значит знаю его на нормальном уровне. А оказалось, что там надо знать STL, Boost, POSIX, undefined behavior. Виртуальные деструкторы, обработчики new, и другие штуки из книги Александреску. Я решил, что ну его нафиг, и стал писать на PHP. Чего и другу автора коммента советую. Там хотя бы банально вакансий больше.


            1. cranium256
              02.06.2017 11:36
              +1

              С нероссийскими работодателями другие проблемы (кроме знания английского). Например, как решается вопрос с отчислениями в ПФР, налоговую, медстрах? Как получить НДФЛ2? (Если, конечно, это не российское представительство компании.) Кроме того, у нероссийского работодателя часто бывает подход: «Русский? — заткнись, говно, и выполняй, что сказано!». Хотя «их» специалисты, порой такие специалисты… Да и вообще неприятно такое «общение». (Не говорю про всех нероссийских работодателей, но сам сталкивалася.)

              Про специализацию. Можно, конечно, в критических ситуациях наступить себе на горло и заниматься тем, что не нравится: писать на Битриксе, разрабатывать лохотрон на PHP, ковырять фронтэнд… Я не говорю, что это в принципе плохо (кроме лохотрона, конечно), просто кому-то нравится фронтэнд, а кому-то писать драйвера устройств на С. Всё-таки работа должна приносить и моральное удовлетворение.

              Требования по текущим вакансиям с «Моего Круга» (C++, удалённая работа):

              1. Python • Java • C++
              2. C++ • Git • Gnu compiler collection • C++ stl • C++ boost • Nginx • Ubuntu • Cmake
              3. C++ • Go • Python • Java
              4. C++ • Алгоритмы и структуры данных • Разработка программного обеспечения • Разработка игр • Assembler • Прикладная математика • Программирование микроконтроллеров • Matlab • Opencv
              5. Машинное обучение • Python • C++ • Matlab
              6. Linux • C# • C++ • Fpga • Системное программирование • Программирование микроконтроллеров
              7. C# • Java • C++ • Объектно-ориентированный дизайн

              Это вы называете «стандартными требованиями»?
              Это я ещё не проваливался внутрь объявлений. Там обычно более развёрнутый список требований к соискателю.


              1. F0iL
                02.06.2017 12:29

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

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

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

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

                А что до вакансий где перечислено сразу несколько языков — в большинстве случае не требуется быть экспертом сразу во всех них (я даже в одной из вакансий на том же МоемКруге видел приписку, мол, «если вы _всё это_ знаете — то это просто невероятный плюс», по факту же обычно требуется экспертно владеть одним языком, и уметь читать код и делать мелкие правки (с поиском на StackOverflow :) ) на другом. По своему опыту могу сказать, что для квалифицированного C++ разработчика после вникания в тему и копания в документации на язык/фреймворк, задача поверхностно разобраться в коде на C# обычно серьезной проблемой не является (особенно если он не один в команде, а есть у кого спросить подсказку и попросить ревью).


              1. dimm_ddr
                05.06.2017 17:05
                +2

                Такое впечатление, что вы никогда не собеседовались по таким вакансиям. Абсолютное большинство компаний, которые пишут, например, "С++, питон, джава" готовы брать человека, который знает только один из трех. Если он знает хотя бы два, то 99% что он получит эту работу.


              1. basili4
                05.06.2017 17:24

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


          1. sticks
            02.06.2017 11:01

            Удивительно, но, кажется, два комментария выше — это наглядная иллюстрация к разделу «Не слушайте снобов» из статьи)


        1. vanefa
          02.06.2017 10:17
          +2

          Подвернулась работа с хорошей зарплатой (для провинции)от 50 тыс руб в оборонном НИИИ, НУ НЕТУ ТАМ ИНТЕРНЕТА — НЕ ПОЛОЖЕНО.


          что ваш знакомый скорее всего выучил лет десять-двадцать назад delphi / c++ / 1C и больше никуда развиваться не хочет


          Вот давайте не будем обижать 1С.
          Для нормального специалиста по 1С в провинции указанная сумма в 50 000 рублей будет просто смешной. Она вполне нормально для 3 летнего миддла по 1С (не бегунка, обновляющего конфигурации, а того, кто настоящим программированием занимается) уже.

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


          Все правильно.
          Это какой то неправильный чел был.

          Ибо уже лет 5 как за 15 000 рублей даже студенты которые еще ничего не знают не хотят работать в области ИТ. У человека со знаниями оклады нааааамного больше. Даже в нашей глухой провинции.


          1. fillpackart
            03.06.2017 15:25
            +2

            Вот давайте не будем обижать 1С.

            Почему не будем?


      1. aynanenane
        01.06.2017 13:32

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


        1. Contriver
          01.06.2017 13:58
          -13

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


          1. webkumo
            01.06.2017 15:02
            +3

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

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


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


          1. papabig
            01.06.2017 15:49
            +1

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

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


          1. Xandrmoro
            01.06.2017 17:57

            С таким отношением к людям — никто.
            Да и хрен с ним.


          1. MacIn
            01.06.2017 20:18
            +5

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


            1. vyrkmod
              02.06.2017 10:50

              Буржуазия? Серьёзно? А что ж у нас эту самую буржуазию власть так плохо защищает? Разница с означенными странами есть — там люди занимаются бизнесом и не боятся что его просто отожмут.


              1. MacIn
                06.06.2017 22:18

                Так крупная буржуазия пожирает мелкую — объективный процесс. Как было в 19 веке, так и осталось. И нет никакого «власть защищает». Власть, точнее аппарат, применяющий насилие — это инструмент правящего класса. В РФ, как я указал ниже, государственно-монополистический капитализм, т.е. есть спайка крупной буржуазии и госаппарата. И эта часть буржуазии, крупная, будет давить мелочь, усиливать монополизм всеми силами.


            1. Xandrmoro
              02.06.2017 12:47
              +1

              В России правящий класс феодалы, а не буржуазия.


              1. MacIn
                06.06.2017 22:18

                В России — государственно-монополистический капитализм. Плоть от плоти, классика.


          1. bigfatbrowncat
            02.06.2017 02:17

            Сэр, у вас нос зеленый. Будьте осторожнее, как бы на уши не перекинулось…


      1. AllexIn
        01.06.2017 15:05
        +2

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


      1. 32bit_me
        01.06.2017 16:54
        +3

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


        1. geher
          01.06.2017 17:58

          Степень оборонности не решает. Решает степень секретности.
          Так что на оборонном предприятии может быть интернет на рабочем месте, а во вполне «гражданском» могут телефоны на входе собирать.
          На том же Фольксвагене со смартом и вики на нем не побегаешь, ибо запрещено (разве что найдете смарт без камеры, заклейка не катит).


          1. 32bit_me
            01.06.2017 18:02

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


            1. geher
              01.06.2017 18:20
              +1

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


              1. Contriver
                01.06.2017 20:06
                +1

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


      1. TheKnight
        01.06.2017 17:20

        дубликат ответа.


      1. deadkrolik
        02.06.2017 08:17

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


      1. TheSunwave
        06.06.2017 11:54

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


        1. Skerrigan
          08.06.2017 05:57

          Мигрируйте в подходящий город. Рекламирую Томск.

          Заголовок спойлера
          image


    1. vyrkmod
      01.06.2017 13:32

      Когда все вокруг кодят и не беспокоятся — ахтунг в итоге случается ВНЕЗАПНО и МАСШТАБНЫЙ. Причём я не о замечательном таком коде, который десятиметровой палкой трогать неохота, а вполне серьёзных проблемах для бизнеса: лишний месяц до релиза, отваливающиеся сервисы, всё растущий штат техподдержки, репутационные потери… Есть вещи, которые программеру надо знать — список вещей которые надо знать, как минимум.


  1. sim-dev
    01.06.2017 10:30
    +6

    Я не ошибусь, если сформулирую кратко смысл весьма эмоциональной и занимательной статьи так: "если за это платят, это хорошо, и не парься, что ты тупой"?


    1. AstarothAst
      01.06.2017 11:20
      +4

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


      1. sim-dev
        01.06.2017 11:34
        -1

        Первоначально я хотел перегнуть палку и написать «киллер» — а что, профессия, как профессия, и платят неплохо… Но потом передумал и написал, как есть. А потом передумал еще раз и зачеркнул.


    1. engine9
      01.06.2017 16:37

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

      Капитализм-с.


      1. vyrkmod
        01.06.2017 17:46

        Благо программисту доступен замечательный приём «абстракция». С его помощью решается любая проблема в коде, кроме избытка слоёв абстракции.


      1. 0xd34df00d
        05.06.2017 04:04
        +2

        Фиг знает, УМВР. Получается бегать от конвейера и протоколов синхронизации кешей до зависимых типов с монадными трансформерами (хотя нынче в моде свободные монадки) и обратно, не забывая про, собственно, предметную область.


        Но я по субботним, а также пятничным и воскресным вечерам мастурбирую на это все.


        1. engine9
          05.06.2017 09:53

          Вот так выглядит киберунижение, хах. Некоторые слова знакомые нашел :3


  1. parotikov
    01.06.2017 10:54
    +11

    Хороший, годный перевод.
    Автор помешан на сексе:

    вместе со своей тайной гомофобией

    промыли мозги мягким порно о счастливой работе

    и не проводите субботние вечера, мастурбируя на руководства по концевой рекурсии

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

    Собеседование — это как свидание без презерватива

    есть смешанные сексуальные чувства по поводу указателей


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


    1. degs
      01.06.2017 21:35
      +1

      Перевод действительно хороший, но вот эта фраза поставила в тупик:


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

      что бы это значило?


      1. michael_vostrikov
        01.06.2017 21:38
        +8

        Доктор Хаус


      1. alconost
        02.06.2017 15:37
        +1

        Это цитата из сериала «Доктор Хаус», смысл примерно такой: «потому что это всегда оказывается что-то еще». Добавили объяснение в скобках прямо в статью.


        1. degs
          02.06.2017 16:07

          Спасибо за оперативность, но уже поздно :) Я наверное один такой на свете, кто Доктора Хауса не смотрел, а остальным и так ясно.


  1. KonstantinSpb
    01.06.2017 11:00

    А представляете, если роскомпозор забанит гугл, stackoverflow и.т.п. :)


    1. Contriver
      01.06.2017 11:40

      и до кучи заблокирует VPN, ШИФРОВАНИЕ, запретит анонимность.
      Начнётся масовый исход программистов в мир иной — за рубеж нашей необьятной Родины!


      1. Nakosika
        01.06.2017 14:40
        +2

        Так давно уже великий исход идет, что-то вы не внимательно наблюдаете.


        1. slayeek
          06.06.2017 09:05
          +1

          Есть статистика?


          1. Mirn
            06.06.2017 22:13

            я искренне извиняюсь что в дела ИТшные лезет электронщик:


            1. я недавно заметил что многие мои друзья и немаля часть моего круга общения за границей,
              так же и мой брат — системный интегратор оборудования перерос из коммандировок в США в ПМЖ.
            2. Всё чаще на форумах типа електроникс стали появляться темы что профессия электронщика погибла. вот например
            3. Я за год так и не нашёл нормальную оплачиваемую работу, если что есть, то в смежном IT, там где нужно делать обработку видео и аудиопотоков в реалтайме к примеру.
            4. Компоненты и отладочные платы уровнем выше чем ардуинка и распебри всё хуже и хуже получить, а некоторые стоят бешенных денег будто доллар под 200-300р и идут месяцами. (спасибо прессингу таможни из-за "импортозамещения")


  1. Arastas
    01.06.2017 11:27
    +3

    Отличное качество перевода!


  1. mpavlov
    01.06.2017 11:44
    +8

    Отлично, можно прокрастинировать дальше!


    1. alconost
      01.06.2017 13:34
      +1

      Чтобы все же не прокрастинировать, у нас другой перевод есть: https://habrahabr.ru/company/alconost/blog/325174/ :)


  1. Sinatr
    01.06.2017 11:46
    -7

    когда Google (и даже Vim) еще не существовали
    Что такое Vim? Вроде слышал слово, погуглил — в сомнениях…


    1. win32asm
      01.06.2017 12:48

      https://ru.wikipedia.org/wiki/Vim
      Редактор такой, широко известный в узких UNIXовых кругах. 8-)
      В 1991 году из vi перепилили.


      1. Sinatr
        02.06.2017 10:35

        Спасибо. «Узкие юниксовые круги» видимо думают, что остальной мир пользуется текстовым редактором больше чем гуглем? Смутило сравнение с гуглем: "даже Vim еще не существовал. Все еще не могу понять, это сарказм типа «даже Norton Commander еще не существовал» или всерьез?


        1. win32asm
          02.06.2017 10:48

          Ну, учитывая что гугль появился в 1998 году — табличка с надписью «сарказм» вполне себе прослеживается.
          И кстати — vi (который предок vim) был сделан в 1976 году, так что ещё (наверное) есть люди, которые пользуются этим текстовым редактором в той или иной форме как минимум дольше, чем гуглём.
          Ну и да, тот абзац именно про таких людей. 8-)


    1. D3fl4t3
      01.06.2017 13:32

      Консольный текстовый редактор
      https://ru.wikipedia.org/wiki/Vim


    1. terrier
      01.06.2017 14:45
      +7

      Прям даже интересно — как же так можно погуглить Vim, чтобы все еще остаться в сомнениях?


      1. LynXzp
        01.06.2017 16:51
        +12

        Погуглил, не смог выйти, не понял.


        1. Sinatr
          02.06.2017 10:23
          -1

          Вам, наверное, будет неудержимо смешно, но я в жизни им не пользовался, а его тут всуе наряду с гуглем упоминают. Стало интересно, что за зверь. И да, можно погуглить так, что останешься без ответа (к слову, первый ответ гугля по «vim» у меня какой-то vim online, модное слово «онлайн» появилось относительно недавно, потому не смотрел).

          Заминусили, т.к. решили, что я тролю? Обидно, ну да ладно. Продолжайте веселиться.


          1. khim
            02.06.2017 10:47

            Заминусили, т.к. решили, что я тролю?
            Таки да.

            к слову, первый ответ гугля по «vim» у меня какой-то vim online, модное слово «онлайн» появилось относительно недавно, потому не смотрел
            vim online — это «всё о vim в онлайне» (так как предполагается что он у вас в системе, то есть «в offline» тоже есть). И да — это именно то, что вам нужно было читать.

            Первая ссылка. В гугле. На первый запрос. Ниасилил. И вы хотите сказать что это — не троллинг?


            1. Sinatr
              02.06.2017 11:06

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


    1. Germes_Fox
      01.06.2017 15:50

      Недавно статья была, что вопрос о том, как выйти из Vim на stackoverflow недавно свой миллион просмотров справила.


  1. vasya-ves
    01.06.2017 11:48

    Приятная статья, спасибо.


  1. lzb_j77
    01.06.2017 12:08

    У меня до сих пор A500 и A1200. Обе помнят дату свадьбы :)


    1. da-nie
      01.06.2017 20:09

      Это вы про Amiga 500 и 1200? :)


      1. lzb_j77
        02.06.2017 03:38

        Да, у меня A500/1mb и A1200/030. Обе исправные. Обе помнят :)))


        1. da-nie
          02.06.2017 07:47

          Надо же. :) Ну а у меня только Amiga 500 есть. :)


  1. Bragaman
    01.06.2017 12:22

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


    1. Smiz001
      01.06.2017 13:32

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


  1. unabl4
    01.06.2017 12:52

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


    1. fillpackart
      01.06.2017 13:32
      +2

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


      1. vyrkmod
        01.06.2017 14:02
        +2

        Поддерживаю предыдущего оратора! Постоянно слышу про эту мифическую «базу», которую преподают в вузе и которую должен знать любой программист. Блин, ну вот знаю я основы C, а чем мне это поможет когда я пишу какой-то инструментарий на php? Есть, конечно, и другая крайность: когда тот же php-шник понятия не имеет как работает веб-сервер, зачем нужны индексы в БД и подобное. Но блин, нет никакой «базы», есть предметная область, и знать следует именно её.


        1. gdt
          01.06.2017 19:38
          +2

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


          1. vyrkmod
            02.06.2017 11:16

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


            1. dimm_ddr
              05.06.2017 17:19
              +3

              С той же математикой программист разберётся, если оно ему действительно надо.

              Ну тут вы погорячились. Математика может быть достаточно сложной чтобы с ней не разобрались 99% программистов. Но вот потребность в такой математике есть скорее всего даже меньше чем у одного оставшегося процента.


      1. Nakosika
        01.06.2017 15:15

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


        1. fillpackart
          01.06.2017 15:32
          +2

          А в ООП есть замыкания. И что?


          1. Nakosika
            01.06.2017 15:42

            Тоже учить нужно, вот что :) в целом я с вами конечно согласен.


      1. unabl4
        01.06.2017 16:57
        +3

        OOP и FP друг друга не исключают и могут вполне себе мирно сосуществовать как, например, в скале. Не очень понятно, зачем себя так ограничивать в предметной области.


        1. fillpackart
          02.06.2017 10:27

          Могут, но большинство разрабов отдаёт предпочтение одной из этих парадигм, изредка прибегая к некоторым паттернам из второй. На одной работе (мы пилили большую десктоп софтину на C#) меня довольно сильно критиковали за частое использование фпшных фишек, аргументируя это тем, что такой код «нарушает семантику».


  1. ingegnere
    01.06.2017 13:32
    +1

    Толковая статья!


  1. Shady1010
    01.06.2017 13:32
    +1

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


    1. Erelecano
      01.06.2017 14:01
      -8

      Гуглить и спрашивать у коллег не стыдно, стыдно не гуглить и не спрашивать у коллег. Я вот знаю, что могу затупить и на мелочи, но всегда есть гугл в браузере и коллеги в телеграме. Админ(и программист тоже, все же программист это админ-неудачник) не умеющий читать и не имеющий желания учиться — мертв.


      1. fillpackart
        01.06.2017 16:34
        +8

        все же программист это админ-неудачник

        Что, простите?


      1. DrakeMazzy
        01.06.2017 19:38
        +1

        все же программист это админ-неудачник

        Мне 38.
        Год тому перешел из админов в девелоперы.
        Работаю удаленно.
        Не жалею.
        Я чего-то не знаю?


        1. Erelecano
          01.06.2017 20:22
          -11

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


          1. fillpackart
            01.06.2017 20:42
            +13

            Сэр, у вас проблемы


          1. RussDragon
            01.06.2017 20:50
            +5

            image
            Вам, видимо, с коллегами не повезло, да? Или война админов и программистов продолжается и по сей день?

            (просто если уж так рассуждать, то без программистов работы для админов вообще бы не было :) )


            1. webkumo
              01.06.2017 21:28
              +2

              Или война админов и программистов продолжается и по сей день?

              Хм… а я и не в курсе про таковую… Где позырить можно, а то попкорн зря пропадает?


      1. devalone
        01.06.2017 23:02
        +3

        все же программист это админ-неудачник

        Сильно ЧСВ выросло после написания комментария?)


      1. dotgin
        07.06.2017 13:10

        все же программист это админ-неудачник

        а водитель — это автомеханник — неудачник
        а автомеханник — это автоинженер — неудачник


  1. da-nie
    01.06.2017 13:48
    +5

    ведь должен же кто-то программировать системы наведения ядерных ракет.


    Поперхнулся чаем. Уверяю вас, там всё сейчас очень грустно с вменяемыми программистами. Это из личного опыта.


    1. Contriver
      01.06.2017 14:54

      Я в курсе, это как раз и беспокоит.


    1. square
      01.06.2017 15:42

      У вас есть личный опыт работы с программистами министерства обороны США? Интересненько…


      1. da-nie
        01.06.2017 19:47
        +2

        Да. Только не США, а РФ. :) И опыт именно в указанной сфере. :)


  1. m0Ray
    01.06.2017 14:33
    +4

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


    1. Erelecano
      01.06.2017 15:02
      -3

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


      1. square
        01.06.2017 15:46
        +4

        Вам просто не повезло с учителями, но так было не у всех.


      1. Arastas
        01.06.2017 15:59
        +4

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


        1. Erelecano
          01.06.2017 16:03
          +1

          > Пусть, для конкретики, экзамен по матанализу или по основам теории алгоритмов. Моё мнение — можно, так как для спициалиста важно умение за 30 минут подготовки найти и понять то, что нашел.

          Ну нас на ВМК ННГУ учили, что можно и нужно. Именно по той причине, что нужно знать где искать и что, а не зазубривать бесполезные формулы.


        1. SRadin
          02.06.2017 13:34

          Математику, физику — сдавали без «подглядки». На профильных дисциплинах запрещали пользоваться только конспектами лекций.


        1. Bunny_74
          02.06.2017 15:31

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


    1. Nakosika
      01.06.2017 15:34
      +1

      Ну говорили одно а на экзамене спрашивали другое. Всегда так было и будет пока не появится лучшая система образования.


    1. geher
      01.06.2017 18:29
      +2

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


      1. m0Ray
        01.06.2017 18:49
        +3

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


  1. nefone
    01.06.2017 14:45

    Я все же стараюсь узнавать что то новое каждый день.


  1. badaloff
    01.06.2017 17:11
    +2

    Мне кажется, что фраза в переводе звучит странно:
    «вся остальная работа передается на сайт другой компании… состоящей из отдела продаж и технического отдела»

    Как это передавать работу на сайт? В комментариях на сайте или я чего не понимаю?
    Я думаю в оригинале было слово site, которое ещё может означать место, местоположение, позиция. То есть я предполагаю, что в оригинале имелось ввиду что-то вроде «передаётся в компанию в другом месте» или «передаётся в другое место компании… состоящей».
    Увидеть бы оригинал, но ссылки на него я не нашёл.


    1. pacahon
      01.06.2017 19:23
      +1

      Внизу есть ссылка на оригинал, поищите на странице по Peter Welch. И там действительно говорится про сайт "job has been outsourced to a website run by another company"


    1. Pycz
      01.06.2017 19:38
      +1

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


  1. fillpackart
    01.06.2017 17:21

    Вообще разработчик — это в первую очередь понимание, знания вторичны (хотя и очень важны).


    1. hatari90
      01.06.2017 19:38
      +2

      Вспоминается анекдот про инженера и «Справочник объемов красных резиновых мячей».


  1. Varim
    01.06.2017 18:52
    +2

    Уверен, кто-то получает интеллектуальное удовлетворение, сравнивая разницу в скорости работы i++ и ++i в циклах for
    @лять! Откуда он узнал?


  1. stranger777
    01.06.2017 19:28
    +1

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


  1. skch
    01.06.2017 19:38
    -9

    Где ссылка на оригинал? Почему никогда не публикуете. Дайте хотя бы название оригинальной статьи на английском языке.


    1. stranger777
      01.06.2017 19:48
      +10

      image

      Peter Welch на скриншоте кликабелен и ведёт вы уж поняли куда. :)
      http://www.stilldrinking.org/how-to-worry-less-about-being-a-bad-programmer


  1. bigfatbrowncat
    01.06.2017 21:08
    +5

    Описанная в статье ситуация действительно не очень страшна. Думаю, что не ошибусь, если предположу, что все разработчики, стремящиеся расти и постепенно повышающие свою квалификацию, проходят следующие стадии развития:
    1. Смог переписать код из учебника и, поправив там три строчки, добиться, чтобы он всё равно работал
    2. Смог САМ (!) написать программу с нуля, ничем не пользуясь, даже учебником
    3. Обнаружил в интернете StackOverflow. Теперь моим учебником является весь интернет…

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

    Представьте себе, что вы выучили используемую вами технологию настолько, что уже не лезете на StackOverflow с глупыми вопросами типа «что такое лямбда-выражение и как его написать». Вам хватает, например, http://cplusplus.com/. Иногда. Если подзабудете…

    А теперь представьте, что проблемы, которые перед вами встают ежедневно, не разбираются на StackOverflow. Их там просто нет, потому что вы занимаетесь наукоемкой инновационной темой, про которую люди в сети или объясняют друг другу самые азы, или пишут маловразумительные научные статьи на http://arxiv.org, которые вам периодически приходится читать, разбираясь в математике, которая вам давалась нелегко даже в институте, а сейчас, по прошествии 10 лет, она и вовсе напрягает.

    И вы понимаете, что задача, которую вы сейчас решаете, никем до вас решена не была. Это — не сайтик на ReactJS, который можно утащить с любого Tutorial (не обижайтесь, фронтендщики, это просто иллюстративный пример — я понимаю, что у вас тоже всё бывает очень непросто). Или, возможно, она уже была решена… конкурентом вашей компании. Но он, почему-то, об этом не отписался на StackOverflow.

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

    StackOverflow можно перерасти. Но убежденности в своем таланте это не прибавит.

    Убежденность прибавляет только пополнение списка решенных проблем. Вот этот список — и есть ваш талант. А то, нагуглили вы это, или сами придумали — дело десятое.


  1. Mugik
    01.06.2017 23:18
    +3

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

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

    Отлично — у вас дела лучше, чем в среднем по планете. А если при этом вы еще и программист по профессии, то вы оставили позади 80 процентов.


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


    1. Kitsok
      02.06.2017 10:06

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


      1. vyrkmod
        02.06.2017 11:25

        Экономия на венерологах за счёт получения удовольствия от работы — это что-то новое…


  1. lxsmkv
    02.06.2017 00:16
    +1

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


    1. Varim
      02.06.2017 07:58

      Возможно «лучше» раньше вас начали изучать тему или больше учились чем вы.
      Но да, очень важна теплота в коллективе, а не лезть из шкуры что бы доказать себе что ты первый


  1. vadim1406
    02.06.2017 09:00
    +1

    Где бы найти таких программистов, которые просто делают свою работу? Не пытаются натянуть нейросеть на глобус web-морду к БД, а просто делают быстро и без багов за деньги, которые им платит бизнес


    1. michael_vostrikov
      02.06.2017 09:28
      +1

      Где бы найти таких работников, которые никогда не ошибаются, да еще и работают задаром.


      1. michael_vostrikov
        02.06.2017 09:31

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


    1. kalombo
      02.06.2017 10:20
      +1

      Судя по своему опыту собеседований скажу, что работодатели делают всё, чтобы не нанять такого человека. Такой программист должен быть ответственным, иметь интересный опыт, уметь принимать решения, понимать, что он работает на бизнес, который ему платит. Работодатели же спрашивают про UML-дигаграммы, паттерны проектирования, заставляют писать алгоритмы на листочках, спрашивают определения графа (чуть ли не наизусть требуют О_о), pep8(было и такое О_о).
      А еще такой программист знает себе цену и потребует хорошую зп. Естественно у работодателя ломается шаблон: «Он требует зарплату в xxx рублей и не знает как балансировать бинарное дерево» Когда же программист говорит ему мол, «Я не с потолка взял такую сумму, я столько стою, мне там то столько платят», то работодатель оправдывает это примерно так «А ну ты там сайтики/формочки пилишь, а у нас то тут ого-го, всё серьезно».

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


      1. michael_vostrikov
        02.06.2017 10:32
        +1

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


      1. vadim1406
        02.06.2017 18:00

        Готов взять на работу программистов без UML, бинарных деревьев и прочей фигни. Сайтик, формочка и вперед (С#, Js, Angular, немного Oracle).
        Денег 150+ :)


    1. Azoh
      02.06.2017 11:11
      +3

      Это у вас получается классическое трио


      Быстро, качественно, недорого

      image


  1. naething
    02.06.2017 09:47

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

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

    Но часто бывает так, что вы просто не можете знать заранее, что искать. В таких случаях наличие определенных знаний и интуиции может ускорить работу на порядок, буквально делая вас «10x developer»-ом. Вот простой пример из мира Java. Представьте, что вам надо исправить некий неуловимый баг в большом проекте. В процессе чтения кода вам попадается такой кусок:

    Map<byte[], String> stringsByMd5Hash = new HashMap<>();
    


    Если вы обладаете тем знанием, что массивы в Java имеют «поверхностные» equals() и hashCode(), проверяющие лишь адрес массива, а не его содержимое, то вы сразу заподозрите неладное. Например, такой код не будет работать:

    stringsByMd5Hash.put(new byte[] { 1, 2, 3 }, "foo");
    // Не вернет "foo", поскольку в качестве ключа передан другой массив
    stringsByMd5Hash.get(new byte[] { 1, 2, 3 });
    


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


    1. fillpackart
      02.06.2017 13:05
      +1

      Не знаком с Java, но это не помешало мне понять, что код не работает)


    1. Pro-invader
      02.06.2017 13:33

      Не вернет «foo», поскольку в качестве ключа передан другой массив

      А может быть, что не вернет, потому что в get создается новый массив, он размещается в другом адресе и получается не равен массиву в put?


  1. kalombo
    02.06.2017 10:18

    Промазал с ответом, извините…


  1. Mishkun
    02.06.2017 13:33

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


    1. Arastas
      02.06.2017 18:50

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

      Вы так говорите, как будто в этом есть что-то плохое.


  1. alexndergartemov
    02.06.2017 13:33
    -2

    А можно, пожалуйста, ссылку на оригинал статьи?


    1. vyrkmod
      02.06.2017 14:06
      +1

      Автор: alconost (стрелочки) Peter Welch в конце статьи. Не самый очевидный способ обозначить автора оригинала, но то же самое во всех переводных статьях на хабре.


  1. kaktumar
    02.06.2017 13:34
    +1

    промыли мозги мягким порно о счастливой работе

    такой надмозг от компании-локализатора это конечно очень печально и показательно

    порно — лёгкое (soft porn)


    1. dimm_ddr
      05.06.2017 17:39
      +1

      Не уверен что вы правы. hard porn обычно переводится как жесткое, а не тяжелое. А словосочетания heavy porn я как-то и не слышал даже. Ну и смысл в целом остается тем же самым при замене легкого на мягкое и обратно.


      1. khim
        05.06.2017 18:41

        Чесслово — для таких случаев и придуманы словари, не?

        hard porn — откровенная порнография; жёсткое порно
        soft porn — «мягкое» порно, «клубничка», эротика

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


        1. dimm_ddr
          06.06.2017 11:13
          +1

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


          1. khim
            06.06.2017 14:01
            +1

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


            1. dimm_ddr
              07.06.2017 11:30

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


  1. MasterPeaceMC
    02.06.2017 15:30
    +1

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


    1. Mirn
      04.06.2017 21:28
      +1

      но они хотят чтоб эти амбициозные делали рутину на уровне code-monkey и прочее унылое гавно типа суперстарого легаси.


  1. Swiftarrow7
    03.06.2017 10:52

    Подскажите пожалуйста автора статьи.


    1. khim
      03.06.2017 19:42
      +2

      Подсказка: ссылка на оригинал тут, как и на любой странице с переводом, присутствует. И выше уже даже объясняли как её найти.


      1. Swiftarrow7
        03.06.2017 22:05

        Спасибо)


  1. lxsmkv
    05.06.2017 04:38
    +1

    Если вы беспокоитесь о собственной бездарности, то вы уже не так бездарны. © Я


  1. flameward
    05.06.2017 11:04

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


  1. Happy_dayZ
    06.06.2017 09:11

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


  1. saipr
    06.06.2017 15:09
    +2

    Статья прекрасная!


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

    Я один из тех, кто продирался в начале 70-х сквозь машинные коды (М-220, Весна, СПЭМ-80 и т.д), а потом полюбил Юникс и Си!.. Нет, в лени я не обвиняю, но ИС-2 на М-220 привожу в пример: как можно было имею 4К памяти запрограммировать всю математику или написать СУБД РПГ-М-220.


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

    Предлагаю свой алгоритм собеседования:


    1. Первый вопрос — какую книгу сейчас читаете?
    2. Второй вопрос — какую книгу купили вчера, на прошлой неделе или месяц назад?
    3. Ну и пару вопросов по специальносьти — fork, pipe, pid.

    И все. Ответы типа — зачем покупать, есть интернет, не принимаются!!!


    1. webkumo
      06.06.2017 20:35
      +1

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


      1. saipr
        06.06.2017 21:15
        +1

        А дело не в книгах, а в умении мыслить, разбираться и Учиться. Как говорил один из великих, учиться, учиться и трудиться!!


        1. khim
          06.06.2017 21:39

          Учиться, учиться и учиться можно вовсе не только по бумажным книгам.

          Ну просто потому что какой-нибудь Mastering Rust я могу начать читать либо через 5 минут на своём Pixel C, либо, если повезёт, через неделю-другую — по физической книжке. Причём второе — будет ещё и дороже.

          Ну и зачем оно мне? Я даже не помню когда я последний раз бумажную книгу покупал.


          1. saipr
            07.06.2017 09:45
            +1

            Учиться, учиться и учиться можно вовсе не только по бумажным книгам.

            Замечательно, речь идет только об этом. Книга может быть и на папирусе! Самое главное уметь работать с книгой.
            И третье учиться замените на трудиться.


            1. PsyHaSTe
              07.06.2017 12:14

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


              1. webkumo
                07.06.2017 13:29

                Я вам по секрету скажу — записи конференций по некоторым вопросам дают много больше чем книги.


                saipr, ещё раз: в современном мире не обязательно учиться по книгам (вне зависимости от носителя). Я в книгах сильно разочаровался ещё когда попытался осилить Страуструпа — он реально пишет так, что его могут понять только люди с подобным его мышлением. При этом читал, например Joshua Bloh — Effective Java. Книга полезная, как способ начать программировать, но не раскрывает целую кучу подводных камней… Да и устарела несколько. Кстати, быстрое устаревание книг — существенная проблема. Да из них по прежнему можно извлечь пользу, но эффективность чтения сейчас резко упала. А ещё бывают люди, которым проще напороться на проблему, чтобы понять какой-то факт, чем раз двадцать прочитать про него же.


                PS в общем книгам я предпочитаю документацию и исходники. Так получается нагляднее...


          1. Arastas
            07.06.2017 10:36
            +1

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


            1. khim
              07.06.2017 19:49

              Я тоже так делал долгое время. Но оказалось что это просто удобство чтения. 2560 x 1800 на 10 дюймах оказались достаточными для того, чтобы я, наконец, перестал ностальгировать по бумаге.


  1. Dauphin_Rus
    06.06.2017 20:26

    Очень хороший текст… правильный, имхо.

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


  1. andreytata
    07.06.2017 10:21

    Эта статья льёт бальзам на раны современного разработчика? Комплексы эти появляются не в результате лени или глупости разработчиков. Это результат естественного отбора наиболее эффективной рабочей силы. Именно естественного! Предприятия, которые используют ошибочный алгоритм отбора — погибнут. Исчезнут с рынка. Собственно перестанут нанимать работников. И не будут участвовать в эволюции «алгоритма отбора». Самым удачным «алгоритмом отбора» будет тот, который способствует превращению «замысел заказчика» в «товар» за кратчайшие сроки. Современный «алгоритмом отбора» отбрасывает как академиков, семи пядей во лбу, так и монстров с 30-летним опытом. А пропускает только сообразительных детей. Ребенок легко адаптируется в группе, легко обучаем, без гонора и особых финансовых запросов. А знания не нужны? — Нет, не нужны. API фреймворка, и не более того. Инструментирование процесса разработки порождает всё менее компетентного разработчика. Обыкновенная свертка:
    — Компиляторы ASM снизили до единиц множество рабочих мест для знатоков машинного кода.
    — Компиляторы уровня Pascal и С свернули рабочие места знатоков ASM.
    — Компиляторы c поддержкой OOP С++, Delphi свернули рабочие места требующие знаний эффективных алгоритмов, баз банных, и процедурных переменных.
    — Библиотеки уровня C++ STL и BOOST делают эффективным даже «кодера без образования».
    Не за горой момент, когда заказчик сам сможет обратить «свой замысел» в «товар». И всё. Рабочих мест для кодеров не станет. Заранее изучайте фотошоп, дизайн, 3D-моделирование. И ипотеку брать не советую.


    1. Xandrmoro
      07.06.2017 14:11

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


      1. andreytata
        07.06.2017 16:55

        Верно, группы поддерживающие «свёртывание» это единицы рабочих мест на которые могут претендовать только программисты с уровнем компетентности 100%. И это обеспечит высокая конкуренция уровня 1000 человек на место. Другой полюс этой проблемы, это когда рабочих мест в «группах свёртывания» просто нет. Инструмент произвели «монстры», для которых деньги — ничто, а программирование — всё. Экономический фактор множится на ноль. А уровень допустимой «некомпетентности» рядовых разработчиков упорно движется через уровень студент средних курсов к уровню школьник младших классов. Конец специальности «кодер», как в своё время конец специальности «писарь». :)


    1. 0xd34df00d
      07.06.2017 19:13

      Компиляторы c поддержкой OOP С++, Delphi свернули рабочие места требующие знаний эффективных алгоритмов, баз банных, и процедурных переменных.

      Как ООП отменяет требовани езнаний эффективных алгоритмов?
      Что такое процедурные переменные, кстати?


      Библиотеки уровня C++ STL и BOOST делают эффективным даже «кодера без образования».

      О, нет. Это набор примитивов, а не набор решений на все случаи жизни.


    1. webkumo
      07.06.2017 19:27

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

      Что-то слабо заметно....


      Самым удачным «алгоритмом отбора» будет тот, который способствует превращению «замысел заказчика» в «товар» за кратчайшие сроки

      Вообще производство "товара" это всегда функция от трёх переменных — скорости, качества и стоимости. Куда у вас остальные пропали?


      Современный «алгоритмом отбора» отбрасывает как академиков, семи пядей во лбу, так и монстров с 30-летним опытом.

      Если они умеют писать только на лиспе/фортране у них могут быть проблемы (хотя есть вакансии и для таких динозавров). Специалисты владеющие современным инструментарием будут по прежнему востребованы


      А знания не нужны? — Нет, не нужны. API фреймворка, и не более того. Инструментирование процесса разработки порождает всё менее компетентного разработчика.

      Вас кто-то обидел? Вот честное слово — веб идёт путём развития инструментария не для снижения компетенции разработчика, а чтобы расширить пределы возможностей. Аналогично в других сферах (хотя и изрядно медленнее). Вместо того, чтобы думать "как бы не забыть удалить переменную/освободить память" программист теперь может задуматься, например — а стоит ли использовать тот или иной алгоритм или лучше задачу формализовать иначе. И уж объём знаний требуется очень и очень хороший, иначе будешь напарываться на "детские" проблемы. Я работаю с джунами — вижу это прекрасно.


      Обыкновенная свертка:
      — Компиляторы ASM снизили до единиц множество рабочих мест для знатоков машинного кода.

      И дали н-кратный рост количества рабочих мест знакотов ассемблера


      — Компиляторы уровня Pascal и С свернули рабочие места знатоков ASM.

      И дали н-кратный рост количества рабочих мест знакотов процедурных языков (только не они это начали)


      — Компиляторы c поддержкой OOP С++, Delphi свернули рабочие места требующие знаний эффективных алгоритмов, баз банных, и процедурных переменных.

      свернули менее чем наполовину рабочие места процедурщиков и дали н-кратный рост мест ООП-щиков


      — Библиотеки уровня C++ STL и BOOST делают эффективным даже «кодера без образования».

      сами по себе библиотеки ничего не дают, но они закрывают базовые потребности в инструментарии разработчика c++. Кстати, язык Java в базовой комплектации обладает большим инструментальным разнообразием + имеет стандартные (мавен/грейдл) инструменты сборки, версионирования, управления зависимостями. Он тоже всех съел? А что насчёт веб-фреймворков?


      Не за горой момент, когда заказчик сам сможет обратить «свой замысел» в «товар».

      Да вы пророк! За лет эдак 200-300 до события смогли его предсказать… ну натуральный Пострадамус!


      И всё. Рабочих мест для кодеров не станет. Заранее изучайте фотошоп, дизайн, 3D-моделирование. И ипотеку брать не советую.

      Ура! Ура! Я смогу прожить большее 300 лет! Ура, товаг'ищи!


      1. andreytata
        08.06.2017 05:08

        Java недостаточно быстр. Но именно его инструментарий, а также Python и его инструментарий дают мне статистические данные для «фантастических» прогнозов. Просто хорошо запомните это «предсказание», и считайте годы… до пяти. Я видел времена зарождения этой профессии, и уже вижу её конец. Последний мой студент уже школьник. Уже зарабатывает фрилансом. Вообще без математики или гениальности. Пол года обучения. Python Джанго JSON подробно, HTML, CSS, JS обзорно. Debian, в рамках nginx подкрутить, сервисы и базы настроить, и страшный секрет как из vim выйти. IDE PyCharm + Git. И ВСЁ. Тело ушло лабать.


        1. webkumo
          08.06.2017 12:28
          -1

          Последний мой студент уже школьник. Уже зарабатывает фрилансом. Вообще без математики или гениальности. Пол года обучения. Python Джанго JSON подробно, HTML, CSS, JS обзорно. Debian, в рамках nginx подкрутить, сервисы и базы настроить, и страшный секрет как из vim выйти. IDE PyCharm + Git. И ВСЁ. Тело ушло лабать.

          Ну во-первых вы сами таких производите.
          Во-вторых, минимальный срок становления специалиста уровня сениор никак не опускается ниже 3-4х лет профессиональный разработки. А в среднем превышает 6-7 лет.
          И джуниоры мало кому интересны (в соотношении количество вакансий/количество претендентов), а даже не самых крутых, но сениоров уже хантят. А если удалось выделиться — всерьёз хантят. Т.е. да, срок подготовки специалиста, конечно, уменьшился. Но до состояния, когда "любая кухарка" сможет — ещё ой как далеко. Даже в вебе.


          PS откровенный бред, пожалуйста, не пишите


          Java недостаточно быстр.

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


          1. andreytata
            08.06.2017 18:31

            Я помню, показывал «девочкам» ( бухгалтерским теткам за 40 ) как эффективно использовать арифмометр, не переставляя «собачки». Аспирантам, как «читтить» БЭсму, перфоленты накалывая гвоздём. Как сдвиговый регистр собрать за ночь, на реле. Учил, как память на ру5 спаять без платы, столбиком. А уже на днях, как портировать на «андроид» какой-то OpenGL глючный код на С++, для портфолио которое нужно челу на завтра. Я не произвожу «недоучек», просто это люди, и они просто берут только то что им нужно здесь и сейчас. Последнего «полного» программиста с 4-года обучения я «выпустил» в полёт 8 лет назад. И уже лет 10, как никто за такой подготовкой не обращался. Всё. Теперь и Вы «динозавр». Счастливого вымирания. :)