Archive for the ‘Образование’ Category

Как быстро подтянуть разработчиков?

Wednesday, April 9th, 2008

Что-то никак не хватает времени написать полноценную статью. Надеюсь, завтра этим займусь.

Так что, просто выкладываю совсем необработанные раздумия.

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

Как по мне, правильный ответ - никак. Быстро это сделать не удастся. Можно только, медленно и постепенно и то, не все станут профами.

Начнем с того, что вероятнее всего, в группе будут две подгруппы - те у кого нет опыта (то, что лечиться) и те у кого нет мозга (лечется только хирургическим путем).

Ладно, оставим вторых. Сконцентрируемся на первых.

Самый лучший метод, который я знаю на сейчас, просто сидеть с людьми (а-ля XP программирование) и вместе решать задачи/обсуждать, помогать править их код и объяснять, почему и что делается. Но, лучший не значит самый простой (честно говоря забирает кучу времени).

Второе, что приходит в голову - давать правильные книги. Занимает меньше времени, но гораздо менее эффективно.

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

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

Редкие налеты в виде просмотра код раз в месяц, как по мне не дают фактически ничего. Это может помочь уже толковому программисту, который и так растет каждый день, чуть ускорить рост. Но, это явно не столкнет с места новичка.

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

P.S. Антон Наумов напомнил, один из достаточно эффективных, но жестоких методов. Новичка кидают на настоящий проект, с полной выкладкой и ответственностью. Собственно так я учился, когда после полтора года опыта оказался ведущим программистом, на достаточно крупном проекте (явно размером больше моих умений).

Как научиться учиться?

Friday, February 29th, 2008

Продолжая тематику образования и эффективности.

На заре своей карьеры, я очень неэффективно подходил к учебе. Мне давали задачу, которую я не знал как сделать, и я выискивал решение – быстро ее делал (за что был хвалим). Но обычно я не изучал ничего вокруг самой задачи, за что в результате был бит жизнью.

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

Кстати, описанная проблема это классическое проблема целевика (детальнее о то, что такое целевик можно почитать в статье «Цель vs Путь»)

Таким образом, я по молодости не подготавливал «базу» для решения следующих задач.

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

А) Сбор информации.

Б) Первичный анализ информации.

В) Сбор вопросов и контроль понимания.

Во время сбора информации, я просто ищу, все, до чего могу добраться на интересующую тему. Например, сегодня я разбирался с Bluetooth на WinMobile и соответственно добрался до общего описания, описания security, описания как бороться с этим security, Widcomm SDK для BT WinCE, Microsoft примеры в Platform Builder’е, ну и еще некоторого количества документов. Все это я просто пробегаю взглядом, чтобы оценить, интересующая меня это информация или нет. Дальше, я аккуратно складываю все в папочку (не читая) и продолжаю поиск. В тот момент, когда я вижу, что документов достаточно  где-то на день чтения, то я перехожу к второй стадии.

В момент первичного анализа информации, я бегло читаю текст (относясь к нему скорее как к художественному произведению, чем как к научному), пытаясь понять, но в случае застревания или не понимания, просто помечая непонятное и выписывая возникшие вопросы. Собственно говоря, я не хочу застревать и разбираться в этот момент, так как вероятнее всего в найденных мной документах информация будет дублироваться и вполне вероятно она где-то будет написана лучше. Например, в моем сегодняшнем случае, в одной статье по security было очень сложно описано, что происходит с ключами в момент pairing устройств. Добравшись до статьи, как бороться с BT security, я обнаружил гораздо более толковое описание.

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

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

Захлопнуть рот и слушать.

Wednesday, February 20th, 2008

Скажем вы хотите научиться боксировать. И вам нереально повезло и вас готов тренировать чемпион мира по боксу. Думаю, самый лучший метод, не трепаться, а слушать его каждое слово и выполнять каждую его команду. И если он скажет, прыгать через скакалку, то так и надо делать, а не отвечать «скакалка – для девчонок». Во первых, вероятнее всего вы так быстрее научитесь, а во вторых шансов получить от него по голове вне ринга (за такие фразы) будет значительно меньше.

