Посмотрел Inception.

Август 29th, 2010

Посмотрел Inception и он мне понравился, хороший такой крышеснимательный фильм. Я только не понял/недопонял несколько вещей. Так что, прошу помощь зала в растолковании:

1) Как я понял главный герой с его женой жили в Limbo и там строили свой город мечты. И как я понимаю, это самый нижний уровень сна. Но с другой стороны, вроде он своей жене закинул идею, что мир нереальный. А с третьей стороны, вроде чтобы закинуть идею, нужно пойти в сон еще большей вложенности. Собственно вопрос, если Limbo самый глубокий уровень, то как он занырнул еще глубже, чтобы вложить идею? Или я что-то недопонял.

2) А зачем главный герой остался в Limbo ища своего работодателя? Если вынырнуть оттуда они все равно не могут, пока их не разбудят в реальности, то он просто должен был там застрять на X лет. Или и тут я что-то недопонял.

P.S. Если фильм вам очень понравился, то вот тут его исходники на C (http://github.com/karthick18/inception).

Эклеры по программистски.

Август 29th, 2010

В одной прошлой статье я поспорил с Chris насчет того, что я не бестолочь и что я умею и люблю учиться. И по этому спору я должен был научиться делать эклеры.

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

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

Несколько пунктов по поводу проведенного эксперимента

а) Не так страшен черт, как его рисуют.
б) Признаюсь, в пару мест жена мне подсказала (в основном по поводу крема).
в) В рецептах есть несколько вещей, которые меня как технаря выбивают из колеи. Например «немножко посолить», «помешать и снять с огня», «если тесто слишком жидкое….». Не понятно, сколько это «немножко», сколько времени нужно «помешать и снять с огня» и что конкретно понимается под «жидкое» (жидкое, как вода, жидкое как сгущенное молоко или жидкое как смола)?
г) Эклеры удались вкусные (и тесто и крем) именно такие, как я их помню, хотя слегка невзрачные.
д) Очень важно иметь хорошие инструменты (например в случае эклеров — кондитерские мешки и венчик).
е) Все компоненты очень простые и дешевые — основные: яйца, молоко, масло, мука, сахар, соль; дополнительные — ваниль, шоколад. И занимает приготовление порядка 1.5 часа, причем где-то 1 час из них это то, когда тесто стоит в духовке и пока нужно ждать, чтобы крем остыл, так что реальной работы на пол часа. (Это намек, на то, что вы можете рискнуть и попробовать их сделать тоже).

Ну и ключевой пункт нашей программы.

Человек, который хочет чему-то научиться и не боится это делать — всегда научится.

P.S. На следующие выходные запланирован французский грибной суп. 🙂

По поводу рабочего графика программистов.

Август 29th, 2010

Один из читателей блога задал вопрос:

Как лучше всего распределять время и рабочий график программиста?

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

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

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

Как я понимаю, под «распределять время/рабочий график» имелось в виду «когда, где и как» работать.

Разобью вопрос на несколько частей.

1) Есть ли единый (и самый лучший) метод работы, который подойдет всем?
2) Какие методы хороши для каких видов работы?
3) Куда послать директора или что нужно фирме?
4) Творить или не творить?

Итак пойдем по пунктам.

1) Есть ли единый (и самый лучший) метод работы, который подойдет всем?

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

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

2) Какие методы хороши для каких видов работы?

Я бы сказал, что есть два типа программистской работы: требующая концентрации и требующая коммуникации. Решение сложный задач, добавление большего количество «мяса» на скелет, отладка — требует концентрации. Создание архитектуры, работа с QC, интеграция, планирование требует коммуникации.

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

3) Куда послать директора или что нужно фирме?

Если вы работаете в обстановке, которая не подходит для вашего типа деятельности, то это может обозначать несколько вещей
Категория недопонимание:
— вы делаете не тот тип деятельности который от вас на самом деле от вас ожидали (например, вы — team lead и должны со всеми общаться, а вы хотите на неделю запереться дома и активно педалить код)
— просто ваше начальство не осознает, что вы могли бы быть более продуктивным работая по другому.

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

Категория несоответствие:
— вы осознаете, что от вас хотят (например сосредоточение на коде), но вы хотите совсем другого (team leader’ство с постепенным переходом в менеджеры)
— вашей компании может не быть прямой выгоды от того, что вы работаете эффективно (например для тех компаний которые берут внешние проекты c time&material оплатой, может складываться ситуации, когда выгодно чтобы программист делал как можно дольше (естественно удерживая это ниже уровня, когда заказчик уйдет)

Это уже слегка похуже. Но, в целом, опять же, можно пойти к начальству и попытаться найти какое-то разумное решение. Хотя тут оно уже не всегда возможно.

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

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

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

А почему люди боятся учиться?

Август 21st, 2010

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

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

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

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