Обновить
104
0
Игорь Зимаев@TimeCoder

researcher, software developer

Отправить сообщение

Попытаюсь третий раз)
Человек может фанатеть по коду и делать только прототипы — его право. Возможно, он идеальный «начинатель», способный придумать нечто поразительное, но рутина, связанная с доведением продукта до конца — гасит его творческий огонь. Здесь нет хорошо и плохо, здесь есть рынок. Вам нужен костюм, сшитый только наполовину? А как насчёт крутой машины, которая не прошла все испытания и доводку на безопасность? Ну или может быть лекарство, супер-классное, только тщательно тестировать его не стали? Также и здесь. Не только бизнесу — миру, людям нужен работающий продукт. Миллионы идей и поделок канули в небытие, так и не дойдя до итога. Воплотить, дойти до конца — это не только рутина, это определенная зрелость. Это опыт. Вам нужен хороший программист, вы хотите быть уверенным, что он справится, на вопрос «сколько проектов вы довели до конца?» он ответит «ноль, но зато я начинал 500 проектов» — и что, возьмёте его? Или побоитесь, что ваш будет 501-м? Именно такого человека, который способен пройти весь цикл, ищут работодатели, и его они называют Senior.

Вам нужен конкретный набор критериев «быть Senior»? У меня его нет. Я думал, в этом и суть мыслящих людей, обозначать задачу, обсуждать, делиться мыслями. А вообще вопрос странный. Вы думать над ним пробовали? Вечер, я закончил работу, у меня есть немного свободного времени. Открываю свой проект. Очень не терпится, когда же моё десктопное приложение отобразит (пусть пока в кривом дизайне) список заметок, которые я до этого сделал на своем телефоне. Мне надо допилить механизм синхронизации через облако. Я пишу код, и натыкаюсь на проблему: нужный мне запрос не поддерживается в этой урезанной БД. Я пытаюсь доставить расширения, оно с чем-то конфликтует, починил — а тут другой баг, и всё затягивается. Выбор: поставить todo, написать пока в лоб запрос на чистом sql прямо в коде, или же продолжить разбираться с правильным подходом, продираться сквозь баги. Выбрав второе, я потрачу все оставшееся время, так ничего и не сделав. Выбираю первое, запускаю, вижу как моё кросс-платформенное творение работает, испытываю радость, по ходу понимаю, что надо UX сделать иначе, так не удобно, и мне ту проблему вообще не придется решать, я сам себе ее создал. Профит.
Естественно, подход потом повторится в большем, и я увижу уже на крупном проекте, где вовлечены десятки людей и тысячи пользователей, как я смог найти классное решение задачи (а не написать классный код).
Позвольте обратить внимание на фразу в моем сообщении:
Быть крутым гиком, реально шарить — прекрасно. Но не надо это называть Senior.

Многие (и я в том числе) так начинали. Детство, компьютер, 90-е, дискеты, Borlnad C/Pascal, горящие глаза. Я ни разу не говорил, что это плохо. И я даже не говорил, что это волшебство должно с годами уйти, и работа должна стать скучной. Прочитайте название статьи, к которой вы пишите коментарии. Речь о том, кто такой Senior. Лычки тут вообще ни при чем. Еще раз, специально для вас, вся суть в одной фразе:
Senior — это опытный разработчик, способный доводить до завершения сложные проекты, в срок и с достаточным уровнем качества.
Естественно, это должен быть управляемый процесс. Естественно, магия и красота кода здесь не такие хорошие помощники, как понимание цели. Если для вас создавать продукт — скука, вам просто нравится программировать — никто не мешает. Но когда вы говорите
К черту тогда все лычки и проблемы бизнеса!

