IT Школы вредят больше чем силовые структуры Украины
На днях мне пришло письмо с предложением устроиться в IT школу для преподавания курса по PHP. И тут я всерьез задумался о существовании таких заведений. Мне стало интересно, а много ли таких школ и что они предоставляют. Их много. Как оказалось, в школу может поступить любой “продавец кабачков” и пройти курс. А в конце обучения получить “сертификат” — бумажку о прохождении некого курса в некой школе.
И вот я начал думать об этой проблеме. На rabota.ua я нашел много резюме (php/js/web developer), в которых указаны рабочие места: “продавец телефонов”, “продавец пива”, “настройщик компьютеров”, “инженер на заводе” и последней стройкой “it school ’рога и копыта’”.
Какой смысл в выпуске такого количества таких “специалистов”. Они несут только вред. Вот посмотрите: 1. Уровень знаний — самый минимальный2. Через некоторое время рынок специалистов будет сильно разбавлен выпускниками школ, которые не смогут предоставить качественный продукт.3. Они хотят получать много денег (не зарабатывать). Такой интерес к it у людей возникает из-за прибыли. 4. Заполнят фрилансовые биржи и будут негативно влиять на “имя” украинских специалистов. Через пару лет общий рейтинг станет ниже, чем у индусов.
Уважаемые владельцы it школ. Я не против вашего существования, но оно должно быть качественным. Может пора повысить требования во время приёма документов? Для начала начните учить тех, у кого есть высшее (техническое для программистов) образование. Или тех, кто уже имеет опыт в it индустрии, но хочет переквалифицироваться. Например с одного языка на другой.
Уважаемое сообщество, давайте вместе строить наше будущее и влиять на него. Пословица “Моя хата скраю — нічого не знаю” может сыграть плохую шутку с нами в дальнейшем.
P.S. Прошу строго не судить стилистику. Это первая статья.
В избранное В избранном 0
Похожие топики Лучшие комментарии пропуститьЯ просто оставлю это здесь:“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% зп компаниям, которые заниматся обучением молодых специалистов: тогда и люди из нищеты выбраться смогут и славное имя украинских фрилансеров не упадет. И совесть не так мучить будет.
Предлагаю создать профсоюз айтишников, чтобы ограничить рост намеревающихся вАйти в АйТи) только истинные(тм) и одобренные профсоюзом айтишники должны работать, иначе — всеайтишная забастовка)
Если серьезно, опасаться конкуренции со стороны продавцов телефонов — расписываться в собственной несостоятельности.
442 комментарияа какая разница продавец пива или инженер? Я видел инженеров намного тупее продавцов пива.
какая разница программист или продавец пива?Я видел тупых программистов, которые в госконторах работали или перешли в торговлю..Частный случай- это не показатель..В целом технарь или продавец кваса- большая разница..И чем вы меряете тупизну?Что он хуже знает, архитектуру ПК или алгоритмы ,чем вы?Так он в своей профессиональной сфере, вас на посмешище выставит.( если вам не дать гуглить))
Уважаемые водители маршруток, для начала начните возить тех, кто знает ПДД и меет права хотя бы с одной категорией!
Уважаемые продавцы женских сумочек, для начала начните продавать сумочки тем, у кого есть подходящие туфли!
Уважаемые продавцы бытовой техники, для начала начните продавать технику тем, кто прошел обучение по электробезопасности и имеет соответсвующий допуск!
Можно продолжать, но мысль, думаю, понятна ? :)
Уважаемые продавцы женских сумочек, для начала начните продавать сумочки тем, у кого есть подходящие туфли!Уважаемые продавцы бытовой техники, для начала начните продавать технику тем, кто прошел обучение по электробезопасности и имеет соответсвующий допуск!
Ні, не зрозуміла. Зрозуміла спроба підміни понять і дешевої маніпуляції.
Кожен хто проїхався раз в маршрутці, претендує одразу на водійські права? Ні.Але кожен хто пройшов відповідні «курси» претендує (вимагає/надіється/і тд) на роботу тестером/девелопером/вставити необхідне.
Ребята, правило сперва добейся, очень ефективно работает в бизнессе. Скольбо не было приложений, курсов, они будут появляться и исчезать. Курсы с которых ты трудоустраиваешься, всегда хороши собой. Они рекламяться за щет того, что ты отбил деньги. Может поискал работу месяц, другой.Курсы, школы, и прочие течения это результат того, что наш информационный уровень потребностей вырос. Мы хотим быть умнее наша нация хочет большего. АЙТИ одна из тех сфер, где происходит достаточно много ивентов, ну и всегда тебе могут помочь. Правда времени тратиш на то, чтобы понимать доку, и только потом писать код. А если спрашиваеш, у кого-то 90% людей говорят читай доку, у меня вопрос, почему плохо отвечать своими словами?
Stanislav Tarasenko, у меня вот отец «сильно после» выхода на пенсию начал играть на трубе в оркестре (последний раз пробовал в школе) и just for fun что-то кодить на джаве (до этого с программированием соприкасался еще в универе, алголы там всякие). Так что пока вы боитесь конкуренции со стороны выпускников курсов, беда подкрадывается совсем с другой стороны. :)
Мав досвід обговорення початку курсу по тестуванню в трьох таких школах(в одній потім працював). Ми взагалі не обговорювали матеріал для викладання, не обговорювали наскільки я компетентний і тд. Лише фінансові та організаційні питання. На скільки я знаю, в деяких таких школах викладають люди взагалі без досвіду роботи
Але найгірше це люди які туди ходять. Ладно, можна закрити очі на те чого вони рвуться в ІТ. АЛЕ, вони реально ходять на курси як в школу. Нічого не роблять, ніякої самоосвіти чи додаткової літератури, не повторяють матеріал. Вони реально думають, що за 16 занять вони будуть шось знати чи вміти без самоосвіти. І вони реально думають, що «сертифікат» їм допоможе у пошуках роботи.
Ну так и чем это плохо?Лохи придут, отдадут свои деньги за обучение, но в IT не пройдут, ибо не их это.Какому-то небольшому проценту людей (допустим, 10%) эти курсы в чём-то помогут, и талантливые ребята устроятся в айти.Всё как и с обычными ВУЗами, собственно.
Уже не раз писал, что курсы не нужны. Но не потому, что чем-то мешают, а потому что либо лохотрон, либо просто нинунжно.
Вот вам и последствия пренебрежения гуманитарным образованием. Это же Гегель, то, чего много, неизбежно станет качественнее, что и доказывает Индия.А создавать искусственные барьеры это запредел какой-то. Самосовершенствуйся, лучшая защита от выскочек — отличаться от них фактически, а не по статусу.
Энгельс сильно упростил и постулировал. Не в нём суть.Меня вообще улыбнуло, что такое заявил не джавист, и не дотнетчик, а именно ПХП-программист :-)
Ага, я, дочитывая сейчас «NoSQL distilled» и в соавторстве с Мартином Фаулером почему-то именно индус Прамод Садаладж. И его имя далеко не единственное среди авторов известных книг.Массовое заниятие даёт выхлоп.И что нам реноме индусов, если мы белые?
Посмотрите сколько открытых позиций у Mathworks в Бостоне, там наверное только вакансий кодеров под 100 будет, не считая QA итп, и не верю что они никого найти и нанять там не могут.
В СНГ появился такой термин, ибо индусский код поддерживается за пределами Северной Америке. А кто код поддерживает, тот и вводит термины.
В СА их называют code donkeys, потому что без пиздюлины не хотят работать, просто кодерами, да кто как в общем. Как пример: www.theatlantic.com/. -bad-indian-coder/280636 . Они просто счастливые в том плане, что не поддерживают индусский код в том количестве, в котором это делают аутсорсеры из СНГ, они прохаживаются больше по рабочим качествам и скиллам. Поэтому искать надо «bad Indian coder»
Качество кода легко объясняется тем, что для них это своеобразное родео, нужно наговнокодить на 5 лет стажа и не быть при этом уволенным, потом срочно искать позицию тимлида, где программить не нужно, а затем PM’а, где нужно только трепаться языком, вот тут они на своём месте. Быть программером для них не призвание, а просто наказание на уровне разгребания навозных куч, и если повезёт, то оно для них будет временным. Это просто шаг наверх, а не самоцель. У них там борьба за выживание похлеще чем у сперматозоидов за яйцеклетку.
Как сказал мне знакомый индус из понаехавших в третьем поколении «Ты просто открой sourceforge, googlecode, github и посмотри сколько коммитеров из Индии. Вопросы ещё есть?» .
Просто пример, этот юзер гитхаба, признан самым influenced юзером из Индии, куча фолловеров, звёздочек и больше ничего: github.com/piyush
Это те, кто каким-то неизвестным чудом вырвался из стандартного замкнутого круга, в котором он должен показывать определённый тренд зарплаты, в 30 ему родители назначат жену, в 40 он должен дорасти до начальника, и так далее. Как именно получилось вырваться — может, просто «богатый бездельник», может, явно плюнул на всё это (и получил кучу проблем типа того, что теперь жену надо искать за пределами родины, а родственники его знать не желают), может, ещё как-то — неважно. Вариант: он не индус, а бенгалец — из таких 99% отличные кодеры, но не более; но и среди них попадается жемчуг. Или ещё какого-то другого народа без индусских традиций.
И, да, именно такие вырвавшиеся часто показывают результаты тех, кому не надо было вырываться. Поэтому все вторые-третьи места без подробной статистики участников — мнэээ. никак не показывают общей картины. А тут ещё хуже — я что-то при всём желании не увидел конструктива.:)
Впрочем, ты и так это знаешь, судя по предыдущему комментарию (я сразу, извини, не заметил, что это тоже твой).
олюбимый маасковский способ ёкспертизы детектед: подробнейше прозревать что делается в любой точке (и голове) мира, не отрывая задницы от стула
Вибачте, я вашого москальского діалекту не розумію.
агану, то есть, не «миру дали» термин, а таким же code donkeys, только с худшим знанием английского и бОльшим самомнением
Извини, что наступил, я догадывался, что будет запах.
«. но с большим самомнением»
говорю ж — и не сомневался
Переход количества в качество — это банальный технический принцип.Например, добавить чуть воды в ванну — и начало литься на пол. Приём ванны приобрёл новое качество — затопление соседей.
Но вот когда из этого принципа строят высокую философию — надо только удивляться.
Например, могло оказаться, что на свалке больше нет места.Или она стала привлекательной для мародёров.Да тысячи возможных вариантов.
Тема не раз поднималась и не только программистами. Например системные администраторы в своё время толкали мысль, что для доступа в интернет нужно выдавать специальное свидетельство, иначе уровень его наполнения пробъет дно и уйдёт в минус бесконечность. Какие методы борьбы предлагаются, кстати говоря? Одевать балаклавы и бить битами всех, кто выходит из дверей таких школ? Да, сейчас на место претендует 500 джуниоров, а будет претендовать 501, потому что я тоже собираюсь подавать резюме.
На самом деле автор имеет несколько возможностей преломить ситуацию:а. Открыть свои курсы и брать туда только с дипломомб. Создать свою компанию, вывести её в топы и отказывать в трудоустройстве всем, кто закончил какие-либо курсыв. Пойти по беспределу
Можно пойти дальше и запретить контрактное обучение в университете для тех, кто не учился в физ-мат школе например, а в школе — для тех, кто не нанимал репетитора по математике ещё в детской саду.
Ну и напоследок: для того, чтобы единицы выигрывали в футбол на чемпионате мира, миллионы должны играть в футбол во дворе.
С кишечником все ок. Я уже прошёл тот возраст, когда первый отказ превращается в катастрофу, да и первый отказ уже прошёл. По поводу финансирования — я специально написал про контракт, так что пассаж с госфинансированием мимо кассы. Аналог бесплатных курсов есть при любой крупной ит конторе кстати говоря и там все как хочет автор.В любой профессии конкуренция и куча неучей на одно местно, просто айти у нас недавно и для некоторых оказалось сюрпризом, что оказывается не только помазаники высших сил хотят работать там, где платят.Человек вправе тратить свои деньги любым удобным ему способом, по этому не вмжу проблем в такой деятельности, когда один учит другого программированию на платной основе.
Ну если мы говорим о сферических курсах в вакууме и не рассматриваем их неудачные реализации, то у большинства войти других вариантов не много. Можно конечно все самому с нуля и все такое, но чаще всего такой возможности нет, потому что этот способ требует очень много времени и реального таланта. Гораздо проще отдать деньги и получить структурированные знания основ, а дальше уже смотреть по обстоятельствам. Просто многие воспринимают курсы как школу где учитель обязан вложить знание, а нужно — как вуз ,где преподаватель выступает помощником в самостоятельном получении результатп
Невже не знайдеться роботи, схожої на укладку цегли?! Такої ж монотонної, одноманітної і т.д. Звісно з періодичним підучуванням чогось нового. але не як правило.
Что-то даже самое банальное формошлёпство еще до такой степени не автоматизировали. А так-то про CASE мы еще в 90х слышали, да только «воз и ныне там» :)
Несколько лет назад вон было много шума про software factories, а концовка всё та же — шуму много, толку чуть.
Хочу сказать, что кирпичи класть тоже умение нужно. Знакомый строитель жалуется что «очень много случайных людей в отрасли, работать не умеют, цены перебивают, делают некачественно. » ну почти как в ИТ.
Будут поступать «по блату», а талантливые ребята, ЕСЛИ У НИХ БУДУТ ДЕНЬГИ, оплатят учебу и себе и племяннику прокурора.
У нас везде блат рулит. Даже там, где в финансовом плане ловить вообще нечего (в низовой государственной медицине, например).
Вопрос немного не по-адресу.
Якщо говорити серйозно, проблема сильно перебільшена. Той факт, що шановний автор працює програмістом і трагедії не сталося, дає надію, що трагедії не станеться коли і інші «продавці кабачків» підуть в айті.
Пост — говно. Школа — школе рознь. Мы вот собираем саксесс сторис: lits.com.ua/. s-story-oksana-mykhalets
Ты кстати давно на ДОУ не делился вашими успехами. Напоминаю. ;-)
Дада, с отпуска вернусь и сразу напишу:)
Нагадує історію алкоголіка, який прийшов на курси і кинув пити :) ці історії хтось читає?
ну мы больше для себя следим за нашими выпускниками, и радуемся их успехам:)
Главное чтобы в Go IT не шли, уж лучше кабачками торговать
а расскажите про go it :)
Ну лендинги у них конечно норм, но мозгов совсем нет %)
Кстати некая Марина предложением из четырех длинных строчек сказала что они таки нашли лохов (бесплатных менторов)
p.s. ладно я упоротая сова со свободными графиком,а ты чего в 05:00 не спишь.
Вот блин, выздоравливай :(
Что-то теперь люди болеют не только раз в год зимой, кто летом, кто осенью.
у меня о них негативное мнение сложилось по парочке причин: 1) очень непрофессиональный хамовитый hr (ваще никакого профессионализма, тупо миллион смайликов в переписке, будто я им подружка какая-то.) 2) везде кричат, мол зп джуна такая-то!ололо! у меня тут сразу фильтр, что курсы говнецом попахивают. на счет it-мира- тоже самое. но у Вас в профиле хоть стот кто Вы и где работаете, а мой фб чист => я могу оказаться хоть продавцом кабачков, а они мне менторство предлагают.
цікаво, де вчився Шимків, від нього шкоди думаю більше, чим від "
Курсы это место где отсеиваются те, кто думал, что хочет программировать. Причем отсев идет не за счет фирмы, нерв тимлида, ментора, а за счет самих думающих, что они хотят в ИТ. Доводят курсы до конца, доделывают все задания те, кто реально хочет программировать. А если кто-то на этом немного заработает, то почему бы и нет?
Рынок расставит всё на свои места. Как только выпускники таких курсов массово начнут понимать, что их на рынке никто не «покупает» с таким уровнем знаний, то и интерес к подобным курсам автоматически начнёт снижаться. Со временем это приведёт к тому, что подобные курсы просто исчезнут с рынка.Надо понимать, что с падением гривны, ай-ти сфера выиграла джек-пот, поэтому неудивительно, что начали появляться разные сопутствующие «бизнесы», которые хотят срубить бабла на «резко-возникшем» рынке.Думаю, ажиотаж схлынет через год/полтора. Во-первых, снизятся зарплаты в АйТи (этот процесс уже идёт). Во-вторых, насытится рынок. В третьих, «начнут поднимать голову» другие виды бизнеса из-за роста экономики.Так что, рассматривайте текущую ситуацию как временное явление, которое нужно просто пережить. Ну и, естественно, как дополнительный пинок под зад своему развитию из-за возросшей конкуренции.
Ну, говоря о «процесс снижения зарплат уже идёт», я имел ввиду, что начался разворот на понижение. Это стало заметно пару месяцев назад. Думаю, через год мы уже увидим заметное снижение «среднего ценника».
а кроме тебя еще кто-то заметил? я просто не в курсе что такого произошло за последние пару месяцев, зато я практически уверен что следующий опрос опять покажет рост зп
Разворот по зарплатам не происходит по щелчку тумблера, так что ничего конкретного не произошло за последние пару месяцев, просто всё чаще начинают попадаться вакансии на уровень мидл, где зп в 700 преподносится как «достойная оплата труда».В любом случае, движуха на рынке «молодых специалистов» всегда приводит к понижению средней зарплаты. Тут работает простой принцип: чтобы заскочить в АйТи сферу, многие готовы демпинговать по зарплате.Пускай качество знаний у этих специалистов невысокое, но всё равно кусок рынка они отгрызут.
Да, я знаю, о чём речь. Как точно будет идти процесс, я не знаю.Я не «мыслю о фиксированном количестве мест в Украине», я говорю о снижении зарплат.Буду рад, если вы поделитесь своим видением ситуации.
Рынок тут мировой и растёт, Украина — полпроцента его. Так что про «насытить» речь не идёт. Могут быть небольшие колебания если рост числа программистов будет обгонять число контор, но тут рынок же будет и число контор увеличивать.Но на самом деле больше значение имеет война и общая весьма нестабильная обстановка, плюс идиотские действия кермачей. Это вот вызывает некоторые проблемы у нас, а не число программистов.
Так будет только при условии, что эти люди должны были идти на курсы повторно. Новый набор формируется из новых людей, а новые люди смотрят саксес стори, а не нытье тех, кто не прошёл. Так что не скоро они исчезнут. Вон на юристов до сих пор наборы сумасшедшие
Такое уже было в Индии. Когда-то там были высоколассные спецы. Они получали хорошие заказы восновном из штатов. С расцветом IT индустрии, заказов становилось всё больше, а свободных девов всё меньше. Где то в этом время Индия взяла большой кредит то ли у США, то ли у МВФ (точно не знаю). Большую часть этих средств правительство Индии вложило в образование. Было создано большое количество учебных заведений. Так же было поставлено обучение IT спецов на поток. Причём из-за нехватки девов качеству обучения не уделялось должное внимание. Упор делался на количестве девелоперов. Что из этого получилось все мы знаем. И индусский код в 200x годах ходил по сети и выступал в роли аникдотов.
В «сделано в Японии» было синонимом дешевого и некачественного. Затем Япония стала второй экономикой мира.В «сделано в Корее» было синонимом дешевого и некачественного. Сейчас Южная Корея относится к развитым странам.В «сделано в Китае» было синонимом дешевого и некачественного. Сейчас Китай стал второй экономикой мира.
В нулевые «индусский код» был синонимом дешевого и некачественного. Сейчас Индия экспортирует ИТ-услуг на 100 миллиардов долларов в год. Пруф:ict4dblog.wordpress.com/. 80-2015-time-series-data
Глава Google — индиец, глава Microsoft — индиец. Нам с Индии пример надо брать, а не воротить нос от «индусского кода»!
Спору нет, Индия сейчас лично у меня уже не ассоциируется со страной слабых девелоперов. Наоборот, мне посчастливилось поработать в одной комманде с некоторыми Индусами и у них есть чему поучиться: * достаточный уровень образованности и знаний* исполнительность* гибкость
Поэтому лично я ничего против них не имею. Но, к чему был мой предыдущий пост. Надо проявить мудрость, и не наступить на те же грабли, на которые наступили индусы, а именно: количество важнее чем качество. На сегодняшний день Украинские девелоперы ценятся, за приемлемо качественный код и выгодную цену, которую мы предлогаем западу. Хотелось бы не опускать планку, а брать не только количеством, но и качеством. Не давать дипломы на право и на лево, а подходить к этому осознанно. Брать на работу тех людей, которые этого заслуживают или хотя бы перспективных девов у которых есть потенциал и которые пытаются его раскрыть.
В самом MS среди инженеров куча индусов
пруфы расследования провокации
тем не менее «made in china» и «индусский код» были, есть и будут именем нарицательным.
Да, только сейчас это минус, а в будущем будет плюсом. Как made in Japan: японские машины, японская электроника, японское качество!
Это не противоречащие, а взаимодополняющие параграфы.
Исключения и единичные примеры не подтверждают правило.
И снова не «а не», а одновременно надо и брать пример с того, как они подняли, и добиваться, чтобы наши не писали индусский код.
Уверен, что те хорошие спецы из Индии продолжают получать заказы из Штатов (или вообще уже живут там), а куча выпускников продолжают безрезультатный авто-спам на фриланс-биржах с нулевым выхлопом.
Не бойтесь за репутацию страны. Заказчики не идиоты, и если некоторые пишут, что «индусов, пакистанцев, евреев не рассматриваем», то это не потому, что они поверили слухам или начитались приколов про индусский код. Дешевизна соблазняет бизнесменов сильнее, чем водка алкаша. Практически все пробовали с ними работать, и большинство неудачно.
Честно, не видел еще ни одного IT специалиста, которому удалось сделать switch из продавца кабачков только потому, что его привлекла финансовая составляющая. Маслоу перевернулся бы в гробу увидев этот пост, потому что оказывается, все сводится к материальной составляющей, а какая-то там потребность в самовыражении, самореализации, принадлежности и прочее это «ну такое». :)
1 А если студент КПИ летом подрабатывал — продавал кабачки, это ставит на нем крест, да?Сам факт продажи кабачков/телефонов ничего о человеке не говорит. Это может быть как максимум его карьеры, так и минимум.
2 Вы похоже так и не поняли Маслоу. Его пирамида показывает, что «потребность в самовыражении, самореализации, принадлежности», начинает появляться, когда удовлетворены предыдущие уровни потребностей.
Другими словами: пока не решена потребность в еде/жилье/деньгах, личности пофиг на саморазвитие, самореализацию и т.п.
Исходя из Вашего комментария таки да, но это не правило, потому что творчество как отрасль не существовала бы, если бы все сводилось к самому приоритетному в айсберге, а именно материальному. Не стоит читать между строк, все, что я хотел сказать заключается в том, что у человека, который движим исключительно материальной составляющей слишком мало места для дрифта на дороге к освоении IT профессии, именно потому составляющая IT приходится не малая доля выше упомянутого творчества. Я не имею права это доказывать, так как нахожусь на пути к освоению мокши :) т.е., индустрии IT и как говорилось в дет. фильме по мотивам Е.В. Шварц «Золушка» я не волшебник — я только учусь :) но мне показались подавляющее большинство IT-шников которых мне довелось встречать личностями творческими.
Конечне же нет, вы «айти-бастард», недостойный, и вообще фу-фу-фу.
Не врите, тогда небыло программистов, были эти, компьютерщики. Сам из таких :)
Ненене, сначала таки были программисты. Потом уже появились компьютерщики. Любой, кто мог переустановить винду и настроить сеть уже считался программистом. Уже потом, когда узнали значение этого слова, то программисты разделились собссна на программистов и компьютерщиков :)
А потом пришли синьоры.
Синйором стали компьютерщики, писавшие bat файлы
Эти курсы составляют проблему только джунам и HR.
Я уже год сама учу андроид. Уже есть несколько приложений на маркете. Понятное дело, что первые приложения совсем ужасные с точки зрения качества кода и дизайна, последние чуть получше.Сейчас я пошла на платные курсы по андроиду, чтобы услышать и уложить получше в голове то, что я уже читала. Просто хотя бы для общения с другими людьми, которые хоть что-то об этом знают. Потому что просто задолбалась объяснять маме по телефону, какую классную хрень я сейчас пишу и какие там будет адаптеры и биндеры.В группе 18 человек. У всех вопросы, как потом пройти собеседование в фирме, курирующей курсы. Уровень обучающихся самый разный, многие после айтишных институских специальностей. Многие проходили по два курса джавы в этой же платной школе. Но я понимаю прекрасно, что через 17 занятий (2 месяца срок обучения) наверняка ни один из них собеседование нормально не пройдет. Потому что на курсы надо идти хоть с какими-то знаниями о том, что там будут преподавать. Потому что я слышу их вопросы, слышу ответы препода, который реально не может ничего ответить на вопрос «где брать картинки для приложения» от студента, не знающего ничего, потому что ну что ему ответишь на первом занятии.В общем явно переизбытка специалистов не будет после конца курсов. Сомневаться не приходится.
Я пошел на курсы «нулячим», цикл ФОР не знал.Но сильно хотел научиться. Курсы указали мне путь, который я должен был пройти. Дали мне менторов, которые помогали, когда мне было трудно. И давали волшебного пендаля, когда я расслаблялся. Я офигенно благодарен ребятам, которые уделяли мне время и отвечали на мои глупые вопросы. Сам, дома, я бы во-первых, не знал за что хвататься, во-вторых, упершись в какую-то сложность мог просто бросить все на пол-пути. Именно благодаря курсам я прошел самый сложный, начальный этап. И теперь иду дальше.
Кстати показывали какие-то курсы, на которых обещают тебя с гавном мешать постоянно, ибо заслужил.
Курси лише дають теоретичні основи. На них людина може зорієнтуватись чи варто продовжувати далі. Це єдина роль курсів.
Найважча частина до першої роботи — отримання досвіду та практики. Даний етап відфільтрує усіх «непригодних» кандидатів.
Як вже тут коментували, не варто надавати IT курсам надто великої ролі.
Кстати, Шаг недавно пиарился, что в Луксери есть их выпускники.
Автор, я хочу вести курсы. Давать свои знания людям. Дабы улушать свои знания.
Это не школы. На сегодняшний день — это бизнес! С реальными, фундаментальными знаниями там совсем плохо, особенно если препады по
Первая группа людей, которая туда идёт — люди с техническим бекграундом, т.к. у них в вузе кроме паскаля, бэйсика и азов ассемблера ничего не было. Возможно, им нужна эта атмосфера, когда ты можешь с кем-то что-то сделать вместе, что-то обсудить, особенно если они учат новый для себя язык c нуля. Вот такие, чаще всего, доживают до конца.
Вторая группа — любопытные люди (образование не имеет значения), которые хотят попробовать, что это такое, а потом их с энтузиазмом поглощает программирование и дальше они, по большей части, много учатся сами, понимая что уже опоздали и нужно навёрстывать упущенное. Главное для таких людей — не перегореть (не забывать кушать и спать). На самом деле, курсы им 100% не дадут знаний, чтобы устроиться на работу, но люди поймут — их это или нет, а дальше уже пойдут своей дорогой.
Третья группа — люди, которые что-то понимают и знают, что-то примитивное могут сделать или скопипастить с гугла, но обьяснить, что такое и зачем нужен полиморфизм, в чём разница между процедурным и ооп, зачем нужны указатели, когда-какую структуру данных лучше применять и т.д. не могут и не смогут (разве что зазубрить, но это легко вычислить).
Четвёртая группа — люди, которые сами не знают чего хотят. В принципе, если бы не валяли дурака, из них могло бы что-то получиться, но они быстро сходят с дистанции. Лень губит многих :(
Пятая группа — люди (некоторые даже с техническим), которым не идёт и всё, они отходят весь курс, но элементарно не понимают, что такое массив и зачем это надо.
Шестая группа — товарищи, которым вообще пофиг, их родители записали «в надеждах», время от времени появляются, но итог как у пятой группы.
Это из основных, общее между ними — всех «студентов» манит бабло. Тот же «шаг» по одесским каналам двигал основной лозунг: «средняя зарплата программиста — 1500$. Стань программистом. Запишись в шаг.»
НО, первая и вторая группа — это где-то до 5% от всех. Из них могут получиться может и не супер профи, но неплохие специалисты, и точно не благодаря курсам )Третья группа — до 15 % от всех, либо пойдут ещё на курсы, в надежде, что со второго раза дойдёт лучше, либо попробуют проскользнуть в IT. Это без шансов, давайте будем реалистами. Остальные 80%+ как пришли, так и ушли, оставив бабло конторке.Вот так и живут эти мега образовательные организации.
Польза пожалуй есть тоже. Человек может получить первые азы, какие они будут, зависит от препадов, а дальше всё равно самому впахивать.
// c одесским акцентомНо я вас уверяю , если бы сейчас в IT платили как училке младших классов, где-то 2к гривен, то вы бы тоже мечтали выйти замуж за богатого иностранца :DТак что ТС не нервничайте, никто ваш пхп хлебушек не заберёт, все буде гаразд.
И миф о том «мы не поймём сами нам нужно чтобы нам хорошо объяснили» — полностью одинаков например с «дипломированными недобухгалтерами и недофинансистами» от которых я впервые этот миф и услышал.
Нет в полиморфизме никакого сакрального знания доступного только передачей прямой через учителя последователям лично.
Каждый судит по себе.Я из 2й группы вышеуказанной классификации и стартовый уровень был достигнут именно благодаря курсам. Дальше уровень тяну уже сам. Заодно параллельно учусь в ВУЗе ради диплома, и . только диплом с этого ВУЗа и будет. А знания с курсов. И от самообучения. Забыл сказать, на курсах попутно прокачался навык поиска знаний и самообучения. Что, может быть, даже более важно.
Остальные 95% чаще всего думают, что через 2 месяца уже будут зарабатывать 1500$, и всё что от них требуется — пройти супер-пупер курсы. Из этих 95%, как я говорил, где-то 80+% уже выбывают из игры. В итоге 1-2(до 5%)группа и 3(до15%)группа ищут «лазейки», но разница между ними в том, что одни нарабатывают самостоятельно знания и навыки, а вторые зазубрили конспекты и домогаются hr-ш :D
Программирую лет 15, с этого куплен не один дом, пару машин в гараже (это для желающих заявить, что я нищеброд-говнокодер). До сих пор не понял, зачем же нужен этот полиморфизм.
Надеюсь это был троллинг. Если же нет, то за 15 лет, не мне Вас учить конечно, но это был не С++ , а скорее просто С с классами, ну а если больше С# судя по линкдину, я если честно не помню, вроде там можно писать отдельные интерфейсы (или как это правильно называется) и ими обойтись, наверно поэтому у Вас такое «тонкое» мнение, что полиморфизм особо и не нужен.
Где там было написано про С++ ? На самом деле я иронизирую — просто часто особенно индусы спрашиваают вопрос что такое полиморфизм, я зазубрил ответ. Недавно сдавал одно тестовое задание смысл был про нахождение кратчайшего пути, я им реализовал алгоритм Дейкстры в пару строк на С# в функциональном стиле. «Архитектор» забраковал это решение потому, что надо был релизовать «как положено» — на три страницы с наследованием и полиморфизмом. И каментов побольше. Понятно, что я там работать уже не очень хотел.
ну наши «индусы» тоже спрашивают, только их не интересует сухое определение полиморфизма, а как раз зачем он нужен, примеры где применял, механизм реализации. А вообще у меня нет ещё программерского жирка, чтобы так легко жонглировать работодателями :) Ну и Ваш стек в линкдине впечатляет, прям целый винегрет из языков и технологий.
Кстати, ещё один прикол среди тех кто зубрит — часто говорят «полиформизм», тут невольно можно пустить слезу :D
А можно поделиться этим кодом с общественностью?
не могу — NDA подписывал. Шутка. Надо поискать.
На Haskell с грязноватыми хаками я представляю как его записать строк в 8. Но на C# (без pattern matching’а), в пару строк, функционально? Я заинтригован.
нашел. 11 строк тело функции не считая сборки из текстового файла в hashtable для эджей. Думаю можно сжать до строк не теряя понимаемости текста. Публиковать не буду здесь потому что набежит критиков, не замечающих бревна с своем глазу.
Та задолали со своими «принципами ООП» и кучей ненужного «хлама». Вот я тоже ООП использую в языке «R» s3 иногда : никаких в задницу конструкторов, интерфейсов, «объектов» в классическом понимании, да сами классы и наследование это в тупую просто вектор со словами ( класс определяется просто словом) и т.д.Типа в тупую создаешь функцию, которая применяет тот или иной метод, в зависимости от атрибута «класс» объекта. Вот и все ООП нафиг :)
А вот тут Алан Кэй очень бы удивился.
Посмотрите с другой стороны, выпускники школ выгодно подчеркивают ваш уровень специалиста(если он есть).
Во все времена люди хотели халявы, чем успешно пользовались лохотронщики разных мастей от продавцов зелий в средневековье ( хотя одаренные люди ходят по гадалкам и сейчас ) до МММ и финансовых пирамид современности. Сейчас вот ит на подъеме и в нем хватает халявщиков и случайных людей, вот предприимчивые люди и наживаются. Тем же аутсорерам страшно выгодней продать 10к вместо 3к попомест.
Приведёт и уже приводит к падению общего уровня до индусятины а достигнув уровня индусов конкуровать на их сегменте рынка уже не получится.
Понимаю, что каждый развивается со своей скоростью, и талант — дело тонкое, но из резюме преподавателя одной из школ:«3 года в тестировании, из которых 2,5 в автоматизации. Сейчас Senior Automation QA в. »
Вопрос- считаете ли вы опыт работы порядка лет достаточным для ведения преподавательской деятельности?
если человек в течении 3 лет активно развивается, то почему бы и нет?
Хороший преподаватель — это тот, кто умеет донести, а не тот, у кого опыта больше. И я это на своём опыте прочувствовал.К тому же, главная цель преподавателя — заложить крепкую базу, а не выучить синьора, по этому 3 года опыта, как я считаю, вполне достаточно.
у человека может быть и 10 лет опыт. опыт программирования != преподавательским способностям. Человек или может доносить вещи и заинтересовывать ()настоящий преподаватель и учитель) или нет (просто лектор, который отличат материал).
Физики-теоретики и так в математике неплохо подкованы
И тем не менее единственный физик, получивший медаль Филдса, — Эдди «26 измерений хватит всем» Виттен. Который, к слову, в физика переквалифицировался из политического журналиста после Уотергейта.
Дело в том, что человек за 3 года увидит только кусочек того что бывает вообще и донесет не совсем то что нужно. А отвечать на вопросы аудитории будет как-то так: «Ой, подождите, чуваки, я точно помню где-то такое читал, сейчас только загуглю. »Ценность как раз представляет реальный опыт того кто преподает, иначе можно распечатать Савина или мануал по селениуму, вручить его рандомной училке — и пусть вещает.
У меня эта тема наболевшая из-за 800 тысяч резюме которые приходится просматривать в отклках на вакансию с требованиями 2+ года опыта. Понимаю, что ребятам обещают головокружительную карьеру сразу по окончанию школ, но на практике человек готов к позиции трейни, которых на украинском рынке не так уж и много.Многие готовы работать за еду лишь бы зацепиться, но знания их скудны до тех пор пока они не начинают заниматься нормальным самообразовнием и не выходят за рамки. Здесь скорее конфликт пряничных обещаний школ и реальных возможностей кандидатов на рынке.
а я считаю что такие школы это хорошо индусить не зазорно — кто на что то способен из этого вырастит, а кто нет — и в таком виде пригодитьсявсяко лучше чем уголек рубить
В нормальные проекты тимлиды будут просто отсеивать таких выпускников шараг так же как и гугл отсеивает — алгоритмическими задачами и прочим кодом на интервью. Я например прошу кандидата написать хоть одну, любую сортировку.
і бувають такі, що жодної не можуть написати?
Бывают, что даже пузырьковую не могут написать. Особенно js девелоперы.
а решение для тимлида самое простое — делегировать тому кто умеет программировать :)
На некоторых проектах лиды практически не кодят)
Значит тупо не озаботился рефрешем подобных вещей и прорешиванием задачек.У человека, давно не ходившего по собеседованиям этот скилл атрофируется.
ну вы и показали свой уровень сеньйорства.
Вы хотите поговорить о разных реализациях квиксорта или поспорить, кто кого заинтервьюирует? Это можно.
мой любимый вид быстрой сортировки, это в дерево, потом обход. Но кода там надо написать порядочно. А когда дают листик и ручку, можно и так исполнить:
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().
а что глаз ничего не режет в коде на с++ вверху ? реальный синьйор или через знакомства/взятку/постель в айти попал ?
Сеньору только О(n^3) глаз режет
не знаю кто ты, но даже на джуниора тут не достаточно. первая проблема — это название переменных. вторая проблема — я вижу только один проход массива.
там как раз не 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, уж простите=)
это что за язык?;D
я ничего не понимаю ((
все равно ничего не понимаю и пятой точкой чувствую подвох. Оно нормально будет работать для массива из одного елемента? Или для набора 1, 1, 0, 1?
не могу увидеть рисунок, но понимаю, что там пруф
Там основное таки про Javascript :)
Это практически тоже самое, что вызов библиотечной сортировки.в partition то самая мякотка
может все таки qSort?
Пузырьком попахивает. Я предпочитаю array.Sort();
Ща мы немного прообфусцируем кода и вуаля, one liner (C99/C++) ! %)void stupidSort(int *A, int n)
Вау, снимаю шляпу
Перед повторным пересчетом в условии выхода из цикла? Или «оптимизации компилятора» наше всё?
перед отсутствием временной переменной в свопе, хотя трюк старый.Ну и лаконично выглядит )
единственный выход для тебя это признать что ты не говорил конкретно о сортировках а говорил о более крутых алгоритмических задачках. иначе тебя ничего не отличает от того сеньйора руби ))))
Люто, бешено плюсую. Как тут не вспомнить одну из знаменитейших фраз Шерлока Холмса «Ватсон, когда я был школьником, разумеется, я это знал!»
Ну вот реально, пузырьковую сортировку я писал еще на бейсике на домашнем 8битном компе году эдак в 1992-1993м. Начиная с лицея, и продолжая в институте, нас гоняли по алгоритмистике, там были и сортировки, и поиски, и численные методы — чего только не было.
Но в реальной работе мне эти знания потребовались в последний раз году эдак в 2001м, и то потому, что на Visual Basic с готовыми реализациями алгоритмов было грустно.
Сейчас — каюсь — без «шпаргалки» я и «пузырёк» не напишу, и не потому, что программировать разучился, а потому что держать сам алгоритм в памяти нет никакой потребности.
Ну так это, не барское это дело — массивы сортировать :)
тоже хотел это спросить, но вспомнил ответ — А пипл хаярят А+ пипл. Б пипл — хаярят С пипл. Вообщем что бы не работать в окружении С пиплов нада что бы все умели писать сортирвки сразу. Иначе культура компании будет состоять из случайно пришедших людей.
Так а за что ему деньги платить если в голове у него пустовато что даже нет места для сортировки? Может лучше платить гуглу или stackoverflow ?
Сами часто сортировку пилите? Или все таки готовой функцией?
а почему сортировка стала ориентиром платить деньги или нет? может пусть лучше станцует, оно чаще надо чем самостоятельно сортировку писать
Сортировка — азы computer science, если человек не знает основ, то хороший код он не напишет он де-факто не понимает как сортировка работает. В этом случае использование любых библиотек не более чем кривляние, как и съезд на тему танцев.
дай угадаю ты еще считаешь что программист обязан знать высшую математику на отличненько
Если он не в Oppa Govnosite Inc., а в чём-то, где требуется думать — то, ну, не знать сейчас, но пройти и честно сдать в вузе — да, должен.Вот сейчас у меня всплыла задачка, в которой одна из составляющих — оптимизация параметризованных автоматов с удалением лишних состояний. Вот сижу думаю, можно ли практически обойтись без поднятия учебников по этому поводу; но я по крайней мере уже знаю, где искать ответ, если не решится без него. Тот, кто не учил высшую математику — он даже не поймёт, почему возникла проблема.
А дискретная не высшая? ;)
Зависит от параметризации :)на самом деле со вчера нашлось, что сложности таки почти нет. Но вчера ещё виделось, что будет ой.
Ну, это как излагают всем на первом курсе. Дальше там есть ой куда наворачивать :)правда, там уже разделяют по поднаправлениям.
Высшая математика — это термин, которым на гуманитарных специальностях называют часть математики не из школьного курса, применимую к конкретной специальности.
Дискретная математика — это термин, которым на CS-специальностях называют алгоритмизируемую часть математики, оперирующую конечными структурами.
Ни первое, ни второе не являются разделами математики в смысле общепринятой таксономии. Так, дискретная математика как правило подразумевает поверхностые знания теории графов, теории рекурсии, общей алгебры, теории множеств и логики.
Как в рамках дискретной математики используется аппарат анализа, можно почитать у Кнута в «Конкретной математике».
Да, да а потом чудесным образом этот код кому то сопровождать и дебажить. И тут опа и танцы с бубном. На собеседовании то еще куда ни шло, а вот в реальном боевом проекте применить самописную там где вполне подойдет библиотечная, это свинство
Абсолютно все компании заявляют, что нанимают самых лучших, а как выйдешь на работу, так вполне обычные люди, факапят даже.
А если нужна специфическая сортировка? Допустим, есть огромный массив чисел и его нужно быстро отсортировать, radix будет быстрее библиотечного timsort/qsort/merge
Насколько огромный? Радикс не всегда быстрее
Тут надо рассматривать уже разность потенциалов это вы собеседуете человека способного с ходу поднять у вас сортировку «бигдата» или он вас? ))
Или если продолжать тему ит школ вы этих бедных выпускников с тремя классами коридора сразу же бросаете на писание промышленных алгоритмов и требуете а главное ожидаете соотв.?
А в таком случае всё равно придётся ознакомиться с текущим состоянием дел в CS применимо к задаче.
Эта позиция уже архаизм. Присущ кстати и американцам но крайне специфичным они даже одеваются так как во времена когда это было знанием сам удивился.
Тов. Моргун вот здесь прямо хорошо всех вдела написав сортировку в 3 строчки синтаксисом который никто не понимает но с которым на самом деле она работает и решает свои задачи. Сегодня само знание сортировки бессмысленно хотя понимание конечно нужно. Необходимых для реальной работы объектов знания сегодня более чем хватает. Другое дело что есть некий заметный пласт «знающих» которые на том знании и остановились и меряют и строят дальше уже только исключительно от него и таки будут пилить своё в меру своего знания вместо применения уже готового включая промышленные стандарты и даже гордиться этим.
Те же мерикосы это прошли уже кстати включая исключения которые я уже упомянул.
«Написать сортировку» и т.п. кстати показывает и уровень собеседующего. Если очень хочется сортировку то пусть объяснит «на пальцах» вам с этим человеком общаться но что делать если на самом деле общаться не умеет ни одна из сторон в более общем случае?
Нет, не работает. Потому что у меня нет и не будет рантайма Ruby на машине :)а синтаксис-то банален. Но она хуже любой готовой отлаженной библиотечной реализации за счёт затрат на динамические структуры.
Вот тут +100. Знание таких теороснов — это исключительный критерий только для института и, может быть, подбора интернов. Но не далее.
Да, отсутствие практического опыта — или опыт совершенно в другой области (как однажды меня после сетевых демонов «бросили» на веб-фронтэнд).
Суть в том чтобы отсеять тех, у кого нет CS образования. Сортировки это самое базовое, что можно придумать, хочу заметить что я спрашиваю ЛЮБУЮ сортировку, то есть пузырек тоже подойдет.
Bigdata, бывают задачи очень требовательные по перформансу или памяти. Соответственно знание алгоритмов и структур данных не лишнее.
Ну тут сам бог велел и логичноА когда зовут на формошлепство.
ох-хо, а highload нет, есть только load.
R&D. Пишу под железо. Стандартного нет почти ничего. CS образования нет. Вообще вышки нет, три класса церковно-приходской школы считай.
и тоже спрашиваете, собеседуя, написать любой алгоритм сортировки, я правильно понимаю?ох
Нет :) я никогда не прошу писать код на листике. На собеседованиях меня больше интересует умение пользоваться инструментами (система контроля версий, ревью, отладчики, профайлеры) и умение решать задачи (такая-то система, так-то обнаружили что течёт память — как локализовать root cause, как чинить? такая-то система, есть подозрения на ошибки из-за гонки — как проверить, как чинить? такая-то система, нужно добавить такой-то модуль — с чего начать, какие подводные камни?). Мы не пишем сортировки, у нас задачи формата «до нас никто не делал и пока не известно, возможно ли сделать», потому мне важней чтобы человек уверенно владел инструментарием и не опускал руки, если что-то не получается.
а диплома недостаточно чтобы наличие образования проверить? я не пойму самой сути спросить заучен ли алгоритм у человека или нет, ну вот допустим заучен и это ничего не значит, а пузырьковую сортировку я мог еще пока cs образования не было, так что же све таки проверяется? память? или находчивость?
Учитывая, что у нас в стране вообще нет CS образования, это очень странный аргумент. Да и с такой целью лучше спросить про, например, методы расчёта амортизированной асимптотической сложности (метод физика, метод банкира). Хотите получить такие вопросы на собеседовании? Сможете на них ответить? Применить их для какой-нибудь структуры на основе тропического кольца?
Разница в сложности есть, в осмысленности — никакой.
Мнэээ. мне стало интересно, погуглил, и что вижу. «структура на основе тропического кольца» выводит на статьи по алгебраической геометрии над полуполем из вещественных чисел и -INF. Там же говорится, что как отдельная субдисциплина это было осознано только где-то с 2002 года.
«Метод физика расчёта амортизированной асимптотической сложности» выводит только на данный топик на DOU.
Вы всё ещё предлагаете задавать вопросы подобного рода любым соискателям в качестве критерия их обучения CS?
Во всём нужна мера. В таких примерах доведения до абсурда — тоже. Когда он перехлёстывает через край — это уже не метод дискуссии, это извращение под видом возражения.
Да. И вот эта его фраза:
и была тем, из-за чего я написал. Потому что задача «написать любую сортировку» таки осмысленна, даже если человек идёт на задачу, где этих сортировок не будет ещё ближайшие лет 20. Потому что получится один из вариантов:
* у него от зубов отскакивают все эти сортировки => или свежее образование, или задолбали подобными интервью — дальше можно разобраться другими темами, что тут было, но уже показывает какой-то опыт;
* он не знает, но за 5 минут вымучивает пузырёк без оптимизации и с лёгкостью ловит подсказку на тему верхней границы — легко осваивается; не ловит подсказку — разобраться, из-за чего;
* не пишет даже пузырька — где-то тотальный факап (может, переволновался, а может, реальный ноль) — тоже отделить мух от котлет, но вероятность нуля очень высока. А если помогать встречными вопросами и рекомендацией озвучивать свои промежуточные рассуждения — надёжность детекта способностей доходит до 100%.
Проверка же на суперспециальные области математики, пусть даже вычислительной, даёт какие-то материалы для выводов в лучшем случае в 1/10000 случаев. Именно поэтому, повторюсь, я против сравнения с такой маргинальщиной. (Но не надо проверять только на сортировки, следует чередовать базовые темы.)
Расчёт амортизированной сложности, вообще говоря, входит в базовый курс CS.
Да, это новое направление. Так же, как finger tree обобщает чисто функциональные структуры данных, этот подход позволяет обобщить структуры данных императивные. Несколько лет назад была чудесная статья на эту тему, могу постараться найти.
Я предлагаю не использовать этот критерий. Вообще.
Но не с остальными упомянутыми словами в качестве обязательных для поисковой выдачи.
Вы, маргинализируя условия опроса/отбора, пытаетесь своим примером дискредитировать методику, которая работает на широком наборе случаев.
Я пытаюсь намекнуть, что CS-образование во-первых, проверяется не сортировками; во-вторых, проверять его вовсе не нужно.
Что касается эффективности методики экзамена сортировками, я сказать ничего не могу,- не практикую.
Обязательное наличие слова.
Не согласен по обоим пунктам.Во-первых, проверка наличия CS-образования сразу позволяет уточнить пригодность к ряду работ, причём как по критерию недостатка квалификации, так и по его избытку или его неподходящести. Во-вторых, сортировки, если их не использовать тотально, являются хорошим способом определить источник, уровень и стиль компетенции в достаточно широком наборе тем. Это даже если не задавать прямые вопросы об источнике образования (100% доверять формальным признакам вроде диплома так же глупо, как и не учитывать их совсем).
Понятно. Я прямо сейчас не практикую, но утверждаю, что это таки полезная методика (при очевидных и описанных уточнениях и ограничениях).
Какого слова? По двум ссылкам есть banker’s method и physycist method; по первой есть accounting method (другое название banker’s method) и potential method (другое название physycist method). Любая книга, содержащая описание амортизационного анализа, будет упоминать эти методы как наиболее распространённые.
Если мы говорим об украинских компаниях (а я именно о них), то в каких из них (кроме разве что Grammarly) CS-образование будет полезным?
Сомнительное утверждение. Собеседование должно проверять компетенции, необходимые для работы. Умение написать сортировку чревато ошибками обоих родов (умеет но не подходит, подходит но не умеет). Умение оперировать понятием асимптотической сложности, например, намного полезней — в таком случае человек при необходимости нужный алгоритм найдёт и применит, даже если не способен на листике его изобразить. В общем, я не стал бы ставить такую задачу.
Что касается более общего вопроса, если лично меня просят написать на листике какой-то алгоритм, я прошу за то же время написать на листике какой-нибудь другой алгоритм в ответ. Если на проекте важна такая компетенция — докажите, что сами ей удовлетворяете.
Понятно. Я искал только на русском. Почитаю.
В практически любой. Потому что образование — это не только знание конкретных методик, но и кругозор и оценка общего уровня.
Это подход для копальщика канав. В IT рекомендуется — и обычно принято — анализировать человека по значительно более широкому спектру критериев.
Потому я и описывал, что важен не столько результат написал / не написал, сколько применённый подход.
Смищно (tm). Что ж, это тоже вариант ответа. Но я бы такого не брал. Потратить минут продемонстрировать своё умение сделать быстро что-то лёгкое — ничего не стоит, зато даёт много пользы. Это ведь не многодневное «тестовое задание».
В том-то и дело. Если интервьюер сам не хочет эти минут потратить, то я бы не хотел с ним работать. That simple. Я же не даю ему многодневное «тестовое задание», а просто предлагаю вести диалог на равных.
Это внезапный и несколько даже оскорбительный вывод. Спектр критериев с учётом только необходимых компетенций может быть весьма широк.
Зачем? Это как требование «равенства возможностей», которое выливается в коммунистическую уравниловку.
Вы изначально неравны по текущей ситуации и по целям. И не обязательно кандидат ниже по условной роли в этом процессе — часто он выше. Но какая цель?
Лучше таки расшифруйте.
Я рассматриваю собеседование как двустороннюю проверку. Риск интервьюера — получить плохого работника, мой риск — получить плохой проект. На практике такой подход замечательно работает, потому как приводит к активному диалогу.
Грэм ругает CS обучение в противовес хакерству: наличие теоретических знаний ничего не говорит о практических умениях человека как программиста.
Вот потому я и говорю, что есть отличие задачи поиска звезды от задачи поиска просто работника. Грэм ищет звёзд, таким, действительно, CS может только мешать. Но в среднем по остальным — наличие CS образования имеет положительную корреляцию с практическими умениями.
В любом случае я могу аппелировать к тому, что CS образования у нас нет, потому разговор в значительной мере не имеет смысла.
Что касается околопрофильного образования, то за все проведённые мною интервью из людей, закончивших математический факультет, на вопрос чему равно i^i ответить смог ровно один человек. С эффективностью в смысле решения рабочих задач это не коррелировало никак.
Я тоже не знаю ответа. Но я знаю, как и где что читать, чтобы его получить, и какие есть грабли на этом пути. И вот это то, что даёт профильное образование. А что из подобных знаний будет полезно когда — да, заранее не предсказать — будет это i^i или инверсия деревьев.
При таком подходе к вопросу — и не будет.
Странное утверждение, но я имел в виду под «CS» то, что у нас преподаётся на направлениях типа «Информатика», «Программная инженерия», можно также сюда частично причислить «Прикладная математика».
Какие-то двойные стандарты. Проверять CS-образование сортировкой на листочке (а не знанием, где и что читать), но не проверять математическое задачкой на листочке. И чем мой подход отличается от вашего, простите? Я тоже хотел пронаблюдать за подходами к решению.
Наверно, тем, что CS ближе к области работы среднего программиста, чем математика?
Наблюдайте, кто ж возражает. Если у вас такая тематика.
Но мы же про оценку образования говорим. Математическое образование к человеку, закончившему математический факультет, определённо ближе, чем CS.
У меня совершенно другая тематика. Цель этого вопроса — выяснить, как (насколько эффективно) человек обучался новому раньше, потому как у нас ему прежде всего придётся учиться.
И на принятие решения ответ не влиял никак.
Не вообще, а для конкретной цели (должность, направление, отрасль). По крайней мере я всё время говорил и говорю именно о таком варианте.
А это по одному отдельно взятому вопросу обычно не выясняется.
В синтаксисе какого языка?
Математического. Кстати, очень хороший вопрос для самоопределения :)
Если вам нужен именно язык программирования, то пусть будет Wolfram.
Но да, имелась в виду ASCII-математическая нотация.
Суть в том, зачем отсеивать по критерию CS образования?Один из лучших моих коллег был по образованию и по предыдущему опыту врач-психиатр с действующими полномочиями судмедэксперта. Сейчас он начальник отдела по софту для медоборудования. Потому что никто не отсеивал по отсутствию знания сортировок, а вместо этого смотрели, например, на то, что он с минимальной помощью, на кривой документации и здравом смысле поднял интернет-узел в своём вузе.
Ну я даже не знаю.
На выдранные с мясом цитаты, действительно, комментарий вполне адекватен. Но бесполезен.
Я мог процитировать весь этот комментарий, суть бы не изменилась. Я с ним согласен, я тоже не понимаю зачем отсеивать по критерию CS образования.
Оттого меня и удивляет диаметрально противоположная позиция в соседней нити беседы.
Нет диаметрально противоположных позиций, есть банальное нежелание подумать после прочтения. Например, над тем, что задача «написать сортировку» не тождественна задаче «написать лучшую сортировку», «написать сортировку, которой учили» и не требует для своего решения предварительного знания сортировок. А тем более, когда я всё это уже изложил рядом открытым текстом.
Ок, пусть будет так. Агрессивность этого диалога меня лично уже малость подутомила. Хорошего дня.
ИМХО, сортировка и базовые алгоритмы работы с коллекциями настолько просты, что любой более-менее толковый школьник сможет их применять, подсматривая в Гугл. Ну зазубрил человек с десяток типовых алгоритмов, которые спрашивают на собеседовании, правильно на них ответил. И что из этого следует? Что он наиболее подходящий кандидат?
Если говорить про сортировку, то в кусках кода, которые работают с сервером баз данных, есть смысл упорядочивать выводимую коллекцию посредством запроса к базе, так как данные всё равно берутся из базы данных.
Не знаю, как в аутсорсе и на универсальных языках в целом, но в сфере автоматизации учёта важно, чтобы специалист справлялся с решением прикладных задач бизнеса с разумными трудозатратами на кодинг и разумной нагрузкой на вычислительную часть (сервера и клиентские машины).
есть правило 10000 часов. если чел пишет 10000 часов то он потом легко может читать чужой код и сразу вникать — он видел столько кода что видит все сразу кусками. если он не писал сортировок, не вникал в них — он тоже может быть хорошим програмистом, но только за счет того что будет брать задания попроще, скрывать свои пробелы умными словами и подсматриванием в гогл и т.д. такие люди тоже нужны, но я бы не хотел платить им как сеньйорам и иметь их у себя в команде.
Как говорили в универе нам золотые слова «Хороший инженер не тот, кто все знает, а тот, который может найти что ему нужно».
И шо, таки бы вы не написали сортировки? А кто года 4 назад хвастался что помнит оглавление кнута, уж не вы ли?
А нафига «придумывать велосипеды» все время ?
так ты тоже берешь задания попроще ? )
Угу. Если встречается сортировка в постановке задачи — я сразу отказываюсь %)
С другой стороны — что лучше: залипать над таской, изобретая очередной велосипед, или все-таки знать готовые решения и уметь их применять? Оставьте разработку алгоритмов академикам, они за это получают гораздо больше сениористых сениоров.
мы говорим что люди без базовых знаний занимают позиции сеньйоров. что сеньйоры не стесняются светить в линкедине то что они тока сейчас прошли базовые алгоритмы. — это ж весело )))
Hacker’s Delight — это не базовые алгоритмы, а сборник рецептов байто- и тактодрочения. Замечательная книга для развлекательного чтения, но практически она скорей вредна, чем полезна.
И какая мне польза для, например, проксирования потоков ордеров в FIX от оптимизации ctz() для MIPS?
А какая пользя от RB Tree в проксировании потоков ордеров в FIX?
RB — пожалуй, никакой. std::unordered_map даёт то же, что давало бы std::map, но дешевле. А поиск соседнего ключа мне тут оказался не нужен.
Ну признайся же, что ты троллишь:) Открываю оглавление и вижу:* Базовых структур данных — нет. Упоминаются и частично используются, но не описываются. Массив, хэш-таблица, даже просто запись (AKA структура) — уже применяются без объяснения.* Вся группа тем с упорядочёнными данными (от пресловутых сортировок до деревьев и структур на диске) — отсутствует.* Плавающая точка: основные принципы, ограничения, типичные грабли — отсутствует. (На всякий случай, описание формата и интерпретация полей — это не принципы.)* Динамическая память — назначение, методы работы, специфика, ограничения и грабли — отсутствует. Опять-таки начинать читать нужно, уже зная, что это и почему.* Работа с текстом (строки и т.п.) — отсутствует.
Уже этого хватит. Зато вместо этого всего есть:* Куча специфики MIPS и неназванных аналогов в стиле R5. Ребята, вы молодцы, но у меня (представляю себя средним по больнице программистом) x86 вокруг чуть менее чем везде. Зачем мне читать, как вы извращаетесь в попытках обойти отсутствие банальнейшей инструкции ADC, которая есть даже в 6502? (тем более через дорогую nlz(), которую надо отдельно сделать)* Туда же rotate shifts — я ценю ваши усилия, но даже бесполезная RCL работает даже в (вот что бы убил без жалости).* Куча трюков типа «выделение самого младшего бита» — рад за вас, но всё равно, почему-то Intel вместо этих трюков придумывает команды типа BLSI, когда производительность становится критичной.* Быстрое деление на константу — в любом компиляторе побольше дипломной работы уже сделано.* Транспонирование битового массива. молчу.* Код Грея. Безусловно, как же я без этого жил всё время, пока делал системы мониторинга? Надо было все показания датчиков в нём посылать! А уж выделять в нём ключи в БД все боги велели! (сарказм, для въедливых)надоело читать.
Как чтение на природе под коньячок — вполне. Только ещё удочку нужно. Для эмбедщика — тоже согласен — там уже хоть как-то близко к этому подходим. Но говорить о замене Кнута (ну ладно, что-то посжатее типа Вирта или Кормена). ой, всё.
Скорее всего, причина твоей ошибки в стандартном примеривании на себя. Уже имея тонны базовых знаний в подкорке, обросших тысячами ассоциативных связей, не замечаешь, насколько базируешься на них во всём прочем. В том, что, не пройдя соответствующий «вышкол», начиная банальностями типа отличия long от integer, и не поймёшь, почему такое неподъёмно для тех, кто этого не знает. Лечится — попыткой обучить реального «нулевого».
В том и дело, что для первичного обучения теме нужны «сырые факты», пусть и с объяснением. А там ничего не сказано, например, про то, почему нельзя писать цикл по вещественной переменной обычным образом. А вот в FMM это сказано почти с самого начала.
Ты явно издеваешься.
Find First Find First String of of a Given Length Find Longest String of Find Shortest String of
и куда я всё это применю? Первое — ладно, самопальный аналог strlen() написать (хотя стандартная библиотека это умеет без меня, не буду я его переписывать). Где тут хотя бы поиск банальной подстроки? Где collating? Где обработка с игнорированием регистра? И так далее.
Давай ты перестанешь про меня домыслы писать? Я её прочитал, последовательно и вдумчиво, и два раза (честно, именно 2, не больше и не меньше). Но я не считаю, что те считанное количество (на пальцах) упоминаний вида «а вот на x86 можно так» чего-то стоит. Тем более что там упоминания идут на самые извращённые (IMHO) случаи. Кому нужно то же условное присвоение в таком виде, когда cmov делает то, что нужно, прямее в разы? Было бы иначе — компиляторы уже давно начали эти каскадные блоки применять у себя.
Начнём с того, что «типичный» последние лет 10 это скорее ARM, чем MIPS. А разница в некоторых вещах (критичных для этого изложения) фундаментальна. И даже AArch64 принципиально это не поменял. 2е издание это 2012, уже можно было заметить ARM в каждом ведроиде?
Далее, зачем именно путь Berkeley RISC — MIPS — Alpha — R5 — etc. брать в качестве основного? На нём легче учить? Не думаю. С ходу надо учиться различать, например, add и addu. Зачем, если это специфика именно этой линии, но даже не ближайших соседних?
Давай без маргинальных сравнений. MIX устарел безнадёжно, это описание чего-то во времена даже до S/360, с хилыми закосами под PDP-15. MMIX уже актуальнее, можно было по нему. Но в любом случае они специфичны. Почему не x86? Только потому, что автору не нравится?
И опять ты не дочитал. Не везде, конечно. Но настолько «почти» везде, что до сих пор имеет смысл говорить о существенном преобладании его на рынке. А где не он — опять же, представим себе автора какой-нибудь игрушки под андроид — там ARM, не MIPS. А одно только наличие condition codes в процессоре уже принципиально меняет методы реализации очень многих описанных алгоритмов.
А почему речь сразу про эмуляцию на C/C++ без ассемблера? Ты начинаешь выдвигать какие-то очень странные условия, которые ниоткуда не происходят. И о чём вообще речь — о длинной целочисленной арифметике? Раздел 4.3.1? Так там процессор поддерживает флаг переполнения.Но даже если мне не дадут ассемблера, я могу делать через беззнаковые на любом C не хуже, чем на MIPS! Цитирую libgmp:
Это всё переписывается на C один к одному и в данных условиях не очень-то и тормозит :)
Это да. Аналога умножения в формате N*N -> 2N и обратного деления там нет, и это, кстати, очень обидно. Точно так же, как хотелось бы включать режим -fwrapv на одну операцию. Но на практике всегда есть варианты обойти это.
Я же сказал, что 1) говорю про x86, 2) она не нужна :)компиляторы её не генерируют.Анализ живой машины показал её наличие только в а) той же libgmp (умножить/делить что-то длинное на 2) в ассемблерных вставках и б) VirtualBox :)Была бы «кирпичиком» — её бы использовали чаще.Аналогичная история с xchg (компилятор, основанный на SSA, не будет такого использовать).
Не могу, но мне и не нужно. По описанным выше причинам. Но Intel в своей доке эти интринсики всегда пишет :)
Ты ж предлагаешь ею заменить Кнута? Ну так заменяй, но сделай, чтобы было всё, что нужно продвинутому прикладнику, а не системщику.
Ты опять читаешь то, что хочешь увидеть, а не что написано. Что при работе с видео это нужно — спору нет. Но зачем это остальным? Если всякие приёмчики вида
x&(x-1) ещё полезны на уровне общего развития, то это уже за пределами.
Почувствовал. Больше половины книги — бесполезно.
Тогда — всё так. Сейчас — нет. Ты пропускаешь, что 1) ты таки знал уже бейсик2) ты таки знал уже ассемблер более мэйнстримного вида3) ты после этого читал тонны книг от Кнута до красного дракона и от Вирта до «познай одну ладонь java за 21 день»