Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

IT Школы вредят больше чем силовые структуры Украины

На днях мне пришло письмо с предложением устроиться в IT школу для преподавания курса по PHP. И тут я всерьез задумался о существовании таких заведений. Мне стало интересно, а много ли таких школ и что они предоставляют. Их много. Как оказалось, в школу может поступить любой «продавец кабачков» и пройти курс. А в конце обучения получить «сертификат» — бумажку о прохождении некого курса в некой школе.

И вот я начал думать об этой проблеме. На rabota.ua я нашел много резюме (php/js/web developer), в которых указаны рабочие места: «продавец телефонов», «продавец пива», «настройщик компьютеров», «инженер на заводе» и последней стройкой «it school ’рога и копыта’».

Какой смысл в выпуске такого количества таких «специалистов». Они несут только вред. Вот посмотрите:
1. Уровень знаний — самый минимальный
2. Через некоторое время рынок специалистов будет сильно разбавлен выпускниками школ, которые не смогут предоставить качественный продукт.
3. Они хотят получать много денег (не зарабатывать). Такой интерес к it у людей возникает из-за прибыли.
4. Заполнят фрилансовые биржи и будут негативно влиять на «имя» украинских специалистов. Через пару лет общий рейтинг станет ниже, чем у индусов.

Уважаемые владельцы it школ. Я не против вашего существования, но оно должно быть качественным. Может пора повысить требования во время приёма документов? Для начала начните учить тех, у кого есть высшее (техническое для программистов) образование. Или тех, кто уже имеет опыт в it индустрии, но хочет переквалифицироваться. Например с одного языка на другой.

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

P.S. Прошу строго не судить стилистику. Это первая статья.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn

Найкращі коментарі пропустити

Я просто оставлю это здесь:
“Of course foreigners steal your job. But maybe, if someone without contacts, money, or speaking the language steals your job, you’re sh*t.”

1. Уровень знаний — самый минимальный
Ничего, с чего-то же надо начинать. Вы после первого года в школе тоже не много могли, так ведь? Пусть учатся, пока их не устраивает их уровень знаний.
Или вы предлагаете запретить все школы английского, которые не выпускают переводчиков и все спортзалы, которые не делают из людей хотя-бы мастеров спорта?
2. Через некоторое время рынок специалистов будет сильно разбавлен выпускниками школ, которые не смогут предоставить качественный продукт.
Ну и что? Рынок все раставит по своим места. Качественный продукт стоит дорого. Или вы вообще хотите оставить страну без ИТ-специалистов?
Давайте тогда сразу выпускать Senior-ов с разговорным английским, которые сразу после выпуска будут валить за бугор.
3. Они хотят получать много денег (не зарабатывать). Такой интерес к it у людей возникает из-за прибыли.
Во-первых, работать из-за денег — это нормально, все так делают. Во-вторых, если вам кажется что они необоснованно требуют себе зп (хотят много получать, а не зарабатывать), то уверяю вас ваш работодатель такого же мнения о вас. И как и все работодатели считает, что вы должны работать в 2 раза больше за в 5 раз меньшие деньги. В Украине средняя зп 4000 грн если что.
4. Заполнят фрилансовые биржи и будут негативно влиять на «имя» украинских специалистов. Через пару лет общий рейтинг станет ниже, чем у индусов.
Вы, батенька, эгоист. В стране нищета, люди пробуют хоть как-то из нее вылезти, а вас смущает, что ваш рейт может упасть?

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

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

Если серьезно, опасаться конкуренции со стороны продавцов телефонов — расписываться в собственной несостоятельности.

Может пора повысить требования во время приёма документов?
Кажется, вы слишком серьезно воспринимаете IT-курсы. Смотрите на них, как на секции по боксу, где если на 100 человек будет 1-2 серьезно увлекающихся, которые планируют идти в профессиональный бокс — и то хорошо.
На сегодняшний день большинство «академий» — это удачный симбиоз тех, кто рад обманываться и тех, кто рад учить (при этом недоговаривая правду).
P.S. Прошу строго не судить стилистику. Это первая статья.
Пусть будет и последняя.
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
продавец пива
инженер на заводе
Как можно ставить в один ряд инженеров и продавец пива..
Чем инженеры то вам не угодили? Это люди с высшим техническим образованием, а на нормальном производстве скучать не придётся- мозги не заржавеют. Это потруднее ,чем
настройщик компьютеров
И софт скилы- большое производство с горизонтальными и вертикальными связями- даёт.
пахнет снобизмом)

а какая разница продавец пива или инженер? Я видел инженеров намного тупее продавцов пива....

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

Уважаемые владельцы it школ. Я не против вашего существования, но оно должно быть качественным. Может пора повысить требования во время приёма документов? Для начала начните учить тех, у кого есть высшее (техническое для программистов) образование. Или тех, кто уже имеет опыт в it индустрии, но хочет переквалифицироваться. Например с одного языка на другой.

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

Уважаемые продавцы женских сумочек, для начала начните продавать сумочки тем, у кого есть подходящие туфли!

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

Можно продолжать, но мысль, думаю, понятна ? :)

Уважаемые продавцы женских сумочек, для начала начните продавать сумочки тем, у кого есть подходящие туфли!

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

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

Ні, не зрозуміла. Зрозуміла спроба підміни понять і дешевої маніпуляції.

Кожен хто проїхався раз в маршрутці, претендує одразу на водійські права? Ні.
Але кожен хто пройшов відповідні «курси» претендує (вимагає/надіється/і тд) на роботу тестером/девелопером/вставити необхідне.

Ребята, правило сперва добейся, очень ефективно работает в бизнессе. Скольбо не было приложений, курсов, они будут появляться и исчезать. Курсы с которых ты трудоустраиваешься, всегда хороши собой. Они рекламяться за щет того, что ты отбил деньги. Может поискал работу месяц, другой.
Курсы, школы, и прочие течения это результат того, что наш информационный уровень потребностей вырос. Мы хотим быть умнее наша нация хочет большего. АЙТИ одна из тех сфер, где происходит достаточно много ивентов, ну и всегда тебе могут помочь. Правда 80-90% времени тратиш на то, чтобы понимать доку, и только потом писать код. А если спрашиваеш, у кого-то 90% людей говорят читай доку, у меня вопрос, почему плохо отвечать своими словами?

Stanislav Tarasenko,
у меня вот отец «сильно после» выхода на пенсию начал играть на трубе в оркестре (последний раз пробовал в школе) и just for fun что-то кодить на джаве (до этого с программированием соприкасался еще в универе, алголы там всякие). Так что пока вы боитесь конкуренции со стороны выпускников курсов, беда подкрадывается совсем с другой стороны... :)

Мав досвід обговорення початку курсу по тестуванню в трьох таких школах(в одній потім працював). Ми взагалі не обговорювали матеріал для викладання, не обговорювали наскільки я компетентний і тд. Лише фінансові та організаційні питання. На скільки я знаю, в деяких таких школах викладають люди взагалі без досвіду роботи

Але найгірше це люди які туди ходять. Ладно, можна закрити очі на те чого вони рвуться в ІТ. АЛЕ, вони реально ходять на курси як в школу. Нічого не роблять, ніякої самоосвіти чи додаткової літератури, не повторяють матеріал. Вони реально думають, що за 16 занять вони будуть шось знати чи вміти без самоосвіти. І вони реально думають, що «сертифікат» їм допоможе у пошуках роботи.

Ну так и чем это плохо?
Лохи придут, отдадут свои деньги за обучение, но в IT не пройдут, ибо не их это.
Какому-то небольшому проценту людей (допустим, 10%) эти курсы в чём-то помогут, и талантливые ребята устроятся в айти.
Всё как и с обычными ВУЗами, собственно.

Уже не раз писал, что курсы не нужны. Но не потому, что чем-то мешают, а потому что либо лохотрон, либо просто нинунжно.

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

Энгельс сильно упростил и постулировал. Не в нём суть.
Меня вообще улыбнуло, что такое заявил не джавист, и не дотнетчик, а именно ПХП-программист :-)

Ага, я, дочитывая сейчас «NoSQL distilled» и в соавторстве с Мартином Фаулером почему-то именно индус Прамод Садаладж. И его имя далеко не единственное среди авторов известных книг.
Массовое заниятие даёт выхлоп.
И что нам реноме индусов, если мы белые?

Посмотрите сколько открытых позиций у Mathworks в Бостоне, там наверное только вакансий кодеров под 100 будет, не считая QA итп, и не верю что они никого найти и нанять там не могут.

Тот же Матлаб в Индии пишут, в Америке только руководство и владельцы.
As of April 2014, it employed over 3,000 people worldwide with 70% located at the company’s headquarters in Natick, Massachusetts, USA.
Дофига у них однако руководства и владельцев.
Разница в качестве двух продуктов налицо.
MS, это один продукт? :)
появился термин “индусский код”

где появился?
www.google.com/search?q=indian code
www.google.com/search?q=hindu code
ну и т.д.

так где?

В СНГ появился такой термин, ибо индусский код поддерживается за пределами Северной Америке. А кто код поддерживает, тот и вводит термины.

В СА их называют code donkeys, потому что без пиздюлины не хотят работать, просто кодерами, да кто как в общем. Как пример: www.theatlantic.com/...-bad-indian-coder/280636 . Они просто счастливые в том плане, что не поддерживают индусский код в том количестве, в котором это делают аутсорсеры из СНГ, они прохаживаются больше по рабочим качествам и скиллам. Поэтому искать надо «bad Indian coder»

Качество кода легко объясняется тем, что для них это своеобразное родео, нужно наговнокодить на 5 лет стажа и не быть при этом уволенным, потом срочно искать позицию тимлида, где программить не нужно, а затем PM’а, где нужно только трепаться языком, вот тут они на своём месте. Быть программером для них не призвание, а просто наказание на уровне разгребания навозных куч, и если повезёт, то оно для них будет временным. Это просто шаг наверх, а не самоцель. У них там борьба за выживание похлеще чем у сперматозоидов за яйцеклетку.

Как сказал мне знакомый индус из понаехавших в третьем поколении «Ты просто открой sourceforge, googlecode, github и посмотри сколько коммитеров из Индии. Вопросы ещё есть?» .

Просто пример, этот юзер гитхаба, признан самым influenced юзером из Индии, куча фолловеров, звёздочек и больше ничего: github.com/piyush

Второе место: github.com/binnyva
Третье место: github.com/nileshtrivedi

Это те, кто каким-то неизвестным чудом вырвался из стандартного замкнутого круга, в котором он должен показывать определённый тренд зарплаты, в 30 ему родители назначат жену, в 40 он должен дорасти до начальника, и так далее. Как именно получилось вырваться — может, просто «богатый бездельник», может, явно плюнул на всё это (и получил кучу проблем типа того, что теперь жену надо искать за пределами родины, а родственники его знать не желают), может, ещё как-то — неважно. Вариант: он не индус, а бенгалец — из таких 99% отличные кодеры, но не более; но и среди них попадается жемчуг. Или ещё какого-то другого народа без индусских традиций.

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

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

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

как паагодка?

как паагодка

Вибачте, я вашого москальского діалекту не розумію.

В СНГ появился такой термин

ага
ну, то есть, не «миру дали» термин, а таким же code donkeys, только с худшим знанием английского и бОльшим самомнением

Извини, что наступил, я догадывался, что будет запах.

«... но с большим самомнением»

говорю ж — и не сомневался

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

Но вот когда из этого принципа строят высокую философию — надо только удивляться.

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

