%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ?
Как показывает практика, умение в алгоритмы не коррелирует например со следующими вещами:
1) Умение работать с большой кодобазой
2) Умение декомпозировать задачу на подзадачи
3) Умение правильно выставить приоритеты
4) Умение самостоятельно решать проблемы (разобраться как что работает в коде, задизайнить решение/систему, нагуглить что надо в случае проблем итп)
5) Under-the-hood знание языков и технологий. Типичная ситуация: китаец-джуниор вызубривший стандарт С++ и алгоритмы днями не может избавиться от ошибок линковшика.
6) Умение в debugging
итд итп
Банальные вроде вещи, но у нормальных опытных разработчиков обычно с этим намного лучше чем у джуниоров, и для работы это намного критичнее чем алгоритмы.
Знание алгоритмов нужно, в некотором объеме, как минимум для того чтобы знать что нагуглить и как правильно оценить сложность и выбрать нужный алгоритм. Но зубрить наизусть всякие специфичные алгоритмы — нафига?
Т.е. например с теми же графами — максимум что я ожидаю от соискателей это общего понимания что такое BFS и DFS, но Дийкстру имплементировать на 45-минутном собеседовании — это для извращенцев.
%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ?
Два варианта есть, земляк мой Артём.
Перечислю оба:
1) Стараться развивать то, в чем ты сильнее молодых (опыт, знания каких-либо тонких мест вашего проекта,
умение самоорганизоваться, тяга к самооборазованию/саморазвитию, широкий проф-кругозор, умение быть ментором, усидчивость и т.д.).
В этом случае в команде будет примерный паритет: у молодого — свежие академические знания, а у более возрастного — всё остальное.
2) Если именно знание алгоритмов критично для вашего проекта (а не для "себя_показать_да_на_других_посмотреть" на собеседовании),
то тогда — садись за книги, ищи по сайтам — в общем навёрстывай. Но это изучение актуально в том случае, если оно именно важно в вашей
повседневной практике. Если все эти алгоритмы в действительности приходится разрабатывать на ваших рабочих проектах.
В противном случае — эти знания и навыки будут не более, чем механизмом поднятия ЧСВ
%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ?
Зачем академические знания постоянно держать в голове, если нет необходимости в их практическом применении. Когда они понадобятся можно обратится к справочнику или взять реализацию конкретного алгоритма из какой-нибудь библиотеки. Или у вас по работе часто приходится с нуля какое-то сложные алгоритмы разрабатывать?
%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ?
Кстати, я не так давно понял, как здорово, когда у тебя в команде очень юные и перспективные junior'ы (и не только). Снимается очень много проблем, проект делается быстрее, разговоры о реальных проблемах. Так что радуйся, работать станет комфортней и продуктивней, ну и некий дух соревновательности у тебя появится, поэтому ты станешь тоже продуктивней. Нанимать надо всегда людей, которые умнее тебя или знают больше.
Re[2]: Как жить с осознанием собственной слабости?
Здравствуйте, Faland, Вы писали:
F>Знание алгоритмов нужно, в некотором объеме, как минимум для того чтобы знать что нагуглить и как правильно оценить сложность и выбрать нужный алгоритм. Но зубрить наизусть всякие специфичные алгоритмы — нафига?
%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ?
В кратце, надо дать ответы на вопросы — кто ты, зачем живешь, какие у тебя потребности, как их удовлетворить, как самореализоваться.
Немаловажную часть времени уйдет на принятие себя, с недостатками и слабостями.
После этого ответ нарисуется сам собой. Как то так.
%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ?
двигай в менеджмент. Это нормально что ты не эксперт ни в какой именно области, но все равно хорошо разбираешься в каждой. Добавить менеджерские скиллзы будет очень ценно. А алгоритмы составляют очень малый % времени, пусть их ботанит кто то другой. При принятии ключевых решений тебе представят трейдоффы каждого и риски/сложность доведения до релиза. А решать что именно сделать будешь ты, исходя из этих данных и более широкого видения проекта и перспектив развития.
Re[3]: Как жить с осознанием собственной слабости?
Здравствуйте, Lexey, Вы писали:
L>Нет, это когда на собеседовании на стажера студент-олимпиадник за 30 минут успевает решить 2 задачи, на которые у тебя уйдет почти весь час.
Главное, чтобы этих стажеров не пускали проектировать чего-то сложнее двух задач за 30 минут. MCAS там какой например или еще чего...
ned>>Задачки такие что даже интернам на интервью задавать стыдно.
%>Спасибо за поддержку.
Просто сделай вид, что ты с ними не соревнуешься, и не участвуй больше в таких code jams. Гордись тем, как ты грузишь кандидатов переворотом строки. Разница между людьми, которые увлекаются спортивным программированием и теми, кто нет, примерно такая же, как между теми, кто бегает 4 раза в неделю и теми, кто ищет место для парковки на 10 метров ближе ко входу.
Здравствуйте, aik, Вы писали:
aik>Скинь что ли пару ссылок на такие задачки, чтоб для удовольствия. Я как ни открою летиткод и хакерранк — так всё делаю через силу, удовольствия ноль.
Попробуй ту же вторую задачу из отборочного тура Code Jam. Код в несколько строчек если чуть-чуть подумать прежде чем кидаться кодить.
Третья тоже интересная, но сложнее значительно. Потом из дома ещё посмотрю что у меня запомнилось с литкода или топкодера.
Re[2]: Как жить с осознанием собственной слабости?
Здравствуйте, student__, Вы писали:
__>Как-то слышал мнение профессора, что общение со студентами отупляет. Думаю, что и в индустрии и в науке нечто подобное имеет место быть.
Я слышал мнение профессора, что общение со студентами делает умнее. Потому что студенты иногда такие хитрые вопросы задают, что приходится напрячься, чтобы ответить. Но когда все коллеги в проекте тупые — это совсем другое, это очень печально.
Re[9]: Как жить с осознанием собственной слабости?
Здравствуйте, landerhigh, Вы писали:
L>Здравствуйте, %, Вы писали:
L>%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ?
L>Это как? L>Когда они на ровном месте наворачивают O(N^N), а у тебя ничего, кроме O(1), не выходит?
Я кстати тоже не вкурил, в чем алгоритмическая сила измереятся.
А так я у нас вообще по ходу самый слабый в команде. Ничего, зато есть чему и у кого учиться.
Re[4]: Как жить с осознанием собственной слабости?
Здравствуйте, ned, Вы писали:
aik>>или помнишь хер знает что пришедшее хер знает откуда (PCI, к примеру). ned>Ну так же как и с биржевыми API. Хорошо когда протокол стандартный или хорошо описан. Пусть и в плохом переводе с вражеского языка. А иначе reverse engineer-ишь поставляемую библиотечную бинарку чтобы понять какие она соединения открывает и что шлёт, а потом пишешь свою замену.
Я так и не понял с чем ты споришь, но ты выиграл
Re[9]: Как жить с осознанием собственной слабости?
Здравствуйте, e.thrash, Вы писали:
S>>%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ? S>>идти в системные программисты, там другие качаства важней ET>какие?
Память, терпение, держать в голове "общую картину".
Re[5]: Как жить с осознанием собственной слабости?
Здравствуйте, ned, Вы писали:
aik>>Память, терпение, держать в голове "общую картину". ned>И в чём тогда отличие от прикладных программистов? "Картины" у прикладных программистов ещё больше имхо.
Ну по старой памяти — откроешь студию и смотришь в список проектов — и всё как на ладони, вот тебе классы, вот тебе интерфейсы, тыкаешь мышкой, читаешь, халява (пока не натыкаешься на чужой бинарь). А у меня тут нет ничего такого чтоб ррраз — и открыл, и втыкай, неее, это десятки несвязанных ммматьих pdf'ов и исходники нескольких разрозненных фирмварей (линукс, драйвера, фирмвари, биос). Мне формализовать сложно.
Re[6]: Как жить с осознанием собственной слабости?
Здравствуйте, ned, Вы писали:
ned>%>Ну с 2-й я сам виноват что накрутил рекурсию на ровном месте. 3 и особенно 4-ю никто не щёлкал. ned>Тут только тренироваться. Основных алгоритмов решения таких задачек может десяток наберётся. Нужно только продраться через хитро составленное условие и обнаружить паттерн. Можно даже перебором Я решаю пару-тройку средней сложности на выходных просто для удовольствия и чтобы не "заржаветь" совсем.
Скинь что ли пару ссылок на такие задачки, чтоб для удовольствия. Я как ни открою летиткод и хакерранк — так всё делаю через силу, удовольствия ноль.
Re[10]: Как жить с осознанием собственной слабости?
не забывай — речь идет о средненьком разработчике. так что все эти положительные примеры, пока не придет, утрируя, олимпиадник, заточенный под данную область. Прямую конкуренцию в лоб средний разработчик не выдюжит.
Re[11]: Как жить с осознанием собственной слабости?
Здравствуйте, Goodhope, Вы писали:
G>Угу, спасибо. Интересно, есть решения на других языках? Раньше в GoogleJam можно было посмотреть чужие решения, сейчас что-то я такой возможности на нашел.
Там можно в таблице результатов кликнуть на имя участника, и на открывшейся страничке будут ссылки на код. Раньше было удобнее, да.
"Будь достоин победы" (c) 8th Wizard's rule.
Re[5]: Как жить с осознанием собственной слабости?
%>Ну с 2-й я сам виноват что накрутил рекурсию на ровном месте. 3 и особенно 4-ю никто не щёлкал.
Тут только тренироваться. Основных алгоритмов решения таких задачек может десяток наберётся. Нужно только продраться через хитро составленное условие и обнаружить паттерн. Можно даже перебором Я решаю пару-тройку средней сложности на выходных просто для удовольствия и чтобы не "заржаветь" совсем.
Здравствуйте, sergey2b, Вы писали:
mgu>>Подождать годик, ветер переменится, будут гонять по битовым операциям или ещё чему-нибудь практически ненужному.
S>в США алгоритмы доминируют с 13 года
На подходе квантовые компьютеры, а с ними знание алгоритмов (сортировки -- о существовании других маэстры не догадываются) станет логическим упражнением типа гномиков. Кстати, доминирующих гномиков послали на гору Фудзи.
Re[5]: Как жить с осознанием собственной слабости?
Здравствуйте, CodeMonkey, Вы писали:
CM>Детский сад, штаны на лямках.
О том и речь. Ты народ уже посмешил своим гм... пониманием основ, теперь зачем то пыжишься, пытаясь выставить всё наоборот.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[3]: Как жить с осознанием собственной слабости?
Здравствуйте, Lexey, Вы писали:
L>Нет, это когда на собеседовании на стажера студент-олимпиадник за 30 минут успевает решить 2 задачи, на которые у тебя уйдет почти весь час.
При этом в бизнес-измерении программируют они таки хуже, т.к. стиль олимпиадного программирования не предполагает разработку дольше этого самого часа и этих самых алгоритмов.
Нужно разобрать угил.
Re[3]: Как жить с осознанием собственной слабости?
Здравствуйте, e.thrash, Вы писали:
ET>Здравствуйте, Faland, Вы писали: F>>Здравствуйте, %, Вы писали: F>>Т.е. например с теми же графами — максимум что я ожидаю от соискателей это общего понимания что такое BFS и DFS, но Дийкстру имплементировать на 45-минутном собеседовании — это для извращенцев. ET>ага, на собеседовании микрософта расскажи это. там же меньше времени и сложнее задачи вроде
У Майкрософта как у всех, те же 45-60 минут и +- такие же задачки. Да и не собираюсь я туда, на мой век работы хватит и в других местах.
Re[6]: Как жить с осознанием собственной слабости?
Здравствуйте, CreatorCray, Вы писали:
CC>О том и речь. Ты народ уже посмешил своим гм... пониманием основ, теперь зачем то пыжишься, пытаясь выставить всё наоборот.
Ага-ага, триллионы мух не могут ошибаться.
Ты по делу то можешь хоть что-нибудь сказать, или так и будешь пустословить?
Re[7]: Как жить с осознанием собственной слабости?
Здравствуйте, Grizzli, Вы писали:
G>ТАк причем тут мои или твои взгляды. G>Вопрос стоит так — "что делать средненькому разработчику, если он чувствует, что конкуренцию с другими не тянет, и тянуть — не будет?"
быть прилежным на работе
затачиваться в узкой области
Re[9]: Как жить с осознанием собственной слабости?
Здравствуйте, De-Bill, Вы писали:
DB>Разница между людьми, которые увлекаются спортивным программированием и теми, кто нет, примерно такая же, как между теми, кто бегает 4 раза в неделю и теми, кто ищет место для парковки на 10 метров ближе ко входу.
Нет
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[9]: Как жить с осознанием собственной слабости?
Здравствуйте, CodeMonkey, Вы писали:
CM>Собственно, сам факт, что ты постоянно используешь "аргументацию" в гопническом стиле — сам по себе говорит, кто здесь неправ.
Хехе. Не бережёшь ты себя — прогорит же.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[3]: Как жить с осознанием собственной слабости?
%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ?
Дались вам эти алгоритмы, если понимаете O-нотации, знаете базовые вещи про сортировку, поиск, хеши и пр на уровне чтения Кормана/Седжвика дальше не заморачивайтесь.
Уходите в специализацию, посмотрите в сторону системного программирования, ядерного, криптографии с точки зрения продвинутого пользователя, сетевое программирование.
Сейчас молодежь вся ломится в датасанисы, машинленниги и пр. хайп, и сейчас сиcтемников днем с огнем не найдешь, все хотят "модели обучать"
“Все” помещены на алгоритмах, леткодах, топкодерах и пр, а банальное тестовое задание сделать утилиту, которая максимально быстро, надежно и многопоточно зашифровывает большой файл, с проверкой ошибок и пр, делают просто ужасно, хотя знают алгоритмы, заканчивали ИТМО, принимали участия в олимпиадах.
Иногда создается впечатление, что учат алгоритмы ради алгоритмов, что бы с закрытыми глазами написать код построения какого ни будь суфиксного дерева.
Re[10]: Как жить с осознанием собственной слабости?
Здравствуйте, ned, Вы писали: L>>Она прикольная. Решается в момент, если ned>Мне было очевидней ned>
спойлер
ned>обходить по границам. Там всего 4 варианта получается (первый и последний ход противника): SS, EE, SE, ES. SS и EE всё очевидно. Для SE и ES нужно найти две E или S соответственно и перепрыгнуть на противоположную границу.
OMG очевидно не только я слабее чела с митапа. Решение там простое в доску.
адинадин
print(map({ 'S': 'E', 'E': 'S'}.get, lydia))
Re[13]: Как жить с осознанием собственной слабости?
Здравствуйте, ned, Вы писали:
ned>Которое не будет работать для MxN?
По факту для M != N задача нерешаема в общем случае. Оппонент ходит лесенкой, делая каждый нечетный ход вдоль длинной стороны сетки, а каждый второй на диагональ, выходящую из верхнего угла. Мы эту лесенку пересечь никак не можем, и в итоге упираемся в край доски.
"Будь достоин победы" (c) 8th Wizard's rule.
Re[12]: Как жить с осознанием собственной слабости?
Здравствуйте, mgu, Вы писали:
mgu>Здравствуйте, %, Вы писали:
mgu>%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ?
mgu>Подождать годик, ветер переменится, будут гонять по битовым операциям или ещё чему-нибудь практически ненужному.
%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ?
Прям даже интересно: они больше знают (любопытно, что такоего нового изобрели в последнее время) или лучше умеют применять?
Если последнее, то рецепт один: применять больше и разнообразнее, задачки там решать и все такое.
Re[2]: Как жить с осознанием собственной слабости?
Здравствуйте, nekocoder, Вы писали:
N>%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ?
N>Пик карьеры пройден. Надо постепенно дауншифтиться.
Я поучаствовал в code jam. Было прикольно, мне понравилось. Но я почувствовал себя на месте тех самых слабых коллег.
Re[4]: Как жить с осознанием собственной слабости?
ARK>%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ? ARK>Так жить нельзя. Ни один уважающий себя человек не допустит этого. Есть только два варианта — или быть не слабже окружающих, или харакири.
%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ?
Ты это так сказал как-будто бы это что-то ненормальное.
На планете сменились десятки тысяч поколений людей, и каждое следующее было в среднем умнее предыдущего.
Это природа.
Re[2]: Как жить с осознанием собственной слабости?
Здравствуйте, Muxa, Вы писали:
M>На планете сменились десятки тысяч поколений людей, и каждое следующее было в среднем умнее предыдущего. M>Это природа.
+100500
С этим утверждением ведь никто не спроит, если брать "среднюю_температуру_по_больнице".
В то же время, нам известно, что были индивидуумы из прежних поколений, которые намного умнее сегодняшнего среднестатистического
программиста и даже среднестатистического кандидата_наук, доктора_наук.
Я это ктому, что если хочешь развиваться — то развивайся, было бы желание развивать мозги.
Re[2]: Как жить с осознанием собственной слабости?
Здравствуйте, Muxa, Вы писали:
M>На планете сменились десятки тысяч поколений людей, и каждое следующее было в среднем умнее предыдущего. M>Это природа.
Забавно, что последние десять тысяч лет идёт уменьшение размеров мозга, и пока не видно каких-то причин, почему они снова могут начать расти.
Нужно разобрать угил.
Re[2]: Как жить с осознанием собственной слабости?
AG>1) Стараться развивать то, в чем ты сильнее молодых (опыт, знания каких-либо тонких мест вашего проекта, AG> то тогда — садись за книги, ищи по сайтам — в общем навёрстывай. Но это изучение актуально в том случае, если оно именно важно в вашей
В общем случае — путь в никуда. Всегда найдется товарищ более развитые, и уже наверставший. Да еще и более способный, за которым вообще нет шансов угнаться.
Лучший путь (правда, тоже нужны способности) — уметь устраиваться (в теплые места) и искать выгодных работодателей. Иногда выгодней найти работодателя который даст тебе 80тр по москве, но работы там у него будет на час в день без какого либо контроля, + найти еще одного такого же, и работать в оставшееся время на него, имея в итоге на руках больше чем все молодые со своими алгоритмами.
Re[3]: Как жить с осознанием собственной слабости?
Здравствуйте, Nikе, Вы писали:
N>Забавно, что последние десять тысяч лет идёт уменьшение размеров мозга, и пока не видно каких-то причин, почему они снова могут начать расти.
Ну может там уменьшение размера за счет усложнения связей.
Re[4]: Как жить с осознанием собственной слабости?
Здравствуйте, Grizzli, Вы писали:
N>>Забавно, что последние десять тысяч лет идёт уменьшение размеров мозга, и пока не видно каких-то причин, почему они снова могут начать расти.
G>Ну может там уменьшение размера за счет усложнения связей.
Ну может размер не главное, а может дело в большей размеренности жизни по сравнению с каменным веком, и исчезновении задач для большого мозга.
Нужно разобрать угил.
Re[3]: Как жить с осознанием собственной слабости?
%>Я поучаствовал в code jam. Было прикольно, мне понравилось. Но я почувствовал себя на месте тех самых слабых коллег.
В смысле "поучаствовал"? Вчера был отборочный тур. Ты его не прошёл? Там всего две задачки из четырёх надо решить чтобы пройти.
Задачки такие что даже интернам на интервью задавать стыдно. Третья уже интереснее. Четвёртую даже не открывал. За грибами поехал
Здравствуйте, Grizzli, Вы писали:
G>Здравствуйте, AlexGin, Вы писали:
...
Я из Минска, посему судить насчет Москвы — не могу, не в курсе. Сложно мне что-либо говорить по российским реалиям (в смысле приведенных цифр).
Насчёт теплого места, могу сказать, что именно это и есть тупиковый путь в никуда. Сегодня это место вроде как тёплое, а завтра — оно холодное, сырое, и, главное — дурно пахнущее
И если вчера ты радовался, что попал именно на это место,
то сегодня — ты пакуешь чемоданы и ловишь на себе косые взгляды теперь уже бывших коллег.
Вот в этом у меня есть уверенность, что так везде: хоть в Москве, хоть в Лондоне, хоть в Минске
Здравствуйте, AlexGin, Вы писали:
AG>Насчёт теплого места, могу сказать, что именно это и есть тупиковый путь в никуда. Сегодня это место вроде как тёплое, а завтра — оно холодное, сырое, и, главное — дурно пахнущее AG>И если вчера ты радовался, что попал именно на это место, AG>то сегодня — ты пакуешь чемоданы и ловишь на себе косые взгляды теперь уже бывших коллег. AG>Вот в этом у меня есть уверенность, что так везде: хоть в Москве, хоть в Лондоне, хоть в Минске
Взял да нашел другое теплое место. И пускай себе косят. В чем проблема? Задача то в поиске места, а не в "удержаться несмотря ни на что". Естественно, если условия изменились — то выгодней уйти и найти где лучше.
Re[2]: Как жить с осознанием собственной слабости?
Здравствуйте, sergey2b, Вы писали:
S>Здравствуйте, %, Вы писали:
S>%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ?
S>идти в системные программисты, там другие качаства важней
какие?
Re[2]: Как жить с осознанием собственной слабости?
Здравствуйте, Faland, Вы писали:
F>Здравствуйте, %, Вы писали:
F>Т.е. например с теми же графами — максимум что я ожидаю от соискателей это общего понимания что такое BFS и DFS, но Дийкстру имплементировать на 45-минутном собеседовании — это для извращенцев.
ага, на собеседовании микрософта расскажи это. там же меньше времени и сложнее задачи вроде
Здравствуйте, landerhigh, Вы писали:
L>Главное, чтобы этих стажеров не пускали проектировать чего-то сложнее двух задач за 30 минут. MCAS там какой например или еще чего...
Это да. Сходу к жизненно важным вещам их никто не подпускает.
"Будь достоин победы" (c) 8th Wizard's rule.
Re[5]: Как жить с осознанием собственной слабости?
Здравствуйте, Grizzli, Вы писали:
G>Взял да нашел другое теплое место. И пускай себе косят. В чем проблема? Задача то в поиске места, а не в "удержаться несмотря ни на что". Естественно, если условия изменились — то выгодней уйти и найти где лучше.
У меня с тобой и ситуации, и условия, и взгляды — всё разное.
На всякий случай замечу, что "теплое_место" и "хорошая_работа" — в моих понятиях часто совершенно разные вещи.
Re[6]: Как жить с осознанием собственной слабости?
AG>У меня с тобой и ситуации, и условия, и взгляды — всё разное. AG>На всякий случай замечу, что "теплое_место" и "хорошая_работа" — в моих понятиях часто совершенно разные вещи.
ТАк причем тут мои или твои взгляды.
Вопрос стоит так — "что делать средненькому разработчику, если он чувствует, что конкуренцию с другими не тянет, и тянуть — не будет?"
Re[2]: Как жить с осознанием собственной слабости?
Здравствуйте, Sharov, Вы писали:
S>%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ?
S>А замчем быть сильнее? Вы олимпиадник?
Хотя бы оправдывать зарплату... Тут коллега утверждает
Здравствуйте, Pzz, Вы писали:
Pzz>%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ?
Pzz>Развивать/использовать свои сильные стороны, не?
Если нет сильных сторон:
Найти то, что больше всего интересно и лучше всего получается — и делать это.
Вообще немного странная ситуация
Если автор способен провести оценку молодых программистов и себя и провести сравнительный анализ алгоритмических скиллов, то он уже достаточно крут? Я вот такое делать не хочу умею.
С другой стороны, может я и зажрался, но мне как-то пофиг, кто там как сильнее-слабее меня. Зато я никогда не отвлекаюсь на эту фигню и вообще довольно счастлив. Даже когда в Яве использую == не там. Потому что, конечно, найдётся всегда кто-то кто умнее, сильнее, и даже красивее, в конце концов. Но почти никогда это не один и тот же человек, да?
Ну и, когда всё-таки мрачные мысли меня одолевают — я иду что-то делать, желательно, крутое Что-то делать — это вообще основа всего и вся. Это опыт, это практика, это результаты, это показать этим умникам, как надо делать, и так далее. Да это просто хорошее настроение Вот недавно сидели в кофейне с подружкой, накатила что-то печаль, я ей говорю, вот за последние пять лет ничего существенного, кроме ##### на работе, не сделал А потом память: а вот это? а вот это? а вот это?... и в результате набрался довольно приятный список сделанных дел.
Так что не надо жить погонями за другими, надо быть эгоцентричным специалистом, и пусть другие гоняются за тобой.
Re[8]: Как жить с осознанием собственной слабости?
, что в приличных домах такое даже интернам не дают.
Так потому и не дают что они такие задачки щёлкают как орехи. А вот над задачами из предметной области где решений может быть много и выбор оптимального зависит от условий тупят.
Re[4]: Как жить с осознанием собственной слабости?
Ну я всегда работаю в таких местах, где есть люди, лучше меня шарящие в предмете. Либо в алгоритмах, либо в ОС, протоколах, либо в архитектуре ПО, всяких там ООП/ООД, либо в конкретных инструментах.
Когда видишь перед собой более сильных специалистов, есть стимул расти и развиваться. Главное, чтобы была возможность профессионального роста, чтобы не скидывали на тебя всякую скучную деятельность, рутину, слабо поддающующся автоматизации и проч. шлак. А когда ты царь горы, а кругом балбесы и неучи, чему у них учиться? Только время тратишь. Как-то слышал мнение профессора, что общение со студентами отупляет. Думаю, что и в индустрии и в науке нечто подобное имеет место быть.
Но если вопрос о способностях человека вообще, то тоже наплевать. Даже если отдельно взятый человек гуру алгоритмов, есть дофига людей сообразительней его. А если это классические алгоритмы, так тем более, сейчас уже в моде квантовые компы и квантовые алгоритмы. А квантовую механику, как сказал один известный физик, не понимает никто. Так что можно не париться по этому поводу.
Re[6]: Как жить с осознанием собственной слабости?
Здравствуйте, aik, Вы писали:
aik>Здравствуйте, ned, Вы писали:
aik>>>Память, терпение, держать в голове "общую картину". ned>>И в чём тогда отличие от прикладных программистов? "Картины" у прикладных программистов ещё больше имхо.
aik>Ну по старой памяти — откроешь студию и смотришь в список проектов — и всё как на ладони, вот тебе классы, вот тебе интерфейсы, тыкаешь мышкой, читаешь, халява (пока не натыкаешься на чужой бинарь). А у меня тут нет ничего такого чтоб ррраз — и открыл, и втыкай, неее, это десятки несвязанных ммматьих pdf'ов и исходники нескольких разрозненных фирмварей (линукс, драйвера, фирмвари, биос). Мне формализовать сложно.
а иногда только бинарник есть и надо разобраться как он работает
а в имещихся pdf только 40% от того что надо знать
для этого и нужно терпение, что бы собрать из разноненных частей общую картину
а у прикладников есть полный исходник, полная хаоява сиди и втыкай в код, даже если он бещ коментариев
Re[10]: Как жить с осознанием собственной слабости?
aik>Ну по старой памяти — откроешь студию и смотришь в список проектов — и всё как на ладони, вот тебе классы, вот тебе интерфейсы, тыкаешь мышкой, читаешь, халява (пока не натыкаешься на чужой бинарь). А у меня тут нет ничего такого чтоб ррраз — и открыл, и втыкай, неее, это десятки несвязанных ммматьих pdf'ов и исходники нескольких разрозненных фирмварей (линукс, драйвера, фирмвари, биос). Мне формализовать сложно.
У меня бывший менеджер ушел пару лет в гугл писать код. С год после этого мы за ланчем пересекались и он мне с таким удовольствием говорил как ему полегчало жить. Нет больше борьбы с багами в наших чипах, нет зависимости от среды, и тому подобное. Просто работаешь с кодом.
Re[6]: Как жить с осознанием собственной слабости?
Здравствуйте, aik, Вы писали:
aik>Ну по старой памяти — откроешь студию и смотришь в список проектов — и всё как на ладони, вот тебе классы, вот тебе интерфейсы, тыкаешь мышкой, читаешь, халява (пока не натыкаешься на чужой бинарь).
Код есть, да. Но попробуй уложи в голове всю архитектуру системы если это один сложный продукт (игровой движок, например). Если микросервисы, то ещё интереснее. За день переключаешь контекст несколько раз: один пилишь неспешно, в паре других ошибки чинишь, по остальным консультируешь (типа "эксперт", хе-хе). А ещё и предметную область нужно знать и поддерживать в актуальном состоянии.
Re[7]: Как жить с осознанием собственной слабости?
Здравствуйте, gardener, Вы писали:
G>У меня бывший менеджер ушел пару лет в гугл писать код. С год после этого мы за ланчем пересекались и он мне с таким удовольствием говорил как ему полегчало жить. Нет больше борьбы с багами в наших чипах, нет зависимости от среды, и тому подобное. Просто работаешь с кодом.
Ну и здорово же — гномосчёт нашёл своё счастье, меня туда не взяли. И мне больше по приколу чипы и гоняться за багами, а "просто работать с кодом" хорошо не умеюне интересно.
Re[8]: Как жить с осознанием собственной слабости?
aik>Ну и здорово же — гномосчёт нашёл своё счастье, меня туда не взяли. И мне больше по приколу чипы и гоняться за багами, а "просто работать с кодом" хорошо не умеюне интересно.
А почему ирония (в смысле гномовод)?
Я его хорошо понимаю. Сам устал от того что есть тысяча причин которые могут повлиять на код который пишешь, от того что результаты не воспроизводятся (интерференция, баги или особенности интероперабилити клиентских устройств), от багов и недостатка документации своих устройств, от того часто проще полезть в Verilog чем добиться этой документации. В результате работы проделано много, а выхлоп так себе.
А тут немолодой человек (за пятьдесят), не писавший код лет пять минимум, решил что индустрия неперспективна и требует слишком много усилий, подготовился и ушел. Сейчас лид на одном из клауд проектов. Вполне счастлив.
Я завидую такой целеустремленности.
Re[9]: Как жить с осознанием собственной слабости?
Здравствуйте, gardener, Вы писали:
aik>>Ну и здорово же — гномосчёт нашёл своё счастье, меня туда не взяли. И мне больше по приколу чипы и гоняться за багами, а "просто работать с кодом" хорошо не умеюне интересно. G>А почему ирония (в смысле гномовод)?
Никакой иронии, на самом деле. Человек умеет и любит писать код, алгоритмы, всякое такое. Зачот и уважуха. Без таких у меня б не было гуглмапса.
G>А тут немолодой человек (за пятьдесят), не писавший код лет пять минимум, решил что индустрия неперспективна и требует слишком много усилий, подготовился и ушел. Сейчас лид на одном из клауд проектов. Вполне счастлив.
А там он алгоритмы пишет? А то клауды — это не так чтоб прикладное программирование.
G>Я завидую такой целеустремленности.
Я тоже.
Re[10]: Как жить с осознанием собственной слабости?
Здравствуйте, ned, Вы писали:
aik>>Ну по старой памяти — откроешь студию и смотришь в список проектов — и всё как на ладони, вот тебе классы, вот тебе интерфейсы, тыкаешь мышкой, читаешь, халява (пока не натыкаешься на чужой бинарь). ned>Код есть, да. Но попробуй уложи в голове всю архитектуру системы если это один сложный продукт (игровой движок, например).
Архитектура системы с исходниками (и стабильным уровнем долбанутости) против десятка архитектур по-меньше и разной степени долбанутости.
ned>Если микросервисы, то ещё интереснее. За день переключаешь контекст несколько раз: один пилишь неспешно, в паре других ошибки чинишь, по остальным консультируешь (типа "эксперт", хе-хе). А ещё и предметную область нужно знать и поддерживать в актуальном состоянии.
Тут я ни черта не понял Я ж не говорю что память прикладным программерам не нужна, просто роль немного разная — или ты помнишь что напридумывали тут же знакомые тебе люди или ты сам, т.е. помнишь логику или хотя бы можно посмотреть в глаза и спросить "а вот нафига было так делать"; или помнишь хер знает что пришедшее хер знает откуда (PCI, к примеру).
Re[8]: Как жить с осознанием собственной слабости?
Здравствуйте, ned, Вы писали:
aik>>Скинь что ли пару ссылок на такие задачки, чтоб для удовольствия. Я как ни открою летиткод и хакерранк — так всё делаю через силу, удовольствия ноль. ned>Попробуй ту же вторую задачу из отборочного тура Code Jam. Код в несколько строчек если чуть-чуть подумать прежде чем кидаться кодить.
Т.е. вот эта вот задача — она для удовольствия? Тоска ж смертная
Re[8]: Как жить с осознанием собственной слабости?
Здравствуйте, aik, Вы писали:
aik>или помнишь хер знает что пришедшее хер знает откуда (PCI, к примеру).
Ну так же как и с биржевыми API. Хорошо когда протокол стандартный или хорошо описан. Пусть и в плохом переводе с вражеского языка. А иначе reverse engineer-ишь поставляемую библиотечную бинарку чтобы понять какие она соединения открывает и что шлёт, а потом пишешь свою замену.
Re[9]: Как жить с осознанием собственной слабости?
Здравствуйте, ned, Вы писали:
ned>Ну так же как и с биржевыми API. Хорошо когда протокол стандартный или хорошо описан. Пусть и в плохом переводе с вражеского языка. А иначе reverse engineer-ишь поставляемую библиотечную бинарку чтобы понять какие она соединения открывает и что шлёт, а потом пишешь свою замену.
Коннекторы... скука... .
Re[7]: Как жить с осознанием собственной слабости?
aik>Скинь что ли пару ссылок на такие задачки, чтоб для удовольствия. Я как ни открою летиткод и хакерранк — так всё делаю через силу, удовольствия ноль.
аналонично
у меня есть идеи которые хрчеться реализовать , и нет времени на них
зачем надо знать алгоритмы я понимаю и читаю книги по ним
но решение такиз задачь кроме собеседования пользы нет
Re[9]: Как жить с осознанием собственной слабости?
Здравствуйте, gardener, Вы писали:
G>А тут немолодой человек (за пятьдесят), не писавший код лет пять минимум, решил что индустрия неперспективна и требует слишком много усилий, подготовился и ушел. Сейчас лид на одном из клауд проектов. Вполне счастлив. G>Я завидую такой целеустремленности.
а известно сколько и как он готовился
Re[8]: Как жить с осознанием собственной слабости?
Здравствуйте, ned, Вы писали:
ned>Третья тоже интересная, но сложнее значительно. Потом из дома ещё посмотрю что у меня запомнилось с литкода или топкодера.
Если не секрет, на каком языке третью писАли?
Re[10]: Как жить с осознанием собственной слабости?
Здравствуйте, Lexey, Вы писали: L>Она прикольная. Решается в момент, если
Мне было очевидней
спойлер
обходить по границам. Там всего 4 варианта получается (первый и последний ход противника): SS, EE, SE, ES. SS и EE всё очевидно. Для SE и ES нужно найти две E или S соответственно и перепрыгнуть на противоположную границу.
Re[12]: Как жить с осознанием собственной слабости?
%>OMG очевидно не только я слабее чела с митапа. Решение там простое в доску.
Которое не будет работать для MxN?
Но красиво, да. В защиту своего решения скажу что в половине случаев достаточно будет знать только первый и конечный ход. Всю последовательность читать не нужно. Для другой половины N/2 (или меньше?) чтений в среднем.
Re[13]: Как жить с осознанием собственной слабости?
Здравствуйте, ned, Вы писали: ned>%>OMG очевидно не только я слабее чела с митапа. Решение там простое в доску. ned>Которое не будет работать для MxN? ned>Но красиво, да. В защиту своего решения скажу что в половине случаев достаточно будет знать только первый и конечный ход. Всю последовательность читать не нужно. Для другой половины N/2 (или меньше?) чтений в среднем.
Я не понял твоё решение, можешь привести код?
Вот что мне пришло в голову, чтоб решение того чела работало на MxN:
Здравствуйте, De-Bill, Вы писали:
DB>Просто сделай вид, что ты с ними не соревнуешься, и не участвуй больше в таких code jams. Гордись тем, как ты грузишь кандидатов переворотом строки. Разница между людьми, которые увлекаются спортивным программированием и теми, кто нет, примерно такая же, как между теми, кто бегает 4 раза в неделю и теми, кто ищет место для парковки на 10 метров ближе ко входу.
Я не горжусь переворотом строки- это от безысходности. Ибо 90% на этом самом перевороте пишут феерический бред. Смысл давать задачи сложнее?
Re[10]: Как жить с осознанием собственной слабости?
Здравствуйте, ned, Вы писали:
G>>Если не секрет, на каком языке третью писАли? ned>На питоне. Уж очень там bignum удобный.
Угу, спасибо. Интересно, есть решения на других языках? Раньше в GoogleJam можно было посмотреть чужие решения, сейчас что-то я такой возможности на нашел.
Re[11]: Как жить с осознанием собственной слабости?
Здравствуйте, ned, Вы писали:
ned>Мне было очевидней
Я сначала тоже подумал о таком варианте, но там пришлось бы поморочиться с выбором строки(столбца), в которой можно перескочить на другую сторону.
P.S. Посмотрел еще 1-ю и 3-ю ради интереса. 1-ая совсем детский сад. 3-ая уже интересная, хотя идея ее решения тоже быстро придумывается. Засада только в том, что плюсах нет родных больших чисел.
Здравствуйте, sqrt, Вы писали:
S>Зачем академические знания постоянно держать в голове, если нет необходимости в их практическом применении. Когда они понадобятся можно обратится к справочнику или взять реализацию конкретного алгоритма из какой-нибудь библиотеки. Или у вас по работе часто приходится с нуля какое-то сложные алгоритмы разрабатывать?
Так то оно так, но уж больно все это похоже на самооправдание.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[3]: Как жить с осознанием собственной слабости?
Здравствуйте, Nikе, Вы писали:
N>Забавно, что последние десять тысяч лет идёт уменьшение размеров мозга
Только вот неясно равномерно ли оно, или по разному касается разных отделов. Потому что вероятность передать гены все меньше и меньше зависит от реакции и скорости обработки сенсорной информации, а именно этим занята большая по массе часть мозга.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[12]: Как жить с осознанием собственной слабости?
Здравствуйте, Lexey, Вы писали:
L>Я сначала тоже подумал о таком варианте, но там пришлось бы поморочиться с выбором строки(столбца), в которой можно перескочить на другую сторону.
Ну да. Находишь два хода в одном направлении и перескакиваешь.
L>Засада только в том, что плюсах нет родных больших чисел.
Первый test set можно и на C++
Re[14]: Как жить с осознанием собственной слабости?
Здравствуйте, Lexey, Вы писали:
L>По факту для M != N задача нерешаема в общем случае. Оппонент ходит лесенкой, делая каждый нечетный ход вдоль длинной стороны сетки, а каждый второй на диагональ, выходящую из верхнего угла. Мы эту лесенку пересечь никак не можем, и в итоге упираемся в край доски.
Ага. Лесенку не пересечь. Но в условии написано "guaranteed that at least one answer exists".
Re[7]: Как жить с осознанием собственной слабости?
Здравствуйте, Lexey, Вы писали:
G>>Угу, спасибо. Интересно, есть решения на других языках? Раньше в GoogleJam можно было посмотреть чужие решения, сейчас что-то я такой возможности на нашел.
L>Там можно в таблице результатов кликнуть на имя участника, и на открывшейся страничке будут ссылки на код. Раньше было удобнее, да.
О, спасибо! Вечером гляну.
Re[4]: Как жить с осознанием собственной слабости?
Здравствуйте, Lexey, Вы писали:
L>Нет, это когда на собеседовании на стажера студент-олимпиадник за 30 минут успевает решить 2 задачи, на которые у тебя уйдет почти весь час.
Алгоритмические задачи в программировании крайне редки. Час туда, час сюда — вообще не играет никакой роли. Главное, что человек вообще способен решить задачу. Я сталкивался с людми, которые принципиально не понимали, не могли найти решения, говорили, что решения не существует...
И каждый день — без права на ошибку...
Re[4]: Как жить с осознанием собственной слабости?
Здравствуйте, B0FEE664, Вы писали:
BFE>Алгоритмические задачи в программировании крайне редки. Час туда, час сюда — вообще не играет никакой роли. Главное, что человек вообще способен решить задачу. Я сталкивался с людми, которые принципиально не понимали, не могли найти решения, говорили, что решения не существует...
%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ?
Какая разница сильнее или слабее алгоритмически ?
Вот если ты можешь спроектировать элегантную систему за короткий срок, которая принесет бабла, то кому какое дело до знания алгоритмов,
когда капустка шуршит в кармане. Многие не видят за деревьями леса, т.к. не выстроили для себя систему приоритетов, помогающую достичь цели.
Re[2]: Как жить с осознанием собственной слабости?
Здравствуйте, AmSpb, Вы писали:
AS>Здравствуйте, %, Вы писали:
AS>%>Когда понимаешь, что алгоритмически слабее многих молодых программистов ?
AS>Какая разница сильнее или слабее алгоритмически ? AS>Вот если ты можешь спроектировать элегантную систему за короткий срок, которая принесет бабла, то кому какое дело до знания алгоритмов, AS>когда капустка шуршит в кармане. Многие не видят за деревьями леса, т.к. не выстроили для себя систему приоритетов, помогающую достичь цели.
все просто, не знаешь алгоритмов и не умеешь рещать задачи — тебя не нанимают на работу
а знаит на текущей работе сидишь тихо и пилишь код