Комментарии 35
Спасибо, ваша статья содержательная и полезная, но в ней высказывается предположение, что лирический герой в исходной статье и есть её автор. Насколько я успел ознакомиться с творчеством @fillpackart,речь в них всё же не о нём самом, а некий собирательный образ, а повествование от первого лица -- художественный приём.
PS Многие учили когда-то Basic, Pascal, да даже C, а если бы сейчас могли выбрать изучать вместо них любимый язык, согласились бы?
Если бы я не полез учить Haskell, мне было бы куда сложнее понять часть особенностей C# и многих других современных языков.
Если бы я не полез учить Python, то не почувствовал бы особенностей работы с динамической типизацией и рядом других особенностей.
Учить похожие general purpose языки достаточно бессмысленно, разумеется. Особенно бесполезно заучивать функции и операторы. А вот смотреть на разные языки и подходы, чтобы понять лежащие в их основе идеи и механизмы это как раз полезно и переиспользуемо.
Собственно, статья во многом об этом и как раз-таки о t-shaped. О том, что фул-стек должен обеспечиваться за счет понимания разных принципов, которые ты можешь комбинировать в своем арсенале. И это протиповопоставляется системе архетипов с жестко выстроенным скиллсетом.
Это неверно. Смотрите Асю Казанцеву про долговременную память.
То, что попадает в долговременную память уже "не вымывается". Оно остается условно-навсегда. Вы правы в том, что если вы выучили что-то 20 лет назад, то за 20 лет версии этого "чего-то" уйдут далеко вперед и знания будут не первой свежести. Кроме того, неиспользуемое действительно "условно забывается". Иными словами, без тренировок теряется "форма". С этим ничего не поделаешь. В людей "свободно владеющих C++, React, Haskell и еще 20 страшных слов" я не верю. Мой тезис в том, что сейчас зачастую доходит до абсурда, когда люди пишут даже не на одном языке, а на одном фреймворке.
Пример "потери формы" - это мышечная память. Любой профессиональный музыкант скажет, что если не играть несколько месяцев/лет, то многие сложные партии сходу уже сыграть не получится. Но музыкант может сесть на несколько месяцев и восстановить скилл. А если ты никогда на инструменте не играл, то уйдут годы. Восстановить форму != выучить новое.
Не так давно обнаружил, что в своей практике несколько раз успешно применял некоторые приемы из теории автоматов для минификации функций вычисления состояния. Причем действовал по большей части интуитивно, и удивлялся тому как в какой-то момент все начинает сокращаться. Потом, спустя лет 5, дошло что в универе у нас было достаточно много практики по подобным задачам, хоть и формулировались они гораздо конкретнее. И вот не знаю, толи тот опыт как-то отложился и помог выбрать направление решения задачи, толи данный подход по каким то другим причин показался выигрышным. Но вспомнив теоретическую часть стало гораздо понятнее как обнаруживать связанные проблемы, и как обосновывать работоспособность решения.
Сеньор, имхо, это не столько тот, кто знает кишки инструмента, с которым работает, а тот, кто видит последствия принимаемых им решений. А то видел я таких "сеньоров", за которыми потом несколько лет прибираться нужно было
Очень похож путь:) Правда пока не архитектор, а так team lead, но приходится копаться и в бэке .net, и xamarin, и в typescript angular, и в java с obj-c часто залезаю, чтобы разобрать специфичные задачи которые на текущем проекте требуется. Есть интерес именно разносторонне расти.
У хороших знакомых недавно систему акторов продвинул в проекте, потому что там iot большой, правда akka.net так как у них все дотнетчики, ребята джуны, но парни уже хорошо навострились, и сами кайфуют от того как пишется.
Это сложно, может конечно потому что я необразованный, и некоторые вещи приходится вдалбливать себе в голову, а уже и дети, и куча других проблем, но интересно, именно в кругозор развиваться, а не затачивать один инструмент.
З.Ы. Почти к вам устроился в прошлом году:) Жаль проект на который меня хотели, немного забуксовал, но Анна и Андрей очень крутые, хоть я и подтупливал на собеседовании)
фулстэк это как инвестировать в лонг-терм фонд. Это сильно отличается от специализации, когда через 2 года вы сможете стать сеньором реакт разработчиком. Тут главное выбрать правильный набор языков. Нытьё про фс обычно можно услышать от ребят которые выбрали js на бэк/ фронт /десктоп/ мобилы.
Выбирая свой стэк вы обязательно должны взять:
Enterprise язык - java или C#, они развивают медленно, ещё медленнее они обновляются в enterprise приложениях. Это даст вам подушку на ближайшее 3-6 лет - вы всегда будете востребованы, даже не следя за релизами.
Раз два и в прод - php, python. Позволят вам поднимать не большие заказы с фриленса на досуге, копаться в легаси или автоматизировать заказ ? пиццы. Php (нет он не умер) проще зайдет после Java/C#
Js - вам придётся, выбора просто нет, его изучать веселее всего, особенно если речь про браузер.
Базы данных - PostgreSQL/MySQL + MongoDB, реляционнки для enterprise, монга будет схожа с другими документоориентированнвии бд, в общем случае нужно понимать концепт.
Future vision - golang, kotlin, swift, rust - возможно сможете попасть в интересный проект или просто показать на интервью что вы идёте в ногу со временем.
Есть ваш роадмап выглядит так, то вы вполне сможете устроится в какой нибудь Фейсбук, где любят фулстеков. Но на изучение всего это потребуются годы, в процессе вы изучите всякую лабуду типа патернов проектирования, докеров, куберов, всяких MQ и тп.
Несколько лет пройдёт и вы сможете спокойно онбордить всех этих джунов и мидлов в разные команды, с таким же успехом как это делает сеньор определенного направления. Развитие карьеры, вы 100% не будете тем сеньором который получает по ляму баксов в год и пишет крутой оптимизированный код для <выберите специализацию>, но вы сможете стать Теч/Тим Лидом, менеджером, СТО, архитектором с таким же пейгрейдом, правда написание кода перестанет быть вашей основной обязанностью.
а откуда этот мем пошёл, интересно?
PS А вообще-то, путь развития отрасли — это всегда специализация. Примерно как в промышленности — от ремесленников-мастеров позднего Средневековья, делавших свои поразительные chef d'oeuvre, через мануфактуры Нового Времени, где отдельные операции делались куда более узкими специалистами, и до современных промышленных предприятий, в которых эти операциии подверглись всяческой механизации-автоматизации, и требуют совсем немного квалификации. IMHO промышленная разработка ПО, как очень молодая отрась, просто находится в начале этого пути, а потому вынуждена использовать, в основном, мастеров. Но тот, кто научится использовать более узких, а потому — более дешевых специализированных работников (особенно — из числа вайтишников) сделает большой шаг в организации процессов разработки. И победит в конкурентной борьбе на рынке.
Ждем.
Примерно как в промышленности — от ремесленников-мастеров позднего Средневековья, делавших свои поразительные chef d'oeuvre, через мануфактуры Нового Времени, где отдельные операции делались куда более узкими специалистами, и до современных промышленных предприятий, в которых эти операциии подверглись всяческой механизации-автоматизации, и требуют совсем немного квалификации
Сегодня на крупных предприятиях с высокой степенью автоматизации значительная часть рабочих — это квалифицированные операторы станков, программисты PLC и т.д. Таким образом, квалификация рабочих прошла через классическое отрицание отрицания.
Собственно у программистов было то же самое. Сначала были супер-универсалы, которые утром паяли компьютер, а вечером писали для него ОС и компилятор. Потом прошло разделение. Дошло до специализации по отдельным версиям библиотек. Теперь, в моде опять широкий профиль
Мне кажется в пользу фуллстеков играет быстрое развитие технологий. Например, если сейчас взять VueJS и за день прочитать документацию, то скорее всего напишешь не хуже, чем какой-нибудь сеньор на чистом js или jquery. Я к тому, что выход новых языков и фреймворков, в некотором смысле обнуляет сеньорство и позволяет джунам/миддлам на новой технологии быть не менее эффективными, чем сеньор на старой. Для фуллстеков достаточно легко переходить на новые языки и технологии и им не приходится жалеть о потраченных годах на изучение уже нерелевантных вещей.
Развитие мультикласса в ДнД остатет всего на 1 уровень а не в два раза.
Вот посмотрите на таблицы опыта персонажей в ДнД 2