Тема не раз поднималась и не только программистами. Например системные администраторы в своё время толкали мысль, что для доступа в интернет нужно выдавать специальное свидетельство, иначе уровень его наполнения пробъет дно и уйдёт в минус бесконечность. Какие методы борьбы предлагаются, кстати говоря? Одевать балаклавы и бить битами всех, кто выходит из дверей таких школ? Да, сейчас на место претендует 500 джуниоров, а будет претендовать 501, потому что я тоже собираюсь подавать резюме.

На самом деле автор имеет несколько возможностей преломить ситуацию:
а. Открыть свои курсы и брать туда только с дипломом
б. Создать свою компанию, вывести её в топы и отказывать в трудоустройстве всем, кто закончил какие-либо курсы
в. Пойти по беспределу

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

Ну и напоследок: для того, чтобы единицы выигрывали в футбол на чемпионате мира, миллионы должны играть в футбол во дворе.

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

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

Невже не знайдеться роботи, схожої на укладку цегли?! Такої ж монотонної, одноманітної і т.д. Звісно з періодичним підучуванням чогось нового... але не як правило.

Что-то даже самое банальное формошлёпство еще до такой степени не автоматизировали. А так-то про CASE мы еще в 90х слышали, да только «воз и ныне там» :)

Несколько лет назад вон было много шума про software factories, а концовка всё та же — шуму много, толку чуть.

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

Будут поступать «по блату», а талантливые ребята, ЕСЛИ У НИХ БУДУТ ДЕНЬГИ, оплатят учебу и себе и племяннику прокурора...

У нас везде блат рулит. Даже там, где в финансовом плане ловить вообще нечего (в низовой государственной медицине, например).

Вопрос немного не по-адресу...

системные администраторы в своё время толкали мысль, что для доступа в интернет нужно выдавать специальное свидетельство, иначе уровень его наполнения пробъет дно и уйдёт в минус бесконечность
Ну щось в цьому таки є, як на мене)
Может пора повысить требования во время приёма документов? Для начала начните учить тех, у кого есть высшее (техническое для программистов) образование.
Ви забули про найважливіше — щоб очі були блакитні і світле волосся.

Якщо говорити серйозно, проблема сильно перебільшена. Той факт, що шановний автор працює програмістом і трагедії не сталося, дає надію, що трагедії не станеться коли і інші «продавці кабачків» підуть в айті.

Пост — говно. Школа — школе рознь. Мы вот собираем саксесс сторис: lits.com.ua/...s-story-oksana-mykhalets

Ты кстати давно на ДОУ не делился вашими успехами. Напоминаю. ;-)

Дада, с отпуска вернусь и сразу напишу:)

Нагадує історію алкоголіка, який прийшов на курси і кинув пити :) ці історії хтось читає?

ну мы больше для себя следим за нашими выпускниками, и радуемся их успехам:)

Главное чтобы в Go IT не шли, уж лучше кабачками торговать

Ну лендинги у них конечно норм, но мозгов совсем нет %)

Кстати некая Марина предложением из четырех длинных строчек сказала что они таки нашли лохов (бесплатных менторов)

p.s. ладно я упоротая сова со свободными графиком,
а ты чего в 05:00 не спишь?..

Вот блин, выздоравливай :(

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

у меня о них негативное мнение сложилось по парочке причин: 1) очень непрофессиональный хамовитый hr (ваще никакого профессионализма, тупо миллион смайликов в переписке, будто я им подружка какая-то.) 2) везде кричат, мол зп джуна такая-то!ололо! у меня тут сразу фильтр, что курсы говнецом попахивают.
на счет it-мира- тоже самое. но у Вас в профиле хоть стот кто Вы и где работаете, а мой фб чист => я могу оказаться хоть продавцом кабачков, а они мне менторство предлагают.

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

цікаво, де вчився Шимків, від нього шкоди думаю більше, чим від "

IT Школ
"

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

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

Во-первых, снизятся зарплаты в АйТи (этот процесс уже идёт)
только что-то он идет не в ту сторону, зп с каждым годом растут, посмотри опросы за прошлые года и сравни с тем что сейчас

Ну, говоря о «процесс снижения зарплат уже идёт», я имел ввиду, что начался разворот на понижение. Это стало заметно пару месяцев назад. Думаю, через год мы уже увидим заметное снижение «среднего ценника».

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

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

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

Да, я знаю, о чём речь. Как точно будет идти процесс, я не знаю.
Я не «мыслю о фиксированном количестве мест в Украине», я говорю о снижении зарплат.
Буду рад, если вы поделитесь своим видением ситуации.

Рынок тут мировой и растёт, Украина — полпроцента его. Так что про «насытить» речь не идёт. Могут быть небольшие колебания если рост числа программистов будет обгонять число контор, но тут рынок же будет и число контор увеличивать.
Но на самом деле больше значение имеет война и общая весьма нестабильная обстановка, плюс идиотские действия кермачей. Это вот вызывает некоторые проблемы у нас, а не число программистов.

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

Такое уже было в Индии. Когда-то там были высоколассные спецы. Они получали хорошие заказы восновном из штатов. С расцветом IT индустрии, заказов становилось всё больше, а свободных девов всё меньше. Где то в этом время Индия взяла большой кредит то ли у США, то ли у МВФ (точно не знаю). Большую часть этих средств правительство Индии вложило в образование. Было создано большое количество учебных заведений. Так же было поставлено обучение IT спецов на поток. Причём из-за нехватки девов качеству обучения не уделялось должное внимание. Упор делался на количестве девелоперов. Что из этого получилось все мы знаем. И индусский код в 200x годах ходил по сети и выступал в роли аникдотов.

В 60-е «сделано в Японии» было синонимом дешевого и некачественного. Затем Япония стала второй экономикой мира.
В 80-е «сделано в Корее» было синонимом дешевого и некачественного. Сейчас Южная Корея относится к развитым странам.
В 90-е «сделано в Китае» было синонимом дешевого и некачественного. Сейчас Китай стал второй экономикой мира.

В нулевые «индусский код» был синонимом дешевого и некачественного. Сейчас Индия экспортирует ИТ-услуг на 100 миллиардов долларов в год. Пруф:
ict4dblog.wordpress.com/...80-2015-time-series-data

Глава Google — индиец, глава Microsoft — индиец. Нам с Индии пример надо брать, а не воротить нос от «индусского кода»!

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

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

Глава Google — индиец, глава Microsoft — индиец.
Ощущая новый скайп, его глюки и тормоза, я даже не сомневался, что к нему приложили руку и Microsoft и индусы. Windows 10 даже открывать не хочется по понятным причинам.
и Microsoft и индусы
Вот прямо СЕО MS берет и пишет патчи к скайпу.

В самом MS среди инженеров куча индусов

пруфы расследования провокации

Сейчас Китай стал второй экономикой мира.
Вообще-то, уже почти год, как первой (по ППС).

тем не менее «made in china» и «индусский код» были, есть и будут именем нарицательным.

Да, только сейчас это минус, а в будущем будет плюсом. Как made in Japan: японские машины, японская электроника, японское качество!

В нулевые «индусский код» был синонимом дешевого и некачественного. Сейчас Индия экспортирует ИТ-услуг на 100 миллиардов долларов в год.

Это не противоречащие, а взаимодополняющие параграфы.

Глава Google — индиец, глава Microsoft — индиец.

Исключения и единичные примеры не подтверждают правило.

Нам с Индии пример надо брать, а не воротить нос от «индусского кода»!

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

Уверен, что те хорошие спецы из Индии продолжают получать заказы из Штатов (или вообще уже живут там), а куча выпускников продолжают безрезультатный авто-спам на фриланс-биржах с нулевым выхлопом.

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

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

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

1 А если студент КПИ летом подрабатывал — продавал кабачки, это ставит на нем крест, да?
Сам факт продажи кабачков/телефонов ничего о человеке не говорит. Это может быть как максимум его карьеры, так и минимум.

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

Другими словами: пока не решена потребность в еде/жилье/деньгах, личности пофиг на саморазвитие, самореализацию и т.п.

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

Честно, не видел еще ни одного IT специалиста, которому удалось сделать switch из продавца кабачков только потому, что его привлекла финансовая составляющая.
Не знаю специалист ли я , работаю почти 2.5 года , зарплата $1600. Три года назад был обвальщиком мяса.

Конечне же нет, вы «айти-бастард», недостойный, и вообще фу-фу-фу.

Не врите, тогда небыло программистов, были эти, компьютерщики. Сам из таких :)

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

Уже потом, когда узнали значение этого слова, то программисты разделились собссна на программистов и компьютерщиков :)
Потом программисты разделились на программистов и дєвєлопєров.

А потом пришли синьоры...

Синйором стали компьютерщики, писавшие bat файлы

Эти курсы составляют проблему только джунам и HR.

Уважаемые владельцы it школ. Я не против вашего существования, но оно должно быть качественным. Может пора повысить требования во время приёма документов? Для начала начните учить тех, у кого есть высшее (техническое для программистов) образование. Или тех, кто уже имеет опыт в it индустрии, но хочет переквалифицироваться. Например с одного языка на другой.
Станислав, думаю, все согласны с Вами в том, что образование должно быть качественным. Но откуда возьмется качество? Кто разрабатывает актуальные учебные программы для обучения программированию? Системы нет. Есть отдельные личности, энтузиасты, которые делятся своими знаниями и опытом. Процесс создания учебных программ трудоемкий и не прибыльный, если сравнивать с уровнем доходности в разработке ПО.
На днях мне пришло письмо с предложением устроиться в IT школу для преподавания курса по PHP.
Скажите, готовы ли Вы разработать учебный курс по PHP, позволяющий качественно подготовить специалиста? Учебный курс — это программа, покрывающая 90% необходимых знаний для работы, презентации, опорный конспект, рекомендованная литература и полезные ресурсы, практические примеры, лабораторные работы, примеры решения заданий для самостоятельной работы, тесты к каждому уроку. Сколько нужно Вам времени, чтобы сделать такой курс? Сколько денег Вы хотели бы получить за разработку такого курса?
Курс должен быть составлен грамотно, презентации оформлены аккуратно, все документы должны быть оформлены в соответствии со стандартом.

Я уже год сама учу андроид. Уже есть несколько приложений на маркете. Понятное дело, что первые приложения совсем ужасные с точки зрения качества кода и дизайна, последние чуть получше.
Сейчас я пошла на платные курсы по андроиду, чтобы услышать и уложить получше в голове то, что я уже читала. Просто хотя бы для общения с другими людьми, которые хоть что-то об этом знают. Потому что просто задолбалась объяснять маме по телефону, какую классную хрень я сейчас пишу и какие там будет адаптеры и биндеры.
В группе 18 человек. У всех вопросы, как потом пройти собеседование в фирме, курирующей курсы. Уровень обучающихся самый разный, многие после айтишных институских специальностей. Многие проходили по два курса джавы в этой же платной школе. Но я понимаю прекрасно, что через 17 занятий (2 месяца срок обучения) наверняка ни один из них собеседование нормально не пройдет. Потому что на курсы надо идти хоть с какими-то знаниями о том, что там будут преподавать. Потому что я слышу их вопросы, слышу ответы препода, который реально не может ничего ответить на вопрос «где брать картинки для приложения» от студента, не знающего ничего, потому что ну что ему ответишь на первом занятии.
В общем явно переизбытка специалистов не будет после конца курсов. Сомневаться не приходится.

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

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

Курси лише дають теоретичні основи. На них людина може зорієнтуватись чи варто продовжувати далі. Це єдина роль курсів.

Найважча частина до першої роботи — отримання досвіду та практики. Даний етап відфільтрує усіх «непригодних» кандидатів.