Тоже самое, когда человек который зарабатывает значительно больше чем вы, что-то говорит – то лучше молчать и слушать.

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

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

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

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

Так, что если вы хотете, чему-то научиться в любой области (не обязательно в бизнесе или в IT) и вдруг встретили человека который знает в этой области больше чем вы – то лучше слушать, а не говорить. Но, перед тем как слушать, все же проверьте, что человек таки достиг высот в своей области, чтобы не учиться боксу у чемпиона мира по бегу.

Кстати, насчет того, кого нужно слушать в бизнесе. Я бы сказал, для наемных работников нужно слушать тех кто получает в 2 или больше раза. Они уже могут научить как получать больше в наемной работе, а в предпринимательстве нужно слушать тех, кто получает в 10 или больше раз (как по мне это как раз такой разрыв, которые определяет то, что человек уже знает в бизнесе больше).

И еще одна важная вещь, нужно слушать КАК зарабатывать, перенимая методики. Пытаться скопировать ГДЕ и НА ЧЕМ заработать не имеет смысла, так как бизнес ниши появляются и исчезают. А вот метод ведения бизнеса меняется гораздо медленнее и чаще всего остается актуальным.

Хитрый обман.

Tuesday, January 15th, 2008

Мне очень нравятся статьи Фрица Моргена. Он отлично пишет, снабжая все красочными примерами, и идеи у него правильные, но я ужасаюсь, когда он начинает прикручивать идеи к примерам.

Собственно, статья, будет не только о том как он пишет, а скорее солянкой сборной на тему логики и обмана.

Возьмем его последнюю статью «До характерного щелчка».  В статье идет речь о том, какое качество важно, чтобы стать миллионером.

Вот кусочек из нее:

“Вот представьте себе, Вы видите дверь. На двери написано — «закрыто». Вам нужно попасть за эту дверь. Что будете делать? Вариантов-то всего два.

Первый — вздохнуть, поцеловать замок, и понуро уйти прочь.”

А почему, собственно, варианта всего два? Я точно не помню, но как-то в психологии этот трюк называется, когда вам подставляют ложный выбор. Например: «Вы любите издеваться над детьми или женщинам?». Как вы понимаете правильный ответ (исключая случай, когда вы маньяк :) ) вообще не включен в вопрос.

 Кстати - это обыгрывалось в самом конце фильма Interstate 60 (если вы его не смотрели - очень рекомендую).

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

Вторая вещь, которая опять же связана с манипуляцией – это то, что многие люди плохо знают логику. Возьмем пример фразу «Если это туалет – то на нем написано туалет». Пользуюсь математическим аппаратом, можно сказать из A (это туалет) следует B (написано туалет). Многие не замечают, когда из такого утверждения пытаются построить неправильное утверждение - из B следует A (Если написано туалет – то это туалет) или другое неправильное из не A следует не Б (если это не туалет, то на не написано туалет).

Так вот, если даже первую фразу считать правильной (хотя зачастую и исходные данные могут быль ложными), то из нее не следует две других, которых я описал, так как Слово туалет может быть написано и на не туалетах.

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

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

Ну и соответственно в бизнесе, тоже лучше не ловиться на психологические ловушки (а-ля у вас есть всего два выбора). Большинство самых сложных проблем, которые у меня были в бизнесе в окончательном итоге решались совсем не в той плоскости в которой задавался вопрос. То-есть когда спрашивают – постучать или уйти (а вам очень нужно внутрь), то может быть стоит выбить дверь ногой или оставить записку на двери?

Ну, и немножко о том, что писал Фриц Морген в своей статье. Он говорил, что настойчивость – самое главное качество миллионера. Так, вот опять же к этой логике. Даже если все миллионеры настойчивы, то это еще не значит, что если вы настойчивы – то вы обязательно станете миллионером. (это с математической точки зрения), а с психологической – мне кажется, что миллионеры настойчивы не в таких вот выборах между стучать или не стучать, а именно в том, чтобы найти третье решение, лучше чем все перечисленные.