Странная, ей Богу, статья. Да и профиль у вас чертовски странный:
делать всё, чтобы защитить бедных C# разработчиков от излишнего ныряния в JavaScript
Особенно в том, что касается «фанатизма» странности. В самой статье, да и в комментариях под ней вы упорно пишете, что вас раздражает не сама технология, но скорее ее через-чур ярые поклонники и высокомерие, с которым они смотрят на «не причастившихся».
Но, вот ведь парадокс, сама статья является воплощением подобного же высокомерия. Так как она буквально вопиет о важных умолчаниях: «те, кто выбирают .js добровольно — с вирусом в голове», ну и то, что ваш стек технологий и знаний по умолчанию дает вам моральное право смотреть на этих бедолаг с высока и рассуждать о том, что хорошо, а что плохо.
Но за юмором, за фразочками «я не имею ввиду технологию, а только фанатиков от нее» не скрыть негативных коннотаций. Все то же необоснованное высокомерие на пустом месте.
Не понимаю, честно, цели написания статьи. И так ведь понятно, что все «фанатики» — это в большинстве своем неофиты. Но ведь не только они выбирают этот язык в качестве инструмента. Есть и матерые зубры, которые с энтузиазмом относятся к нему.
Но умолчания… Серьезно, сначала вы называете какую-то особенность языка и потом говорите, что если человеку она нравится, то он «болен». Но ведь нет, вы же не имеете в виду всех, а лишь только «фанатиков». Мастерство риторики — запредельное. Сначала обгадить людей, хочу подчеркнуть, исключительно на основе того, что отношения к одному и тому же языку разные, а потом сделать вид, что этого как бы и не было.
И главное, чего добиться то хотели не понятно. Остроумием блеснуть за счет того, что потешаетесь над другими.
Очередной высокомерный повод для холивара на пустом месте.
По второму пункту: да, перекосы возможны, но тут штука в том, что деньги собираются в любом случае, а распределить их в не социальный проект будет невозможно, так как та же «починка дороги» должна быть одобрена. И если некий инвестор решит построить на налоги нечто вроде грязной атомной электростанции, то эта инициатива не пройдет этап голосования. Так же может быть перекос в сторону появления гетто и богатых районов, и это обойти затруднительно, но ключевым преимуществом является то, что «богатый» район не живет за счет налогов «гетто», то есть в теории, жители бедного района сами вольны строить свое будущее, перераспределяя ресурсы. Ну и горизонтальная мобильность способствует. Это во многом обеспечивает социальное равенство по возможностям, любой другой вид привел бы к «раскулачиванию», а это плохо.
По третьему пункту, идея в том, что законодательная система должна развиваться, быть гибкой, подстраиваться под активно изменяющийся мир и обстоятельства. А за выдвижение законов и их разработку должны отвечать те, кто разбираются в предметной области. То есть, человек разбирающийся, скажем, в дронах, может разработать закон для того или иного района, запрещающий полет над ним. Так как он разбирается в вопросах, то может найти решения, или с экспертной точки зрения хотя бы обозначить проблему. Останется ее только продвинуть и воплотить.
Скажем так, идея не в том, чтобы «годны были все», а чтобы дать возможность людям решать то, как они должны жить. И если в каком-то районе нет обеспечения, скажем для пожилых людей, тогда пожилому человеку следует озаботится о переезде заранее. Ну и естественно, что каждый человек, который заинтересован в том, чтобы его старость была максимально комфортной обратит внимание на возможность пересмотреть некоторые нюансы законодательства.
Гибкость — это ключ.
Представительная власть, такие как президент, дума — все это появилось только потому, что собирать даже деревню на каждый хоть сколько-нибудь важный вопрос ради голосования было попросту не реально. Что уж говорить о мегаполисах или, вообще, странах. Сейчас ситуация сложилась так, что подобный сбор может быть устроен при помощи банальной соц.сети. Тебе не нужно никуда ехать, чтобы выразить свое мнение, и нет необходимости в том, чтобы делегировать свой голос, непонятно как используемый человеком предельно непрозрачно. Зачем? Ты можешь просто тапнуть на экране своего смартфона, после того как выслушаешь мнения тех или иных экспертов по этому вопросу. Ну и естественно, что законотворчество будет несколько иным, когда профессор, скажем экономики, из Владивостока выдвигает идею закона, профессоры из разных точек страны вносят в них поправки, стремясь сделать оптимальным, все это оборачивается в понятную обертку и приходит тебе на смарфон в виде возможности выбора. Таким образом, та форма управления, которая существует сейчас становится чем-то похожим на рудимент. И, блин, с каждым годом это становится все очевиднее. Но, постойте, а как же те случае, когда решение должно быть принято на лету, экстренно? Хорошо, почему бы не разработать процедуру на этот случай. Ведь на практике это не более чем issue, если угодно пользовательская история. Ни что не мешает создать, если так можно выразиться, bug-tracker в рамках города и люди заинтересованные в решении проблем будет предлагать решения.
И хоть такое развитие социальной среды кажется мне наиболее естественным в текущей ситуации, это очень трудно реализуемая система.
Если это ощущение стало навязчивым, то стоит обратиться к психологу. И, пожалуй, никак иначе. Так как за названием «синдром самозванца», чаще всего кроется довольно широкий спектр невротических состояний.
Возникает он, как правило, при совокупности следующих факторов: строгое морально-нравственное воспитание, высокие интеллектуальные способности. Но, ключевую роль, пожалуй, играет классическая система образования, которая предполагает детерминированный подход к тестированию знаний. Ты либо знаешь, либо не знаешь, а решения задач и ответы на вопросы должны выдаваться «на ходу».
Естественно, что при работе, которая требует принятия решений в условиях неопределенности и управления сложностью, человек ощущает себя «двоечником», так как у него, как правило, нет готовых ответов.
Управленцы, программисты и вообще все, кто с этим сталкиваются, не должны «преодолевать» себя. В том смысле, что такая борьба порождает дополнительный стресс, человек прикладывает больше усилий, порой ошибается, винит себя и т.д. То есть, нужно было научиться расслабляться, а вместо этого человек прикладывает больше усилий.
Потому, лучше обратиться к специалисту.
Сергей, повезло же наткнутся на эту статью. Читаю и восхищаюсь вашей инициативе. Я сам провел довольно много времени жонглируя в голове идеями о глобальных изменениях. Но я в большей степени обдумывал реализацию социальной саморегуляции. По крайней мере предпосылки к ней. И так же пришел к модульному варианту города, где жители каждого из районов смогут сами формировать правила проживания в нем, так, например, в одном из районов нельзя находиться под действием алкоголя, в другом это не возбраняется, или шуметь нельзя после 21:00 и т.д.
В своих размышлениях я пришел к выводу, о том, что жители данного города должны выступать соинвесторами, иначе слишком велик риск негативного лобби. Ну и разумеется саморегуляция осуществляться должна по принципам непосредственной, а не представительной демократии. Для примера: формируется пул проблем — «дороги, новое освещение в парк, ...», человек отдает часть «налогов» на поддержание имущества общественного пользования и на социальные службы, а другую обязательную часть он сам определяет куда вложить. Если для него актуальна проблема дорог, то он вкладывает туда. После того, как собирается необходимая сумма устраивается тендер среди подрядчиков, и через голосование (реальная передача голоса каждого жителя, что через приложение осуществляется элементарно) выбирается подрядчик. Ну и естественно, что выбор будет максимально оптимальным. Так как все это формирует, если угодно, круговую поруку: трудно придумать такой вопрос, при котором большинство жителей сектора, продадут свое благополучие, за сумму которая будет ниже прибыли компании, решившейся на это. Если же кому-то лень участвовать непосредственно, он может делегировать голос, но не так как сейчас, а, по-сути, наняв человека, чтобы тот принимал правильные решения, и выплачивая ему фиксированную часть денег, политик автоматически становится тем, кем он по сути и является, наемным рабочим, и как следствие у его нанимателя есть возможность просматривать принятые им решения, и изъять свой голос, не через n лет, а как только захочет. Как итог, чем популярнее и правильнее решения политика, тем больше зарплата. Стоит облажаться, его лишают голосов.
Хм, еще были мысли о том, чтобы привязать медицинские службы к доходу граждан прозрачно, то есть чтобы мотивация финансовая была не как сейчас, чем больнее человек, тем больше получит врач, а как на заводах Форда, чем больше человек болеет, тем меньше получают медики. То есть, заинтересовать врачей (от психологов до хирургов), чтобы человек стал максимально продуктивным.
Я в свое время даже потратил уйму времени, чтобы придумать оптимальную систему образования под подобный проект, но сейчас здесь расписывать не буду.
В любом случае, я присоединился к вашему сообществу.
Мне вот сейчас 27 и взбрело в голову стать программистом, да еще и без высшего образования. Уже третий месяц пошел, как занимаюсь этим. И уже предвкушаю каково будет проходить собеседование на позицию junior'а и работать бок о бок с тем, кому 18. Но это, знаете, игры разума. В том смысле, что действительно проблемой может стать предвзятость некоторых работодателей. И да, чем дальше, тем грустнее, что самому уже не 18. Но и все, других хоть сколько-нибудь существенных проблем я не вижу.
Вот смотрите, снижение скорости когнитивных процессов обычно происходит годам к 50 — 60. И тут есть как негативные факторы, вроде болезней или образа жизни, когда большую часть времени человек проводит, почесывая пах, и развалившись на диване, так и позитивные, вроде постоянного самообразования, поддержания физического тонуса упражнениями. То есть, влияние возраста преувеличено.
С другой стороны, беспокоить может вопрос о скорости обучения и как следствие постоянное отставание от «молодых и дерзких». Но это, опять таки, следствие когнитивных искажений. Если условно разделить программирование на компетенции, позволяющие поддерживать актуальный уровень профессионализма, то можно отметить следующие навыки и знания: во-первых, знание синтаксиса и API тех или иных библиотек языка, во-вторых, умение моделировать абстракции и связи между ними (читай архитектуру), ну и в третьих, способность поддерживать эти знания в актуальном состоянии.
Первое достигается практикой и, неожиданно, чтением документации. И практикой. Тут возраст вообще не играет никакой роли.
Со вторым дела обстоят чуть сложнее, в том плане, что все вроде бы понятно, но что делать, не вполне ясно. Фактически это означает чтение книг о тех или иных парадигмах программирования, алгоритмах, паттернах и антипаттернах. Применение этого на практике. Ну и чтобы все это ложилось на благодатную почву, имеет смысл удобрить ее Computer Science. Благо, информации — куча. Я, например, просвещаюсь на Лекториум. И самое радостное, парадигм, да и вообще фундаментальных знаний, конечное количество. А важно тут вот что, если человек не просто сидел, почесывая пах, а на протяжении жизни хоть как-то самообразовывался, то у него не возникнет проблем с освоением абстракций и парадигм. Способность мозга к моделированию не линейная, а кумулятивная. Для примера, попробуйте открыть учебник по любому предмету класс эдак за 7. Фактически, это брошюра на 150 страниц, которая читается за вечер. Чему там учить целый год? Но это особенность нашей психики, когда человек моложе, его «банк моделей» не такой большой, чем старше человек, тем у него больше возможностей к опосредованному осознанию. Это чем-то напоминает алиасы. Когда мозг собирает понимание новой модели, через кусочки уже понятых, через аналогии. Мне, например, именно расширение своих способностей к абстрактному мышлению и моделированию, представляется самым трудным. Но и тут, я вижу определенные плюсы в том, что меня не накрывает гормональной волной, которая толкает совокуплять все что движется (по крайней мере не так сильно как в 18). То есть, позволяет выстроить процесс самообучения более последовательно.
Ну, и как только синтаксис будет изучен, а новая книжка с описанием архитектуры будет восприниматься легко даже при чтении по диагонали, для поддержки знаний и навыков необходимо будет всего лишь читать draft'ы, обсуждения на git'е, ну и хабр, естественно.
Единственное, что может потребовать усилий, так это убедить сотрудника hr отдела, что вы более чем подходите для этой должности. И если ни ваша компетентность, ни низкая мобильность в плане смены места работы, ни ваша предрасположенность к открытому обсуждению сложностей не могут перевесить чашу весов конкретного hr'а, то стоит задуматься, а действительно ли вы хотите работать в такой компании, и уж точно не стоит экстраполировать один случай предвзятости на все компании.
Сейчас мне это представляется так, но тут может сказаться недостаток опыта.
Ну, допустим, что именно спрашивать на собеседовании — вопрос скорее к предметной области и к политике компании.
А по поводу алгоритмов… Опять таки, тенденция сводится к тому, что фреймворки и библиотеки все больше выступают не в роли вспомогательного инструмента, а в роли абстракций над языком. И получается так, что одна группа людей пишет библиотеки, улучшает их, делает их более эргономичными, увеличивает скорость отклика, и совершенно другая группа людей на их основе строит приложения. И, по все правилам, если абстракция хороша, то конечному пользователю фреймворка должно быть глубоко наплевать на то, какими средствами он там внутри устроен.
Ну, то есть, именно к этому же стремятся люди, когда пишут библиотеки и фреймворки — перестать раз за разом реализовывать одни и те же алгоритмы и паттерны. Чтобы ты кнопочку нажал и, «вжух!», магия произошла. Снижение затрат на обучение, снижение затрат на реализацию. В этом как бы весь смысл, чтобы можно было нанять человека, который не знает алгоритмов и ООП, который бы смог приносить прибыль компании.
То есть, с точки зрения компании, даже лучше, если человек заточен под какой-то один инструмент. Его чек от этого можно смело сокращать.
Правда, я хоть и понимаю все это, но все же хочу знать Computer Science как можно лучше, просто потому, что это определенно дает преимущество. В конечном счете, это просто увеличивает сумму чека и позволяет браться за те задачи, которые представляют интерес.
Мне такой подход больше импонирует. В первую очередь, наверное, потому что я готов потратить день своего времени на выбор места, куда я буду приходить каждый день. (Год? Два?)
Для небольших компаний такой подход близок к оптимальному.
Но вот в том случае, если «головоломки» являются предметной областью, тут уж никуда не деться.
Кхм, вот я прямо сейчас pre-junior без наставника (очень надеюсь, что временно).
И мне эта статья если честно кажется высосанной из пальца.
Нет, возможно я пока чего-то не понимаю, но основная проблема сейчас не в недостатке информации. Я бы даже сказал, что порой приходится сталкиваться с избытком информации, и проблемой становится уже ее фильтрование. Вот как раз тут то и нужен наставник, чтобы упорядочить весь этот поток, и как минимум расставить приоритеты на изучение.
Другой проблемой для меня представляется отсутствие информации/курсов по workflow. Точнее даже не так, она есть, но ее приходится выуживать по крупицам, вместо того, чтобы оттачивать какой-то навык. И даже если ты посидел, подумал, и решил: «хм, надо написать тестовое приложение, и желательно что-то большее чем todo-лист», то для начала нужно понять, а что это собственно будет за приложение. И вот, ты перевоплощаешься в клиент-менеджера и начинаешь сам у себя собирать требования, потом каким-то образом (магия, не иначе), ты влезаешь в шкуру senior'а и проектируешь приложение, как минимум, чтобы вышел прототип, который бы потом не поплыл, дальше ты чуть-чуть пишешь код (не очень важно по классике или через agile), потом передаешь это самому себе в роли teamlead'а на review, и пытаешься понять: «а точно ты правильно разграничил ответственность классов», «а нельзя ли снизить осведомленность классов друг о друге», ах да, забыл, нужно еще проверить, насколько качественно ты выступил в роли QA перед написанием кода и хорошо ли твой код покрыт тестами.
То есть, я почти уверен, что такой путь имеет место быть, но мне кажется, что обычно junior'у половину из этого просто не доверят по финансовым соображениям, да и времени такое развитие займет очень много. Основной задачей для junior'а мне представляется написание максимально читаемого и в общем случае предельно тривиального кода, чтобы сам процесс написания таких вещей максимально быстро стал автоматизмом. Как только это произойдет, фокус внимания можно будет сместить на более «сложные» области. В этом случае человек будет воспринимать информацию, концепции и модели без того, чтобы буксовать на написании кода, по полчаса проводя в отладчике.
Опять таки, со скидкой на отсутствие у меня опыта, мне кажется, что для junior'а важнее научиться писать хороший код (желательно под уже существующую экосистему). Когда ты пытаешься учиться без наставника, вот честно, в общем объеме потраченного на это времени, написание кода занимает микроскопическую роль. Именно наставник занимается тем, что помогает адаптироваться к той или иной экосистеме. Порой не менее важно услышать что-то вроде: «забей, вот либа, которая решает эту проблему, а тут можно поставить костыль», чтобы не возиться неделю с тем, что либо сделано до тебя, либо никому не важное в принципе.
То есть, лично мне наставник нужен. Очень.
Ну а советы senior'ам… Больше похожи на советы средненьким мидлам, вы уж простите. Что-то мне подсказывает, что дядьки, способные рулить сложными проектами как-нибудь да найдут способ повысить свою квалификацию.
Здравствуйте. Мне кажется, что то, что вы описали, не вполне зависит от сферы деятельности. И у вас в некотором роде есть огромное преимущество. Вы заметили, что ваше мышление стало в большей степени подвержено инертности. Есть огромные массы людей, которые просто-напросто не в состоянии анализировать себя. Но, не падайте духом. Тем более, если моя интуиция меня не подводит, то вы уже точно знаете, что вам нужно делать. Эта статья напоминает прощальную записку, и вам действительно стоит распрощаться с вашей работой. Ничто так не отупляет, как совершение бессмысленных (для вас) действий. В некоторых местах так даже пытают, чтобы сломить волю. И тут очевидно, что здоровье и собственный рассудок куда как важнее, чем любые причины мешающие вашей мобильности.
Ах, да, вот еще что, зря вы на себя наговариваете. Дело в том, что современные книги действительно и в десятки раз не так «глубоки» и фундаментальны, как издания прошлого века. Но вы уже обладаете многими из этих фундаментальных знаний, и это дает просто колоссальное преимущество перед неофитами. Вы себе даже не представляете, каково это, самостоятельно с нуля погружаться в профессию, когда среди сотен книг, единицы стоящие, но ты их не понимаешь потому что не хватает фундаментальных знаний, а остальными можно подтереться. Собрать цельную картину из «мозаики» очень трудно.
Ваше же состояние скорее характеризует общее снижение тонуса. Особенно, если вы выпадаете даже из разговоров с домочадцами. Если кратко, то тонус проявляется в способности организма длительное время испытывать напряжение, в том числе и вызванное стрессом или повышенным временем концентрации. Когда тонус падает (на самом деле нигде ничего не падает, но так говорят), то человек испытывает постоянную усталость, подавленность и теряет способность к концентрации. Опять таки, если упустить часть подробностей, то тонус, на физиологическом уровне, это колебания электрической энергии по нервным проводящим путям во всем теле. То есть, они как бы прогревают «машину» перед использованием. Эта электрическая энергия называется тональным током. Суть же в том, что с возрастом, особенно при малоподвижном образе жизни, проводимость этих путей снижается, и тонус падает. Как следствие, ухудшение самочувствия, снижение активности мозга и общий энергетический спад. Есть способы сократить влияние времени, например, оборудовать стоячее рабочее место, но решить эту проблему кардинально, раз и навсегда, помогает занятия статической гимнастикой. И не важно что вы выберете: йогу или пилатес. Важно то, что это позволит восстановится уже через пару месяцев регулярных занятий.
Итак, во-первых, не стоит делать то, что вы сами считаете бессмысленным, уверен, сотруднику с вашим опытом и квалификацией будут рады во многих компаниях, и во-вторых, старайтесь поддерживать себя в тонусе. Ну и пишите еще, вас было приятно читать.
Особенно в том, что касается «фанатизма» странности. В самой статье, да и в комментариях под ней вы упорно пишете, что вас раздражает не сама технология, но скорее ее через-чур ярые поклонники и высокомерие, с которым они смотрят на «не причастившихся».
Но, вот ведь парадокс, сама статья является воплощением подобного же высокомерия. Так как она буквально вопиет о важных умолчаниях: «те, кто выбирают .js добровольно — с вирусом в голове», ну и то, что ваш стек технологий и знаний по умолчанию дает вам моральное право смотреть на этих бедолаг с высока и рассуждать о том, что хорошо, а что плохо.
Но за юмором, за фразочками «я не имею ввиду технологию, а только фанатиков от нее» не скрыть негативных коннотаций. Все то же необоснованное высокомерие на пустом месте.
Не понимаю, честно, цели написания статьи. И так ведь понятно, что все «фанатики» — это в большинстве своем неофиты. Но ведь не только они выбирают этот язык в качестве инструмента. Есть и матерые зубры, которые с энтузиазмом относятся к нему.
Но умолчания… Серьезно, сначала вы называете какую-то особенность языка и потом говорите, что если человеку она нравится, то он «болен». Но ведь нет, вы же не имеете в виду всех, а лишь только «фанатиков». Мастерство риторики — запредельное. Сначала обгадить людей, хочу подчеркнуть, исключительно на основе того, что отношения к одному и тому же языку разные, а потом сделать вид, что этого как бы и не было.
И главное, чего добиться то хотели не понятно. Остроумием блеснуть за счет того, что потешаетесь над другими.
Очередной высокомерный повод для холивара на пустом месте.
По третьему пункту, идея в том, что законодательная система должна развиваться, быть гибкой, подстраиваться под активно изменяющийся мир и обстоятельства. А за выдвижение законов и их разработку должны отвечать те, кто разбираются в предметной области. То есть, человек разбирающийся, скажем, в дронах, может разработать закон для того или иного района, запрещающий полет над ним. Так как он разбирается в вопросах, то может найти решения, или с экспертной точки зрения хотя бы обозначить проблему. Останется ее только продвинуть и воплотить.
Скажем так, идея не в том, чтобы «годны были все», а чтобы дать возможность людям решать то, как они должны жить. И если в каком-то районе нет обеспечения, скажем для пожилых людей, тогда пожилому человеку следует озаботится о переезде заранее. Ну и естественно, что каждый человек, который заинтересован в том, чтобы его старость была максимально комфортной обратит внимание на возможность пересмотреть некоторые нюансы законодательства.
Гибкость — это ключ.
Представительная власть, такие как президент, дума — все это появилось только потому, что собирать даже деревню на каждый хоть сколько-нибудь важный вопрос ради голосования было попросту не реально. Что уж говорить о мегаполисах или, вообще, странах. Сейчас ситуация сложилась так, что подобный сбор может быть устроен при помощи банальной соц.сети. Тебе не нужно никуда ехать, чтобы выразить свое мнение, и нет необходимости в том, чтобы делегировать свой голос, непонятно как используемый человеком предельно непрозрачно. Зачем? Ты можешь просто тапнуть на экране своего смартфона, после того как выслушаешь мнения тех или иных экспертов по этому вопросу. Ну и естественно, что законотворчество будет несколько иным, когда профессор, скажем экономики, из Владивостока выдвигает идею закона, профессоры из разных точек страны вносят в них поправки, стремясь сделать оптимальным, все это оборачивается в понятную обертку и приходит тебе на смарфон в виде возможности выбора. Таким образом, та форма управления, которая существует сейчас становится чем-то похожим на рудимент. И, блин, с каждым годом это становится все очевиднее. Но, постойте, а как же те случае, когда решение должно быть принято на лету, экстренно? Хорошо, почему бы не разработать процедуру на этот случай. Ведь на практике это не более чем issue, если угодно пользовательская история. Ни что не мешает создать, если так можно выразиться, bug-tracker в рамках города и люди заинтересованные в решении проблем будет предлагать решения.
И хоть такое развитие социальной среды кажется мне наиболее естественным в текущей ситуации, это очень трудно реализуемая система.
Возникает он, как правило, при совокупности следующих факторов: строгое морально-нравственное воспитание, высокие интеллектуальные способности. Но, ключевую роль, пожалуй, играет классическая система образования, которая предполагает детерминированный подход к тестированию знаний. Ты либо знаешь, либо не знаешь, а решения задач и ответы на вопросы должны выдаваться «на ходу».
Естественно, что при работе, которая требует принятия решений в условиях неопределенности и управления сложностью, человек ощущает себя «двоечником», так как у него, как правило, нет готовых ответов.
Управленцы, программисты и вообще все, кто с этим сталкиваются, не должны «преодолевать» себя. В том смысле, что такая борьба порождает дополнительный стресс, человек прикладывает больше усилий, порой ошибается, винит себя и т.д. То есть, нужно было научиться расслабляться, а вместо этого человек прикладывает больше усилий.
Потому, лучше обратиться к специалисту.
В своих размышлениях я пришел к выводу, о том, что жители данного города должны выступать соинвесторами, иначе слишком велик риск негативного лобби. Ну и разумеется саморегуляция осуществляться должна по принципам непосредственной, а не представительной демократии. Для примера: формируется пул проблем — «дороги, новое освещение в парк, ...», человек отдает часть «налогов» на поддержание имущества общественного пользования и на социальные службы, а другую обязательную часть он сам определяет куда вложить. Если для него актуальна проблема дорог, то он вкладывает туда. После того, как собирается необходимая сумма устраивается тендер среди подрядчиков, и через голосование (реальная передача голоса каждого жителя, что через приложение осуществляется элементарно) выбирается подрядчик. Ну и естественно, что выбор будет максимально оптимальным. Так как все это формирует, если угодно, круговую поруку: трудно придумать такой вопрос, при котором большинство жителей сектора, продадут свое благополучие, за сумму которая будет ниже прибыли компании, решившейся на это. Если же кому-то лень участвовать непосредственно, он может делегировать голос, но не так как сейчас, а, по-сути, наняв человека, чтобы тот принимал правильные решения, и выплачивая ему фиксированную часть денег, политик автоматически становится тем, кем он по сути и является, наемным рабочим, и как следствие у его нанимателя есть возможность просматривать принятые им решения, и изъять свой голос, не через n лет, а как только захочет. Как итог, чем популярнее и правильнее решения политика, тем больше зарплата. Стоит облажаться, его лишают голосов.
Хм, еще были мысли о том, чтобы привязать медицинские службы к доходу граждан прозрачно, то есть чтобы мотивация финансовая была не как сейчас, чем больнее человек, тем больше получит врач, а как на заводах Форда, чем больше человек болеет, тем меньше получают медики. То есть, заинтересовать врачей (от психологов до хирургов), чтобы человек стал максимально продуктивным.
Я в свое время даже потратил уйму времени, чтобы придумать оптимальную систему образования под подобный проект, но сейчас здесь расписывать не буду.
В любом случае, я присоединился к вашему сообществу.
Вот смотрите, снижение скорости когнитивных процессов обычно происходит годам к 50 — 60. И тут есть как негативные факторы, вроде болезней или образа жизни, когда большую часть времени человек проводит, почесывая пах, и развалившись на диване, так и позитивные, вроде постоянного самообразования, поддержания физического тонуса упражнениями. То есть, влияние возраста преувеличено.
С другой стороны, беспокоить может вопрос о скорости обучения и как следствие постоянное отставание от «молодых и дерзких». Но это, опять таки, следствие когнитивных искажений. Если условно разделить программирование на компетенции, позволяющие поддерживать актуальный уровень профессионализма, то можно отметить следующие навыки и знания: во-первых, знание синтаксиса и API тех или иных библиотек языка, во-вторых, умение моделировать абстракции и связи между ними (читай архитектуру), ну и в третьих, способность поддерживать эти знания в актуальном состоянии.
Первое достигается практикой и, неожиданно, чтением документации. И практикой. Тут возраст вообще не играет никакой роли.
Со вторым дела обстоят чуть сложнее, в том плане, что все вроде бы понятно, но что делать, не вполне ясно. Фактически это означает чтение книг о тех или иных парадигмах программирования, алгоритмах, паттернах и антипаттернах. Применение этого на практике. Ну и чтобы все это ложилось на благодатную почву, имеет смысл удобрить ее Computer Science. Благо, информации — куча. Я, например, просвещаюсь на Лекториум. И самое радостное, парадигм, да и вообще фундаментальных знаний, конечное количество. А важно тут вот что, если человек не просто сидел, почесывая пах, а на протяжении жизни хоть как-то самообразовывался, то у него не возникнет проблем с освоением абстракций и парадигм. Способность мозга к моделированию не линейная, а кумулятивная. Для примера, попробуйте открыть учебник по любому предмету класс эдак за 7. Фактически, это брошюра на 150 страниц, которая читается за вечер. Чему там учить целый год? Но это особенность нашей психики, когда человек моложе, его «банк моделей» не такой большой, чем старше человек, тем у него больше возможностей к опосредованному осознанию. Это чем-то напоминает алиасы. Когда мозг собирает понимание новой модели, через кусочки уже понятых, через аналогии. Мне, например, именно расширение своих способностей к абстрактному мышлению и моделированию, представляется самым трудным. Но и тут, я вижу определенные плюсы в том, что меня не накрывает гормональной волной, которая толкает совокуплять все что движется (по крайней мере не так сильно как в 18). То есть, позволяет выстроить процесс самообучения более последовательно.
Ну, и как только синтаксис будет изучен, а новая книжка с описанием архитектуры будет восприниматься легко даже при чтении по диагонали, для поддержки знаний и навыков необходимо будет всего лишь читать draft'ы, обсуждения на git'е, ну и хабр, естественно.
Единственное, что может потребовать усилий, так это убедить сотрудника hr отдела, что вы более чем подходите для этой должности. И если ни ваша компетентность, ни низкая мобильность в плане смены места работы, ни ваша предрасположенность к открытому обсуждению сложностей не могут перевесить чашу весов конкретного hr'а, то стоит задуматься, а действительно ли вы хотите работать в такой компании, и уж точно не стоит экстраполировать один случай предвзятости на все компании.
Сейчас мне это представляется так, но тут может сказаться недостаток опыта.
А по поводу алгоритмов… Опять таки, тенденция сводится к тому, что фреймворки и библиотеки все больше выступают не в роли вспомогательного инструмента, а в роли абстракций над языком. И получается так, что одна группа людей пишет библиотеки, улучшает их, делает их более эргономичными, увеличивает скорость отклика, и совершенно другая группа людей на их основе строит приложения. И, по все правилам, если абстракция хороша, то конечному пользователю фреймворка должно быть глубоко наплевать на то, какими средствами он там внутри устроен.
Ну, то есть, именно к этому же стремятся люди, когда пишут библиотеки и фреймворки — перестать раз за разом реализовывать одни и те же алгоритмы и паттерны. Чтобы ты кнопочку нажал и, «вжух!», магия произошла. Снижение затрат на обучение, снижение затрат на реализацию. В этом как бы весь смысл, чтобы можно было нанять человека, который не знает алгоритмов и ООП, который бы смог приносить прибыль компании.
То есть, с точки зрения компании, даже лучше, если человек заточен под какой-то один инструмент. Его чек от этого можно смело сокращать.
Правда, я хоть и понимаю все это, но все же хочу знать Computer Science как можно лучше, просто потому, что это определенно дает преимущество. В конечном счете, это просто увеличивает сумму чека и позволяет браться за те задачи, которые представляют интерес.
Для небольших компаний такой подход близок к оптимальному.
Но вот в том случае, если «головоломки» являются предметной областью, тут уж никуда не деться.
И мне эта статья если честно кажется высосанной из пальца.
Нет, возможно я пока чего-то не понимаю, но основная проблема сейчас не в недостатке информации. Я бы даже сказал, что порой приходится сталкиваться с избытком информации, и проблемой становится уже ее фильтрование. Вот как раз тут то и нужен наставник, чтобы упорядочить весь этот поток, и как минимум расставить приоритеты на изучение.
Другой проблемой для меня представляется отсутствие информации/курсов по workflow. Точнее даже не так, она есть, но ее приходится выуживать по крупицам, вместо того, чтобы оттачивать какой-то навык. И даже если ты посидел, подумал, и решил: «хм, надо написать тестовое приложение, и желательно что-то большее чем todo-лист», то для начала нужно понять, а что это собственно будет за приложение. И вот, ты перевоплощаешься в клиент-менеджера и начинаешь сам у себя собирать требования, потом каким-то образом (магия, не иначе), ты влезаешь в шкуру senior'а и проектируешь приложение, как минимум, чтобы вышел прототип, который бы потом не поплыл, дальше ты чуть-чуть пишешь код (не очень важно по классике или через agile), потом передаешь это самому себе в роли teamlead'а на review, и пытаешься понять: «а точно ты правильно разграничил ответственность классов», «а нельзя ли снизить осведомленность классов друг о друге», ах да, забыл, нужно еще проверить, насколько качественно ты выступил в роли QA перед написанием кода и хорошо ли твой код покрыт тестами.
То есть, я почти уверен, что такой путь имеет место быть, но мне кажется, что обычно junior'у половину из этого просто не доверят по финансовым соображениям, да и времени такое развитие займет очень много. Основной задачей для junior'а мне представляется написание максимально читаемого и в общем случае предельно тривиального кода, чтобы сам процесс написания таких вещей максимально быстро стал автоматизмом. Как только это произойдет, фокус внимания можно будет сместить на более «сложные» области. В этом случае человек будет воспринимать информацию, концепции и модели без того, чтобы буксовать на написании кода, по полчаса проводя в отладчике.
Опять таки, со скидкой на отсутствие у меня опыта, мне кажется, что для junior'а важнее научиться писать хороший код (желательно под уже существующую экосистему). Когда ты пытаешься учиться без наставника, вот честно, в общем объеме потраченного на это времени, написание кода занимает микроскопическую роль. Именно наставник занимается тем, что помогает адаптироваться к той или иной экосистеме. Порой не менее важно услышать что-то вроде: «забей, вот либа, которая решает эту проблему, а тут можно поставить костыль», чтобы не возиться неделю с тем, что либо сделано до тебя, либо никому не важное в принципе.
То есть, лично мне наставник нужен. Очень.
Ну а советы senior'ам… Больше похожи на советы средненьким мидлам, вы уж простите. Что-то мне подсказывает, что дядьки, способные рулить сложными проектами как-нибудь да найдут способ повысить свою квалификацию.
Ах, да, вот еще что, зря вы на себя наговариваете. Дело в том, что современные книги действительно и в десятки раз не так «глубоки» и фундаментальны, как издания прошлого века. Но вы уже обладаете многими из этих фундаментальных знаний, и это дает просто колоссальное преимущество перед неофитами. Вы себе даже не представляете, каково это, самостоятельно с нуля погружаться в профессию, когда среди сотен книг, единицы стоящие, но ты их не понимаешь потому что не хватает фундаментальных знаний, а остальными можно подтереться. Собрать цельную картину из «мозаики» очень трудно.
Ваше же состояние скорее характеризует общее снижение тонуса. Особенно, если вы выпадаете даже из разговоров с домочадцами. Если кратко, то тонус проявляется в способности организма длительное время испытывать напряжение, в том числе и вызванное стрессом или повышенным временем концентрации. Когда тонус падает (на самом деле нигде ничего не падает, но так говорят), то человек испытывает постоянную усталость, подавленность и теряет способность к концентрации. Опять таки, если упустить часть подробностей, то тонус, на физиологическом уровне, это колебания электрической энергии по нервным проводящим путям во всем теле. То есть, они как бы прогревают «машину» перед использованием. Эта электрическая энергия называется тональным током. Суть же в том, что с возрастом, особенно при малоподвижном образе жизни, проводимость этих путей снижается, и тонус падает. Как следствие, ухудшение самочувствия, снижение активности мозга и общий энергетический спад. Есть способы сократить влияние времени, например, оборудовать стоячее рабочее место, но решить эту проблему кардинально, раз и навсегда, помогает занятия статической гимнастикой. И не важно что вы выберете: йогу или пилатес. Важно то, что это позволит восстановится уже через пару месяцев регулярных занятий.
Итак, во-первых, не стоит делать то, что вы сами считаете бессмысленным, уверен, сотруднику с вашим опытом и квалификацией будут рады во многих компаниях, и во-вторых, старайтесь поддерживать себя в тонусе. Ну и пишите еще, вас было приятно читать.