Як вже тут коментували, не варто надавати IT курсам надто великої ролі.

Кстати, Шаг недавно пиарился, что в Луксери есть их выпускники.

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

Это не школы. На сегодняшний день — это бизнес! С реальными, фундаментальными знаниями там совсем плохо, особенно если препады по 22-25 лет.

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

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

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

Четвёртая группа — люди, которые сами не знают чего хотят. В принципе, если бы не валяли дурака, из них могло бы что-то получиться, но они быстро сходят с дистанции. Лень губит многих :(

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

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

Это из основных, общее между ними — всех «студентов» манит бабло. Тот же «шаг» по одесским каналам двигал основной лозунг: «средняя зарплата программиста — 1500$. Стань программистом. Запишись в шаг.»

НО, первая и вторая группа — это где-то до 5% от всех. Из них могут получиться может и не супер профи, но неплохие специалисты, и точно не благодаря курсам )
Третья группа — до 15 % от всех, либо пойдут ещё на курсы, в надежде, что со второго раза дойдёт лучше, либо попробуют проскользнуть в IT. Это без шансов, давайте будем реалистами.
Остальные 80%+ как пришли, так и ушли, оставив бабло конторке.
Вот так и живут эти мега образовательные организации.

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

// c одесским акцентом
Но я вас уверяю , если бы сейчас в IT платили как училке младших классов, где-то 2к гривен, то вы бы тоже мечтали выйти замуж за богатого иностранца :D
Так что ТС не нервничайте, никто ваш пхп хлебушек не заберёт, все буде гаразд.

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

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

Нет в полиморфизме никакого сакрального знания доступного только передачей прямой через учителя последователям лично.

Каждый судит по себе.
Я из 2й группы вышеуказанной классификации и стартовый уровень был достигнут именно благодаря курсам. Дальше уровень тяну уже сам. Заодно параллельно учусь в ВУЗе ради диплома, и ... только диплом с этого ВУЗа и будет. А знания с курсов. И от самообучения. Забыл сказать, на курсах попутно прокачался навык поиска знаний и самообучения. Что, может быть, даже более важно.

Цимес в том что никто из «входящих» не ищет ни знаний ни навыков ни вообще но все ищут именно «лазейку для входа чтобы не спалили а там дальше само пойдёт»
Не утверждал бы так категорически. Среди «входящих» есть люди, которые прежде чем пойти на курсы, самостоятельно изучили азы информатики, написали свой «hello mommy, i’m programmer» по самоучителю для чайников, почитали о направлениях в разработке, по тем же форумам и торрентам отобрали найболее популярную литературу и начали вникать, разобрались где-какой стек и что котируется за бугром, где сколько платят в конце-концов. У многих этих людей нет знакомых IT-ишников, поэтому курсы служат им отправной точкой и неким микро-комьюнити. Но это чаще всего люди из 1-2 группы, т.е. до 5% от всех желающих.

Остальные 95% чаще всего думают, что через 2 месяца уже будут зарабатывать 1500$, и всё что от них требуется — пройти супер-пупер курсы. Из этих 95%, как я говорил, где-то 80+% уже выбывают из игры.
В итоге 1-2(до 5%)группа и 3(до15%)группа ищут «лазейки», но разница между ними в том, что одни нарабатывают самостоятельно знания и навыки, а вторые зазубрили конспекты и домогаются hr-ш :D

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

Программирую лет 15, с этого куплен не один дом, пару машин в гараже (это для желающих заявить, что я нищеброд-говнокодер). До сих пор не понял, зачем же нужен этот полиморфизм.

Надеюсь это был троллинг. Если же нет, то за 15 лет, не мне Вас учить конечно, но это был не С++ , а скорее просто С с классами, ну а если больше С# судя по линкдину, я если честно не помню, вроде там можно писать отдельные интерфейсы (или как это правильно называется) и ими обойтись, наверно поэтому у Вас такое «тонкое» мнение, что полиморфизм особо и не нужен.

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

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

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

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

А можно поделиться этим кодом с общественностью?

не могу — NDA подписывал. Шутка. Надо поискать.

На Haskell с грязноватыми хаками я представляю как его записать строк в 8. Но на C# (без pattern matching’а), в пару строк, функционально? Я заинтригован.

нашел. 11 строк тело функции не считая сборки из текстового файла в hashtable для эджей. Думаю можно сжать до 6-7 строк не теряя понимаемости текста. Публиковать не буду здесь потому что набежит критиков, не замечающих бревна с своем глазу.

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

Вот статейка доставляющая :
www.ibm.com/...perworks/ru/library/l-r3


R полностью отвечает требованиям объектно-ориентированного программирования, но чтобы понять это, нужно вспомнить о том, что такое ООП. Пользователи таких языков, как Java™ и C++ и даже Python, Ruby или Smalltalk, могут иметь несколько ограниченное представление об объектно-ориентированном программировании

Необходимо помнить, что суть концепции ООП на самом деле не в наследовании, а в более общем принципе — решениях по диспетчеризации.
суть концепции ООП на самом деле не в наследовании, а в более общем принципе — решениях по диспетчеризации

Это правильно.

Smalltalk...несколько ограниченное представление об объектно-ориентированном программировании

А вот тут Алан Кэй очень бы удивился.

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

Во все времена люди хотели халявы, чем успешно пользовались лохотронщики разных мастей от продавцов зелий в средневековье ( хотя одаренные люди ходят по гадалкам и сейчас ) до МММ и финансовых пирамид современности. Сейчас вот ит на подъеме и в нем хватает халявщиков и случайных людей, вот предприимчивые люди и наживаются. Тем же аутсорерам страшно выгодней продать 10к вместо 3к попомест.

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

Понимаю, что каждый развивается со своей скоростью, и талант — дело тонкое, но из резюме преподавателя одной из школ:
«3 года в тестировании, из которых 2,5 в автоматизации. Сейчас Senior Automation QA в....»

Вопрос- считаете ли вы опыт работы порядка 3-х лет достаточным для ведения преподавательской деятельности?

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

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

у человека может быть и 10 лет опыт. опыт программирования != преподавательским способностям. Человек или может доносить вещи и заинтересовывать ()настоящий преподаватель и учитель) или нет (просто лектор, который отличат материал).

Физики-теоретики и так в математике неплохо подкованы

И тем не менее единственный физик, получивший медаль Филдса, — Эдди «26 измерений хватит всем» Виттен. Который, к слову, в физика переквалифицировался из политического журналиста после Уотергейта.

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

У меня эта тема наболевшая из-за 800 тысяч резюме которые приходится просматривать в отклках на вакансию с требованиями 2+ года опыта. Понимаю, что ребятам обещают головокружительную карьеру сразу по окончанию школ, но на практике человек готов к позиции трейни, которых на украинском рынке не так уж и много.
Многие готовы работать за еду лишь бы зацепиться, но знания их скудны до тех пор пока они не начинают заниматься нормальным самообразовнием и не выходят за рамки.
Здесь скорее конфликт пряничных обещаний школ и реальных возможностей кандидатов на рынке.

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

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

і бувають такі, що жодної не можуть написати?

Бывают, что даже пузырьковую не могут написать. Особенно js девелоперы.

а решение для тимлида самое простое — делегировать тому кто умеет программировать :)

На некоторых проектах лиды практически не кодят)

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

ну вы и показали свой уровень сеньйорства.

Вы хотите поговорить о разных реализациях квиксорта или поспорить, кто кого заинтервьюирует? Это можно.

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

void stupidSort(int *A, int n)
{
int i = 0, tmp;
while (i < n — 1)
{
if (A[i+1] < A[i])
{
tmp = A[i];
A[i] = A[i+1];
A[i+1] = tmp;
i = 0;
}
else i++;
}
}

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

например? Отсортировать массив комплексных чисел?

В духе сделайте мне красиво) это уже на софт скиллы тест

Не пофиг ли, что сортировать? Лишь бы отношение упорядоченности было определено.

В смысле технически не выполняется условие
a1 < a2 & a2 < a3 => a1 < a3
?

Какое отношение стоимость имеет к транзитивности? И что значит технически не выполняется?

К слову, только вчера ловил багу в лабораторной у дочки — функция сравнения на входе std::sort не соответствовала требованиям, что если a меньше b (когда она выдаёт true), b не может быть меньше a. Был случай, когда сравнение в обе стороны давало true.
Сортировка в результате просто зависала с выжиранием процессора.

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

Если брать в качестве примера опять те же комплексные числа, то стоимость упорядовачивания по модулю меньше, чем по аргументу. (Если они хранятся в виде Re, Im)

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

дык, по расстоянию от точки 42 + 28*i, че тут не понятно?

Matlab сортирует по abs().

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

Топологическая сортировка давно известна. Хотя это в принципе метод для других задач.

А топологическая сортировка-то тут при чём? Какой граф зависимостей на комплексных числах мы для неё построим?

Ещё раз — у комплексных чисел нет свойства линейной упорядоченности. Это же теорема Гурвица, при удвении размерности геометрических алгебр мы последовательно теряем их свойства — линейную упорядоченность на С, коммутативность умножения на H, ассоциативность умножения на O. На С никак нельзя ввести полный линейный порядок. На некоторых подполях можно, на всём поле С можно ввести нелинейный или неполный порядок, но отсортировать массив комплексных чисел для меня звучит как оксюморон.

А топологическая сортировка-то тут при чём? Какой граф зависимостей на комплексных числах мы для неё построим?

Ещё раз — у комплексных чисел нет свойства линейной упорядоченности.

Именно! Но если таки надо просортировать, то или вводим только частичный порядок, или вводим порядок по какой-то условной характеристике, лишь бы упорядочить (а уже дальше от задачи зависит — по re, по im, по модулю, по углу, по 2*pi*re-e**im — можно воображать до посинения — лишь бы было под задачу).

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

Окей, принято. Следует, однако, учитывать, что при отсутствии каноничного порядка такая сортировка (и такое свойство сортированности) будет требовать тщательного документирования.

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

а что глаз ничего не режет в коде на с++ вверху ? реальный синьйор или через знакомства/взятку/постель в айти попал ?

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

там как раз не 1 проход массива(i обнуляется после свапа и проход начинается заново).
Другое дело, что если "n"- длина массива, то там будет выход за границы.

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

Я поддержал Вас, но Вы отредактировали сообщение, поэтому поддержку отзываю. Не будет там выхода за границу

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

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

Это же Википедия, перепишите как Вам нравится, делов то.

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

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

я про Alex Koshterek Senior Java/C++ Engineer в Lohika говорил. хотя че тут говорить — он на курсере прошел недавно курсы «алгоритмы часть 1» и добавил себе это в линкедин.

Это его личное дело, что туда писать. Ответили Вы мне, я ответил Вам.

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

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

))) тут было два варианта — код режит глаз или не режет глаз. сеньйорам добавлять в линкедин бейсик курсы не позволительно.

Я еще вот такую книжку читал www.amazon.com/...ach-Edition/dp/0136042597 и применял на практике.)

Если мне понадобится твой совет, что добавить, а что нет, я тебя обязательно спрошу)

сеньйорам
не позволительно
лол што?

ну только если сеньйором стал за взятку или через постель то можна

проморгал с ограничениями в while, уж простите=)

все равно ничего не понимаю и пятой точкой чувствую подвох. Оно нормально будет работать для массива из одного елемента? Или для набора 1, 1, 0, 1?

не могу увидеть рисунок, но понимаю, что там пруф

Там основное таки про Javascript :)

Это практически тоже самое, что вызов библиотечной сортировки.
в partition то самая мякотка

Если стоит задача написать в 3 строчки для вау-эффекта — вполне годится.
Боюсь, что своим one liner’ом qsort() я вообще произведу фуррор %)