тут кроме как фейспалмить ничего не остаётся. Вы, видимо, до сих пор верите, что менеджер — это тот, кто ничего не делает (т.к. не умеет), а бизнес — это кровавый эксплуататор. Да поймите вы простую вещь. На магии и вдохновении вы можете написать (в своем темпе) какой-то прототип. Это может сработать раз или два. И всё. Если вы хотите браться за задачу, любой сложности, и завершать её, не утонув в «магии кода», не потеряв время на крутые интересные (но не нужные) технические приключения — то думать о цели придется. И придется управлять своим прогрессом (to manage — отсюда нелюбимое вами слово). Сами вы можете делать что хотите. Любой проект и как пожелаете. Если же речь о рынке труда (а именно там все эти junior/middle/senior и применимы), то там иная ситуация. Компании нужен именно такой человек, который сделает. Ваши восторги и горящие глаза заказчику не нужны. Поставьте просто себя на его место: вам продукт надо сделать, деньги вы не печатаете, кого будете искать? Восторженного гика, который в восторге от кода, или того, кто методично по шагам сделает проект в срок? Вот второго и называют senior. Еще и бредом называете…

И на что именно вы будете смотреть? Скорость? Может он три часа думает, а потому за 20 минут делает оптимальное решение. Красоту кода? Это тест не на Senior, а на Middle. Нельзя в написании кода увидеть то, что выходит за рамки написания кода. А именно то, что выходит — и делает человека Senior. Он же не просто кодер.

Ну я поэтому и написал «тонкости работы GC» и про границы. Нужно знать столько, сколько нужно + небольшой запас. Гик уходит уж совсем в дебри работы GC не потому, что эти дебри помогут писать код лучше (в большинстве проектов не помогут). А потому что ему это интересно. Senior не только печётся о продукте. Тут весь цикл. Продукт и процессы. Люди, особенно интеллектуалы, любят сложные задачи, нагружать мозг — но нельзя это смешивать с работой, выбирая заковыристые пути вместо простого (но не слишком простого).

Кто-то вообще помнит про цель программиста? Лучший тест на Senior, задать этот вопрос. Сколько читаю в статье и комментариях, фокус на языке, технологии, тонкостях, крутом коде. Все это нужно, но лишь как средство. Цель — создавать качественный продукт в срок. Всё. Это не меркантильные требования недалекого бизнеса, а миссия и смысл существования программиста. Без этого не будет не только бизнеса и зарплаты, но и мир не увидит софт. Если программист этого не понимает — значит ему просто нравиться писать код. Код ради кода. Все хитрее, приводящий гиков в экстаз. О, сколько я видел таких матёрых экспертов, цитирующих Рихтера и Скиену, их любовь к коду застила глаза и они вообще забывали про цель. И заваливали проекты. Быть крутым гиком, реально шарить — прекрасно. Но не надо это называть Senior. Человек с 10+ хорошего опыта может не знать совсем уж тонкостей работы GC — но лишь потому, что они в 99% случаев ему не нужны. У него иной скилл (как дополнение к отличному багажу знаний и опыта в computer science): понимание (или чувствование) границ, что вот здесь надо сделать костыль с пометкой todo (иначе срок просто будет провален и усилия будь тщетны), а вот здесь наоборот, надо потратить время, провести исследование, полностью покрыть тестами. Это умение вникать в уже написанный код, причём, внимание!!! В чем разница, смотрите. Гик будет видеть код и его проблемы «тут у вас нет sealed, а тут метод возвращает viewModel вместо dto). Senior будет видеть код и проблемы, которые он решает (или создаёт) в первую очередь. Это не значит плохой код. Это значит думать о том, как это работает, бизнес-логика, понимание реальных сценариев, видение потенциальных проблем.

Непонятно две вещи:


  1. Как такие люди попадают на Хабр
  2. Почему их не банят
Светлая память человеку, подарившему нам Жизнь. Наверное, уже написанные статьи не принято посвящать памяти кого-то, но в силу ее темы, думаю, этот запрет можно обойти.
Путешествия во времени и программирование-2

