Был давным давно в моей жизни этап, когда я активно увлекался олимпиадами по программированию. Дело забавное, да и на халяву поездить можно… Да и тогда это был реальный шанс встретить таких же шизиков 🙂 , каким я был сам. Эх… Молодость-молодость.
Но, в общем речь, хоть и об олимпиадах, но с другого угла.
Собственно говоря, я думал (примерно тогда же, когда участвовал в олимпиадах), что это очень хорошая идея нанимать олимпиадистов, так как они самые толковые программисты.
И вот, по прошествию, эдак лет десяти, решил отделить зерна от плевел.
Хороши олимпиадисты:
— Быстрым мышлением
— Очень хорошая базой по написанию разнообразных алгоритов
— Достаточно свободным владение языка программирования
Пожалуй, на этом список заканчивается.
А плохи они тем, что они привыкли к
— Плохому качеству написанию кода
— Жестокой ориентации на короткосрочную цель
— Плохому понимаю архитектуры (из-за малых размеров обычных задач)
Так что, если вам нужен человек порвать сложную задачу, то вероятно олимпиадист будет достаточно хорошим решением, если же вам нужен человек занимающийся архитектурой, поддержкой или другими долгосрочными задачами, то чаще всего психика олимпиадистов к этому не подготовлена.
Естественно применимо, не к 100% олимпиадистов, да и со временем качества сглаживаются (как положительные, так и отрицательны), но тем не менее — закономерность прослеживается.
Не помню, к чему это я все говорил. Так просто, музыкой навеяло.
что подразумевается под плохим качеством написания кода ?
поименование переменных ?
так в олимпиадных задачах и не надо, чтобы код был документирован, красив и понятен для проверяющего глазами, ибо его никто и не смотрит. если брать настоящее соревнование — ACM, то это вообще очень хорошая вещь, потому как код оптимизируется до немогу, задача решается как можно проще и лаконичнее, чтобы пройти временные тесты. а парное программирование — то, о чем с придыханием говорят практики экстремального программирования — использовалось нами интуитивно, когда мы еще таких страшных слов и не знали. а отладка по собственному выводу, потому как шагать в дебаггере времени особо нету ?
олимпиады выращивают культуру алгоритмизации. а то встречаешь другой раз выпускников программистов, которые слов «кластеризация» и задачу о ферзях не знают….
>что подразумевается под плохим качеством написания кода ?
>поименование переменных ?
Нет. Плохое качество кода это
а) Дублирование
б) Непроверка разнообразных возвращаемых значений
в) Непродуманная/нерасширяемая архитектура
г) Код плохо разделенный на функции, классы, модули
д) Недокументированный код
>так в олимпиадных задачах и не надо, чтобы код был документирован, красив и понятен >для проверяющего глазами, ибо его никто и не смотрит.
Замечу, я говорил не о том, как должен писаться код на олимпиаде, а то какие работники выходят из олимпиадистов. Соответственно то, что хорошо для олимпиады, не всегда хорошо для обычного рабочего проекта.
>олимпиады выращивают культуру алгоритмизации. а то встречаешь другой раз >выпускников программистов, которые слов “кластеризация” и задачу о ферзях не знают….
Еще раз обращу внимание, что я так в статье и написал, что олимпиадники очень хорошо разбираются в алгоритмах. Но это не единственная составляющая успешного проекта.
>о чем с придыханием говорят практики экстремального программирования — использовалось >нами интуитивно, когда мы еще таких страшных слов и не знали
Опасная позиция. «Нами интуитивно» и «мы еще таких страшных слов и не знали». «Мы» против «Они» неплохо работает на сорвенованиях и дико жгет нервы (без особой пользы) на работе.
Кстати, за 10 лет работы в IT (после олимпиад) мне так и не понадобилось решение задачи о ферзях, нелинейное программирование, хитрые операции с графами и т.п. задачи.
Интересный пост. Скажу свое ИМХО! Брать на работу успешных олимпиадников все таки лучше чем только что окончивших студентов. Не знаю как у вас товарищи но у нас в стране хотя бы толковых студентов мало. Поэтому же более приемлемым решением у нас в компании будет взять олимпиадника с не нарушенной коммуникацией и поднатаскать его в течении скажем полугода(в среднем). При этом я не говорю что среди студентов(не олимпиадников) нет толковых, но их все таки меньше. Есть конечно одно «НО», большое количество олимпиадников страдают плохой коммуникацией.
P.S. под коммуникацией имею в виду «общительность»
>Брать на работу успешных олимпиадников все таки лучше чем только что окончивших >студентов.
В целом согласен, обычно они лучше умеют решать задачи.
И полностью согласен, что ключевые слова это __не нарушенной коммуникацией__ и __поднатаскать__.
Где я вижу конечно сплоховало мое давнее-давнее руководство, что меня постоянно ставили на отдельные проекты, поэтому не было более опытного товарища, который бы меня действительно поднатаскивал, чтобы я побыстрее просил плохую часть олимпиадских привычек.
ну дык я более удачлив в этом случае)
Зато у меня большой опыт написания, а потом исправления своего же говеного кода 😛
Любой опыт в этом смысле положительный 🙂
Я сталкивался с олимпиадниками, ну так они просто умные ребята, в этом все дело и всегда напишут лучше не совсем смышлённого человека. А всё остальное — это со временем постигается, если конечно нет завышенного самомнения. Таким в команде тяжело — но опять же олимпийское прошлое тут не причём.
Да, частенько люди подхватывают зведную болезнь.
Лучше всего «все остальное» решать временем + обучением того, как разрабатывать рабочий код.
Поездить нахаляву… да Украина богатая страна.
о… и не говори 🙂
Для сравнения в России такого не бывает.
У нас в школе, был человек который занял третее место на всемирной олимпиаде по географии в Канаде.
Дак деньги на поездку родители искали сами.
В принципе я и раньше знал куда уходили деньги росиян, но теперь есть подтверждения 🙂
Обидно конечно, что государство не помогает толковым ребятам.
Хотя, мне кажется не все так печально в России. У меня один знакомый участвовал в олимпиадах по программированию и по России поездил за гос. счет вроде. Надо правда уточнить, он давно рассказывал и вроде это дело не то школа, не то город оплачивал.
Да, кстати, так сказать оффтопик. Думаю экономическое положение России будет получше чем у Украины (после учета бюрократии и взяточничества в том числе).
Браво, Victor Ronin!
Заслуженно срываете очередную порцию аплодисментов по клавишам.
Олимпиады ф топку, даешь участие в разработке качественного ПО instead! =)
Наличие всякого рода бумажек — не означает что человек при мозгах и вменяемости. Но за-то можно проверить соответствие написанно в бумажке — действительности. Если есть расхождения — человек врёт, а если врёт значит не подходит. Каким бы best’овым он ни был, нормальный руководитель его не возьмёт.
Ну олимпиады, это не бумажки. В том смысле, что у меня например на первых работах не просили предъявить диплом победителя.
Но конечно полностью согласен, это не говорит о вменяемости. Скорее это говорит о определенных умениях.
Кстати в этом смысле олимпиадная бумажка весомей разных сертификаций. На олимпиаде борешься против людей (которые заразы, таки умные). На сертификации — против теста.
Есть правда одно «но». Как-то я был в Киеве в офисе товарищей, которые раздают дипломы по всеукраинским олимпиадам и лично видел в списке человека который на олимпиаде не присутствовал/не победил, но которому диплом выдали (ну это уже издержки наших любыл пост-советских стран).
Насчет того, что если человек врет, то руководитель не возьмет. Зависит от руководителя. Я действительно терпеть не могу, когда врут. С другой стороны, если этот человек значительно увеличит потенциальную прибыль, то может и при этом его ложь не сможет отрицательно на это повлиять, то я пожалуй мог бы поступиться своим эго в угоду прибыли.
Олимпиадных бумажек можно купить в метро в Москве как нефиг делать. Можно стать победителем олимпиад которых и не было-то никогда.
Если человек лжёт Вам, значит на то есть причина. Какова бы она ни была — Вас хотят обойти, а когда один человек перестаёт слушать начальника, то и другие невольно поступают также. Но такие случае надо видеть, чтобы понять. Как-то Вы обсуждали ошибки и получаемый опыт 🙂
>Олимпиадных бумажек можно купить в метро в Москве как нефиг делать. Можно стать >победителем олимпиад которых и не было-то никогда.
Та да. Единственное, что при приеме на работу все олимпиады все равно являются вторичным или третичным фактором.
>Если человек лжёт Вам, значит на то есть причина. Какова бы она ни была — Вас хотят >обойти,
Ложь может быть направлена на что-то важное или не важное. Если лгут по важному поводу (например говорят что опыта у них 5 лет с технологией, а на самом деле они ее не пробывали вообще) — это важно. А бывает ложь, для укрытия мелкой фигни. Это более мене терпимо, и даже если вы поймали на этом человека, такое можно пропустить.