Собственно, уже %)

quicksort=: (($:@(<#[), (=#[), $:@(>#[)) ({~ ?@#)) ^: (1<#)

Пузырьком попахивает. Я предпочитаю array.Sort();

Ща мы немного прообфусцируем кода и вуаля, one liner (C99/C++) ! %)
void stupidSort(int *A, int n) {
for (int i=0; i < n — 1;) A[i+1] < A[i] ? A[i]^=A[i+1]^=A[i]^=A[i+1], i=0 : i++;
}

Перед повторным пересчетом в условии выхода из цикла? Или «оптимизации компилятора» наше всё?

перед отсутствием временной переменной в свопе, хотя трюк старый.
Ну и лаконично выглядит )

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

Значит тупо не озаботился рефрешем подобных вещей и прорешиванием задачек.

Люто, бешено плюсую. Как тут не вспомнить одну из знаменитейших фраз Шерлока Холмса «Ватсон, когда я был школьником, разумеется, я это знал!»

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

Но в реальной работе мне эти знания потребовались в последний раз году эдак в 2001м, и то потому, что на Visual Basic с готовыми реализациями алгоритмов было грустно.

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

Ну так это, не барское это дело — массивы сортировать :)

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

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

Так а за что ему деньги платить если в голове у него пустовато что даже нет места для сортировки? Может лучше платить гуглу или stackoverflow ?

Сами часто сортировку пилите? Или все таки готовой функцией?

а почему сортировка стала ориентиром платить деньги или нет? может пусть лучше станцует, оно чаще надо чем самостоятельно сортировку писать

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

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

Если он не в Oppa Govnosite Inc., а в чём-то, где требуется думать — то, ну, не знать сейчас, но пройти и честно сдать в вузе — да, должен.
Вот сейчас у меня всплыла задачка, в которой одна из составляющих — оптимизация параметризованных автоматов с удалением лишних состояний. Вот сижу думаю, можно ли практически обойтись без поднятия учебников по этому поводу; но я по крайней мере уже знаю, где искать ответ, если не решится без него. Тот, кто не учил высшую математику — он даже не поймёт, почему возникла проблема.

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

А дискретная не высшая? ;)

только она сильно очевидная чтобы собираться за учебниками лезть

Зависит от параметризации :)
на самом деле со вчера нашлось, что сложности таки почти нет. Но вчера ещё виделось, что будет ой.

А дискретная не высшая? ;)
это один из ее разделов, причем, наверное, самый простой, я не совсем понимаю как он попал в один ряд с матаном и прочим трешем
наверное, самый простой,

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

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

Дискретная математика — это термин, которым на CS-специальностях называют алгоритмизируемую часть математики, оперирующую конечными структурами.

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

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

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

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

А если нужна специфическая сортировка? Допустим, есть огромный массив чисел и его нужно быстро отсортировать, radix будет быстрее библиотечного timsort/qsort/merge

Насколько огромный? Радикс не всегда быстрее

Тут надо рассматривать уже разность потенциалов это вы собеседуете человека способного с ходу поднять у вас сортировку «бигдата» или он вас? ))

Или если продолжать тему ит школ вы этих бедных выпускников с тремя классами коридора сразу же бросаете на писание промышленных алгоритмов и требуете а главное ожидаете соотв.?

А в таком случае всё равно придётся ознакомиться с текущим состоянием дел в CS применимо к задаче.

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

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

Те же мерикосы это прошли уже кстати включая исключения которые я уже упомянул.

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

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

Нет, не работает. Потому что у меня нет и не будет рантайма Ruby на машине :)
а синтаксис-то банален. Но она хуже любой готовой отлаженной библиотечной реализации за счёт затрат на динамические структуры.

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

Вот тут +100. Знание таких теороснов — это исключительный критерий только для института и, может быть, подбора интернов. Но не далее.

«Написать сортировку» и т.п. кстати показывает и уровень собеседующего.

Да, отсутствие практического опыта — или опыт совершенно в другой области (как однажды меня после сетевых демонов «бросили» на веб-фронтэнд).

Суть в том чтобы отсеять тех, у кого нет CS образования. Сортировки это самое базовое, что можно придумать, хочу заметить что я спрашиваю ЛЮБУЮ сортировку, то есть пузырек тоже подойдет.

Суть в том чтобы отсеять тех, у кого нет CS образования
R&D? под железо пишете? стандартные модули принципиально не используете?

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

Ну тут сам бог велел и логично
А когда зовут на формошлепство...

Bigdata, бывают задачи
Бигдата уже нет признали что есть только дата.

ох-хо, а highload нет, есть только load.

R&D. Пишу под железо. Стандартного нет почти ничего. CS образования нет. Вообще вышки нет, три класса церковно-приходской школы считай.

и тоже спрашиваете, собеседуя, написать любой алгоритм сортировки, я правильно понимаю?
ох

Нет :) я никогда не прошу писать код на листике. На собеседованиях меня больше интересует умение пользоваться инструментами (система контроля версий, ревью, отладчики, профайлеры) и умение решать задачи (такая-то система, так-то обнаружили что течёт память — как локализовать root cause, как чинить? такая-то система, есть подозрения на ошибки из-за гонки — как проверить, как чинить? такая-то система, нужно добавить такой-то модуль — с чего начать, какие подводные камни?). Мы не пишем сортировки, у нас задачи формата «до нас никто не делал и пока не известно, возможно ли сделать», потому мне важней чтобы человек уверенно владел инструментарием и не опускал руки, если что-то не получается.

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

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

Разница в сложности есть, в осмысленности — никакой.

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

«Метод физика расчёта амортизированной асимптотической сложности» выводит только на данный топик на DOU.

Вы всё ещё предлагаете задавать вопросы подобного рода любым соискателям в качестве критерия их обучения CS?

Вы всё ещё предлагаете задавать вопросы подобного рода любым соискателям в качестве критерия их обучения CS?
ох. Павел как раз против.
Учитывая, что у нас в стране вообще нет CS образования, это очень странный аргумент. [...] Хотите получить такие вопросы на собеседовании? Сможете на них ответить?
вы вообще сообщения читаете, которые комментируете?
Павел как раз против.

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

вы вообще сообщения читаете, которые комментируете?

Да. И вот эта его фраза:

Разница в сложности есть, в осмысленности — никакой.

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

* у него от зубов отскакивают все эти сортировки => или свежее образование, или задолбали подобными интервью — дальше можно разобраться другими темами, что тут было, но уже показывает какой-то опыт;

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

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

Проверка же на суперспециальные области математики, пусть даже вычислительной, даёт какие-то материалы для выводов в лучшем случае в 1/10000 случаев. Именно поэтому, повторюсь, я против сравнения с такой маргинальщиной. (Но не надо проверять только на сортировки, следует чередовать базовые темы.)

выводит только на данный топик на DOU

en.wikipedia.org/...Amortized_analysis#Method
www.cs.cornell.edu/...sp/recitations/rec21.html
www.cs.cmu.edu/~rwh/theses/okasaki.pdf

Расчёт амортизированной сложности, вообще говоря, входит в базовый курс CS.

как отдельная субдисциплина это было осознано только где-то с 2002 года

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

Вы всё ещё предлагаете задавать вопросы подобного рода любым соискателям в качестве критерия их обучения CS?

Я предлагаю не использовать этот критерий. Вообще.

Расчёт амортизированной сложности, вообще говоря, входит в базовый курс CS.

Но не с остальными упомянутыми словами в качестве обязательных для поисковой выдачи.

Я предлагаю не использовать этот критерий. Вообще.

Рядом я уже отвечал подробнее: dou.ua/...orums/topic/15126/#784971

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

Но не с остальными упомянутыми словами в качестве обязательных для поисковой выдачи.

Что?

пытаетесь своим примером дискредитировать методику

Я пытаюсь намекнуть, что CS-образование во-первых, проверяется не сортировками; во-вторых, проверять его вовсе не нужно.

Что касается эффективности методики экзамена сортировками, я сказать ничего не могу,- не практикую.

Что?

Обязательное наличие слова.

Я пытаюсь намекнуть, что CS-образование во-первых, проверяется не сортировками; во-вторых, проверять его вовсе не нужно.

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

Что касается эффективности методики экзамена сортировками, я сказать ничего не могу,- не практикую.

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

Обязательное наличие слова.

Какого слова? По двум ссылкам есть banker’s method и physycist method; по первой есть accounting method (другое название banker’s method) и potential method (другое название physycist method). Любая книга, содержащая описание амортизационного анализа, будет упоминать эти методы как наиболее распространённые.

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

Если мы говорим об украинских компаниях (а я именно о них), то в каких из них (кроме разве что Grammarly) CS-образование будет полезным?

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

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

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

По двум ссылкам есть banker’s method и physycist method; по первой есть accounting method (другое название banker’s method) и potential method (другое название physycist method).

Понятно. Я искал только на русском. Почитаю.

Если мы говорим об украинских компаниях (а я именно о них), то в каких из них (кроме разве что Grammarly) CS-образование будет полезным?

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

Сомнительное утверждение. Собеседование должно проверять компетенции, необходимые для работы.

Это подход для копальщика канав. В IT рекомендуется — и обычно принято — анализировать человека по значительно более широкому спектру критериев.

Умение написать сортировку чревато ошибками обоих родов (умеет но не подходит, подходит но не умеет).

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

Если на проекте важна такая компетенция — докажите, что сами ей удовлетворяете.

Смищно (tm). Что ж, это тоже вариант ответа. Но я бы такого не брал. Потратить 5-10 минут продемонстрировать своё умение сделать быстро что-то лёгкое — ничего не стоит, зато даёт много пользы. Это ведь не многодневное «тестовое задание»...

Но я бы такого не брал. Потратить 5-10 минут продемонстрировать своё умение сделать быстро что-то лёгкое — ничего не стоит, зато даёт много пользы

В том-то и дело. Если интервьюер сам не хочет эти 5-10 минут потратить, то я бы не хотел с ним работать. That simple. Я же не даю ему многодневное «тестовое задание», а просто предлагаю вести диалог на равных.

Это подход для копальщика канав

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

кругозор и оценка общего уровня

Позволю себе сослаться на Пола Грэма.

а просто предлагаю вести диалог на равных.

Зачем? Это как требование «равенства возможностей», которое выливается в коммунистическую уравниловку.

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

Позволю себе сослаться на Пола Грэма.

Лучше таки расшифруйте.

Я рассматриваю собеседование как двустороннюю проверку. Риск интервьюера — получить плохого работника, мой риск — получить плохой проект. На практике такой подход замечательно работает, потому как приводит к активному диалогу.

Лучше таки расшифруйте.

Грэм ругает CS обучение в противовес хакерству: наличие теоретических знаний ничего не говорит о практических умениях человека как программиста.

Грэм ругает CS обучение в противовес хакерству: наличие теоретических знаний ничего не говорит о практических умениях человека как программиста.

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

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

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

на вопрос чему равно i^i ответить смог ровно один человек.

Я тоже не знаю ответа. Но я знаю, как и где что читать, чтобы его получить, и какие есть грабли на этом пути. И вот это то, что даёт профильное образование. А что из подобных знаний будет полезно когда — да, заранее не предсказать — будет это i^i или инверсия деревьев.

С эффективностью в смысле решения рабочих задач это не коррелировало никак.

При таком подходе к вопросу — и не будет.

В любом случае я могу аппелировать к тому, что CS образования у нас нет,

Странное утверждение, но я имел в виду под «CS» то, что у нас преподаётся на направлениях типа «Информатика», «Программная инженерия», можно также сюда частично причислить «Прикладная математика».

