January 20th, 2017

work

Best psychoanalytic practic

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

Мой мозг не вдохновляется тем, что неосязаемо, и не дает результаты сразу. Поэтому мне было очень трудно учиться и меняться. Текущее состояние - казалось вечным и неизменным.

Но и практика, и книги показывают, что это не так. А ощущение "ЗАТЫКА" - это просто нормальный сигнал о том, что работа мозга идет. Это не сигнал "ВПЕРЕДИ СТЕНА, ХЕНДЕ ХОХ!!!". Это нормальная ситуация в точных и технических дисциплинах. Об этом я прочитал позже в такой интересной книге :



Это книга про обучение математике, но базовые советы можно применять и в других дисциплинах. Ощущение беспросветного затыка, пишет автор, это нормальная ситуация, что мозг заработал. Скоро будет решение. Оно будет быстрее, чем ощущает сознание (сознание часто ощущает, что решение не придет никогда). Но если вы решаете не задачу века, а что-то банальное, что уже решили тысячи и миллионы - решение неизбежно. Главное, не бросать.

Так вот работа, на которой меня заставляли решать задачи, вызывавшие у меня раньше ощущение безнадежности (собственно, это началось уже на этапе собеседований, когда я выпрашивал тестовые задания), оказалась для меня самым крутым психоаналитиком. Психоаналитиком, которые еще и платил мне деньги. Best psychoanalytic practic ever!!!

Как научиться работать? Практиковаться с задачами, вызывающими ощущение ЗАТЫКА. До той степени, пока мозг вдруг не свяжет затык с неизбежным решение, и не сделает его положительным признаком, вызывающим теперь азарт, а не уныние. По моим наблюдениям, это заняло у меня примерно 5 месяцев. Но это были месяцы, когда работал по 8 часов в день. При самостоятельном обучении и прохладном отношении такая мутация может занять больше времени.
work

Паттерны в программировании

PS: наверное, одна из самых понятных книг про паттерны в программировании

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

GetBigImage.jpg

PPS: базовая причина паттернов - необходимость легких изменений. Если изменения не предполагаются или программа очень коротка - можно забить.

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

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