Экстраполяция IT
2.46K subscribers
89 photos
25 videos
305 links
Канал об IT в целом и о программировании в частности.

На канале объявлено военное положение и поэтому по вопросам рекламы пишите: @aratak, а деньги отправляйте сюда: https://send.monobank.ua/jar/97f7LwGQJF
加入频道
Цитата из рабочей переписки:

«Если бы это чёртово железо никогда не тормозило, я был бы офигенным архитектором».
Большое количество разнообразнейших учебных курсов, вроде «Выучить PHP за месяц» и повышенный спрос на такие курсы уже не дают просто отмалчиваться. Еще и масса предложений прорекламировать курсы в «Экстраполяции» постоянно не дают игнорировать эту тему. И я попытаюсь сэкономить пару сотен долларов тем, кто хочет войти в айти через курсы.

Этим постом сформулирую несколько утверждений. Как-нибудь потом продолжу с выводами.

1. Подавляющее большинство работы программиста состоит в нахождении и подбору нужной информации и построения новых умственных абстракций. Выучить все необходимое для работы просто невозможно. Изучать в первую очередь нужно механизм получения новых знаний. Учитесь учиться как бы.

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

3. Процесс обучения всегда основан на проведении аналогий с уже известными штуками. И у каждого процесс подбора аналогий сильно индивидуален. Все, что в состоянии сделать учитель — это навязать свои аналогии.

4. Некий базовый набор знаний все-таки получить можно, но он настолько фундаментален, что легко учится самостоятельно. Гит, основы юникса, алгоритмизация, немного математики. Плюс ещё некие основы для конкретной профессии. В веб-программировании, например, нужно понимать html, css, http и все такое прочее.

#экстраакадемия
Никто и ни при каких обстоятельствах не сможет дать оценку проекту даже по тщательнейшему описанию. А вот клиенты при первом общении в аутсорсе, как правило, хотят именно этого. Типа, «расскажите сколько времени и денег нужно, чтобы сделать вот это и вот так».

Да, да, все мы тут эстеты и презираем аутсорс. У всех у нас блестящая репутация и клиенты очередями стоят, чтобы мы им что-то так уж и быть поразрабатывали и можно перебирать. Но давайте на секундочку представим себе невероятную ситуацию первого контакта с потенциальным клиентом. Есть вот такой себе абстрактный клиент с вполне неабстрактными идеями, макетами и спецификациями. Вас он не знает, слоганам на лэндинге не верит, а интернет-отзывы читает с осторожностью. Да и весь его прошлый опыт вопит о том, что все разработчики тупы, как пробка, работают медленно, сроки срывают и обещаний не выполняют. Такой вот теоретический клиент и ситуация по-слепаковски чисто гипотетическая.

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

1. О цене речь не идет. Она есть и как бы устраивает и вас и их и аргументом в споре быть не может.
2. Отзывам ваших предыдущих клиентов верить клиент не будет.
3. Портфолио у вас впечатляющее, но аргументом клиенту оно не зайдет.
4. Как бы доверять вам, клиент доверяет, но крайне осторожно.
5. Послать куда подальше клиента нельзя, таки надо его убеждать.

Как всегда, хочется ваших решений и ваших стратегий. Пишите мне личным сообщением (@aratak), только не забывайте тег добавлять #экстрасейлз, чтобы потом я все эти сообщения нашел. Все посты по этой теме в «Экстраполяции» почитать можно с тегом #экстрасейлз
Ребята, воскресенье — хорошее время для обратной связи. Следующими сообщениями я задам несколько вопросов со смайликами вместо ответов. Даже если вы обычно не ставите смайлики, то, прошу вас, не поленитесь в этот раз. Чмоки.

Ну, и смайлы в этом сообщении относятся к самому процессу опроса. Ничего, если периодически будут опросы (⭐️)? Не нравятся опросы, но пару раз можно (😕)? Будут ещё соцопросы — отпишусь к чертям (🤮)?
Лонгриды или коротенькие твиты?
Демагогия с философией (🤔), шутки с афоризмами (😂), новости и ссылки (🌎) или практические советы (👨‍🔧)?
Поэкспериментировать с разными форматами? Видеоподкаст там, аудиоподкаст.
Только около программирования или разбавлять всяким непрограммированием?
Стòит ли добавить рекламу?
 Ребята, на каждый пост в экстраполяции у вас наверняка есть свое мнение. Буду несказанно рад, если личным сообщением вы будете писать мне то, что думаете по поводу того или иного поста. Все хорошее будет обязательно опубликовано.


Хорошие курсы дают задачи на которых ты учишься. Учишься решать задачи. Иногда типичные задачи и часто типичными подходами. На хороших курсах не навязывают подходы но объясняют какие лучше. И инструмент решения - тот же php или ruby. Плохие курсы учат языку. Хорошие - решать задачи.

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