Какие-то двойные стандарты. Проверять CS-образование сортировкой на листочке (а не знанием, где и что читать), но не проверять математическое задачкой на листочке. И чем мой подход отличается от вашего, простите? Я тоже хотел пронаблюдать за подходами к решению.

И чем мой подход отличается от вашего, простите?

Наверно, тем, что CS ближе к области работы среднего программиста, чем математика?

Я тоже хотел пронаблюдать за подходами к решению.

Наблюдайте, кто ж возражает. Если у вас такая тематика.

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

Если у вас такая тематика.

У меня совершенно другая тематика. Цель этого вопроса — выяснить, как (насколько эффективно) человек обучался новому раньше, потому как у нас ему прежде всего придётся учиться.

И на принятие решения ответ не влиял никак.

Но мы же про оценку образования говорим.

Не вообще, а для конкретной цели (должность, направление, отрасль). По крайней мере я всё время говорил и говорю именно о таком варианте.

Цель этого вопроса — выяснить, как (насколько эффективно) человек обучался новому раньше, потому как у нас ему прежде всего придётся учиться.

А это по одному отдельно взятому вопросу обычно не выясняется.

на вопрос чему равно i^i ответить смог ровно один человек
А это лишний раз доказывает мои слова о катастрофическом падении уровня фундаментальных знаний с распространением в коммерческой разработке джаваскриптов и прочих пыхов, ибо любой бывший ассемблерщик прекрасно знает, что делает команда xor EAX, EAX.
ибо любой бывший ассемблерщик прекрасно знает, что делает команда xor EAX, EAX.
Она, кстати, служит сразу двум полезным вещам, очистка лишь одна из них :)

В синтаксисе какого языка?

Математического. Кстати, очень хороший вопрос для самоопределения :)

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

Но да, имелась в виду ASCII-математическая нотация.

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

задача «написать любую сортировку» таки осмысленна
Потому что никто не отсеивал по отсутствию знания сортировок

Ну я даже не знаю.

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

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

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

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

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

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

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

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

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

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

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

Как говорили в универе нам золотые слова «Хороший инженер не тот, кто все знает, а тот, который может найти что ему нужно».

И шо, таки бы вы не написали сортировки? А кто года 4 назад хвастался что помнит оглавление кнута, уж не вы ли?

А нафига «придумывать велосипеды» все время ?

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

так ты тоже берешь задания попроще ? )

Угу. Если встречается сортировка в постановке задачи — я сразу отказываюсь %)

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

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

что сеньйоры не стесняются светить в линкедине то что они тока сейчас прошли базовые алгоритмы. — это ж весело
С другой стороны, я считаю, что _базовые_ алгоритмы описаны в Hacker’s Delight книге, это именно основа, но её читали единицы, она легче для чтения и в десятки раз полезней Кнута.

Hacker’s Delight — это не базовые алгоритмы, а сборник рецептов байто- и тактодрочения. Замечательная книга для развлекательного чтения, но практически она скорей вредна, чем полезна.

Hacker’s Delight — это не базовые алгоритмы, а сборник рецептов байто- и тактодрочения.
Это именно базовые алгоритмы работы с байтами и битами. Я считаю, что если ты не умеешь работать с битами и байтами, то нефиг лезть в что-то более высокоуровневое, ибо ты его реализуешь самым кривым образом.
Замечательная книга для развлекательного чтения, но практически она скорей вредна, чем полезна.
Кому как, а я применяю от туда добрую половину уже последние лет 8 на практике. Потому что делать приходится не только то, что никто до тебя это не делал, а по сути даже невозможное.
Это именно базовые алгоритмы работы с байтами и битами. Я считаю, что если ты не умеешь работать с битами и байтами, то нефиг лезть в что-то более высокоуровневое, ибо ты его реализуешь самым кривым образом.

И какая мне польза для, например, проксирования потоков ордеров в FIX от оптимизации ctz() для MIPS?

А какая пользя от RB Tree в проксировании потоков ордеров в FIX?

А какая пользя от RB Tree в проксировании потоков ордеров в FIX?

RB — пожалуй, никакой. std::unordered_map даёт то же, что давало бы std::map, но дешевле. А поиск соседнего ключа мне тут оказался не нужен.

она легче для чтения и в десятки раз полезней Кнута.

Ну признайся же, что ты троллишь:) Открываю оглавление и вижу:
* Базовых структур данных — нет. Упоминаются и частично используются, но не описываются. Массив, хэш-таблица, даже просто запись (AKA структура) — уже применяются без объяснения.
* Вся группа тем с упорядочёнными данными (от пресловутых сортировок до деревьев и структур на диске) — отсутствует.
* Плавающая точка: основные принципы, ограничения, типичные грабли — отсутствует. (На всякий случай, описание формата и интерпретация полей — это не принципы.)
* Динамическая память — назначение, методы работы, специфика, ограничения и грабли — отсутствует. Опять-таки начинать читать нужно, уже зная, что это и почему.
* Работа с текстом (строки и т.п.) — отсутствует.

Уже этого хватит. Зато вместо этого всего есть:
* Куча специфики MIPS и неназванных аналогов в стиле R5. Ребята, вы молодцы, но у меня (представляю себя средним по больнице программистом) x86 вокруг чуть менее чем везде. Зачем мне читать, как вы извращаетесь в попытках обойти отсутствие банальнейшей инструкции ADC, которая есть даже в 6502? (тем более через дорогую nlz(), которую надо отдельно сделать)
* Туда же rotate shifts — я ценю ваши усилия, но даже бесполезная RCL работает даже в 64-битке (вот что бы убил без жалости).
* Куча трюков типа «выделение самого младшего бита» — рад за вас, но всё равно, почему-то Intel вместо этих трюков придумывает команды типа BLSI, когда производительность становится критичной.
* Быстрое деление на константу — в любом компиляторе побольше дипломной работы уже сделано.
* Транспонирование битового массива... молчу.
* Код Грея. Безусловно, как же я без этого жил всё время, пока делал системы мониторинга? Надо было все показания датчиков в нём посылать! А уж выделять в нём ключи в БД все боги велели! (сарказм, для въедливых)
надоело читать.

Как чтение на природе под коньячок — вполне. Только ещё удочку нужно. Для эмбедщика — тоже согласен — там уже хоть как-то близко к этому подходим. Но говорить о замене Кнута (ну ладно, что-то посжатее типа Вирта или Кормена)... ой, всё.

Скорее всего, причина твоей ошибки в стандартном примеривании на себя. Уже имея тонны базовых знаний в подкорке, обросших тысячами ассоциативных связей, не замечаешь, насколько базируешься на них во всём прочем. В том, что, не пройдя соответствующий «вышкол», начиная банальностями типа отличия long от integer, и не поймёшь, почему такое неподъёмно для тех, кто этого не знает. Лечится — попыткой обучить реального «нулевого».

* Плавающая точка: основные принципы, ограничения, типичные грабли — отсутствует. (На всякий случай, описание формата и интерпретация полей — это не принципы.)
Там типичные грабли там описаны с целью как их уменьшить и объясняются истинные причины, а не вываливание сырых фактов в форме так не делай, а вот так делай.
* Работа с текстом (строки и т.п.) — отсутствует.
Да ну? Chapter 6. Searching Words.
* Динамическая память — назначение, методы работы, специфика, ограничения и грабли — отсутствует. Опять-таки начинать читать нужно, уже зная, что это и почему.
Зачем это? o_O в этой книге?
* Куча специфики MIPS и неназванных аналогов в стиле R5. Ребята, вы молодцы, но у меня (представляю себя средним по больнице программистом) x86 вокруг чуть менее чем везде.
Нет никакой кучи специфики, просто был взят типичный набор RISC команд для объяснения того, что происходит. Это всякой лучше Кнутовского MIX’а, который абсолютно оторван от реальности. x86 и x86-64 встречается в книге очень часто, как и PPC — просто ты её полистал. Автор указывает на особенности реализации на той или иной платформе. Опять же натягивать на себя, что у тебя везде x86 — это как минимум неправильно, x86 выпал уже из многих рынков.

Зачем мне читать, как вы извращаетесь в попытках обойти отсутствие банальнейшей инструкции ADC, которая есть даже в 6502? (тем более через дорогую nlz(), которую надо отдельно сделать)
У меня для тебя плохие новости, если ты попробуешь реализовать на С/C++ Том 2 Кнута. Получисленные алгоритмы, то без обхода ADC ты ничего сделать не сможешь, а в худшем случае использовать ужаснейший Кнутовский подход для её эмуляции. Intrinsics тут тебе даже не помогут, ибо не все они есть для каждой из команд.
* Туда же rotate shifts — я ценю ваши усилия, но даже бесполезная RCL работает даже в 64-битке (вот что бы убил без жалости).
Опять же ты меряешь на себя, не везде есть RCL. Тем более в книге она указана как кирпичик для последующих оптимизаций.
* Куча трюков типа «выделение самого младшего бита» — рад за вас, но всё равно, почему-то Intel вместо этих трюков придумывает команды типа BLSI, когда производительность становится критичной.
Ты с ходу можешь назвать intrinsics для этих команд для gcc и для MSVC? И опять же Intel, не интелом единым живём.
* Быстрое деление на константу — в любом компиляторе побольше дипломной работы уже сделано.
Тут, пожалуй соглашусь, но это далеко не во всех компиляторах реализовано. Например остаток от деления на константу в gcc реализован раза в 4 длинее, чем он мог бы быть, ну то такое.
* Транспонирование битового массива... молчу.
Ну сразу видно, что не работал с битстримами, а так же с декодированием видео и прочих прелестей.
Код Грея.
Это, пожалуй, единственные 5 страничек книги, которые я скипнул.
Но говорить о замене Кнута (ну ладно, что-то посжатее типа Вирта или Кормена)... ой, всё.
Ещё раз, я говорил не о замене, а о полезности. Почувствуй разницу.
Скорее всего, причина твоей ошибки в стандартном примеривании на себя. Уже имея тонны базовых знаний в подкорке, обросших тысячами ассоциативных связей, не замечаешь, насколько базируешься на них во всём прочем. В том, что, не пройдя соответствующий «вышкол», начиная банальностями типа отличия long от integer, и не поймёшь, почему такое неподъёмно для тех, кто этого не знает. Лечится — попыткой обучить реального «нулевого».
Я начинал с подобной книги, когда знал только ZX бейсик и асм Z80. Что я делал не так?
Там типичные грабли там описаны с целью как их уменьшить и объясняются истинные причины, а не вываливание сырых фактов в форме так не делай, а вот так делай.

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

Да ну? Chapter 6. Searching Words.

Ты явно издеваешься.

6–1 Find First 0-Byte
6–2 Find First String of 1-Bits of a Given Length
6–3 Find Longest String of 1-Bits
6–4 Find Shortest String of 1-Bits

и куда я всё это применю? Первое — ладно, самопальный аналог strlen() написать (хотя стандартная библиотека это умеет без меня, не буду я его переписывать). Где тут хотя бы поиск банальной подстроки? Где collating? Где обработка с игнорированием регистра? И так далее.

Нет никакой кучи специфики, просто был взят типичный набор RISC команд для объяснения того, что происходит. Это всякой лучше Кнутовского MIX’а, который абсолютно оторван от реальности. x86 и x86-64 встречается в книге очень часто, как и PPC — просто ты её полистал.

