Archive for August, 2009

Не давайте бензопилу детям.

Monday, August 31st, 2009

Тут мы пообсуждали localstorm мою статью о CopyPaste. Ну и пришли к выводу, что да CopyPaste бывает полезен, но скорее для профессионалов, в тот момент когда люди понимают зачем и как его использовать.

Ну и по ходу у нас вышло вот такое обсуждение:

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

localstorm>, у меня нет другого решения проблемы неопытных программистов, кроме как начать давать им реальные задачи, показывать, где они не правы и просить больше так не делать. :) Не станешь же думать, что вот, этот чувак не опытный, надо у него отобрать отвёртку и напильник, а то покалечит нашу систему :)

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

Сначала небольшая аналогия, а потом к делу. Представим себе, что у нас есть Linux машина и мы всем раздаем root права. И администратор говорит, ну что же поделаешь, что пользователи могут к черту все системы разнести, я приду починю, пожурю, объясню в следующий раз как надо и как не надо делать.

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

Так вот, я выступаю за то, чтобы разграничить права на использование инструментов, как разграничены права пользования в Linux. Условно говоря, главный программист может делать любые действия. Средний программист не имеет права изменения критических существующих интерфейсов и ядра системы. Младший программист не имеет правда добавления новых файлов, copypaste и т.п. Еще раз… Это всего лишь пример. У меня сейчас нет в кармане полного списка прав и как все разделить и разграничивать.

Естественно задача проблемного кода решается даже без введения ограничения на инструментарий путем review кода до сommit’а его в SVN. Но даже на этом уровне, получается, что доступ к более опасным tool’ам будет съедать время главного программиста, так как ему придется объяснять, что Вася, не бери бензопилу, не меняй интерфейсы в классах.

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

Да, кстати, localstorm пишет в своем ЖЖ о управление проектами, программировании и других IT радостях жизни. Рекомендую почитать – хорошие и взвешенные мысли.

P.S. В многих комментариях проскочила одна и та же мысль. Можно же откатиться по системе контроля, так что ничего страшного. Я согласен, что откат уменьшает в десятки раз нанесенный ущерб. Но! Пусть нам нужно скажем сделать какой-то модуль. Мы можем это сделать двумя методами – даем неопытному его дизайн, он его делает плохо, мы объясняем как делать хорошо, он переделывает. Или мы сначала объяняем как делать хорошо и он сразу делает хорошо. Второй путь по большему счету более эффективный (с точки зрения компании).  Замечу, “откатить” плохой дизайн мы можем мгновенно, но дизайн все равно придется второй раз делать.  Поэтому, когда мы заранее знаем где лежат грабли, имеет смысл действовать проактивно, то есть решать проблему ДО того, когда она стукнула тебя по голове.


Мера успеха.

Thursday, August 27th, 2009

Тема фактически не касается и бизнес и IT,  скорее она слегка о экономике. Ну и как обычно думал много, но толково сформулировать удается плохо.

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

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

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

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

С путешествиями все просто. Вася был в 50 странах, он крут нереально, а Петя не выезжал из родного города и поэтому он балбес. Ведь слух то не режет уже? Значит привыкли и стали привыкать к новым ценностям. Хотя, если вдуматься, то от того, что Вася был в 50 странах не так уж много меняется.

Важно другое, сейчас дорогим ресурсом стало время. Но просто временем мерятся не удобно. Представляете себе фразу – я вчера 3 часа ничего не делал. Та это херня, я вот вчера 5 часов ничего не делал. А вот отконвертированное во что-то модное (а-ля путешествия) уже гораздо удобней мерятся. По поводу того, что путешествия – это еще и денежные траты. Да, но ключевой параметр – именно время. Если вы скажете. что слетали на 1.5 дня Гаваи и потратили $10k, то вы будете выглядеть как новый русский (но из 20 века) – большая трата денег, малая времени. Если вы скажете, что вы год путешествовали по странам Азии и потратили  $5k, то вы сразу мощный и продвинутый товарищ из 21 века.

Теперь ко второй категории. Почему вы думаете вспухли все эти социальные сети? Только не говорите мне, что мои фотки реально хотят глядеть кучи незнакомых людей, которые знают только мой nick name и за три года общались со мной на две темы – погода и музыка. Ладно, черт с ним, если бы я высокой пышногрудой блондинкой, то по крайней мере был бы повод оправдания просмотра моих фоток. А так… это всего лишь критерий успешности – 1000 френдов на Facebook, 300 человек в ICQ, 200 номеров на сотовом. Этим самым вы показываете, что у вас много друзей, вы много общаетесь, а вывод…. у вас есть много времени на это. Конечно, этот вариант подешевле, чем путешествия. Так себе, скажем, офисный вариантик. Но, что уж поделать, сидим в офисах, все равно мерялка требует активности.

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

Вот такие вот мысли.

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

И ссылка дня – блог Сергея Серова “Техно-журнал”.

Почему создание продукта такое сложное?

Tuesday, August 25th, 2009

Ну, пока еще не начал, хочу упомянуть блог Романа Кононова о QAлификации.

На самом деле, статья – это мой вопрос вам. Как вы считаете, почему создание продукта такое сложное дело?

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

Что скажете по этому поводу?

Спасибо тем, кто на меня ссылается.

Monday, August 24th, 2009

Большое спасибо товащам, которые на меня ссылаются. Очень рекомендую их почитать :)

Макс Крайнов
Алексей Глазков. Проект “Эффективный человек
Илья Весенний. Привычка не думать
Сергей Мовчан. Мысли с самого низу
Алексей Лупан. QA – грамотно
Никита Кокшаров. Java-Bulldozer
Павел Корягин. Преступная Грань

Если вы ведете блог связанный с IT или бизнесом и хотите, чтобы я на вас сослался, просто пришлите мне ссылку на vronin at consultant.com.

Всем хорошего дня :)