Три важных «Невозможно».

Февраль 27th, 2008

Невозможно управлять тем, что нельзя измерить.

Невозможно понять то, модель чего нельзя описать.

Невозможно решить проблему, которую нельзя сформулировать.

Работать 8 часов вредно.

Февраль 27th, 2008

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

В чем тут кроется проблема?

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

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

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

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

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

В определенный момент, благодаря любимой жене, я обнаружил, что все сложные проблемы я решаю обычно, когда «отпускаю» мысль о проблемах и не загоняю себя по 11 часов. Получается, что работая 6 рабочих часов в день (и имея в результате 8 часов нагрузки на мозг) моя эффективность становится намного выше, чем в 11 часовом марафоне.

Решаем нерешаемые проблемы.

Февраль 25th, 2008

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

Вот некоторые мои характеристики:

— у меня плохая память (API на память я не помню)

— код чаще всего я пишу не слишком аккуратно

— архитектуру, конечно пытаюсь поддерживать, но тоже нельзя сказать, что я великий архитектор

— языки программирования (например тот же C++ на котором постоянно пишу) знаю весьма поверхностно

— техническую документацию читать не люблю

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

Итак, открывает секреты (повышая тем самым себе конкуренцию):

А) Я глубоко убежден, что нерешаемых задач нету. В тот момент, когда даже хорошие программисты бросают задачу с фразой: “Это сделать нереально”. Я продолжаю идти вперед и чаще всего мне таки нахальством/упорством удается ее добить.

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

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

Б) Бывают задачи, которые требуют для решения слишком большого количества времени/ресурсов и т.п.

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

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

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

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

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

P.S. Я сечас всячески пытаюсь перенести эту область своих умений в бизнес, но похоже это не так просто как казалось изначально, что только придает прелести этой задаче 😉

Еще одна причина ненавидеть глупых IT’шников.

Февраль 22nd, 2008

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

Теперь вернемся к глупым IT’шникам (особенно это относится к менеджерам). У нас есть проект и его положение мы видим на карте, есть точка, куда мы хотим передвинуть этот проект. Менеджер (хотя это может быть и программист или тестировщих) рисует прямую между этими двумя точками и говорит: «Господи, да тут и делать нечего.  Расстояние всего-то три шага». Проблема заключается в том, что ни болота, ни горы на карте, которую все пользуют не нанесены (так как территория не изведана). И получается, что расстояние то три шага, но между двумя точками может быть непреодолимая бетонная стена двадцати метров высотой и длинной десять километров.

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

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

Вот такая вот мысля.

Эх… А ведь были времена, я сам на коне, с шашкой на голо — пытался пробить стену головой 🙂 Молодость…молодость 😉