Обучение машины

Обучение машины

fl0pzz

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


Основная часть моего обучения - практика, каждодневная практика:

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

Почему я это делаю? И если решение задач по работе это очевидно, то что насчет следующих пунктов?

Задачи в чатах

Обычно не содержат сложной логики, скорее это задачки на механику, на знаниве JS. Cпрашивающий уже определил в чем затык, сагрегировал информацию и предоставил вам в виде вопроса: вам не нужно думать как и куда это встраивать, вам просто нужно решить задачку, ну и, заодно, посмотреть на решения других, таким образом на куче мелких задач я расширю свое пространство возможных решений, фактически потратив 10-15 минут (это очень дешево). Чтобы это продолжало быть дешевым, в чате, где я модерирую, я караю за код в сообщениях или в скринах - любой желающий должен иметь возможность поковырять в песочнице, не тратя время на копипасту.

Ответы в личке

Почему спрашивают и почему я отвечаю? Есть же чаты? Чаще всего это связано с тем, что в чате все пишут одновременно, у каждого своя проблема, свои решения, этот хаос мешает помочь человеку с большой, комплексной проблемой. Спрашивающий еще не до конца может ее сформулировать, поэтому поиск проблемы это диалог. Еще одна возможная причина - NDA, выкладывать кусок кода в чат с 1к народу - ну такое.

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

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

Так что, если вы решили что-то спросить у меня в личке, пожалуйста, оформляйте код по человечеки в песочнице или каком-нибудь gist.github.com.

Чтение сорсов

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

  • Научиться правильному именованию переменных и функций
  • Архитектуре приложения

И самое важное

Даже если не знаете ответ на вопрос, не знаете как сделать, но есть хотябы идеи - гуглите, серьезно, гуглите, гуглите! ГУГЛИТЕ!

Report Page