Давай ты перестанешь про меня домыслы писать? Я её прочитал, последовательно и вдумчиво, и два раза (честно, именно 2, не больше и не меньше). Но я не считаю, что те считанное количество (на пальцах) упоминаний вида «а вот на x86 можно так» чего-то стоит. Тем более что там упоминания идут на самые извращённые (IMHO) случаи. Кому нужно то же условное присвоение в таком виде, когда cmov делает то, что нужно, прямее в разы? Было бы иначе — компиляторы уже давно начали эти каскадные блоки применять у себя.

Нет никакой кучи специфики, просто был взят типичный набор RISC команд для объяснения того, что происходит.

Начнём с того, что «типичный» последние лет 10 это скорее ARM, чем MIPS. А разница в некоторых вещах (критичных для этого изложения) фундаментальна. И даже AArch64 принципиально это не поменял. 2е издание это 2012, уже можно было заметить ARM в каждом ведроиде?

Далее, зачем именно путь Berkeley RISC — MIPS — Alpha — R5 — etc. брать в качестве основного? На нём легче учить? Не думаю. С ходу надо учиться различать, например, add и addu. Зачем, если это специфика именно этой линии, но даже не ближайших соседних?

Это всякой лучше Кнутовского MIX’а, который абсолютно оторван от реальности.

Давай без маргинальных сравнений. MIX устарел безнадёжно, это описание чего-то во времена даже до S/360, с хилыми закосами под PDP-15. MMIX уже актуальнее, можно было по нему. Но в любом случае они специфичны. Почему не x86? Только потому, что автору не нравится?

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

И опять ты не дочитал. Не везде, конечно. Но настолько «почти» везде, что до сих пор имеет смысл говорить о существенном преобладании его на рынке. А где не он — опять же, представим себе автора какой-нибудь игрушки под андроид — там ARM, не MIPS. А одно только наличие condition codes в процессоре уже принципиально меняет методы реализации очень многих описанных алгоритмов.

У меня для тебя плохие новости, если ты попробуешь реализовать на С/C++ Том 2 Кнута. Получисленные алгоритмы, то без обхода ADC ты ничего сделать не сможешь, а в худшем случае использовать ужаснейший Кнутовский подход для её эмуляции.

А почему речь сразу про эмуляцию на C/C++ без ассемблера? Ты начинаешь выдвигать какие-то очень странные условия, которые ниоткуда не происходят. И о чём вообще речь — о длинной целочисленной арифметике? Раздел 4.3.1? Так там процессор поддерживает флаг переполнения.
Но даже если мне не дадут ассемблера, я могу делать через беззнаковые на любом C не хуже, чем на MIPS! Цитирую libgmp:


.Loop0: addiu   $9,$9,-1
        lw      $12,4($5)
        addu    $11,$11,$2
        lw      $13,4($6)
        sltu    $8,$11,$2
        addu    $11,$10,$11
        sltu    $2,$11,$10
        sw      $11,0($4)
        or      $2,$2,$8
        addiu   $5,$5,4
        addiu   $6,$6,4
        move    $10,$12
        move    $11,$13
        bne     $9,$0,.Loop0
         addiu  $4,$4,4
Это всё переписывается на C один к одному и в данных условиях не очень-то и тормозит :)
Intrinsics тут тебе даже не помогут, ибо не все они есть для каждой из команд.

Это да. Аналога умножения в формате N*N -> 2N и обратного деления там нет, и это, кстати, очень обидно. Точно так же, как хотелось бы включать режим -fwrapv на одну операцию. Но на практике всегда есть варианты обойти это...

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

Я же сказал, что 1) говорю про x86, 2) она не нужна :)
компиляторы её не генерируют.
Анализ живой машины показал её наличие только в а) той же libgmp (умножить/делить что-то длинное на 2) в ассемблерных вставках и б) VirtualBox :)
Была бы «кирпичиком» — её бы использовали чаще.
Аналогичная история с xchg (компилятор, основанный на SSA, не будет такого использовать).

Ты с ходу можешь назвать intrinsics для этих команд для gcc и для MSVC? И опять же Intel, не интелом единым живём.

Не могу, но мне и не нужно. По описанным выше причинам. Но Intel в своей доке эти интринсики всегда пишет :)

Зачем это? o_O в этой книге?

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

Ну сразу видно, что не работал с битстримами, а так же с декодированием видео и прочих прелестей.

Ты опять читаешь то, что хочешь увидеть, а не что написано. Что при работе с видео это нужно — спору нет. Но зачем это остальным? Если всякие приёмчики вида ~x&(x-1) ещё полезны на уровне общего развития, то это уже за пределами.

Ещё раз, я говорил не о замене, а о полезности. Почувствуй разницу.

Почувствовал. Больше половины книги — бесполезно.

Я начинал с подобной книги, когда знал только ZX бейсик и асм Z80. Что я делал не так?

Тогда — всё так. Сейчас — нет. Ты пропускаешь, что
1) ты таки знал уже бейсик
2) ты таки знал уже ассемблер более мэйнстримного вида
3) ты после этого читал тонны книг от Кнута до красного дракона и от Вирта до «познай одну ладонь java за 21 день»

а это таки критично.

А там ничего не сказано, например, про то, почему нельзя писать цикл по вещественной переменной обычным образом.
Наверное там этого нет, потому что книга раскрывает другие моменты. Про exact representation можно прочитать и в IEEE-754. Да и кто сказал, что нельзя делать циклы по вещественной переменной? Если умеешь это делать — делай, кто ж запрещает?
Первое — ладно, самопальный аналог strlen() написать (хотя стандартная библиотека это умеет без меня, не буду я его переписывать).
А те, кто переписал увелиличили скорость парсинга XML в 1.5-2 раза.
Где тут хотя бы поиск банальной подстроки?
Зачем его переписывать? Оно ж есть в стандартной библиотеке. :)
Где обработка с игнорированием регистра?
Нужно введение в translation tables? :)
Давай ты перестанешь про меня домыслы писать? Я её прочитал, последовательно и вдумчиво, и два раза (честно, именно 2, не больше и не меньше). Но я не считаю, что те считанное количество (на пальцах) упоминаний вида «а вот на x86 можно так» чего-то стоит.
Как можно два раза прочитать и писать такое?
Тем более что там упоминания идут на самые извращённые (IMHO) случаи.
Вообще-то там идёт математика и особенности применения на конкретных процессорах или возможность дополнительной оптимизации на конкретном процессоре. Считаешь, что оно не стоит внимания — скипай просто.

Да и какие извращённые случаи, если автор просто везде напоминают, что сдвиги на x86 реализованы по mod 32. Только и всего. Я ж говорю — пролистал.

Кому нужно то же условное присвоение в таком виде, когда cmov делает то, что нужно, прямее в разы? Было бы иначе — компиляторы уже давно начали эти каскадные блоки применять у себя.
Не вижу принципиальной разницы между CMP/CMOVC и одной команды SLT, к примеру. Где тут разы прямее? CMP влияет на branch predictor, условное присвоение «в таком виде» не влияет.
Начнём с того, что «типичный» последние лет 10 это скорее ARM, чем MIPS.
ARM настолько коряв, что не выглядит красивой RISC архитектурой. MIPS взят по одной простой причине — он прост как двери, не больше и не меньше.

А разница в некоторых вещах (критичных для этого изложения) фундаментальна. И даже AArch64 принципиально это не поменял.
И в чём же _фундаментальные_ отличия?

2е издание это 2012, уже можно было заметить ARM в каждом ведроиде?
За джавой заметить? Кому он там сдался. А ещё можно заметить двух сильнейших игроков на рынке мобильных и embedded процессоров: prplfoundation.org/members — они там неспроста ошиваются, ибо ARM уже достал многих своей аляповатой архитектурой. И чем дальше, тем больше эффект снежного кома.
Далее, зачем именно путь Berkeley RISC — MIPS — Alpha — R5 — etc. брать в качестве основного? На нём легче учить? Не думаю. С ходу надо учиться различать, например, add и addu. Зачем, если это специфика именно этой линии, но даже не ближайших соседних?
Да, легче учить, именно поэтому. Ну и ты же не возмущаешься по поводу mull/imull, а вот add и addu тебе не нравятся.
Давай без маргинальных сравнений. MIX устарел безнадёжно, это описание чего-то во времена даже до S/360, с хилыми закосами под PDP-15. MMIX уже актуальнее, можно было по нему. Но в любом случае они специфичны. Почему не x86? Только потому, что автору не нравится?
Это конечно, прозвучит неожиданно, но не x86 потому, что автор пытается рассмотреть базу, а не конкретную реализацию под конкретный процессор. Для той же базы он из MIPS выкинул 2/3.
А почему речь сразу про эмуляцию на C/C++ без ассемблера? Ты начинаешь выдвигать какие-то очень странные условия, которые ниоткуда не происходят. И о чём вообще речь — о длинной целочисленной арифметике? Раздел 4.3.1? Так там процессор поддерживает флаг переполнения.
Я не выдвигаю странные условия или портабельный код — это уже странное условие? Ну тогда я не знаю.
Но даже если мне не дадут ассемблера, я могу делать через беззнаковые на любом C не хуже, чем на MIPS! Цитирую libgmp:
Попробуй. Даже в простейшем сложении 2048 битовых чисел 9 человек из 10 делают ошибку.
И опять ты не дочитал. Не везде, конечно. Но настолько «почти» везде, что до сих пор имеет смысл говорить о существенном преобладании его на рынке. А где не он — опять же, представим себе автора какой-нибудь игрушки под андроид — там ARM, не MIPS.
У тебя три рынка? Десктоп, Сервер и Телефон/планшет? Удобно, но уж очень поверхностно. Много авторов игрушек под армдроид заморачивались тем, что у них стоит АРМ процессор?

А одно только наличие condition codes в процессоре уже принципиально меняет методы реализации очень многих описанных алгоритмов.
Не может быть, поэтому автор и скипнул классическую slt инструкцию из MIPS, когда набрасывал типичный урезанный RISC процессор. Это всё уже детали реализации и, как сказал, Павел — тактодрочение. К теме книги это отношения не имеет.
Я же сказал, что 1) говорю про x86, 2) она не нужна :)
RCL/RCR нужны для прохода по всем битам с сохранением оригинального значения. Второе применение — сдвиг на один бит большого массива данных.
Ты ж предлагаешь ею заменить Кнута? Ну так заменяй, но сделай, чтобы было всё, что нужно продвинутому прикладнику, а не системщику.
Это чистой воды дискретная математика, каким боком она только к системщикам относится?
Почувствовал. Больше половины книги — бесполезно.
Тогда Кнут на 90% бесполезен, а то и на 100%.
1) ты таки знал уже бейсик
Раньше говорили, что бейсик убивал программистов в зародыше. Сейчас это не так? :)

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

3) ты после этого читал тонны книг от Кнута до красного дракона и от Вирта до «познай одну ладонь java за 21 день»
Из всех книг я прочитал только Питера Абеля, всего Михаила Гука, Кнута и Hacker’s Delight. Именно в такой последовательности, больше я ничего не читал, кроме исходников.
Наверное там этого нет, потому что книга раскрывает другие моменты.

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

Да и кто сказал, что нельзя делать циклы по вещественной переменной? Если умеешь это делать — делай, кто ж запрещает?

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

Да и какие извращённые случаи, если автор просто везде напоминают, что сдвиги на x86 реализованы по mod 32. Только и всего. Я ж говорю — пролистал.

Не-а, это ты «пролистал». Я имел в виду в первую очередь варианты типа того, как они unsigned min() предложили:


sub eax,ecx
sbb edx,edx
and eax,edx
add eax,ecx

Красиво? Да. Полезно? Нет. cmov есть, считай, везде. По-моему, даже на линии Quark её сохранили, несмотря на все вырезания.

