В этой статье хотел бы сделать обзор новшеств, которые появились в версии прошивки ONTAP 9.2 которая вышла спустя девять месяцев после выхода версии 9.0. Как обычно NetApp радует большим количеством нового функционала и возможностей в своих системах хранения данных, давайте их разберем.
Релизы ONTAP 9.1 и новее теперь будут выходить регулярно каждые 6 месяцев. Ранее релизы оттягивались чтобы вместить невероятно большое число новых фич, теперь их будет меньше в каждом релизе, но они начнут выходить регулярнее и не будут оттягивать выход других фич. Появились релизы с долговременной и коротко временной поддержкой. Поймите правильно, оба релиза полностью production-ready, general avalability, оттестированы, отлажены и работоспособны. Так как на некоторые новые системы появилась возможность покупать поддержку на 7 и более лет, чтобы мочь увеличить срок поддержки релизов ONTAP, было принято компромиссное решение выпускать часть релизов с длительной поддержкой, а часть с короткой, как это происходит, к примеру, в Ubuntu.
NetApp начинал выпускать свои системы простые как тостер, который готовил сэндвичи. Потом сэндвич вырос и стал влазить только в печь, а теперь ONTAP это полноценная целая кухня, со множеством встроенных возможностей, которые где-то есть, иногда спрятаны и их тяжело найти. ONTAP когда-то давно была очень простой ОС, но теперь она очень навороченная и имеет просто невероятную массу функционала, поэтому NetApp продолжает это постоянное движение в сторону упрощения, чтобы сделать крутое и навороченное ещё и простым в использовании.
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, чтобы страдающему луну был выдан его положенный минимум.
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» для командной строки, которая может показывать эффект от экономии по каждой отдельной технологии, будь то клоны, компрессия, дедуп и т.д.
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 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)
Сообщения по ошибкам в тексте прошу направлять в ЛС. Замечания, дополнения и вопросы по статье напротив, прошу в комментарии.
Поделиться с друзьями
XNoNAME
Спасибо. И вправду стал меньше об этом беспокоиться.
Contriver
Ага мой знакомый программист тоже не беспокоился, если что нагуглю.
Подвернулась работа с хорошей зарплатой (для провинции)от 50 тыс руб в оборонном НИИИ, НУ НЕТУ ТАМ ИНТЕРНЕТА — НЕ ПОЛОЖЕНО.
Итог преподаёт в колледже за 15 тыс руб.
А в провинции другой работы нет, на hh по региону 7 вакансий программист с копеечной зарплатой.
А в столицу ехать не может, престарелые родители требуют ухода, а также есть дети и семья.
Жизнь штука сложная и длительная, особенно в условиях России и натягивать американский шаблон в реальной действительносити не выйдет-лопнет.
Как сказано выше ядерные ракеты комуто надо делать, а реальное производство растёт в регионах в большинстве за счёт оборонки и перевооружения армии.
SirEdvin
Вместо интернета можно завести локальные справочники на телефоне, например.
Посыл то статьи не в этом.
batment
Специально для таких ситуаций существует удаленная работа, когда работник не хочет/не может выехать из провинции, а работодатель хочет немного сэкономить. В последние годы таких вакансий стало очень много на русскоязычном рынке, а если потратить несколько месяцев на изучение английского, то вариантов становится еще больше.
Но проблема думаю не в доступности удаленной работы, а в том, что ваш знакомый скорее всего выучил лет десять-двадцать назад delphi / c++ / 1C и больше никуда развиваться не хочет, так как новые языки его в чем-то не устраивают, или на это банально нет времени.
Лично мне известно довольно много примеров, когда человек работает удаленно из провинции, постепенно находит «свою» компанию, которая платит ему уже даже больше, чем в крупных городах. При этом я говорю не о вчерашних студентах, а об опытных специалистах 30-50 лет, которые в нужный момент не побоялись переключиться в угоду рынку.
Contriver
Мой знакомый молодой человек 28 лет отроду delphi учил только в институте.
вот, вот, у него семья и заботы, строит дом, навещает родителей на лечении.Не все могут сутками кодить и изучать новинки.
телефон, планшет, модем, в оборонном НИИИ за это УВОЛЯТ, а то, чего хуже и ПОСАДЯТ(если найдут повод).
Это всё кладётся в железный ящик при входе в рабочую зону.
Кому то ведь надо там работать и жить в регионах России, а то с такими размышлениями из страны будет пустыня с оазисами из крупных городов
FatalStrike
Возможно знакомый выбрал не ту профессию?
basili4
За книги тоже уволят или посадят? Все запомнить все равно нельзя. Есть много вещей с которыми не сталкиваешься каждый день.
AllexIn
То есть ему лень учиться и поэтому он работает за 15 000.
Ну я его понимаю. У меня последний год кризис психологический, мне лень учиться(за год только одну техническую книгу осилил Эффективный и современный С++), работаю мало, новое изучаю неохотно.
Зато снес гараж, построил на его месте парковку, полностью поменял в доме канализацию, водопровод и отопление, отремонтировал куче всего…
Но… Это не «семья требует заботы». Это личный психологический кризис. Свалить это на семью и ответственность — удобно, но это не так.
Просто хочется заниматься херней и не заниматься работой.
И да, внезапно, программисты получают свою очень высокую зарплату не за факт своего существования, а за то, что делают работу хорошо, быстро и с горящими глазами.
А если работать с 9 до 17 и не жить работой — то и программист будет получать нищенскую зарплату.
geher
«Здесь не все так просто как на самом деле».
Ситуации бывают разные.
Конечно, проще сразу, не разбираясь, сказать, что лентяй. Но у человека могут быть и другие якоря, которые не дают ему учиться.
Не стоит забывать, что учеба — это процесс всегда требующий субсидирования. Если вы можете позволить себе выкроить время на учебу или какую-нибудь ерунду, то это означает, что у вас достаточно средств, чтобы удовлетворить ваши реальные потребности, и время потраченное на что-то, не приносящее доход, может быть потрачено не на зарабатывание денег.
А бывает, когда времени на учебу как раз и нет.
И удаленка, в этой ветке упомянутая, тоже не панацея. Для работе по удаленке дома должна быть атмосфера, в принципе позволяющая работать. А оно есть очень даже не у всех.
AllexIn
А я и не говорил что лентяй.
И вообще понятие лентяй — достаточно общее.
По факту есть миллион причин для лени.
Про средства я не понял. Ну да, когда молод и полон сил — херачиш 16 часов в день, успешваешь и работать и учиться. А потом это сходит на нет. Да еще и эелание пропадает, что только усложняет.
Но это я все лирика не имеющая отношения к теме. А тема, я напомню, «нет интернета поэтому работает за 15000». Ну не поэтому он за 15 000 работает.
geher
В рассматриваемой ситуации "15000 из-за отсутствия интернета" отсутствие интернета, естественно, причиной быть не может. разве что малой частью причины.
Но в приведенном примере недостаточно информации для того, чтобы вообще какие-либо выводы делать. Случаю все-таки бывают разные.
Про обучение и средства, это, я конечно, кривовато загнул. Попробую переформулировать (Звиняйте, я не есть хорошо говорить по русски :) )
Суть в том, что учеба не приносит сиюминутной прибыли. А потому другие источники дохода должны позволять не работать, в то время пока учишься. Так называемое совмещение работы и учебы на практике обычно оборачивается разделением времени между работой и учебой.
Естественно, у учебы есть и другие "враги", кроме отсутствия денег, а именно конкурирующие на свободное от рабочее время занятия вроде работы по дому, отдыха, ухода да близкими и, конечно, лени. Но лень в данном случае, как можно заметить, далеко не единственный фактор.
khim
А если на досуг время есть — то и на учёбу его можно немножко наскрести…
MacIn
Тогда человек УЖЕ свернул куда-то не туда в своей жизни. Зачем жаловаться на то, что у тебя жена-дети, кредит, зарплата всего в N тугриков и ты не можешь выкроить время и деньги на учебу? Это значит, что изначально, когда ты должен был учиться, достигнуть зарплаты, купить жилье (а уж потом заводить семью) он делал что-то другое.
Varim
0xd34df00d
Почему?
dimm_ddr
Ну вообще реально же не факт. Как не факт что правильно обратное.
0xd34df00d
Безусловно. Но поэтому я и интересуюсь аргументацией этого тезиса. Аргументы в защиту, которые я могу придумать сам, какие-то смешные получаются.
Arastas
Ну вот вы в 20-25 лет встретили свою половинку. Что, ждать до 30-35?
0xd34df00d
Сомневаюсь, что в 20-25 лет достаточно социального опыта для того, чтобы корректно определить, половинка это или нет, особенно если тратить достаточно много времени на учёбу.
Ну а так да, ждать до 30-35.
Arastas
Без обид, но ведь то, что Вы сомневаетесь в отсутствии опыта в 20-25, это же Ваша личная история, да? Вы же не переносите её на всех остальных?
0xd34df00d
Не только моя личная, я таки и за окружающими людьми могу наблюдать.
Ну и опять же, когда на социальную жизнь будет достаточно времени, если в 15-20-25 почти всё время тратится на учёбу-поступление-в-вуз-хобби-опенсорс-etc?
Ну и в любом случае, на всех я это не переношу. Кто-то радуется учёбе, самообразованию и, вероятно, последующему доходу, кто-то — успешной личной и семейной жизни. Нельзя и рыбку сесть, и косточкой не подавиться.
И я же, в конце концов, не ною про обратную ситуацию, мол, такие все вокруг семейно успешные, и почему у меня не так.
dimm_ddr
А в чем проблема ждать до 30-35? Могу предсказать, что если прожить вместе не заморачиваясь семьей и детьми 5-10 лет и все-таки решиться всем этим заняться, то брак будет значительно более крепким и успешным чем в 20.
MacIn
Нет никакой «своей половинки», это идеалистическая ерунда. «Свою половинку» и в 20, и в 35 найти можно.
Arastas
Вы определитесь, так её нет, или её можно найти?
bigfatbrowncat
Он же написал в кавычках. В переносном смысле. При прокачанных социальных навыках и имидже интересного человека, с которым уживешься и будешь счастлив, можно найти в любом возрасте.
Arastas
Это было бы корректно, если бы в первом предложении кавычек не было, а во втором были бы. Чтобы подчеркунть различие между совей половинкой и как бы "своей половинкой".
0xd34df00d
С другой стороны, прокачанность технических навыков отрицательно коррелирует с социальными навыками.
0xd34df00d
Опять же, с другой стороны пул свободных кандидатов на «половинки» в 35 уже таки поменьше.
dimm_ddr
Вроде бы и да, но с другой стороны в 35 для большинства на первый план выходят другие характеристики человека. Вполне возможно, что, несмотря на уменьшение доступных кандидатов в абсолютном количестве, шансы на нахождение подходящего среди оставшихся даже увеличатся. Опять же — для кандидатов то пул тоже уменьшился и у вас стало меньше конкуренции, поэтому даже с такими же шансами на успех у каждого конкретного общие шансы могли и сохраниться.
0xd34df00d
Ну, да, надёжный, стабильный, деньги хорошо зарабатывает. Но это как-то грустновато, как по мне. Драйва нет.
А драйв-то и ты давать/создавать не умеешь, потому что, ну, в общем, откуда его уметь-то?
Подходящего, опять же, по каким критериям?
Я слышал, хороших людей разбирают ещё, ну, в раннем возрасте, на самом деле. Тем более, есть, по крайней мере, обусловленное традициями различие в гендерных моделях поведения, которое, в частности, влияет на возможность баланса между социализацией и прокачиванием всяких там навыков.
Ну, на мой исключительно зашоренный взгляд.
MacIn
Факт. Просто деньги имеют ценность не только сами по себе, но и в зависимости от времени. Рубль сегодня и рубль завтра — разные вещи. Именно поэтому надо сегодня, условно скажем, достичь уровня финансового благосостояния в N тугриков, чтобы вложить их в жилье, фондовый рынок — что угодно. Потому что завтра та же сумма будет иметь меньшую ценность. И если сегодня, при тех условиях, что есть за окном, вместо работы на будущее потокать своим гормонам, потом будет сложнее как выучиться (никто не молодеет), так и догнать пробел в финансах. Люди это чувствуют — средний возраст деторождения возрос с 18 до 30
MacIn
(с 1990 по 2015 год). Как и возраст вступления в брак — 20 лет для мужчины в 1990, 35 в 2015 (по моей стране, не Россия).
geher
Случаи бывают разные, Сейчас у человека все хорошо, а происходит некоторое событие (например, тяжелая болезнь близкого человека), и все средства, все время уходят на это событие. Учиться некогда. А длиться событие может очень долго.
khim
Если только вы не в коме — всегда можно придумать что можно сделать, чтобы «событие» занимало чуть меньше времени…
injecto
> А если работать с 9 до 17 и не жить работой — то и программист будет получать нищенскую зарплату.
Крайне распространенное заблуждение, культивируемое, видимо, работодателями.
AllexIn
НУ в данном случае это исключительно личный опыт.
Работаешь без вовлечения, не учишься — карьерный рост останавливается, соответственно зависаешь на определенном уровне зарплат. Смена работы не помогает, потому что продемонстрировать актуальный уровень знаний не можешь.
injecto
Чтобы увлеченно работать и учиться не обязательно перерабатывать.
PsyHaSTe
Нужно изучать новые технологии/ездить на конференции/так или иначе общаться на рабочие темы… Если всем этим заниматься рабочее время, то на саму работу времени не хватит, и работодатель на такое не пойдет. Лучший реальный сценарий — пару месяцев тратишь дома на написание прототипа на новой технологии, потом продавливаешь использование на работе, объясняешь плюсы такого решения, и только потом можешь расти и работать параллельно. Но чтобы этого добиться, нужно изначально потратить время на ознакомление и анализ, а иначе никакой работодатель не согласится на "там вышла крутая технология, я на хабре статью прочитал. Не знаю, как она работает и сколько времени понадобится на переход, но я хочу попробовать!"
dimm_ddr
Если под попробовать подразумевать не перейти везде где можно, а поднять небольшой тестовый сервер и на примере проверить и оценить, то вполне можно убедить. Особенно если при этом будет возможность выполнять и свои обязанности тоже, а у технологии есть хотя бы потенциальная выгода. Это, впрочем, и есть те самые ознакомление и анализ, просто это реально делать в рабочее время. Не везде конечно, но многие компании готовы способствовать таким исследованиям.
PsyHaSTe
Тут есть два варианта:
khim
Вы не поверите, но биснес-люди — не идиоты, если придти к ним и сказать: «у нас сборка „пустого“ проекта занимает 70-100 секунд, а разработчики вынуждены вызывать её по 20-30 минимум — непроизводительные потери где-то 30-40 минут у каждого разработчика каждый день… хотим посмотреть нельзя ли это как-то решить» — то они вас легко поймут (просто грубо пересчитав потерянные часы в рубли «зря» выплаченной зарплаты). А если вы не можете описать возможный выигрыш в принципе — то зачем вообще что-то делать?
Любой выигрыш «чисто для программистов», «без всякого влияния на бизнес-процесс» легко пересчитывается в деньги — просто через их зарплату.
PsyHaSTe
Если бы это было так, то у всех разработчиков были бы топовые машины. Посчитано, что удорожание сборки с 1000 до 2500 долларов с шагов в 500$ экономит разработчику более 10 минут в день (не считая психологического комфорта). И что? Много видели машин с Core i9 и pcie SSD?:)
Все логично, но при знакомстве с реальными людьми какие-то комплексы не дают этой логике работать.
Типичный ответ "да, это все нужно, но в приоритете намного ниже всех остальных задач". Например, в разработке есть канбан, где есть ограничение на время проезжания тикета, то есть тикет может откладываться в пользу более приоритетных, но не более Х дней, иначе некоторые задачи просто вечно висят в беклоге. А в разработке часто задача на улучшения билд-процесса может висеть и полгода, и год, и все согласны, что делать надо, просто не сейчас.
0xd34df00d
Есть такая штука, как unknown unknowns. Вам неизвестно, что из игры в неизвестные технологии вылезет, что вы получите и чему научитесь. И уж тем более это всё неизвестно вашему начальству. Поэтому инвестировать в подобные игры, если есть шанс, что из них получится что-то адекватное и полезное, вполне разумно.
Хотя это, конечно, не имеет никакого смысла, если вы делаете достаточно шаблонную работу, и/или по всем потенциальным вещам, в которые бы вы хотели потыкать, всё уже давно написано в достаточном количестве.
Другое дело, что вы можете сказать, что условный бизнес прав в том, что ресурсов не даёт потому, что играться с этим всем вы можете и в личное свободное время, и это «экономически выгодно». Но с тем же успехом можно потребовать играться в личное свободное время и с ускорением сборки, уменьшением затрат памяти на сервере, да и вообще со всеми этими рефакторингами и уменьшениями технического долга.
Впрочем, время Bell labs умерло, похоже. А жаль.
vyrkmod
Программист, который не кодит что-то «для себя» (наверняка не на работе, там работать надо) — либо такой себе программист, либо дико вымотанный, что с точки зрения производимой работы одно и то же.
injecto
Программист, который «кодит» — такой себе программист хотя бы потому, что программисты зарабатывают не «кодингом».
Direvius
Есть еще такие справочники, я слышал, их из деревьев делают, там еще страницы руками листать надо. Старомодно, но работает.
theaklair
Вы серьезно? :) Улыбнуло. Никто сутками этого и не делает — хватает пары часов в день для изучения чего-либо. Главное это систематичность!
В остальном — как я понял после университета человек не особо был заинтересован в программировании.
Никто кроме него в этом не виноват, поэтому лично мне его ничуть не жалко (если вы старались вызвать жалость своим комментарием)
cranium256
Обычную работу найти сложно, а удалённую работу — сложно вдвойне. А если ваш возраст перевалил за 40, то можно умножать ещё на 1.5 за каждые 10 лишних лет.
Попробуйте посмотреть какие вакансии есть, например, на ресурсе, дружественном Хабру, «Мой круг» для разработчика на С++ в «удалённом режиме». Во-первых, вакансий очень немного (хотя вроде как С++ стабильно держит 2-3-4 место по востребованности). Во-вторых, либо требуестя дополнительно знание ещё большого количества чего-то (других языков, фреймворков, библиотек, технологий и пр.), либо это достаточно узкоспециализированная сфера, которую надо тоже знать.
Вы можете сказать, что если не знаешь «других языков, фреймворков, библиотек, технологий и пр.», то кто же виноват? Но всего знать нельзя. Поэтому ещё нужно что бы область знаний соискателя совпадала с требованиями работодателя. И проблема не в том, что " больше никуда развиваться не хочет", а в том, что работодателю нужно здесь и сейчас. Ждать месяц-два-три, пока вы куда-то там разовьётесь, ни кто не будет.
Возможно вашим знакомым повезло. Или они не хотят огорчать вас информацией о реальном положении дел. Или все они гуру в своей области. Или сугубо нетребовательны к уровню предлагаемой зарплаты. Вариантов много. Но с удалёнкой у нас пока объективно плохо.
Для справки. Сейчас посмотрел вакансии на «Мой круг»:
VadimChin
По-моему вы не там ищите. В свете того, что с каждым годом открывается много направлений — кадров категорически не хватает.
Опять же про специализацию, если брать рунет, то кодить сносно на Битриксе человеку с опытом программинга — 2-5 месяцев расслабленного ковыряния. 100-150к вполне можно поднимать удаленно.
Если амбициозней цели — английский подтягиваем + мобильную (или ентерпрайз жабу) и toptal или аналогичные, или можно на стартап сайтищах подыскивать без посредников
F0iL
По-моему вы преувеличиваете проблему.
Начиная с того, что кроме российских сайтов по поиску работы есть и международные, и рабоодателей на удаленку там несравненно больше. Да, нужно знать английский, но не знать его на сносном уровне программисту в XXI веке, по-моему, моветон (а до более-менее приличного уровня дотянуть можно и за полгода-год, было бы желание, благо онлайн-курсов, учебников и возможностей попрактиковаться с нейтивами в наше время достаточно).
Ради интереса пролистал МойКруг, на который вы ссылались. По части C++ («других языков, фреймворков, библиотек, технологий и пр.») требования почти везде стандартные — POSIX, STL, Boost. В конце концов, да, действительно, «ждать месяц-два-три» пока вы в этом разберетесь никто не будет, но можно проанализировать рынок, выбрать наиболее востребованные технологии для изучения, а через «месяц-два-три» появятся другие вакансии с подходящими требованиями.
michael_vostrikov
А я похоже понял, о чем он. У меня похожая фигня после универа была. Я думал, что раз я все лабы пишу на C++, то значит знаю его на нормальном уровне. А оказалось, что там надо знать STL, Boost, POSIX, undefined behavior. Виртуальные деструкторы, обработчики new, и другие штуки из книги Александреску. Я решил, что ну его нафиг, и стал писать на PHP. Чего и другу автора коммента советую. Там хотя бы банально вакансий больше.
cranium256
С нероссийскими работодателями другие проблемы (кроме знания английского). Например, как решается вопрос с отчислениями в ПФР, налоговую, медстрах? Как получить НДФЛ2? (Если, конечно, это не российское представительство компании.) Кроме того, у нероссийского работодателя часто бывает подход: «Русский? — заткнись, говно, и выполняй, что сказано!». Хотя «их» специалисты, порой такие специалисты… Да и вообще неприятно такое «общение». (Не говорю про всех нероссийских работодателей, но сам сталкивалася.)
Про специализацию. Можно, конечно, в критических ситуациях наступить себе на горло и заниматься тем, что не нравится: писать на Битриксе, разрабатывать лохотрон на PHP, ковырять фронтэнд… Я не говорю, что это в принципе плохо (кроме лохотрона, конечно), просто кому-то нравится фронтэнд, а кому-то писать драйвера устройств на С. Всё-таки работа должна приносить и моральное удовлетворение.
Требования по текущим вакансиям с «Моего Круга» (C++, удалённая работа):
Это вы называете «стандартными требованиями»?
Это я ещё не проваливался внутрь объявлений. Там обычно более развёрнутый список требований к соискателю.
F0iL
Вопрос с легальностью оформления каждый решает для себя сам, в большинстве случаев оформляется ИП и договор подряда (со всеми необходимыми отчислениями, справки аналогично), но бывают и другие варианты Материалов на эту тему в Сети очень много.
Насчет подхода «заткнись и выполняй, что сказано» — мы с Вами, кажется, на разных планетах живем, я и мои знакомые работаем на иностранные компании и ни разу не встречали подобного, особенно на национальной почве.
Да, я прекрасно понимаю, что кому-то нравится сайтики верстать, а кто-то хочет высоконагруженные сервисы создавать или в крохотную микросхему сложнейшие матрасчеты запихать, но здесь просто нужно определиться, что для человека важнее в конкретный момент: работа с большим моральным удовлетворением, или с хорошими условиями и стабильной достаточной зарплатой. Мир не идеален, увы, и далеко не всегда эти понятия полностью пересекаются.
Касательно вакансий — в п.2 например требования самые стандартные, стандартнее просто вообще некуда (разве что Nginx там затесался, но его принципы и конфиги за пару вечеров расслабленного ковыряния можно изучить).
А что до вакансий где перечислено сразу несколько языков — в большинстве случае не требуется быть экспертом сразу во всех них (я даже в одной из вакансий на том же МоемКруге видел приписку, мол, «если вы _всё это_ знаете — то это просто невероятный плюс», по факту же обычно требуется экспертно владеть одним языком, и уметь читать код и делать мелкие правки (с поиском на StackOverflow :) ) на другом. По своему опыту могу сказать, что для квалифицированного C++ разработчика после вникания в тему и копания в документации на язык/фреймворк, задача поверхностно разобраться в коде на C# обычно серьезной проблемой не является (особенно если он не один в команде, а есть у кого спросить подсказку и попросить ревью).
dimm_ddr
Такое впечатление, что вы никогда не собеседовались по таким вакансиям. Абсолютное большинство компаний, которые пишут, например, "С++, питон, джава" готовы брать человека, который знает только один из трех. Если он знает хотя бы два, то 99% что он получит эту работу.
basili4
Девочки которые пишут вакансии копируют эти вакансии у других. Они этих слов боятся. Смело собеседуйтесь на любую из этих позиций.
sticks
Удивительно, но, кажется, два комментария выше — это наглядная иллюстрация к разделу «Не слушайте снобов» из статьи)
vanefa
Вот давайте не будем обижать 1С.
Для нормального специалиста по 1С в провинции указанная сумма в 50 000 рублей будет просто смешной. Она вполне нормально для 3 летнего миддла по 1С (не бегунка, обновляющего конфигурации, а того, кто настоящим программированием занимается) уже.
Все правильно.
Это какой то неправильный чел был.
Ибо уже лет 5 как за 15 000 рублей даже студенты которые еще ничего не знают не хотят работать в области ИТ. У человека со знаниями оклады нааааамного больше. Даже в нашей глухой провинции.
fillpackart
Почему не будем?
aynanenane
Жизнь то конечно, штука сложная, но человек сам определяет как он будет жить и. В случае с Вашим другом проблема решается удаленной работой (можно и на заграничных заказчиков). Ну конечно, уповать на сложную жизнь и жалеть себя легче и приятнее.
Contriver
с этим согласен и ему рекомендовал тоже-самое
Но кто тогда будет поднимать обороноспособность страны, кто будет создавать операционки для бортовых устройств и системы наведения, если все лучшие умы будут работать на заграничного дядю
сэматрампа.Удалённо ведь в оборонке не поработаешь, секретность однако!
Где патриатизм молодёжи о котором так рьяно вещают из телеящика?
webkumo
Пока у руля те, кто у руля — только фанаты обороноспособности страны, либо те, кто смог договориться о хороших откатах. По крайней мере я не особо замечаю за правительством желания этим вопросом реально заниматься.
PS дядя Трамп нам, конечно, совсем не дядя, но IT сектор дарит очень высокую возможность мобильности.
papabig
Что значит, кто? Кто-то другой, очевидно, раз ваш друг не смог. При чем здесь патриотизм и слабый навык вашего товарища? Вы вроде начали говорить о том, что друг в беде, а закончили тем, что целая страна.
Я вам так скажу, если кто-то не подошел по вакансии, не значит, что не подойдет другой, наверняка ваш товарищ не один на весь город, который стремится целину поднимать. Точно так же, как и компания, которая нуждается в определенном работнике, не ограничится поиском лишь в вашем городе.
Xandrmoro
С таким отношением к людям — никто.
Да и хрен с ним.
MacIn
Патриотизм по отношению к чему? Россия — буржуазное государство, правящий класс в России — буржуазия (капиаталисты). Это их страна, а не наемных рабочих (пролетариата). Никакой абсолютно разницы с Германией, Францией или — о ужас — США — нет. Кроме языка да местечковых особенностей культурных.
vyrkmod
Буржуазия? Серьёзно? А что ж у нас эту самую буржуазию власть так плохо защищает? Разница с означенными странами есть — там люди занимаются бизнесом и не боятся что его просто отожмут.
MacIn
Так крупная буржуазия пожирает мелкую — объективный процесс. Как было в 19 веке, так и осталось. И нет никакого «власть защищает». Власть, точнее аппарат, применяющий насилие — это инструмент правящего класса. В РФ, как я указал ниже, государственно-монополистический капитализм, т.е. есть спайка крупной буржуазии и госаппарата. И эта часть буржуазии, крупная, будет давить мелочь, усиливать монополизм всеми силами.
Xandrmoro
В России правящий класс феодалы, а не буржуазия.
MacIn
В России — государственно-монополистический капитализм. Плоть от плоти, классика.
bigfatbrowncat
Сэр, у вас нос зеленый. Будьте осторожнее, как бы на уши не перекинулось…
AllexIn
Ваш пример смешон.
Сейчас можно википедию скачать и весит она около 10 гигов. На телефон влезет непоморщившись.
Да, специфичные вопрсоы уже не получится погуглить без инета.
Но уж типовые профильные справочники и документацию телепортом скачать и использовать — это примитив.
32bit_me
Вот я работал до недавнего времени в оборонном НИИ, таком, что оборонней некуда. Проекты такие, что не то что рассказывать, а думать про них лишний раз не рекомендуется.
Интернет там есть, просто не на рабочих компах, а на отдельном компе, никаких железных ящиков нет, смартфоны никто не отбирает. Просто ты подписываешь неразглашение (как и везде сейчас), а статью за разглашение гостайны никто не отменял. А так, хоть что делай.
И если ты не можешь программировать без stackoverflow, то тебя там не ждут, реально. Хотя зарплаты там невысокие, там много хороших профессионалов (хоть и не все).
geher
Степень оборонности не решает. Решает степень секретности.
Так что на оборонном предприятии может быть интернет на рабочем месте, а во вполне «гражданском» могут телефоны на входе собирать.
На том же Фольксвагене со смартом и вики на нем не побегаешь, ибо запрещено (разве что найдете смарт без камеры, заклейка не катит).
32bit_me
Как я уже написал, проекты секретны.
То, что смартфоны никто не отбирает, это не означает, что можно фотографировать что-либо и выкладывать у себя в бложике.
geher
Я не о грифе на документах, а о режиме в конторе.
Самый писк, когда на работу и с работы вообще ничего нельзя проносить. Входишь, раздеваешься догола, одеваешь казенное, выходишь, раздеваешься догола, одеваешь свое. И все это под присмотром охраны. Не знаю, существуют ли такие конторы сейчас, но судя по некоторым случаям, обсасываемым в СМИ, существуют.
Contriver
Существуют и их достаточно Фармстандарт
Входишь, раздеваешься догола, одеваешь казенное, выходишь, раздеваешься догола, одеваешь свое так и только так, ещё и голый душ, чтоб лечебную пыль смыть, а то лекарство в кожу впитается и будет при каждодневной работе передоз, с нехорошими последствиями.
А в цехе производства и фасовки наркотических средств ещё и менты надзирают и шманают все коммуникации(вентиляцию, канализацию).
Это реальность, у меня подчинённый там работал.
TheKnight
дубликат ответа.
deadkrolik
Вам-то что с того? Если человек так живет, значит это его выбор в каком-то смысле. Если его не устраивает и он чувствует, что бессилен что-то менять, то пусть идет к психологу, работает над собой.
TheSunwave
Хреново, когда в городе интернета нет, и нет желания развиваться. Трудно жить в мире, где не существует удалённой работы, а твои коммуникационные навыки не позволяют тебе себя продать. Печаль, да и только.
Skerrigan
Мигрируйте в подходящий город. Рекламирую Томск.
vyrkmod
Когда все вокруг кодят и не беспокоятся — ахтунг в итоге случается ВНЕЗАПНО и МАСШТАБНЫЙ. Причём я не о замечательном таком коде, который десятиметровой палкой трогать неохота, а вполне серьёзных проблемах для бизнеса: лишний месяц до релиза, отваливающиеся сервисы, всё растущий штат техподдержки, репутационные потери… Есть вещи, которые программеру надо знать — список вещей которые надо знать, как минимум.
sim-dev
Я не ошибусь, если сформулирую кратко смысл весьма эмоциональной и занимательной статьи так: "если за это платят, это хорошо, и не парься,
что ты тупой"?AstarothAst
Концовка, скорее, такая: «ты не тупее остальных, и уж точно не тупее тех, кто называет тебя тупым».
sim-dev
Первоначально я хотел перегнуть палку и написать «киллер» — а что, профессия, как профессия, и платят неплохо… Но потом передумал и написал, как есть. А потом передумал еще раз и зачеркнул.
engine9
Мне кажется, что современные технологии настолько переусложнились что уже начинают сказываться ограниченные ресурсы человеческого мозга. Сверху еще наслаивается постоянная гонка «быстрей быстрей, обогнать всех» и в результате люди работают вымотанные и вынуждены «костылить». По крейней мере так это происходит в местах где я работал и у программеров с которыми общался.
Капитализм-с.
vyrkmod
Благо программисту доступен замечательный приём «абстракция». С его помощью решается любая проблема в коде, кроме избытка слоёв абстракции.
0xd34df00d
Фиг знает, УМВР. Получается бегать от конвейера и протоколов синхронизации кешей до зависимых типов с монадными трансформерами (хотя нынче в моде свободные монадки) и обратно, не забывая про, собственно, предметную область.
Но я по субботним, а также пятничным и воскресным вечерам мастурбирую на это все.
engine9
Вот так выглядит киберунижение, хах. Некоторые слова знакомые нашел :3
parotikov
Хороший, годный перевод.
Автор помешан на сексе:
и еще несколько ассоциативно-развитых метафор:
degs
Перевод действительно хороший, но вот эта фраза поставила в тупик:
что бы это значило?
michael_vostrikov
Доктор Хаус
alconost
Это цитата из сериала «Доктор Хаус», смысл примерно такой: «потому что это всегда оказывается что-то еще». Добавили объяснение в скобках прямо в статью.
degs
Спасибо за оперативность, но уже поздно :) Я наверное один такой на свете, кто Доктора Хауса не смотрел, а остальным и так ясно.
KonstantinSpb
А представляете, если роскомпозор забанит гугл, stackoverflow и.т.п. :)
Contriver
и до кучи заблокирует VPN, ШИФРОВАНИЕ, запретит анонимность.
Начнётся масовый исход программистов в мир иной — за рубеж нашей необьятной Родины!
Nakosika
Так давно уже великий исход идет, что-то вы не внимательно наблюдаете.
slayeek
Есть статистика?
Mirn
я искренне извиняюсь что в дела ИТшные лезет электронщик:
так же и мой брат — системный интегратор оборудования перерос из коммандировок в США в ПМЖ.
Arastas
Отличное качество перевода!
mpavlov
Отлично, можно прокрастинировать дальше!
alconost
Чтобы все же не прокрастинировать, у нас другой перевод есть: https://habrahabr.ru/company/alconost/blog/325174/ :)
Sinatr
win32asm
https://ru.wikipedia.org/wiki/Vim
Редактор такой, широко известный в узких UNIXовых кругах. 8-)
В 1991 году из vi перепилили.
Sinatr
Спасибо. «Узкие юниксовые круги» видимо думают, что остальной мир пользуется текстовым редактором больше чем гуглем? Смутило сравнение с гуглем: "даже Vim еще не существовал. Все еще не могу понять, это сарказм типа «даже Norton Commander еще не существовал» или всерьез?
win32asm
Ну, учитывая что гугль появился в 1998 году — табличка с надписью «сарказм» вполне себе прослеживается.
И кстати — vi (который предок vim) был сделан в 1976 году, так что ещё (наверное) есть люди, которые пользуются этим текстовым редактором в той или иной форме как минимум дольше, чем гуглём.
Ну и да, тот абзац именно про таких людей. 8-)
D3fl4t3
Консольный текстовый редактор
https://ru.wikipedia.org/wiki/Vim
terrier
Прям даже интересно — как же так можно погуглить Vim, чтобы все еще остаться в сомнениях?
LynXzp
Погуглил, не смог выйти, не понял.
Sinatr
Вам, наверное, будет неудержимо смешно, но я в жизни им не пользовался, а его тут всуе наряду с гуглем упоминают. Стало интересно, что за зверь. И да, можно погуглить так, что останешься без ответа (к слову, первый ответ гугля по «vim» у меня какой-то vim online, модное слово «онлайн» появилось относительно недавно, потому не смотрел).
Заминусили, т.к. решили, что я тролю? Обидно, ну да ладно. Продолжайте веселиться.
khim
vim online — это «всё о vim в онлайне» (так как предполагается что он у вас в системе, то есть «в offline» тоже есть). И да — это именно то, что вам нужно было читать.
Первая ссылка. В гугле. На первый запрос. Ниасилил. И вы хотите сказать что это — не троллинг?
Sinatr
Да, я все еще осмеливаюсь утверждать, что троллинга тут не было. Был вопрос, который «не понравился» определенной аудитории. Все еще думаю, что вопрос уместен и не только мне будет интересно узнать ответ на него.
Germes_Fox
Недавно статья была, что вопрос о том, как выйти из Vim на stackoverflow недавно свой миллион просмотров справила.
vasya-ves
Приятная статья, спасибо.
lzb_j77
У меня до сих пор A500 и A1200. Обе помнят дату свадьбы :)
da-nie
Это вы про Amiga 500 и 1200? :)
lzb_j77
Да, у меня A500/1mb и A1200/030. Обе исправные. Обе помнят :)))
da-nie
Надо же. :) Ну а у меня только Amiga 500 есть. :)
Bragaman
Круто конечно считать, что если умеешь гуглить, то ты уже программист, однако это можно отнести только к каким-то специфичным вопросам. Не будешь же ты во время обсуждениями с коллегами в быстром темпе гуглить сложность алгоритмов или чем массив отличается от списка. Как по мне база в любом случае должна быть.
Smiz001
База должна быть, но любая информация в голове со временем будет забываться, если ты этим нигде не пользуешься.
unabl4
Не знаю, кому как, а я себя сравниваю с теми, кто, как мне кажется, в техническом плане меня лучше, успешней и т.д а не с теми, кто с трудом научился писать «привет, мир» и гордится тем, что не знает и не хочет знать довольно базовых вещей. За такими, как правило, приходится их говнокоды массово переделывать, тыкать носом и на пальцах объяснять, почему это должно быть так и так. Грустно это, что приходится с такими «коллегами» дело иметь.
fillpackart
Тут скорее посыл в том, что пресловутых «баз» — слишком много. Для фп-шников понимание принципа замыканий — база, а вот для ооп-шников — нет. И наоборот, если ооп-шник обязан понимать, что такое интерфейс, то большинству функциональщиков это не нужно. Это показывает, что нельзя сказать: настоящий программист должен знать замыкания. Потому что он нихрена не должен)
vyrkmod
Поддерживаю предыдущего оратора! Постоянно слышу про эту мифическую «базу», которую преподают в вузе и которую должен знать любой программист. Блин, ну вот знаю я основы C, а чем мне это поможет когда я пишу какой-то инструментарий на php? Есть, конечно, и другая крайность: когда тот же php-шник понятия не имеет как работает веб-сервер, зачем нужны индексы в БД и подобное. Но блин, нет никакой «базы», есть предметная область, и знать следует именно её.
gdt
База, которую преподают в вузе — это основы логического мышления, основы математического анализа, комбинаторика, теория вероятностей, дискретная математика и многие другие вещи, которые напрямую к программированию вроде бы и не относятся, но знатно структурируют мозг и мыслительные процессы. Систематизация знаний, если можно так выразиться. С такой базой можно пойти практически в любую предметную область, так или иначе связанную с алгоритмизацией и разработкой ПО.
vyrkmod
На счёт «любой предметной области» — согласен, но не у всех в том есть потребность. У нас, почему то, многие уверены что программист без вышки — не программист, хотя «не у нас» человек на такую же специальность идёт после колледжа (по-нашему ПТУ). С той же математикой программист разберётся, если оно ему действительно надо. В случае же «вроде бы надо» — есть абстракция. И да, бизнесу нужны крудошлёпы, а для обучения нормального крудошлёпа хватает пары лет: им нужна только их предметная область, незачем тратить время на «базу».
dimm_ddr
Ну тут вы погорячились. Математика может быть достаточно сложной чтобы с ней не разобрались 99% программистов. Но вот потребность в такой математике есть скорее всего даже меньше чем у одного оставшегося процента.
Nakosika
Интерфейсы в фп тоже есть, только по разному в разных языках называются.
fillpackart
А в ООП есть замыкания. И что?
Nakosika
Тоже учить нужно, вот что :) в целом я с вами конечно согласен.
unabl4
OOP и FP друг друга не исключают и могут вполне себе мирно сосуществовать как, например, в скале. Не очень понятно, зачем себя так ограничивать в предметной области.
fillpackart
Могут, но большинство разрабов отдаёт предпочтение одной из этих парадигм, изредка прибегая к некоторым паттернам из второй. На одной работе (мы пилили большую десктоп софтину на C#) меня довольно сильно критиковали за частое использование фпшных фишек, аргументируя это тем, что такой код «нарушает семантику».
ingegnere
Толковая статья!
Shady1010
Сильная статья. Мне всегда хотелось все запомнить, думал Гугл для слабаков, что надо самим все пробелы решить, а если не мог решить или что-то не понимал сразу, то приходило оно — депрессия.
Erelecano
Гуглить и спрашивать у коллег не стыдно, стыдно не гуглить и не спрашивать у коллег. Я вот знаю, что могу затупить и на мелочи, но всегда есть гугл в браузере и коллеги в телеграме. Админ(и программист тоже, все же программист это админ-неудачник) не умеющий читать и не имеющий желания учиться — мертв.
fillpackart
Что, простите?
DrakeMazzy
Мне 38.
Год тому перешел из админов в девелоперы.
Работаю удаленно.
Не жалею.
Я чего-то не знаю?
Erelecano
С вероятностью 99% вы не были админом, а были попингуем, мальчиком подай-принеси, чинили чайники и меняли картриджи.
Вы — пример моей фразы. Админом вы не стали, не хватило знаний и мозгов, смогли стать только очередным программистишкой.
fillpackart
Сэр, у вас проблемы
RussDragon
Вам, видимо, с коллегами не повезло, да? Или война админов и программистов продолжается и по сей день?
(просто если уж так рассуждать, то без программистов работы для админов вообще бы не было :) )
webkumo
Хм… а я и не в курсе про таковую… Где позырить можно, а то попкорн зря пропадает?
devalone
Сильно ЧСВ выросло после написания комментария?)
dotgin
а водитель — это автомеханник — неудачник
а автомеханник — это автоинженер — неудачник
da-nie
Поперхнулся чаем. Уверяю вас, там всё сейчас очень грустно с вменяемыми программистами. Это из личного опыта.
Contriver
Я в курсе, это как раз и беспокоит.
square
У вас есть личный опыт работы с программистами министерства обороны США? Интересненько…
da-nie
Да. Только не США, а РФ. :) И опыт именно в указанной сфере. :)
m0Ray
Тоже мне открытие. Всю жизнь советские школы и институты (по крайней мере те, с которыми я имел дело) уговаривали: учись анализировать и синтезировать, а не зубри. Константы и формулы всегда можно посмотреть в справочнике, но надо уметь понять, какой справочник взять и какой раздел смотреть.
Теперь вместо справочников интернет — намного удобнее.
Erelecano
Советские школы, как раз, отличались тем, что требовали забрить, а не анализировать или искать информацию. Все учителя которые меня учили в школьные годы были еще советскими и все они этого требовали.
Советские ВУЗы, тут да, частично учили анализировать, хотя тоже требование тупой зубрежки оставалось. Когда читаю отчеты знакомых, которые учатся в западных ВУЗах люто завидую, потому что там учат анализу и поиску.
square
Вам просто не повезло с учителями, но так было не у всех.
Arastas
Вот есть такой в меру фундаментальный вопрос — а можно ли на экзамене пользоваться литературой (справочники, учебники)? Пусть, для конкретики, экзамен по матанализу или по основам теории алгоритмов. Моё мнение — можно, так как для специалиста важно умение за 30 минут подготовки найти и понять то, что нашел. Многие мои коллеги по высшей школе со мной категорически не согласны, и считают, что все входящие в экзаменационный лист вопросы должны быть не только поняты, но и заучены.
И это расхождение во взглядах я встречаю не только на пост-советском пространстве, но и в современных европейских ВУЗах.
Erelecano
> Пусть, для конкретики, экзамен по матанализу или по основам теории алгоритмов. Моё мнение — можно, так как для спициалиста важно умение за 30 минут подготовки найти и понять то, что нашел.
Ну нас на ВМК ННГУ учили, что можно и нужно. Именно по той причине, что нужно знать где искать и что, а не зазубривать бесполезные формулы.
SRadin
Математику, физику — сдавали без «подглядки». На профильных дисциплинах запрещали пользоваться только конспектами лекций.
Bunny_74
нам довольно много преподавателей разрешали пользоваться любой литературой на экзаменах по разного рода «математикам».
Если не разбираешься — на теории посыпишься при ответах преподавателю, а практику и так не решишь.
Nakosika
Ну говорили одно а на экзамене спрашивали другое. Всегда так было и будет пока не появится лучшая система образования.
geher
Как показывает реальная практика, часто в справочниках просто нет времени искать. Все уже должно быть в голове. Так что надо и искать уметь, и помнить столько, сколько в голове помещается, начиная с самой критически важной информации.
Если на простом примере, то я обычно не запоминаю номера телефонов, ибо есть телефонный справочник. Но есть некоторые номера, которые я выучил наизусть, чтобы, если что, на любом аппарате по памяти набрать можно было бы.
m0Ray
Оперативный запас знаний, конечно, никто не отменял. И чем он больше, тем эффективность выше. С этим никто не спорит.
Речь о том, что при погружении в новую проблему или область человек должен хотя бы понимать, какие книги и справочники могут ему понадобиться, а не смотреть как баран на новые ворота: «это мы не проходили, это нам не задавали». Если человек умеет самостоятельно составить хотя бы общее представление о неведомой доселе проблеме — можно считать, у человека есть образование.
«Учитесь учиться», как говорил один хороший преподаватель.
nefone
Я все же стараюсь узнавать что то новое каждый день.
badaloff
Мне кажется, что фраза в переводе звучит странно:
«вся остальная работа передается на сайт другой компании… состоящей из отдела продаж и технического отдела»
Как это передавать работу на сайт? В комментариях на сайте или я чего не понимаю?
Я думаю в оригинале было слово site, которое ещё может означать место, местоположение, позиция. То есть я предполагаю, что в оригинале имелось ввиду что-то вроде «передаётся в компанию в другом месте» или «передаётся в другое место компании… состоящей».
Увидеть бы оригинал, но ссылки на него я не нашёл.
pacahon
Внизу есть ссылка на оригинал, поищите на странице по Peter Welch. И там действительно говорится про сайт "job has been outsourced to a website run by another company"
Pycz
Оригинал там же, где и обычно, под статьей. И в оригинале используется слово «website».
fillpackart
Вообще разработчик — это в первую очередь понимание, знания вторичны (хотя и очень важны).
hatari90
Вспоминается анекдот про инженера и «Справочник объемов красных резиновых мячей».
Varim
stranger777
Логично, что ты программист, когда ты знаешь то, что нужно, чтобы решать поставленные задачи. Программирование — автоматизация чего бы то ни было. Чтобы понимать, как автоматизировать что-то, нужно понимать, как поведёт себя машина после скармливания того или иного кода. И как сделать код, от которого всем будет хорошо.
Соответственно, программисту, который фигачит платёжный API или с платёжным API, нужно знать о безопасности обращения с данными в сети, т.к. это деньги, а также позаботится о том, чтобы людям, которые будут при помощи этого API зарабатывать деньги, было удобно это делать. И здесь гораздо больше пригодится психология восприятия конечного юзера (будь то программист или покупатель в магазине, или кто-то ещё...), нежели матан.
А вот ежели фигачишь компьютерное зрение в связке с ИИ, то от сложной математики не деться никуда.
Иными словами набор знаний прямо зависит от задачи.
А т.к. у фрилансера, например, набор задач может быть мягко говоря шире многих, то и гугление — не повод для стыда, а такой же навык, как и все остальные.
skch
Где ссылка на оригинал? Почему никогда не публикуете. Дайте хотя бы название оригинальной статьи на английском языке.
stranger777
Peter Welch на скриншоте кликабелен и ведёт вы уж поняли куда. :)
http://www.stilldrinking.org/how-to-worry-less-about-being-a-bad-programmer
bigfatbrowncat
Описанная в статье ситуация действительно не очень страшна. Думаю, что не ошибусь, если предположу, что все разработчики, стремящиеся расти и постепенно повышающие свою квалификацию, проходят следующие стадии развития:
1. Смог переписать код из учебника и, поправив там три строчки, добиться, чтобы он всё равно работал
2. Смог САМ (!) написать программу с нуля, ничем не пользуясь, даже учебником
3. Обнаружил в интернете StackOverflow. Теперь моим учебником является весь интернет…
Проблема, описанная в статье — некое разочарование в себе, которое может постигнуть девелопера на третьей стадии из этого списка. Но третьим пунктом список не заканчивается. Мы, программисты, учимся всю жизнь. И это не беда — были бы учебники…
Представьте себе, что вы выучили используемую вами технологию настолько, что уже не лезете на StackOverflow с глупыми вопросами типа «что такое лямбда-выражение и как его написать». Вам хватает, например, http://cplusplus.com/. Иногда. Если подзабудете…
А теперь представьте, что проблемы, которые перед вами встают ежедневно, не разбираются на StackOverflow. Их там просто нет, потому что вы занимаетесь наукоемкой инновационной темой, про которую люди в сети или объясняют друг другу самые азы, или пишут маловразумительные научные статьи на http://arxiv.org, которые вам периодически приходится читать, разбираясь в математике, которая вам давалась нелегко даже в институте, а сейчас, по прошествии 10 лет, она и вовсе напрягает.
И вы понимаете, что задача, которую вы сейчас решаете, никем до вас решена не была. Это — не сайтик на ReactJS, который можно утащить с любого Tutorial (не обижайтесь, фронтендщики, это просто иллюстративный пример — я понимаю, что у вас тоже всё бывает очень непросто). Или, возможно, она уже была решена… конкурентом вашей компании. Но он, почему-то, об этом не отписался на StackOverflow.
И вот именно в этот момент, когда вы остаетесь с задачей один на один, как на экзамене в школе, но она нестандартная, включает в себя изобретение нового метода (или, как минимум, усовершенствования вот этих невнятных формул из статьи), вы и понимаете, насколько вы — хреновый и бездарный специалист. Особенно, если вас окружают люди, многие из которых, в силу немного иного склада мышления, справляются с этим классом задач чуть лучше вас.
StackOverflow можно перерасти. Но убежденности в своем таланте это не прибавит.
Убежденность прибавляет только пополнение списка решенных проблем. Вот этот список — и есть ваш талант. А то, нагуглили вы это, или сами придумали — дело десятое.
Mugik
Посыл статьи типа в том, что дескать в Африке голодные дети пьют коровью мочу, так, что радуйся, что у тебя на столе стакан воды.
Ну не знаю, это какое-то самооправдание неудачника и бездаря, который какими-то нереальными потугами пытается кем-то стать, но у него ничего не получается, и вместо того, чтобы это признать, успокоиться и смириться, придумывает идиотские оправдания, вроде
Не знаю, кто там кого оставил позади, но я каждый день вижу ребят на дорогих машинах, с красивыми девушками рядом и живущих в собственных домах, которые не вкалывают 24 на 7, сливая время и здоровье.
Kitsok
А это же вопрос мерила. Если оно — тачки и красивые девушки, то это один разговор, если что-то другое, например "хочу всегда получать удовольствие от работы, и этим экономить на психологах и венерологах" — другой.
vyrkmod
Экономия на венерологах за счёт получения удовольствия от работы — это что-то новое…
lxsmkv
А я не считаю себя программистом, и мне легче. Я считаю что программист, это тот кто может написать свой компилятор или что-то подобное. Я даже ушел со второго курса информатики, когда увидел что я просто не дотягиваю до лучших. А быть лучшим среди худших — зачем. Никто такого решения не понимает, говорят надо было дожимать. Теперь я работаю тестировщиком-автоматизатором — это мне по силам, и нравится, нашел себе работу по плечу. Если мне нужно какое-то нестандартное решение у меня под рукой есть хороший архитектор, хороший программист. А знаний мне хватает чтобы обьяснить проблему и понять ответ. Мне не нужно соревноваться с коллегами. А юниоры вообще иногда ко мне за советом приходят. Важно быть нужным. Можно быть не мега-мозгом, но пока ты справляешься с задачами — все отлично. А еще работая тестировщиком знаешь, что даже лучшие ошибаются. И перестаешь от себя ожидать чего-то сверхестественного, а просто делаешь свою работу. Но и кадровик у нас талантливый. Он не только меня «с улицы» подобрал, у нас много толковых парней без профильного образования успешно в проектах работают. Сделал ставку на потенциал человека, а не на список скиллов.
Varim
Возможно «лучше» раньше вас начали изучать тему или больше учились чем вы.
Но да, очень важна теплота в коллективе, а не лезть из шкуры что бы доказать себе что ты первый
vadim1406
Где бы найти таких программистов, которые просто делают свою работу? Не пытаются натянуть нейросеть на
глобусweb-морду к БД, а просто делают быстро и без багов за деньги, которые им платит бизнесmichael_vostrikov
Где бы найти таких работников, которые никогда не ошибаются, да еще и работают задаром.
michael_vostrikov
Хм, а ведь это и есть компьютеры. Только человеческий язык не понимают, вот печалька. Нужен переводчик.
kalombo
Судя по своему опыту собеседований скажу, что работодатели делают всё, чтобы не нанять такого человека. Такой программист должен быть ответственным, иметь интересный опыт, уметь принимать решения, понимать, что он работает на бизнес, который ему платит. Работодатели же спрашивают про UML-дигаграммы, паттерны проектирования, заставляют писать алгоритмы на листочках, спрашивают определения графа (чуть ли не наизусть требуют О_о), pep8(было и такое О_о).
А еще такой программист знает себе цену и потребует хорошую зп. Естественно у работодателя ломается шаблон: «Он требует зарплату в xxx рублей и не знает как балансировать бинарное дерево» Когда же программист говорит ему мол, «Я не с потолка взял такую сумму, я столько стою, мне там то столько платят», то работодатель оправдывает это примерно так «А ну ты там сайтики/формочки пилишь, а у нас то тут ого-го, всё серьезно».
В общем у меня такой парадокс выходит, я бы может и хотел заняться чем-то более сложным, но за это я должен потерять в зарплате и перспектив, что это будет временно, а потом будет резкий подъем по зп, я не вижу.
michael_vostrikov
Зарплата программистов складывается не столько из того, что они делают, сколько из того, сколько их работа приносит денег компании.
vadim1406
Готов взять на работу программистов без UML, бинарных деревьев и прочей фигни. Сайтик, формочка и вперед (С#, Js, Angular, немного Oracle).
Денег 150+ :)
Azoh
Это у вас получается классическое трио
naething
Популярно нынче стало хвастаться отсутствием знаний, объясняя свою позицию возможностью загуглить и найти всё, что нужно.
Гугление работает, только когда вы точно знаете, что ищете. Например, как выйти из Vim или как собрать ядро Linux из исходников.
Но часто бывает так, что вы просто не можете знать заранее, что искать. В таких случаях наличие определенных знаний и интуиции может ускорить работу на порядок, буквально делая вас «10x developer»-ом. Вот простой пример из мира Java. Представьте, что вам надо исправить некий неуловимый баг в большом проекте. В процессе чтения кода вам попадается такой кусок:
Если вы обладаете тем знанием, что массивы в Java имеют «поверхностные» equals() и hashCode(), проверяющие лишь адрес массива, а не его содержимое, то вы сразу заподозрите неладное. Например, такой код не будет работать:
Без знания этой тонкости языка вы просто не обратите внимания на эту строку и гугление здесь никак вам не поможет. В результате вам может понадобиться несколько часов удаленного дебага в продакшене. Таких примеров можно придумать сколько угодно, для любой области и технологии.
fillpackart
Не знаком с Java, но это не помешало мне понять, что код не работает)
Pro-invader
А может быть, что не вернет, потому что в get создается новый массив, он размещается в другом адресе и получается не равен массиву в put?
kalombo
Промазал с ответом, извините…
Mishkun
Что-то читаю статью и в голове играет песня "не думай о плохом, не чувствуй себя лохом".
Главный посыл автора утешающе-снисходительный — "Ничего страшного, что ваша работа вам не особо нравится, да и вы в ней не яркая звезда, вы выполняете свою работу и делаете ее сносно, так держать".
Arastas
Вы так говорите, как будто в этом есть что-то плохое.
alexndergartemov
А можно, пожалуйста, ссылку на оригинал статьи?
vyrkmod
Автор: alconost (стрелочки) Peter Welch в конце статьи. Не самый очевидный способ обозначить автора оригинала, но то же самое во всех переводных статьях на хабре.
kaktumar
такой надмозг от компании-локализатора это конечно очень печально и показательно
порно — лёгкое (soft porn)
dimm_ddr
Не уверен что вы правы. hard porn обычно переводится как жесткое, а не тяжелое. А словосочетания heavy porn я как-то и не слышал даже. Ну и смысл в целом остается тем же самым при замене легкого на мягкое и обратно.
khim
Чесслово — для таких случаев и придуманы словари, не?
hard porn — откровенная порнография; жёсткое порно
soft porn — «мягкое» порно, «клубничка», эротика
Можно посетовать разве что на отсутствие кавычек вокруг слова «мягкое». Да-да, конечно, это калька, я понимаю что «вообще говоря» предлагаемое выражение «лёгкое порно» лучше читается, но… как раз от компании-локализатора логично же ожидать чёткого следования написанному в словарях?
dimm_ddr
Вообще, мне кажется что в данном случае мягкое и легкое — синонимы и вполне взаимозаменяемы. При этом слова в разных языках редко имеют аналоги один к одному, если это не специальные термины. Словари же, на мой дилетантский взгляд, не для дословного им следования, а для понимания общего смысла слова и примеров его употребления.
khim
dimm_ddr
Так я и усомнился в том, что претензия уместна. Но, признаю, сделал это так, что можно было решить, будто я считаю один из вариантов правильным и возможным, а второй — нет.
MasterPeaceMC
Лайк.
В школе ходили в библиотеку под доклады.
Затем появился Википедия, и просто стали из нее распечатывать доклады.
В институте уже прям с планшета у доски зачитывали Википедию.
Ненавижу ходить на собеседования. Приходится строить из себя инициативного целеустремленного амбициозного. Никому не нужно унылое говно.
Mirn
но они хотят чтоб эти амбициозные делали рутину на уровне code-monkey и прочее унылое гавно типа суперстарого легаси.
Swiftarrow7
Подскажите пожалуйста автора статьи.
khim
Подсказка: ссылка на оригинал тут, как и на любой странице с переводом, присутствует. И выше уже даже объясняли как её найти.
Swiftarrow7
Спасибо)
lxsmkv
Если вы беспокоитесь о собственной бездарности, то вы уже не так бездарны. © Я
flameward
Частично согласен в том плане, что можно не заучивать многие вещи, которые можно легко загуглить. Абсолютно не согласен что это не имеет смысла. Человеческое сознание имеет свойство связывать совершенно разные вещи и преобразовывать их в новое знание и более глубокое понимание вещей. А это значит такой человек лучше сможет спроектировать архитектуру, оценить сроки, сделать класс более связным и т.д.
Happy_dayZ
Любое собеседование — это стресс, это факт, не понимаю я излишне самоуверенных. Если себя покажешь правильно, то норм.
saipr
Статья прекрасная!
Я один из тех, кто продирался в начале 70-х сквозь машинные коды (М-220, Весна, СПЭМ-80 и т.д), а потом полюбил Юникс и Си!.. Нет, в лени я не обвиняю, но ИС-2 на М-220 привожу в пример: как можно было имею 4К памяти запрограммировать всю математику или написать СУБД РПГ-М-220.
Предлагаю свой алгоритм собеседования:
И все. Ответы типа — зачем покупать, есть интернет, не принимаются!!!
webkumo
Не все учатся по книгам. Но это ваша право, таких игнорировать, конечно… только не надо говорить, что таким образом отсеете именно плохих программистов...
saipr
А дело не в книгах, а в умении мыслить, разбираться и Учиться. Как говорил один из великих, учиться, учиться и трудиться!!
khim
Учиться, учиться и учиться можно вовсе не только по бумажным книгам.
Ну просто потому что какой-нибудь Mastering Rust я могу начать читать либо через 5 минут на своём Pixel C, либо, если повезёт, через неделю-другую — по физической книжке. Причём второе — будет ещё и дороже.
Ну и зачем оно мне? Я даже не помню когда я последний раз бумажную книгу покупал.
saipr
Замечательно, речь идет только об этом. Книга может быть и на папирусе! Самое главное уметь работать с книгой.
И третье учиться замените на трудиться.
PsyHaSTe
В последнее время популярны всевозможные видеокурсы. Я не пробовал, но спрос как бы говорит о том, что получается доносить знания как минимум не хуже книг.
webkumo
Я вам по секрету скажу — записи конференций по некоторым вопросам дают много больше чем книги.
saipr, ещё раз: в современном мире не обязательно учиться по книгам (вне зависимости от носителя). Я в книгах сильно разочаровался ещё когда попытался осилить Страуструпа — он реально пишет так, что его могут понять только люди с подобным его мышлением. При этом читал, например Joshua Bloh — Effective Java. Книга полезная, как способ начать программировать, но не раскрывает целую кучу подводных камней… Да и устарела несколько. Кстати, быстрое устаревание книг — существенная проблема. Да из них по прежнему можно извлечь пользу, но эффективность чтения сейчас резко упала. А ещё бывают люди, которым проще напороться на проблему, чтобы понять какой-то факт, чем раз двадцать прочитать про него же.
PS в общем книгам я предпочитаю документацию и исходники. Так получается нагляднее...
Arastas
Личные истории бывают очень разные. У меня, например, кпд восприятия новой информации с бумаги заметно выше, чем с экрана. Не знаю почему, так сложилось. Так что я регулярно все новые статьи и главы книг печатаю.
khim
Я тоже так делал долгое время. Но оказалось что это просто удобство чтения. 2560 x 1800 на 10 дюймах оказались достаточными для того, чтобы я, наконец, перестал ностальгировать по бумаге.
Dauphin_Rus
Очень хороший текст… правильный, имхо.
Причём, самое удивительное, что он прекрасно переносится и на ту сферу, где варятся такие биологи (да и вообще естественнонайчники), как я и мои коллеги. Причём, зачастую, все эти вопросы всплывают даже чаще, чем кажется на первый взгляд!
andreytata
Эта статья льёт бальзам на раны современного разработчика? Комплексы эти появляются не в результате лени или глупости разработчиков. Это результат естественного отбора наиболее эффективной рабочей силы. Именно естественного! Предприятия, которые используют ошибочный алгоритм отбора — погибнут. Исчезнут с рынка. Собственно перестанут нанимать работников. И не будут участвовать в эволюции «алгоритма отбора». Самым удачным «алгоритмом отбора» будет тот, который способствует превращению «замысел заказчика» в «товар» за кратчайшие сроки. Современный «алгоритмом отбора» отбрасывает как академиков, семи пядей во лбу, так и монстров с 30-летним опытом. А пропускает только сообразительных детей. Ребенок легко адаптируется в группе, легко обучаем, без гонора и особых финансовых запросов. А знания не нужны? — Нет, не нужны. API фреймворка, и не более того. Инструментирование процесса разработки порождает всё менее компетентного разработчика. Обыкновенная свертка:
— Компиляторы ASM снизили до единиц множество рабочих мест для знатоков машинного кода.
— Компиляторы уровня Pascal и С свернули рабочие места знатоков ASM.
— Компиляторы c поддержкой OOP С++, Delphi свернули рабочие места требующие знаний эффективных алгоритмов, баз банных, и процедурных переменных.
— Библиотеки уровня C++ STL и BOOST делают эффективным даже «кодера без образования».
Не за горой момент, когда заказчик сам сможет обратить «свой замысел» в «товар». И всё. Рабочих мест для кодеров не станет. Заранее изучайте фотошоп, дизайн, 3D-моделирование. И ипотеку брать не советую.
Xandrmoro
Только вот кому-то надо эту всё «свёртку» поддерживать — и, как показывает практика, каждый следующий этап не уменьшает количество рабочих мест, а увеличивает, причём явно быстрее, чем линейно.
andreytata
Верно, группы поддерживающие «свёртывание» это единицы рабочих мест на которые могут претендовать только программисты с уровнем компетентности 100%. И это обеспечит высокая конкуренция уровня 1000 человек на место. Другой полюс этой проблемы, это когда рабочих мест в «группах свёртывания» просто нет. Инструмент произвели «монстры», для которых деньги — ничто, а программирование — всё. Экономический фактор множится на ноль. А уровень допустимой «некомпетентности» рядовых разработчиков упорно движется через уровень студент средних курсов к уровню школьник младших классов. Конец специальности «кодер», как в своё время конец специальности «писарь». :)
0xd34df00d
Как ООП отменяет требовани езнаний эффективных алгоритмов?
Что такое процедурные переменные, кстати?
О, нет. Это набор примитивов, а не набор решений на все случаи жизни.
webkumo
Что-то слабо заметно....
Вообще производство "товара" это всегда функция от трёх переменных — скорости, качества и стоимости. Куда у вас остальные пропали?
Если они умеют писать только на лиспе/фортране у них могут быть проблемы (хотя есть вакансии и для таких динозавров). Специалисты владеющие современным инструментарием будут по прежнему востребованы
Вас кто-то обидел? Вот честное слово — веб идёт путём развития инструментария не для снижения компетенции разработчика, а чтобы расширить пределы возможностей. Аналогично в других сферах (хотя и изрядно медленнее). Вместо того, чтобы думать "как бы не забыть удалить переменную/освободить память" программист теперь может задуматься, например — а стоит ли использовать тот или иной алгоритм или лучше задачу формализовать иначе. И уж объём знаний требуется очень и очень хороший, иначе будешь напарываться на "детские" проблемы. Я работаю с джунами — вижу это прекрасно.
И дали н-кратный рост количества рабочих мест знакотов ассемблера
И дали н-кратный рост количества рабочих мест знакотов процедурных языков (только не они это начали)
свернули менее чем наполовину рабочие места процедурщиков и дали н-кратный рост мест ООП-щиков
сами по себе библиотеки ничего не дают, но они закрывают базовые потребности в инструментарии разработчика c++. Кстати, язык Java в базовой комплектации обладает большим инструментальным разнообразием + имеет стандартные (мавен/грейдл) инструменты сборки, версионирования, управления зависимостями. Он тоже всех съел? А что насчёт веб-фреймворков?
Да вы пророк! За лет эдак 200-300 до события смогли его предсказать… ну натуральный Пострадамус!
Ура! Ура! Я смогу прожить большее 300 лет! Ура, товаг'ищи!
andreytata
Java недостаточно быстр. Но именно его инструментарий, а также Python и его инструментарий дают мне статистические данные для «фантастических» прогнозов. Просто хорошо запомните это «предсказание», и считайте годы… до пяти. Я видел времена зарождения этой профессии, и уже вижу её конец. Последний мой студент уже школьник. Уже зарабатывает фрилансом. Вообще без математики или гениальности. Пол года обучения. Python Джанго JSON подробно, HTML, CSS, JS обзорно. Debian, в рамках nginx подкрутить, сервисы и базы настроить, и страшный секрет как из vim выйти. IDE PyCharm + Git. И ВСЁ. Тело ушло лабать.
webkumo
Ну во-первых вы сами таких производите.
Во-вторых, минимальный срок становления специалиста уровня сениор никак не опускается ниже 3-4х лет профессиональный разработки. А в среднем превышает 6-7 лет.
И джуниоры мало кому интересны (в соотношении количество вакансий/количество претендентов), а даже не самых крутых, но сениоров уже хантят. А если удалось выделиться — всерьёз хантят. Т.е. да, срок подготовки специалиста, конечно, уменьшился. Но до состояния, когда "любая кухарка" сможет — ещё ой как далеко. Даже в вебе.
PS откровенный бред, пожалуйста, не пишите
Java очень быстра. Очень любит сжирать память, но очень быстра. В целом ряде задач её производительность вполне сравнима с плюсами. Конечно есть задачи, где она проигрывает, ну так она изначально создавалась с несколько иным прицелом, чем плюсы.
andreytata
Я помню, показывал «девочкам» ( бухгалтерским теткам за 40 ) как эффективно использовать арифмометр, не переставляя «собачки». Аспирантам, как «читтить» БЭсму, перфоленты накалывая гвоздём. Как сдвиговый регистр собрать за ночь, на реле. Учил, как память на ру5 спаять без платы, столбиком. А уже на днях, как портировать на «андроид» какой-то OpenGL глючный код на С++, для портфолио которое нужно челу на завтра. Я не произвожу «недоучек», просто это люди, и они просто берут только то что им нужно здесь и сейчас. Последнего «полного» программиста с 4-года обучения я «выпустил» в полёт 8 лет назад. И уже лет 10, как никто за такой подготовкой не обращался. Всё. Теперь и Вы «динозавр». Счастливого вымирания. :)