From Novosibirsk, Russia? Our tiny company is looking for current or future rock-star developers.

September 27, 2007

Микрофишки

next_2005NeXT остался ночевать, дабы поработать допоздна над тестами к задаче. С утра включаем колонки, чтобы посмотреть ролик — из них дикая попсовая музыка.

Закрываем WinAMP. Музыка продолжается. Берем диспетчер задач и закрываем приложения. iTunesHelper — музыка продолжается. Googletalk — продолжается. Winampa, ShockDesktop, type32, iPodService, QTTask, rundll32 — продолжается.

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

* * *

Выход Vista подтвердил слухи о том, что Ктулху теперь живет в Редмонде.

* * *

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

public class RubyCallGraphKiller {
   public static RubyCallGraphKiller killme(int x, Object y, Object z) {
       return null;
   }
}

— Андрюша! Что это за класс?!
— ???… !!!!
— Ты точно ничего крепче ликера не пил, когда писал это?

Представьте себе ощущения: вот он файл, доказывающий потребление вами травы. Но травы-то не было. Или была?.. Реальность — штука тонкая.

September 26, 2007

Добейся результатов!

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

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

Небольшая история. Когда я перешел из 10-й гимназии в 84-й лицей, то сразу выиграл городские олимпиады по нескольким предметам. Естественно, за месяц научить чему-то особому не могли. Но зато успели сказать, что не поставят пять за семестр тем, кто не выйдет на областную олимпиаду. Успели сделать так, что приходить без победы было позором — и это имело огромное значение для результатов. По мере того, как люди добивались, от них требовали еще больше. Мне было стыдно поехать на Всероссийскую и вернуться без диплома.

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

Далее, в детстве я вполне справлялся с методом «учиться всему самому», от массы знаний про программирование до учебника высшей математики после пятого класса. Но есть проблема: книг было мало, интернета (у меня) даже близко не было, я не знал, что вообще нужно знать, и некому было мне это сказать. Всю мою жизнь бы изменили слова «Lotus Notes», произнесенные в контексте моих идей где-нибудь около 7-го класса. Заодно бы и рекомендацию прочесть все доступные книги по управлению IT-проектами и методологиям, а также пару дельных советов по тайм-менеджмету.

За сим довольно обо мне и постараемся обобщить этот опыт. (Обощать свой опыт — дело опасное, но, мне кажется, для умных людей он бы подошел.)

Как учить человека? Дайте ему реальную сложную задачу, срок и специалиста (мастера), который может контролировать прогресс / результат и отвечать на нетривиальные вопросы — вопросы, которые не найдешь в доступных источниках. Действительно помогите ему организовать свое время — например, наймите талантливого project manager'а.

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

Это применимо не только к профильным предметам. Если вам повезло учиться в хорошей школе, вас наверняка интересовало много разного; математика, физика, литература, история, английский — вот мой список. А заниматься надо пробовать вообще всем.

В школах (да и университетах) действительно заставляют заниматься всем. Но.

Первое: не дают бросить, когда понимаешь, что тебе хватит. Умному программисту интересна и история, и география, и он с удовольствием в них окунётся. А когда он решит, что узнал достаточно, нужно дать ему забыть о существовании такого предмета.

Второе: неадекватно управляют временем людей. Управление временем и проектами — сложный практический навык. Глупо ожидать, что школьники это умеют — а потому им нужна в этой области активная помощь. Возможно, project / time management следует сделать отдельным предметом. И в любом случае переключать человека между задачами — очевидная грубая ошибка в управлении. Предметы не могут чередоваться иначе, как хотя бы месячными погружениями в одно и то же дело.

Третье: мало требуют. Никакого погружения от простых задач не будет, человеку не хватит стимула глубоко копать, а в итоге он не получит удовольствия и гордости за себя, оправдывающих все старания. Задача должна казаться (неподготовленному человеку) почти неразрешимой, требовать освоения огромных объёмов информации и использования множества ресурсов, а также самых современных способов облегчения и автоматизации труда.

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

В нашем обществе людям позволено тратить время на пустые разговоры, гулянки, проделки, просмотр фильмов and whatnot, потом еще и называя это сладким словом «студенчество», видимо, втайне желая продолжать пинать балду всю жизнь. В такой ситуации нет стимула рискнуть, бросить всё и пытаться добиться результатов в каком-то одном деле. А должно быть совсем наоборот — стыдно в 18 еще не сделать чего-нибудь грандиозного.

Итак. Добейтесь результатов. Get things done. Go away and do it fucking now.