Как можно два раза прочитать и писать такое?

Наверно, я читаю подряд, а не выборочно :)

CMP влияет на branch predictor, условное присвоение «в таком виде» не влияет.

Во-первых, чисто формально, CMP на branch predictor не влияет. Влияют собственно переходы. Во-вторых, о чём я и говорю — cmov делает то же, но проще — о чём спорить?

А те, кто переписал увелиличили скорость парсинга XML в 1.5-2 раза.

От переписки strlen()? Спасибо, я оценил шутку.
Но опять-таки это резко маргинальная задача. В которой надо смотреть на все аспекты обработки процессором, а не только на скорость поиска NUL (которая, если массово возникает при парсинге XML, уже означает, что путь решения выбран неверно).

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

ARM таки реальнее. Линия с MIPS во главе, несмотря на «простоту как двери», имеет принципиальное отличие от основных линий уже отсутствием condition codes и от этого совсем другим подходом к написанию кода. А «прост как двери» для реализатора не значит, что будет точно так же «прост как двери» для писателя кода — одни delay slots чего стоят — чтобы этого не пугаться, надо привыкнуть к мышлению шиворот-навыворот.

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

За джавой заметить? Кому он там сдался.

Куча народу пишет native код, где Java не успевает (вокруг работы с изображением и тому подобным).

И в чём же _фундаментальные_ отличия?

В тех же condition codes. Это различие фундаментальнее, чем, например, требование вначале прочитать в регистр, чтобы использовать как аргумент (S/360 в зоне RR+RX команд в этом смысле полу-RISC и ничего, жила без фатальных проблем).

Да, легче учить, именно поэтому. Ну и ты же не возмущаешься по поводу mull/imull, а вот add и addu тебе не нравятся.

Различие между mull и imull естественное, старшая половина результата различается в общем случае, можно также и CC по-разному ставить. Между add и addu — нет. Почему это есть исключение на переполнение со знаком, но нельзя так же легко попросить исключение на переполнение без знака? Наконец, почему это сложение без детекта переполнения вдруг стало «беззнаковым», хотя это то же сложение с теми же результатами в регистрах? Это не логика, это бред, выдаваемый за логику. Даже если он мотивирован какими-то глубинными отраслевыми течениями, он превращается в «дети, это невозможно понять, это надо запомнить».

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

Когда непосредственно выходишь на уровень Neon — да, приходится учитывать его специфику.

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

RCL/RCR нужны для прохода по всем битам с сохранением оригинального значения.

С сохранением оригинального значения также для CF? Где такая задача осмысленна?

Второе применение — сдвиг на один бит большого массива данных.

Именно, что «на один бит». Уже при двух shld/shrd выгоднее.

Для той же базы он из MIPS выкинул 2/3.

Ну выкинул (наверняка в эти 2/3 ты включил всякие системные команды, которые к теме книги вообще не относятся). Причём как-то слишком уж «учебно». Если смотреть на реальный пример минимизации, то это R5. А там, заметь, slt[i][u] оставили.

Это чистой воды дискретная математика, каким боком она только к системщикам относится?

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

Тогда Кнут на 90% бесполезен, а то и на 100%.

А вот Кнут — полезен. Даже если пропустить всю собственно математику.

Раньше говорили, что бейсик убивал программистов в зародыше. Сейчас это не так? :)

Я не знаю, кто это говорил. Я никогда такое про него не говорил и говорить не буду.

Вероятно, говорившие имели в виду те же проблемы, что с классическим Фортраном — отсутствие явного структурного синтаксиса. Оно само по себе способно вызвать тяготение к странным приёмам типа «а давайте тут прыгнем в середину цикла» (которые запрещены в большинстве языков, основанных на структурных операторах — более того, даже в F77 уже запретили прыгать внутрь IF-блока, DO-блока и аналогичные трюки). Какая-то доля участников, да, могла слишком пристраститься к этим трюкам, а затем пошёл хайп того же рода, что перед этим у Дейкстры в «GOTO considered harmful».
Но это всё равно не стало общей тенденцией и не распространялось на получивших разнообразный опыт.

Из всех книг я прочитал только Питера Абеля, всего Михаила Гука, Кнута и Hacker’s Delight. Именно в такой последовательности, больше я ничего не читал, кроме исходников.

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

Кстати, я таки на 101% уверен, что ты ещё читал документацию всех видов, а это то, что надо упоминать в подобном списке. Даже короткие образцы применения документированных сущностей уже достаточны для обучения.

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

Я только ЗА улучшения качества преподавания в айти-школах и выпускаемых учеников, но ПРОТИВ такого негативного отношения к людям, которые переквалифицировались с одной профессии в другую. Например, в США считается нормой смена сферы деятельности так кардинально несколько раз в жизни. Я знаю, человека, который в 40 с хвостиком лет стал юристом (выучился, начал всё с нуля, до этого всё это время работал программистом). И таких примеров у меня несколько. Я сама была экономистом, и с декабря учу джаву, написала несколько своих приложений, сейчас работаю. И перешла не потому, что деньги (мне на жизнь с лихвой хватает), а потому что нравится. И если бы не нравилось, то не смогла бы с утра до ночи «зубрить» книги про джаву и писать код.

з приводу «інженер на заводі»...ми з другом працювали якраз інженерами на заводі, ще під час навчання в КПІ. і це не заважає зараз нам працювати Android Devs. на курси ми не ходили, повністю розділяю думку автора з приводу так званих «курсів» (платних) [це не стосується курсів на різних Єпамах — де конкурс 600 чоловік на 80 місць]. на мою думку, при щирому бажанні самому можна більше навчитись, ніж на таких курсах.
не зовсім зрозумів, на що автор натякає, ставлячи «інженер на заводі» з «продавцем пива» в одну строчку? що інженерам не під силу програмувати? половина моїх однокурсників програмісти, багато з них ще на першому курсі забили на навчання і цілими днями щось кодили (це було ще в далекому 2008, до «долару» і «курсів»).
пробачте за оффтоп, але вперше бачу, щоб людей з інженерною освітою позиціонували як невігласів. дійсно, трохи образливо.

Дуже навіть логічний ряд. Інженер на совковому заводі -> безробітний -> продавець пива. Тут якраз можна ставити в один ряд.

что все эти курсы торгуют надеждой
имхо идеальная формулировка, лучше просто не скажешь
И заключается в том, что все эти курсы торгуют надеждой. На них записываются не для «общего развития», как в спортзал, а потому что видели 100500 образцов рекламы на тему того, что заплатив 10к за курсы, чел станет дофига востребованным специализдом и отобьет эти деньги с первой же з/п не менее 1к у.е.

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

Я вообще с опаской смотрю на все эти курсы, которые пишут «получай 600$ после нашего курса». Сразу можно заворачивать

Уважаемые владельцы it школ. Я не против вашего существования, но оно должно быть качественным. Может пора повысить требования во время приёма документов?
Такого никогда не будет, потому что это бизнес. Одно такое заведение даже кучу бумажек и устав имело, где было написано что кто не учится — отчислят. И ничего, тех ещё дубов выпускали. Потому что с одной стороны да, хочется имиджа и волнует «ой, а знаете что про наших выпускников в интернете пишут?», а с другой — хочется денег и побольше. А тех, кто хочет учиться например 2 из 10 и они перехотят, если плату за обучение в 5 раз увеличить, а остальных отчислить. Бабло побеждает по итогу.
Но вам (нам) пока переживать не о чём. Один-два позорника — и с образованием такой школы перестают брать на работу. Плохо только тем 2м из 10, кто действительно учился, и потом из-за раздолбаев попадает под стереотипы.

Так, может, если есть курсы без экзаменов, то должны быть и экзамены без курсов?

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

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

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

Зачем? Сертификаций и сейчас полно, не все их хотят проходить; и не всем нужно.

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

А если такие по «вообще программированию», не привязанные к конкретной технологии? Я знаю только про Microsoft, Red Hat, Oracle и Java. Вроде ещё Intel Parallel Programming Professional, но там, похоже, уровень сильно выше начального.

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

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

На днях мне пришло письмо с предложением устроиться в IT школу для преподавания курса по PHP. И тут я всерьез задумался о существовании таких заведений.

Сдается мне, что где-то здесь автор припрятал драму.

Может пора повысить требования во время приёма документов?

Может как разнаоборот — пора повысить качество обучения в этих школах?

Универы с айти факультетами тоже вредят? Там выпускников куда больше

Ну в моей группе 4 человека из 20 собираются работать в IT.

остальные 16 пивом торговать будут? :)

оптимистические взляды у Вас, некоторые вообще на вопрос «-на каком языке вы программируете?» отвечали «-Visual Studio».

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

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

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

обучаемый платит за возможность учиться
Если бы так было — учили бы. Пока что
жопу лижут

Вот автор статьи привел бы примеры решаемых задач в своей работе, было бы интересно почитать :)

Это я к тому что некоторые Senior явно звезду поймали и думают что они прямо гении программирования, а задачи на самом деле такие унылые решают, что и продавец пива тоже сможет :)

Колоссальное имеет значение, кто там преподает в этих школах.

Автор боится что его место займет «продавец пива» или что ?
Да и

«инженер на заводе»
может быть посложнее работенка чем ваше «ПыХыПы»...
Я не против вашего существования, но оно должно быть качественным.
а даже если и против, то что?

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

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

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

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

я не испытываю баттхерта .
если курсы помогут кому-то стартануть карьеру девелопера — ради Бога. если нет — ну не всем это дано, кто-то должен и «кабачками торговать» :-0
но я не знаю еще ни одного профессионального девелопера, который стал бы таковым после курсов (по крайней мере- СРАЗУ после них). все это результат долгого самообучения, если ты не способен самообучаться никакие курсы не сделают из тебя готового специалиста

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

Отношение как к индусам и без школ скоро станет. Просто забей. Если ХРы не изменят принципы отбора на работу, то без школ и быдлокодеры из самоучек все заполонят.

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

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

Чего вообще за PHP обучение волноваться, если его и без школ изучить может каждый. Школы дают стартовые знания, зарабатывая на тех, кто не в курсе о бесплатных курсах в интернете.
и я не про краденные видео уроки, а про реально бесплатные курсы.
Таких школ — куда не плюнь, обязательно попадешь. Да и не смотрят сейчас на корочки, полученные где либо. Смотрят или на Опыт работы в сфере, или обучают под себя.

Я просто оставлю это здесь:
“Of course foreigners steal your job. But maybe, if someone without contacts, money, or speaking the language steals your job, you’re sh*t.”

They do because they are ready to work for the fraction of what you make. And they are because they do not have mortgages, their do not have to pay back tens of thousands in student loans, and eventually taxes.

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

Эта девочка даже выучится, и диплом/сертификат ей дадут. Но... серьезное заведение, которое дорожит репутацией, не примет ее на работу (ну, я очень надеюсь!), а клиенты, которые заботятся о своем здоровье и безопасности, все-таки захотят посмотреть диплом. Будут у нее клиенты? Может быть, но это же все равно «не то пальто».

С IT-школами то же самое, только ответственности в разы меньше. Выйдет кто-то специалистом из этой школы — здорово, не выйдет — так вам же легче, когда слабые конкуренты. А упомянутая дискредитация — да какая вам разница! :)

У меня мама работает в салоне, там есть 1-2 топ парикмахера и штуки 4 которые только закончили курсы/школы etc. Так вот, можно постричься у этого топ парикмахера за 35 грн при условии, что стрижка будет длиться не 40 минут, а полтора часа. Тоесть на клиенте будут объяснять каждый шаг и т.д.
Ну и офк этим джунам дают стричь клиентов по 30 грн, и если что-то идет не так-сеньер хелпанет.