(#экстраакадемия от подписчика, поддержите лайком, чтобы писал еще, клево же пишет!)
Итак, подошло к концу голосование и вот несколько мыслей по этому поводу:

1. Уж не знаю что сделать с аудио-видео, но я попробую в качестве эксперимента. Только не судите строго, это будут эксперименты.

2. Приятно удивлён тому, что вам хочется лонгридов. Ну как «лонгридов», особых телеграмовских лонгридов, который просто текст на несколько абзацев, а не 250 символов.

3. С практическими советами непонятнее всего. Вроде бы понятно, что хочется мяса, но у нас тут комьюнити исповедует разные конфессии. Не о джаваскрипте же рассказывать? В общем, к сведению принято, но скатываться в узкую специализацию не хочется. Наверное, проведу опрос ещё один на эту тему.

4. Что касается рекламы, добавил я этот пункт ради хохмы и хотел увидеть пару сообщений в личку, вроде «А! Ты же уверенно заявлял, что рекламы не будет! Дизлайк-отписка!». И, удивительно, таких сообщений нет, а почти половина проголосовавших совершенно не против рекламы. Планов зарабатывать на рекламе в канале все ещё нет, но подумать как использовать рекламу по-другому же можно? Пришлите мне личным сообщением (@aratak) идеи как можно использовать рекламу, если у вас есть мысли по этому поводу. Мне пока только приходит в голову идея розыгрыша вознаграждения за рекламу среди тех, кто по ней кликнул :-)

5. Из непрограммирования я планирую рассказывать немного внутренней кухни проектов, над которыми я работаю. Уж не знаю в какой форме это будет, но точно без философствований и выводов.

6. Уж не знаю как вам, но мне очень хочется видеть больше постов от Димы и Андрея, которые уже публиковались в Экстраполяции неоднократно. Поддержите лайком и Диму и Андрея, пожалуйста.

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

(#экстрасейлз от подписчиков)
Еще один #экстрасейлз от подписчика.

Убеждение клиента что необходимо работать с тобой и ты нормальный, четкий пацан и все вот это вот, как правило, не имеет окупаемости в плане «затраты на весь этот танец с бубнами и результирующая выгода в сухом остатке». Предоставляешь клиенту всю информацию которая может быть ему интересна и дальше либо четко заданный вопрос в какие даты вы встречаетесь по поводу сотрудничества и детали сопутствующие.

Или ты просто забываешь об этом клиенте и дальше ищешь нового. Из моего опыта работы фрилансеров — все клевые проекты и клиенты не нуждались в убеждении что им нужно со мной работать. Быстрее найти просто другого клиента, который будет ближе к делу, чем ломающаяся девица.
Сегодня продолжаем цикл постов на тему аргументов, которые нужно говорить новому клиенту постом от подписчика. Смотрите начало по тегу #экстрасейлз.

Итак, по словам подписчика «Экстраполяции» Павла нужно:

1. Дополнить отзывы нормальным описанием как именно мы работали с этим клиентом, какие методы использовали и почему они помогли.
2. Сделать с клиентом совместную двухдневную стратегическую работу. Прям вместе с ним определить, что за проблему он решает, как проблема проявляется, кого она затрагивает. Еще определить как клиент поймёт, что проблема решена и как будет выглядеть первая попытка ее решения.
3. Вместо громких рассказов о том, что «мы все из себя аджайл и работаем по скраму» простым языком объяснять, что поставлять мы будем помалу, но часто и сразу работающее, а самого клиента постоянно привлекать к обсуждению приоритетов, требований и результата.
4. Предложить контракт, в котором платежи будут завязаны на вот эти вот мелкие поставки: если мы определили цикл в две недели, привлекаем клиента к планированию в начале, координации в процессе и приемке в конце, то оплата идёт по результатам приемки. Если не успели, то оплаты не будет, пока не осилим.
Давайте затронем одну из самых животрепещущих тем айти, которые не связаны напрямую с программированием. Я имею ввиду рекрутинг. Тема обширная, и сказать есть много чего, так что все вместе почитать можно по тегу #экстрарекрутинг (блин, эта приставка «экстра» надоела даже мне, но что поделать, уникальность тегов и все такое).

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

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

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

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

Давайте «китайской комнатой» назовём некую способность человека правдоподобно общаться на заданную тему совершенно в ней не разбираясь. Если честно, я даже не понимаю порицание ли это рекрутерам в айти или комплимент.
Два шага назад и один вперед.

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

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

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

#китайскаякомната
Обратная сторона рекрутинга. Оказывается (внезапно!), что основная масса разработчиков достаточно умна, чтобы говорить о технологиях, выражать своё мнение, спорить и даже делать доклады, совершенно не разбираясь в предмете. Более того, обычное программирование в большинстве своём поощряет именно такой стиль работы.

«Энтерпрайз — это написание логики сепулек. Я не понимаю что это за сепульки, но мне уже понятны операции на сепульках, в каких таблицах сепульки локализованы, какие у них есть свойства, я даже уже знаю как создать сепульку через юай».

#китайскаякомната
Собеседование на работу очень сильно похоже на первое свидание. И как на любом свидании, развиваться оно может по трём сценариям.

1. Когда очень сильно надо работодателю, а работовзятель перебирает ухажёров и выбирает лучшего. Тогда он выбирает себе покровителя, у кого больше денег, интереснее жизнь и круче гаджеты.

2. Когда кандидатов много и работодатель устраивает конкурс, вроде «а можно всех посмотреть» или «всем спасибо, у кого рост ниже 185 и грудь меньше третьего».

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

Побывав неоднократно по обе стороны баррикад, могу сказать, что первое, что нужно выяснять на собеседовании — это какой стратегии придерживается оппонент и решить стоит ли вообще дальше продолжать диалог. Иначе может выйти конфуз.

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

#экстрарекрутинг