Итого персонаж набравший 500 000 опыта может быть или Воином 10 уровня, или Магом 11 уровня или же мультиклассом Воин-Маг на уровне Воин: 9, Маг: 10
Мдя, не думал, что кто-то полезет проверять таблицы опыта. Поправлю. Идея была в том, что дуал не должен всю игру шарить опыт между двумя/тремя классами, поэтому не обязан постоянно отставать в уровне от чистых классов. Кстати, если уж учитывать таблицы опыта, можно ещё упомянуть, что у некоторых классов последние уровни требуют такого дикого количества xp, предлагая такие-себе плюшки за этот уровень, что гораздо разумнее этот опыт закинуть в несколько уровней другого класса.
К тому же я никуда не лез, просто помню что опыт каждый уровень удваивается, отсюда и разница в росте не такая огромная. Вообще днд это же не про реальную жизнь поэтому и сравнение не очень работает. Но как визуальное представление вполне норм.
Заглянул в табличку опыта BG2 (собственно тормозные мульти-классы я помню от туда, а не из настолько D&D). Там даже не всегда в два раз. У Друида на уровнях 13-16 происходит что-то странное с опытом. В D&D есть какое-то объяснение этому, но я уже не помню деталей. В итоге Джахейра намертво залипает на 14 уровне друида и плохо прогрессирует как воин. Поэтому у меня постоянно была дилемма: то ли заменить ее кем-то более эффективным с точки зрения распределения XP, то ли оставить. Все-таки они на пару с Минском только из первой части перекочевали (Имоен первые три акта сидит в темнице).
Непременно прочту статью до конца, но спешу высказаться (трагикомично): 51++ лет, чуствую себя вечным "жуном", хотя "жоины" на "мускулах" накачал, в ЯП "хтмл" даже умею, и "дотнет" читаю в оригинале. Когда не умеешь программировать - программируешь с радостью первооткрывателя, но с опытом радость от "готово, я сделяль" тухнет, приходит желание написать 100500 тестов на 1 фичу, чтобы не было мучительно больно. Вот тут и раскрываются чакры, и понимаешь - что ничего не понимаешь, и начинаешь думать головой, но не переполненной кучей.
Пошел дочитывать...
Всем добра.
Ну для начала, любому человеку желательно получше психологически себя узнать (эффективные типологии личности вам в помощь). И тогда проще будет понять, что вам ближе, - узкая специализация или широкая.
Но да, я считаю, что самые умные люди на планете, это те, которые хороши в широкой специализации. Они могу смотреть на проблемы с разных сторон. Плюс общее развитие, который получает интеллект за счёт самых разных знаний, и необходимости всё время обучаться. Причём самое главное обучаться не только в привычной тебе области, а и совершенно новых, что заставляет мозг изрядно трудиться
напорется он пару раз на стирающиеся дженерики
Что за зверь такой?
Type Erasure. Собственно, в том-то и пример, что [почти] любой миддл из мира Java не может этого не знать.
Спасибо, гляну
@speshuricправильно написал про type erasure. Добавлю, что проблема настолько актуальна, что в Kotlin даже специальное ключевое слово добавили.
Максим, спасибо за статью, спасибо за то что продвигаешь путь расширения кругозора вместо пути уныния и страдания)
Фулстеки — это будущие архитекторы, а не вечные мидлы (если захотят конечно)