Почему же не меняет. Он создаёт разумный сдержанный фон вашему пустому агрессивному комментарию. Вас, понятно, не переделать, а другие люди, увидев сей контраст, получат дополнительную мотивацию, как себя вести не стоит. Что в этом мире, условно, 1% создаёт крутые вещи и открытия, 90% живут на автомате (посмотрите стены любых соцсетей, большинство постов — это репосты, людей, у кого есть реально свои мысли — их мало). Оставшиеся 9% — те, кто не меняют этот мир кардинально, но привносят в него свои остроумные и интересные идеи. Музыка из вируса никого не вылечит, но это просто технически и творчески прикольно. Ворчунам не понять.
P.s. Процентовка весьма условна, ни кого не хочу обидеть.

Вы уверены, что только тепловое воздействие несёт вред? А как работает КВЧ — терапия, где мощность и тепловой эффект исчезающе малы?

Вы не правы. Принцип «бремя доказательства лежит на утверждающем» работает в области теории. Когда в массы внедряется технология, лекарство и пр. — она должна быть исследована на безвредность. Независимо и очень дотошно. Это долгие и дорогие исследования. Есть таковые по 5G? Ссылки в студию. Чертовы минусаторы...

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

Когда учился в универе (лет 15 назад), у нас был преподаватель биологии (учился на специальности биоинженерия), входящий в Международный комитет оценки вредности сетей сотовой связи на природу, скажем так. Каких-то ссылок, к сожалению, не сохранилось, но насколько помню выводы не очень радужные там были. Не было речи о нулевом уровне вреда излучения базовых станций и сотовых телефонов. И это было 2G или 3G, судя по годам. Мощность с тех пор выросла значительно. Мы много изучали физиотерапию, и как на первой лекции сказали «почти весь диапазон ЭМИ влияет, и может быть использования лечении» — так в итоге и оказалось, были аппараты от низкочастотных электромагнитных колебаний до КВЧ. Организм реально реагирует на воздействие электромагнитными волнами, вопрос в параметрах излучения. Специально не изучал вопрос, но интересно: а насколько много было сделано независимых исследований о безвредности 5G? Ну серьезно, это же неправильно принимать как аксиому. Гугления обрушило на меня ворох противоположных результатов, пока не могу в них сориентироваться.

Не очевидна. Она очень не линейная. Человек может подаваться даже если не потерял работу, паника, все побежали подавать. По крайней мере здесь такая инфа (и детальный разбор): https://youtu.be/DGJxqZr7NQ0

Безработных, или подавших заявку на пособие? Это две очень большие разницы.

В свете карантина особенно актуально. А как получить эту самую электронную подпись?

А про обязанности государства порассуждать не хотите?

Т.е. по сути, теперь не получится пойти в банкомат Райфа и снять нал прямо с карты, но как «прокси» между клиентом и Российской картой Payoneer продолжит работу, так?
Печально. Кто-то знает аналоги? Revolut?

Спасибо! Кстати, я собеседовался в Яндекс (в Новосибирске), примерно во времена написания тех статей, лет 8-10 назад. Не взяли)) Я действительно рад, что в нашей стране есть компания такого уровня, но вот по форме собеседований… Лично мое мнение, способность быстро проводить собеседования — это круто. Да, Яндекс может себе позволить проводить 5-и часовое собеседование (у меня было так) с задачами, специфичные алгоритмы, детали устройства ОС (Рихтер отдыхает) и процессоров. Нереальный объём информации. В мире есть немало компаний, тоже весьма высокотехнологичных и успешных, которые «мучают» на собеседовании гораздо меньше. Т.е. они каким-то образом смогли сделать более эффективный «экспресс-тест».

По опыту собеседований в FAANG и сайтов типа hackerrank ваши задачи, особенно первая, слишком перегружены предметной областью. Нужно реально много времени чтобы даже просто прочитать условие. Описание должно быть короткое, некий кейс, откуда человек должен понять класс задачи (BFS, LCS, permutations and etc.) и успешно применить теорию в виде кода. Зачем мне, как соискателю, тонна информации про Васю-Петю-Машу?

Информация

В рейтинге
Не участвует
Откуда
Сербия
Зарегистрирован
Активность