Обновить
99
0.1
Роман Смирнов @Source

Head of Elixir at Ecom.tech

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

Помните анекдот, где инженер достал из стола свою «Таблицу объёмов красных резиновых мячей» и нашёл нужное значение? ))

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

правда я не программист и никогда им не был)

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

Что касается процессов компании, то в крупной компании может быть сотня процессов, которые рядового разработчика вообще не касаются или касаются крайне редко. Нет никакой связи между "приносить пользу" и "разобраться во всех процессах компании". То же касается и коллег. Если в компании работает 500 человек, то программист всё равно будет коммуницировать с десятком человек 99% рабочего времени. Другими словами, необязательно перезнакомиться со всем коллективом, чтобы приносить пользу.

Вы пока плохо понимаете нужды отрасли. Никому нафиг не сдалось ваше "решение", если оно работает минуту там, где адекватное решение укладывается в 10 ms.

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

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

Это 100-пудово не то, что ожидает услышать интервьюер))

Ну, тут предполагалось, что человек какой-то уровень аля A2-B1 имеет и умеет пользоваться словарём collocations и сервисами типа Reverso Context

Абсолютно то же самое. Если человек на уровне мыслеформ всё по полочкам разложил, то он может и не на родном языке это потом выразить, допустим на том же английском. Да это суммарно будет на 5% дольше, чем на русском. Но не так критично, как вы это пытаетесь преподнести.

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

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

Так понятнее?

 Да и эффективная работа с первого дня/недели это миф. На адаптацию к новой компании, коллективу как ни крути уходит 2-3 месяца, иногда до полугода. 

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

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

Стажировки. Делаете тестовое задание, приходите, рассказываете о своём самообучении и 2-3 месяца стажируетесь либо бесплатно, либо за небольшую стипендию.

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

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

Было бы хорошо. Но на курсах вас этому точно не научат. Селяви.

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

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

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

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

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

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

Это, мягко говоря, не так. Самое основное - это вникание в бизнес-постановку (а иногда её создание) и проектирование, как разложить код по файлам/модулям/классам/функциям, чтобы это было читаемо, понятно и легко в поддержке, плюс продумывание тестового покрытия. То, что человек помнит наизусть сигнатуры редко используемых библиотечных функций или как сделать Y при помощи X, по факту нисколько его не ускоряет. Наоборот, это довольно сильно замедляет, т.к. захламляет оперативную память самого программиста.

на элементарные вопросы: "какие типы данных вы знаете", "какие циклы вы знаете"?

Для джуна они может и элементарные, но вообще у таких вопросов есть двойное и даже тройное дно. В частности, есть только 2 варианта зацикливания потока выполнения: синтаксический сахар поверх инструкции перехода и рекурсия (которая в случае хвостовой тоже развернётся в инструкции перехода).
Про типы данных вообще можно до конца собеседования отвечать, тема необъятная)

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

тут, дай бог угнаться за парой самых ходовых языков и фреймворков

Как погоня за ходовыми языками и фреймворками связана с изучением теоретической базы?
90% - это конечно перебор, но делать ставку на её изучение - хорошая мысль. Т.к. она за предыдущие 15 лет от силы на пару процентов расширилась, в отличие от практики применения.

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

Выше уже приводили статистику, по которой кол-во программистов удваивается каждые 5 лет. Другими словами, программистов с опытом более 20 лет чуть больше 6% от общего кол-ва программистов, и то при условии, что никто из них не поменял сферу деятельности.

Ну, и наверно, когда рассуждают о 40-летних программистах в основном имеют в виду эту категорию, а не тех, кто закончил курсы по входу в IT в 39 лет.

P.S. Вот тут Роберт Мартин рассуждает на эту тему: https://www.youtube.com/watch?v=sPXk11hrWTM&t=969s

Информация

В рейтинге
4 112-й
Откуда
Россия
Зарегистрирован
Активность