40 хвилин стригтись за 35 грн у топа? А тим більше 1.5 години. Де ж тут логіка? Та краще постригтись за 15 хвилин у звичайного перукаря за ті ж гроші.
Якщо людина стриже 40 хвилин, то це не топ, а явно який-небудь аматор. Чим більш професійний перукар, тим швидше він зробить свою роботу.

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

Тонко так про «илитарность», и что «каста великого пыхпых» будет очернена «чернью с рынка».
А что вы бы хотели? Знать все уровни OSI, Асм, чтобы говно-формочки в пхп шлепать?

Знать все уровни OSI

На которые почти ничего не натягивается.

Асм

Какой из?

На которые почти ничего не натягивается.

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

en.wikipedia.org/...Interconnection#Criticism

То-то OSI никто не использует. Seriously, либо TCP/IP, либо реализации по совершенно другому делению слоёв (как в MOST, например).

То-то OSI никто не использует.

1-й и 2-й уровень весь на OSI. TCP/IP начинается только с 3-го (ну, можно с натяжкой приписать из 2-го сюда ARP и аналог для IP6).
Далее, логика 5-7-уровней тоже используется в полный рост, единственно что — принципиально логически разрешается, что управляющие протоколы для более нижних уровней реализованы через высшие, ну и туннелирование всех видов даёт инверсию порядка.
Разделение на сетевой уровень (IP, ICMP) и транспортный (TCP, UDP, SCTP) сделано тоже в соответствии с OSI.

Да, собственные протоколы OSI не используются за пределами узкого круга legacy. В чём-то это хорошо, в чём-то нет. Например, в OSI нет проблемы IP4 с исчерпанием адресов, там поле адреса резиновое. Вид транспорта seqpacket (который отстал в TCP/IP на 30 лет и в виде SCTP только-только начинает медленно вползать в массы) там был тоже изначально, а ведь на нём очень многое делается в разы проще.

шановный, я рад что вы знаете, что это. Но вы не совсем поняли сарказм. :)

Со мной бывает :(

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

Если серьезно, опасаться конкуренции со стороны продавцов телефонов — расписываться в собственной несостоятельности.

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

и череп геометрически правильной окружности.

P.S. Прошу строго не судить стилистику. Это первая статья.
Надеюсь, что последняя

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

Не могу согласиться, что в IT школах есть проблема. Скорее наоборот, сейчас настолько закомпьютеризирован мир, что практически каждый, включая детский сады должен как минимум уметь обращаться к компьютером и пакетом программ, или еще лучше, уметь автоматизировать. Не зря же, некоторый развитые страны вводят курсы по программированию даже в детские сады. Что касается обучения PHP продавцов пива, согласен с мнением, что во-первых, много работы вида сайтов-визиток не требуют высоких навыков, а писать Highload на PHP могут только Очень квалифицированные кадры, для которых продавцы пива не могут даже и близко составить конкуренцию :). Во-вторых, часто заказы могут не заходить в Украину именно по прочине кадрового голода. Проекты просто не могут застаффиться, а отсюда следует, чем больше будет людей способных выполнять любую работу, включая самую простую, тем больше будут заходить проектов и среди них серьезных и дорогих. И последнее: мы живем в рыночной экономике, рынок регулирует спрос и предложение и любая регуляция рынка труда — это очень скользкая штука, она может обернуться в обратную сторону. Сегодня вы добъетесь того, что людей без IT диплома Вуза не будут брать на работу, а завтра работодатели сговорятся и решат установить потолок зарплат? Рынок сам решит, что будет с выпускниками курсов IT. Если все будет плохо, то люди вынуждены будут или работать над собой или, селяви, в один прекрасный момент сказать «не мое», — и пойти дальше заворачивать шаурму. Что тоже, кстати востребовано на рынке.

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

4. Заполнят фрилансовые биржи и будут негативно влиять на «имя» украинских специалистов. Через пару лет общий рейтинг станет ниже, чем у индусов.
Общий рейтинг это типа как средняя температура по палате? Какая разница специалистам, какой там у кого-то «общий рейтинг»?
Какая разница специалистам, какой там у кого-то «общий рейтинг»?
Ну а как мы определяем, что этот код писал индус? Просто из пальца высасываем?

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

У вас есть хрустальный шар, который по коду определяет национальность писавшего:)? Как будто украинцы не пишут корявый код.

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

Если пошел разговор на тему кода, подедлитесь ссылкой на свой гитхаб?

А при чем здесь мой гитхаб?

Код написаний українцем завідомо має ауру некорявості.

А вы почитайте код какого-нибудь известного web сервера. Спесь как рукой снимет и предвзятое отношение к индусом тоже, потому что может оказаться, что ваш код для «художников» писавших сервак и неквалифицированного индуса — одно и то же. Это был не упрек, это совет спуститься с небес на землю. Вы PHP на linux хостите? Думаете знаете linux? Почитайте: habrahabr.ru/...dnoklassniki/blog/266005

А может оказаться что код сервака писали индусі :)

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

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

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

это не такое уж коренное изменение сферы
До инженера я продавал стройматериалы на рынке на точке отца. =)
это чистой воды снобизм.
Тут я не спорю и полностью согласен.
P.S. Прошу строго не судить стилистику. Это первая статья.
Пусть будет и последняя.

Почему же? Написал кратко, идею изложил, 0% Паламарчука. APPROVED!

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

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

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

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

Эта линия обороны регулярно пробивается средствами рекламы. И потому она просто обязана быть надёжной. Всё что нас не убивает — делает нас с̶и̶л̶ь̶н̶е̶е дороже.

PS. А кто-то из них всё же получит профессию. Не благодаря, вопреки. Но решится получить всё же благодаря. Да, такие в меньшинстве. Только именно они — те кто вращает планету.

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

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

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

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

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

С другой стороны, хорошие зарплаты никуда не делись, и это таки стимул.

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

Для инстаграма надо на суши ходить, не шарите вы.

1. Уровень знаний — самый минимальный
Ничего, с чего-то же надо начинать. Вы после первого года в школе тоже не много могли, так ведь? Пусть учатся, пока их не устраивает их уровень знаний.
Или вы предлагаете запретить все школы английского, которые не выпускают переводчиков и все спортзалы, которые не делают из людей хотя-бы мастеров спорта?
2. Через некоторое время рынок специалистов будет сильно разбавлен выпускниками школ, которые не смогут предоставить качественный продукт.
Ну и что? Рынок все раставит по своим места. Качественный продукт стоит дорого. Или вы вообще хотите оставить страну без ИТ-специалистов?
Давайте тогда сразу выпускать Senior-ов с разговорным английским, которые сразу после выпуска будут валить за бугор.
3. Они хотят получать много денег (не зарабатывать). Такой интерес к it у людей возникает из-за прибыли.
Во-первых, работать из-за денег — это нормально, все так делают. Во-вторых, если вам кажется что они необоснованно требуют себе зп (хотят много получать, а не зарабатывать), то уверяю вас ваш работодатель такого же мнения о вас. И как и все работодатели считает, что вы должны работать в 2 раза больше за в 5 раз меньшие деньги. В Украине средняя зп 4000 грн если что.
4. Заполнят фрилансовые биржи и будут негативно влиять на «имя» украинских специалистов. Через пару лет общий рейтинг станет ниже, чем у индусов.
Вы, батенька, эгоист. В стране нищета, люди пробуют хоть как-то из нее вылезти, а вас смущает, что ваш рейт может упасть?

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

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

Аутсорс — это дорогой экспортный ресурс, востребованный на мировом рынке. Кроме него есть еще и обычные айтишники, которые работают на внутренний рынок.

Например, в контору, где 5 компов нужен админ, который бы сделал сеть, настроил винду, поставил 1С и каждый месяц удалял ЯндексБары и бразуеры Амиго.

Или, например, нужен веб-программист наполнять сайт на Joomla, зп 5000 грн. И это еще бухам надо помогать или менять картриджи.

И что вас тут смутило?
Программисты, работающие на внутренний рынок получают 5-10 тысяч гривен. У них нет английского, востребованных технологий и умения продавать себя.

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

Курсы — то такое, сомневаюсь, что их выпускники осилят что-то сложнее делания вордпресовских шаблонов для ООО «Рога и копыта» в Усть-Зажопинске через российский фриланс-сайтик за 3 рубля. Куда большая проблема с ВУЗами, которые клепают как минимум 70% таких же неумех, но с дипломом. Тут опять же, вроде бы пофиг, но «дипломированные спецы» в отличии от выпускников курсов часто сами верят, что что-то могут и знают, тем самым создавая неверную картину рынка IT, отсюда повальное недоверие к студентам без опыта и тд.

Вообще не вижу разниц

Может пора повысить требования во время приёма документов?
Кажется, вы слишком серьезно воспринимаете IT-курсы. Смотрите на них, как на секции по боксу, где если на 100 человек будет 1-2 серьезно увлекающихся, которые планируют идти в профессиональный бокс — и то хорошо.
На сегодняшний день большинство «академий» — это удачный симбиоз тех, кто рад обманываться и тех, кто рад учить (при этом недоговаривая правду).

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

Кстати, да. Про английский я забыл. Полностью согласен.

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

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

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

Ну было 20 резюме, 90% из которых мусор. Станет 200 резюме, 99% из которых мусор. Что поменяется?

Да потому, что кто хочет и может, тот и без курсов попадет в айти. А кто не может/не хочет, тому и курсы не помогут.

что-то я думаю, что знакомство с людьми с курсов — скорее во вред

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

Так єто ж рекрутер, у которой чел на интервью дефецировал, либо просто тролль.

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

А кто хочет, но не знает, за что хвататься? А кто уперся в какую-то сложность и ему нужна подсказка? у гугла спрашивать, «почему не компилится»? или после первой опечатки в примере кода бросать все нафиг, мол, «ниасилил»?

Ну так за то есть работа для HR’ов.
А если серьёзно — большое количество претендентов на позицию позволяет сделать жестче отсев. И тут уж либо по окладу просадить можно, либо требования повышать т.к. выбирать есть из кого. А иногда и всё сразу. В любом случае, негативно повлиять на «уровень качества услуг, предоставляемый украинским IT» (о котором, якобы, так печется автор) данная ситуация никак не сможет.

Если бы вместе с увеличением количества не падало качество, то это было бы гуд. А так действительно только увеличивается объем работы для HR’ов. Представьте, если бы выпускники вузов перечисляли в своих резюме все темы, которые они изучали на профильных предметах. Примерно это сейчас делают закончившие курсы. Их резюме бессмысленны и беспощадны.

А так действительно только увеличивается объем работы для HR’ов.
Ути-пути. Почти пробила на слезу. Раньше думать надо было, а сейчас вам только и остаётся, что сцепить булки и пахать. Солнце ещё высоко...

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

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

У нас можно найти работу связаную с программированием МК?0_о

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

Тоже попадалось, бывает

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

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

ТАк а чья єто проблема? Ваша или того кто его нанял? Если человек с мозгом и с продавца телевонов перешел на программирование и у него получилось, так в чем проблема? Если не получилось — уволить ЧПшника очень легко, для того испітательніе сроки и нужні

Почему бред? Человек, который, хотя бы присутствовал на парах умнее своего сверстника с образованием ПТУ.

Рад, что вы это понимаете. А сколько таких, кто не понимает или делает вид, что все ок. :)

В США люди тоже разводят куриц для тру органик яиц и мяса.

лоллирую с таких постов постоянно.
похоже Денис, у вас подгарело.

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

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

Підписатись на коментарі