Рождественское программистское интервью



Представляю вашему вниманию вторую и последнюю часть большого программистского интервью. Не все успели ответить перед новым годом, а кого-то я нашел только после нового года, так что читайте интервью еще 15-ти программистов под катом.
В двух этих интервью мне удалось собрать ответы 33 программистов!
Я нашел много новых интересных блогов для себя и получил удовольствие от общения с интересными людьми.
Надеюсь, вы тоже узнали что-то новое из этих интервью и уж, по крайней мере, нашли несколько новых профессиональных блогов почитать. Ибо программист третьего уровня должен их читать для того, чтобы развиваться. :)

0. Назовите самый интересный проект, в котором Вы участвовали, и в какой роли?

[info]caml_programmer:
Пока работаю программистом в сфере информационной безопасности. Разрабатываем системы контроля http и smtp трафика. В основном это продукты для корпораций и крупных компаний. В целом достаточно интересно, так как довольно много нетривиальных проблем приходится решать.

[info]raydac:
жизнь вполне можно назвать программным проектом, я в нем все еще участвую на правах программы, так как пишу это сообщение.. если говорить о всяких относительно временных субпроектах, то там мелочь какая то, ничего такого, что казавшись большим в процессе разработки, не вспоминалось бы через год как мелочь

[info]mr_aleph:
Excelsior JET, разработчик

gogabr:
Программа обработки энцефалограмм.

[info]alexclear:
Самый интересный, боюсь, не назову, тяжело будет выбрать. Большинство проектов были интересные.
Последний интересный проект - smape.com и его превращение в mobile.mail.ru, я играю роль технического руководителя этого проекта и смежных с ним.

[info]lionet:
Мой самый интересный проект сейчас слушает вечернюю сказку!

[info]chemodax:
Не знаю насколько я подходящий человек для такого интервью: последние два года я co-founder небольшого стартапа (VisualSVN). И несмотря на то что мы все программируем, очень много времени уходит на разные управленческие решения и прочее. О чем недавно даже написал немного грустный пост: http://chemodax.livejournal.com/207281.html
И всё же: VisualSVN (http://www.vsualsvn.com), co-founder. Committer Subversion.
Alex Ott:
У меня их было два практически одновременно, с совершенно разной тематикой.
- первый — разработка продуктов семейства "Дозор-Джет" (сначала как разработчик, потом как руководитель разработки), в рамках которых часто приходилось решать нестандартные задачи по детектированию и обработке данных. В рамках этого проекта, совместно с другими разработчиками было создано много решений, аналогов которым я до сих пор не вижу среди конкурирующих продуктов. Стоит отметить, что при разработке активно использовались функциональные языки программирования, что позволяло нам небольшой командой разрабатывать конкуретноспособные продукты.
- второй — разработка системы обработки платежей для Билайна (я входил в группу
архитекторов системы). Эта mission-critical система, что налогало соотвествующие
требования к ее надежности. Кроме того, система должна была взаимодействовать с
множеством сторонних систем что также сильно усложняло ее. Но это была очень хорошая возможность попробовать себя в совершенно новых областях (не только как программиста)
– разработка серверной и сетевой архитектуры, проектирование высоконагруженных баз
данных и т.п.
Второй проект начался для меня совершенно неожидано — меня попросили сходить на одно из первых совещаний по этому проекту вместо сотрудника, который ушел в отпуск. А за две недели я настолько вошел в проект, что выдергивать меня оттуда посчитали нецелесообразным :-)

[info]bopm:
Практически любой из проектов, которыми я занимаюсь последние годы был интересным по-своему. В том числе и по причине разных ролей, которые я занимал в этих проектах. Наиболее интенсивным по количеству нового опыта было сотрудничество с процессинговой компанией Chronopay, куда я пришел на позицию ведущего разработчика, а уходил с позиции руководителя подразделения R&D.

[info]grundik:
Самый интересный впереди :)
Из завершённых самый интересный - разработка системы тулзов, рекомендаций и фреймворков для автоматизации тестирования. Я там был руководителем группы, архитектором и разработчиком одной из подсистем. Самый интересный - потому что не было ограничений в технологиях и процессах, и проект был частично исследовательский (а это всегда мечта :) ).
Из тех вещей, которые общедоступны - это новая система migration/backup/restore в Parallels Plesk Panel 9.0, я там был (и есть) архитектор.

[info]yosefk:
Самопальный multi-core DSP, типа со спецификой компьютерного видения (выполнен в ASIC, 90nm). Учавствовал в роли прослойки, как обычно (писал симуляторы, спецификацию, тесты и все такое, а собственно RTL, компиляторы и прочее мясо почти не трогал). Официальное разделение полномочий было аморфное.

[info]_adept_:
Самый интересный проект - это тот, которым я занимаюсь в любой отдельно взятый момент времени. Конечно, параллельно с ним может идти два-три-пять не таких интересных :)
Самый-самый выбрать сложно. Если выбирать из тех, где я что-то программировал, и сортировать по сумме моих, то, наверное, это будет моя работа в UMC (которое нынче МТС Украина). Программирование для телекома - это очень часто сродни экстремальному спорту. Пишешь, на чем есть, а почти ничего нет, и тестировать зачастую негде или не на чем. При этом твоему коду гарантировано от 2 до 20 млн благодарных (или не очень - как напишешь) пользователей, а это сразу "поднимает планку".

[info]blacklion:
Текущий проект для меня всегда самый интересный. Если это становится не так — я меняю проект и/или место работы. Роль же у меня всегда одна — инженер-программист. Мне нравится кодировать. Но я всегда, опять же, выбираю такие проекты, что моя роль не сводится к простому кодированию по спецификациям. но и до архитектора ещё ни разу не дорастал.

Yury Yurevich:
Самый интересный - это конференция по Ruby и Python — RuPyRu. В роли организатора ;)

Omega:
Мой самый интересный проект длится уже 7 лет - это моя основная работа. Из фирмешки размером в 5 в человек мы выросли в компанию из сотни человек, разрабатывающую shareware.
За это время я успела поработать в роли программиста, ведущего программиста и т.д.
Все мои проекты были так или иначе связаны с работой с девайсами, системным программированием.
Например, в рамках одного, не мэйнстримого проекта, было даже разработано, с нуля, SDK для записи CD\DVD дисков под Windows CE (это та же ОС, что и Windows Wobile для КПК, только более общего названия). В этом проекте у меня была роль ведущего разработчика. Система используется в музыкальных киосках по назначению.
До нас такую систему не делал никто и Микрософт дал на нас ссылку в разделе "Рекомендуемые SDK для встроенных систем".
Сейчас это дело минувших дней, но проект запомнился своей необычностью.

 

1. Какие самые сложные программистские проблемы Вам приходилось решать в прошлом?

[info]caml_programmer:
Сложность - понятие растяжимое. Пока не понятно что и как, тогда и сложным кажется. А как разложишь всё на простые составляющие, объединенные общей целью, так и сложного ничего нет.
Наиболее интересно было реализовать систему автоматического определения языков и кодировок с возможностью автоматического до или переобучения.
Также мне понравился результат построения сборочной системы на основе современных git-репозиториев, где в качестве языка сценариев используется встроенный язык Scheme.

[info]raydac:
самая сложная программистская проблема была - когда меня наняли разработчиком на (в целом) незнакомую задачу, поставили условие, что я поставлю конкретную задачу в малознакомой проблемной области, подпишусь на кратчайшие сроки и наберу дешевую команду среди людей которые этим никогда не занимались, а после успешно реализую весь этот программный проект.. после презентации оного задания, работодатель и заказчик пожали при мне руки с вскриком "it’s a deal!", а я подумал - "а не дурак ли я?", так как возникло ощущение, что я пложу сущности

[info]mr_aleph:
Преодолённые сложности — сложностями не считаются и не вспоминаются =) Вспоминаются всякие комичные, например, случай с отладкой отладчика отладчиком, запущенным под третим отладчиком. Вообще для меня самое сложное это рутинные схватки с мхом, которым обрастают любые приложения (неважно открытые или проприентарные) в процессе развития.

gogabr:
Выловил как-то раз забавного таракана в программе на Scheme (не моей). В интерпретируемом режиме аргументы у функции вычислялись слева направо, и все работало, а при компиляции через C порядок был обратным, и все ломалось. Не особенно сложно, но красиво.

[info]alexclear:
Наверное, самая сложная проблема, которую мне и по сей день приходится решать - это проблема эффективного переключения между двумя-тремя не связанными между собой большими задачами. Я до сих пор не научился делать это так хорошо, как мне хотелось бы.

[info]lionet:
Алгоритмически сложные проблемы не обязательно являются программистски-сложными. Среди последних могу выделить создание компилятора для ASN.1. Программистской сложностью было удерживать все значимые части ISO/ITU-T X.680+ стандартов в поле зрения и управлять сложностью проекта, ибо задача потребовала несколько лет работы и никогда целиком в человеческую память не умещалась.
Теперь с помощью этого проекта другие люди снимают информацию со спутников, управляют движением поездов и обеспечивают работу сотовой связи.

[info]chemodax:
Интеграция с Visual Studio и написание мини операционной системы для ARM процессора с нуля вместе с файловой системой.

Alex Ott:
В основном проблемы были алгоритмическими, когда требовалось придумать что-то новое и эффективное. Обычно этап программирования был достаточно прост, за исключением нескольких случаев, когда требовалась сильная оптимизация кода, вместе с требованиями к его переносимости между разными платформами.
Было несколько интересных проблем, связанных с детектированием различных видов данных, в том числе и спрятанных в других данных. Но эти задачи были решены путем введения дополнительных уровней абстракции и созданием domain specific языков.

[info]bopm:
Разработка кода, обслуживающего финансовые транзакции. Возможно не самая сложная технически задача, но точно самая нервная и держащая в постоянном напряжении работа. А постоянная проблема - поддерживать и развивать в себе те самые "хорошие привычки" которые делают из работы хорошего программиста лучший результат.

[info]grundik:
Как сделать дёшево, при этом не поломать то, что уже работает, и чтобы было расширяемо/майнтенабельно (see also http://grundik.livejournal.com/320313.html)
Вторая по сложности задача - урезать функциональность так, чтобы она влезла в имеющиеся ресурсы. На самом деле это сложнее, чем кажется :)
Из недельных сидений в дебаггере/трейсере вспоминаются исследования performance.
К сожалению, задач типа "придумать алгоритм, отличающий изображение кошки от изображения собаки" решать пока что не доводилось, поэтому и проблемы обычные :)

[info]yosefk:
К сожалению, самыми сложными с большим отрывом были проблемы, порожденные собственной глупостью - оттуда и самая ненужно-геройская отладка, и килострочки выкинутого кода. В прошлом глупость подразделялась примерно на перфекционизм, излишне смелое отношение к осложнениям и увлечение метапрограммированием (более бескорыстное, чем следует). Из чего состоит моя глупость сейчас - естественно, не знаю.

[info]_adept_:
Ломание защиты игр на ZX Spectrum, где не было отладчика и возможности поставить breakpoint :)
А если серьезно, то "сложная проблема", это, как мне кажется, либо "надо прочитать кучу документации, существующего кода и нигде не зафиксированного фольклора предметной области, и сделать, чтобы работало" или "надо уложиться в кучу ограничений, и выкрутится, и сделать, чтобы работало". И то, и другое встречается по N раз в любом проекте. Что-то самое-самое выбрать не смогу.
Я считаю, что самая сложная решённая мною "программистская" проблема - это научиться подходить к программированию как к профессии, а не только как к любимому хобби.

[info]blacklion:
Хм… Даже не знаю. Если я их решил, значит они не были такими уж сложными? :) Обычно проблемы, занимающие максимум времени и нервов, в общем-то и не программистские — а, скорее, связаны с плохой документацией или ошибками в тех API, которыми приходится пользоваться…

Yury Yurevich:
Не могу вспомнить.Могу более-менее вспомнить интересные задачки, глупые "затыки", кривые костыли, а вот чтобы сложные программисткие…

Omega:
Я не могу сказать, что была какая-то одна, самая сложная проблема. Скорее есть некоторые типичные для разработки такого рода софта сложности.
При работе с девайсами традиционной сложностью является отладка. Невозможность (в основном) пошаговой отладки и разнообразие реализаций одних и тех же протоколов в зависимости от конкретного производителя железки должны быть учтены на этапе проектирования.
При грамотном подходе к реализации проекта сложности такого рода становятся организационными вопросами - распределения работ в проекте, грамотного тестирования, подключения новых устройств.
Еще одна сложность связана с ростом проекта и изменением требований к уже существующему коду.
Например, есть код, который выполняет некие действия. Со временем жизнь подсказывает новые задачи, и хочется чтобы этот, уже имеющийся и рабочий код делал еще вот это, и вот то и еще эту небольшую, простую на вид, функциональность.
Сложность здесь заключается в том, чтобы во время перейти от версии 1.0 к версии 2.0 этого кода - создать грамотные интерфейсы и разнести функционал по разным модулям ДО того, как код окажется безнадежно превращен в набор затычек и заплаток. Если это сделать слишком рано - требования еще могут быть не до конца сформированы, а если слишком поздно - то код придется переписывать заново. Хорошим подспорьем может быть возможность предсказать дальнейшие требования на первом этапе, но тут тоже важно не "улететь в облака" и не сделать слишком абстрактную архитектуру, которая потенциально решает весь спектр задач, но на практике не существует.
В последнее врремя, важной для меня стала сложность делегирования. Если разработчик принимает решение, которое кажется мне не оптимальным, а то и просто неверным, бывает не просто отделить действительно принципиальные проблемы от "вкусовщины" и не скатится на уровень микроменеджмента. Тем не менее, если этого не сделать, то вместо разработчиков, реально заинтересованных в решении задачи вы будете работать с теми, кому наплевать на результат - "начальник сказал, я сделал". Ничего хуже для проекта придумать на мой взгляд нельзя.
Тем не менее задача эта тем сложнее, чем больше опыта в программировании у вас имеется.

 

10. В чем Вы черпаете вдохновение, помогающее Вам работать?

[info]caml_programmer:
Я обычно поступаю наоборот, делаю что мне нравится, а что не нравится - не делаю, так что работой это сложно назвать, соответственно и вдохновение ни к чему.

[info]raydac:
Я питаю вдохновение в том, что так как сам я мало отличаюсь от вычислительной машины, значит я могу написать программу которая однажды будет работать вместо меня

[info]mr_aleph:
В музыке. Причем для разных задач у меня разные мелодии: отлаживать и размышлять предпочитаю под классику, писать код под ритмичный тунц-тунц и рок.

gogabr:
Часто поковыряться в программе — способ отвлечься от другой работы.

[info]alexclear:
Чаще всего - в музыке.

[info]lionet:
Сначала мне было занятно наблюдать над тем как из моих рук выходят сложные системы, работающие сами по себе — получать чистое удовлетворение творца.
Затем думал про то что хочется, метафорически, надрать кому-то задницу (kick some ass). Ещё тот мотиватор и вдохновитель.
Теперь черпаю вдохновение в том что я делаю что-то, чем хотят пользоваться люди, и что людям помогает моя работа. Making a difference.

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

Alex Ott:
В поиске решений интересных задач. Я постоянно ищу интересные проблемы, часто не относящиеся напрямую к работе, и пытаюсь вычленить какую-нибудь интересную задачу и решить ее. Интересные задачи часто встречаются и на работе, и это хорошо, потому-что иначе закисаешь.

[info]bopm:
В желании своей работой улучшать инфраструктуру, создавать решения которые делают жизнь проще.

[info]grundik:
Сложный вопрос. Я не считаю, что профессия разработчика софта является искусством. По-моему это ремесло в математическом смысле - то есть надо просто сесть, проанализировать и принять решение, адекватное задаче. Вдохновения тут надо не больше, чем сантехнику. Гораздо большее значение имеет опыт, знания, занудство, терпение, строение мозга, пропорции адекватности/перфекционизма, умение общаться с людьми и прочие земные факторы типа телепатии.
Чтобы мозг работал хорошо, я пью нормальный зелёный чай, иногда мате.
Чтобы не сойти с ума, я занимаюсь вещами, не связанными с IT (фотография, ножи).

[info]yosefk:
В страданиях пользователей. То есть в тех страданиях, которые моими усилиями должны прекратиться, а не в тех, которые мои усилия должны причинить, и нечего усмехаться - можно и в последнем черпать вдохновение на худой конец.

[info]_adept_:
Надо уметь увидеть в задаче интересное, и с интересом и вдохновением ее решить. Иначе (любая) работа превращается в страшную рутину.

[info]blacklion:
В том, что мне не скучно.

Yury Yurevich:
Если обобщить, наверное в тщеславии. А потом уже в других делах, не связанных с программированием.

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

 

11. Что должен делать программист каждый день, чтобы развиваться?

[info]caml_programmer:
Думаю, каждый день не обязательно. Да и нет такого процесса "развитие программиста", "развитие человека" - есть, а "программиста" - нету. Так что ответ напрашивается сам собой.

[info]raydac:
Ничего не должен, развитие - нормальное состояние программиста

[info]mr_aleph:
Он должен любопытствовать и экспериментировать. Я вообще считаю любопытство и желание своими руками поставить опыт самым главными качествами программиста. Если программист предпочитает лезть на форум или ЖЖ и спрашивать в тех случаях, когда бытрее поставить эксперимент на коленке — то ИМХО это не программист.

gogabr:
Смотреть на работу тех, кто лучше.

[info]alexclear:
Читать.

[info]lionet:
Учиться управлять своей ежедневной мотивацией и целеполаганием. Рефлексия. Есть те, которым это не нужно, но когда они закончат школу, знание о структуре собственной мотивации и умение на неё воздействовать может дать больше результатов, чем лучшая половина прочитанных книжек по программированию.

[info]chemodax:
В первую очередь думать о продукте и о тех кто этим продуктом пользуется и платит за него.
Программирование - это лишь средство, поэтому надо выходить за его рамки чтобы понять цели.
Ну и еще читать хорошие блоги и общаться с умными людьми которые много добились. По возможности не работать с людьми слабее Вас. Ни в коем случае не идти работать в непрофильную (не программисткую) компанию или outsourcing - это, имхо, верный путь для деградации.

Alex Ott:
Эксперементировать, постоянно изучать что-то новое, даже напрямую не относящееся к вашему текущему роду деятельности — никогда не знаешь что пригодится, часто становятся нужны самые разнообразные знания, и это становится конкуретным преимуществом перед другими.
Я всегда читал кучи книг/статей/блогов и т.п. Кроме специализированных блогов на интересующие меня темы (список постоянно обновляется — что-то добавляется, что-то удаляется), мониторю Slashdot/OsNews/Reddit и еще несколько аналогичных сайтов, например CiteSeer — это дает мне возможность не пропустить интересные темы.

[info]bopm:
Думать :) Для этого стоит читать блоги по специальности, книги, не стоять на месте в своем профессиональном развитии.

[info]grundik:
Решать текущие задачи хорошо.
Обычно это выливается в огромное количество прочитанных и проанализированных букв (в первую очередь для того, чтобы понять, что такое "хорошо").

[info]yosefk:
Я думаю, что в среднем люди гораздо лучше умеют писать код, который работает, чем код, который делает что-нибудь полезное. Про это можно съехидничать, что полезность в основном определяют желания других людей, а хороший программист обычно не сильно разбирается в людях, хе-хе. Но по-моему, дело, как это бывает пугающе часто, в хреновой системе образования, а именно, обычно людей учат писать код под четкую спецификацию, иногда до количества печатаемых пробелов. После чего человек код пишет хорошо, но привыкает либо совсем не интересоваться собственно функциональностью, либо делать все "обобщенно", чтоб "все было возможно" (правда, после некоторого процесса конфигурации, то есть, как правило, посмертно), либо еще как-то уходить от обязанности принимать решения - что делать и что не делать.
Почти всегда интересней не смотреть лишний раз в код, а смотреть на людей (ну и на себя в том числе) - что люди говорят, что они хотят и что они в конце концов делают. Тогда написанный код не попадет в помойную яму, а будет нести людям радость.

[info]_adept_:
Чтобы развиваться, достаточно не терять тяги к знаниям. Как она утоляется - дело сугубо индивидуальное (книги, блоги, участие в "перпендикулярных" твоим специализация проектах, irc/форумы, …). Обязательно надо общаться с другими "себе подобными". Лучше даже не в живую, а читая стати/блоги, ну, и самому что-то писать.

[info]blacklion:
Каждый день? Не знаю. Жить. А вообще, что бы развиваться надо просто быть любопытным и не давать себе скучать именно в программировании. Я могу точно сказать, что нужно делать, что бы НЕ развиваться: работать от звонка до звонка, радоваться “святой пятнице,” читать башорг когда по какой-то причине нет работы (все совпадения названий условны) и считать, что главное в работе — это зарплата.
Но опять же — я не утверждаю, что тот, кто развивается не устаёт (и не радуется пятнице) и не читает башорг. Просто, мне кажется, есть два подхода — когда для тебя программирование это всё ещё игра, и если проект скучный, то ты найдёшь чем себя развлечь тоже в программировании (какой-то open-source проект, или что-то своё экспериментальное, пусть и всего по 30-60 минут в неделю), или для тебя программирование — это такая фабрика для зарабатывания денег на жизнь и развлечения в выходные, и не более того.
Конечно в любом настоящем проекте дофига фабрики и деньги на выходные тоже нужны, это всё верно. Вопрос в том — видишь ты в своей работе только это, или тебе всё же интересно. Если тебе интересно — ты будешь открывать для себя что-то новое. И развиваться.

Yury Yurevich:
Не знаю. Для меня развиваться, искать что-то новое, познавать — это естественный позыв, мне не нужно что-то специальное делать :)

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

 

100. Что нового или интересного мы сможем услышать о Вас или Ваших проектах в ближайшем будущем?

[info]caml_programmer:
На подходе хранилище для журналов активности с возможностью делать sql-подобные запросы, но только в виде сценариев, опять же, на языке Scheme. Основное отличие от реляционных баз - поколоночная запись на диск, так называемый inverted storage, хорошо подходящий для OLAP-запросов.
А сам я надеюсь скоро стану охотником и собственно начну полномасштабный отстрел диких зверьков. Может свой google-maps cache в связи с этим как-то доработаю, чтобы работал на смартфонах от OpenMoko.

[info]raydac:
у меня проекты узкоспециализированные, так что врядли что о них будет известно на широкой публике, остальное не в столь ближайшем будущем, будем надеяться что один из проектов однажды спросит - "а не интересовались ли им?"

[info]mr_aleph:
Sore wa Himitsu desu!
´
gogabr:
Перевод TaPL продвигается своим чередом. http://newstar.rinet.ru/~goga/tapl

[info]alexclear:
О нас последнее время постоянно кто-нибудь пишет, то "КоммерсантЪ", то "Роем.ру". Честно говоря, быть на виду не так легко, хотелось бы сделать передышку.

[info]lionet:
Рекламная пауза! :)
Никогда не знаешь какой из твоих проектов "выстрелит". Самые интересные проекты — не обязательно те, о которых доводится рассказывать или читать в новостях.

[info]chemodax:
К сожалению у нас достаточно строгий NDA, поэтому могу лишь сказать что оба наших продукта VisualSVN и VisualSVN Server будут еще качественее, проще, понятнее и удобнее для версионирования данных и исходных текстом для компаний любого размера.

Alex Ott:
Из чисто программистких проектов в ближайшее время наверное ничего не будет слышно - кроме работы я в основном занимаюсь экспериментами с Common Lisp/Haskell/Erlang/CouchDB, но пока ничего публичного не будет, может быть кроме небольших разработок на Emacs Lisp.
Из писательских проектов — сейчас я работаю на циклом статей про использование Emacs как среды разработки на разных языках программирования, уже опубликовано две части — про Scheme & Erlang, и ведется дальнейшая работа. Также планирую расширить свою статью про средства поиска ошибок в программах — утечек памяти, низкой работы приложения и т.п.

[info]bopm:
Год покажет. Пока говорить рано.

[info]grundik:
Parallels будет и дальше выпускать свою Plesk Panel при моём участии, а я буду продолжать ныть и материться в своём ЖЖ. Сюрпризы от Parallels в этом году будут, но говорить о них я не могу пока что ;)

[info]yosefk:
Наверное, ничего, разве что очень косвенно. Я в последнее время в основном для программистов пишу, со мной же работающих. (Вот тебе и тонкое понимание психологии пользователя из предыдущего ответа… Ну ничего, даже Спольский к этому скатился, а уж он ах как хорошо писал про ту психологию: http://www.joelonsoftware.com/uibook/fog0000000249.html)

[info]_adept_:
В публичной сфере (работа туда не входит) можно ожидать оживления блога (завершение начатого цикла про подмены номера и прочий фрод в SMS, например). Дописывание книги про синтаксический анализ и Haskell. Обновление http://pro-gsm.info. Разворачивания пары проектов-сайтов (давно хотел себя попробовать в этой области). Главное, чтобы время находилось :)

[info]blacklion:
Тут — не знаю. Я плохо понимаю, куда глобально идёт мой проект, и это решается на столько уровней выше меня (и моего менеджера), что всё что я могу сделать — это повторить тот маркетинговый буллшит, что спускают сверху. Но я этого делать не буду. Не люблю.

Yury Yurevich:
Сложно сказать, у меня нет тузов в рукаве ;) Есть интересные рабочие проекты, но они не публичны :( Да, в планах на начало лета RuPyRu стоит :)

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

 

101. Есть ли что-то для вас более интересное или важное в жизни, чем программирование? И если да, то что?

[info]caml_programmer:
Программирование для меня пройденный этап, не вижу смысла зацикливаться, но это не значит, что не надо программировать и создавать что-то новое, наоборот, нужно больше посвящать себя самым различным областям знаний, а умение программировать использовать как вспомогательный инструмент.

[info]raydac:
важное есть конечно (я же не психопат, думаю), но более интересного нету, у меня временами жестокая форма психического расстройства на базе компьютеров описанного Вейценбаумом

[info]mr_aleph:
Есть вещи _несравнимые_ с программированием: они стимулируют другие области моего мозга и тела.

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

[info]alexclear:
Безусловно. Я стремлюсь к внутренней гармонии - читаю книги, слушаю музыку, хожу в гости. К сожалению, гармонии достичь не получается, но, мне кажется, мне еще есть, куда расти.

[info]lionet:
Созерцание космоса вместе с моей дорогой Олечкой. Но иногда последствия гораздо более тяжелы в обращении чем release maintenance ;)

[info]chemodax:
Сама жизнь и бизнес, как некое модельное проявление жизни.
Жизнь намного интереснее и сложнее, чем просто программирование.

Alex Ott:
Программирование для меня наверное самое интересное — оно ставит передо мной новые и интересные задачи. Хотя я люблю слушать музыку, гулять или кататься на велосипедах с семьей по окресностям, все равно часто ловишь себя на том, что в голове решается какая-то из задач, и я постоянно вожу с собой блокноты для записи новых идей…

[info]bopm:
Сама жизнь. Работа лишь ее существенная часть.

[info]grundik:
Самое важное в жизни конечно же семья.
А IT - это просто индустрия, в которой я работаю. Возможно, случайно.

[info]yosefk:
Все :) На самом деле больше, чем что-либо, важен баланс, баланс-ссс. Я по семь дней годами работал, так что верьте мне. Когда что-то хорошо получается, оно имеет тенденцию сжирать все ресурсы (особенно время), потому что оно - самый легкий и надежный источник удовлетворения ("чем делать то-то и то-то, которое еще неясно, насколько получится и порадует, лучше еще попрограммировать"). Так вот надо объяснить древнему инстинкту программирования, что это все хорошо, но по отношению к другим инстинктам это есть каннибализм, так что на сегодня с него хватит.

[info]_adept_:
Для меня сейчас программирование - это, в первую очередь, любимое хобби (по работе я в основном пишу документы и "размахиваю руками"). Соответственно, оно по определению попадает в раздел "очень интересное" и там уверенно занимает лидирующие места.
Более важное - это, безусловно, семья, дети, родные и близкие. Когда все здоровы, довольны, сыты - тогда можно и программировать :)

[info]blacklion:
Более важное? Конечно. Жена, ребёнок, родители. Интересное? Более интересного, пожалуй, нет. Есть и другие интересы, но они максимум равноценны с программированием. Если бы появился интерес бОльший, чем программирование — я бы сменил работу, что бы она соотвествовала этому интересу.

Yury Yurevich:
Конечно есть. Более интересное — это общение. Более важное — это семья.

Omega:
Семья.

 

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

[info]caml_programmer:
Рекомендация такая - в процессе освоения знаний - медленно и методично спускаться с верхнего уровня на нижний, вплоть до тех самых реальных физических атомов. А в процессе применения - наоборот.
А также всегда нужно делать осознанный выбор - что читать, а что не читать, что использовать, а что не использовать, ибо время, потраченное на всякую ерунду, уже не вернуть.

[info]raydac:
Если спустя год вам всё еще кажется крутым тот проект в котором вы участвовали и вам всё еще абсолютно нравятся ваши решения и не посещает мысль - "а вот тут я сделал бы лучше!".. то застрелитесь

[info]mr_aleph:
Не будьте макаками, повторяющими за банан рутинные операции на компьютере. Стремитесь, чтобы компьютер был вашей макакой. А вы ели заработанные им бананы =)

gogabr:
Копать-копать.

[info]alexclear:
Используйте свободное ПО, пропагандируйте свободное ПО, участвуйте в его создании. Информация должна быть доступной!

[info]lionet:
Don’t listen to anyone. Go get something done!

[info]chemodax:
Думать. Всегда думать зачем и что Вы делаете. И не боятся выводов :)

Alex Ott:
Постоянно практикуйтесь, улучшайте качество работы как программиста — можно подключиться к какому-нибудь проекту с открытым кодом в котором ваш код будут видеть десятки людей и они смогут подсказать что-то новое и вам еще неизвестное.
Ну и обязательно изучайте что-то новое, будьте в курсе новых тем и разработок, не только практических, но и теоретических.
Еще одна достаточно полезная вещь — ведение блога и/или написание статей — оно позволяет вам упорядочить ваши знания о предмете о котором вы пишите, не говоря о пользе для других программистов. Ну и вы получаете дополнительный скилл (при наличии отзывов на ваши материалы) как технического писателя :-)

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

[info]grundik:
Я всё-таки мал ещё для того, чтобы советы давать, но попробую.
К сожалению, у меня нет высшего образования, и это всё-таки чувствуется. Поэтому, господа, прочитайте хотя бы SICP (много полезнее, чем все книги со словом pattern в названии). А те из вас, что имеют диплом по специальности - прочитайте ещё и Concepts, Techniques, and Models of Computer Programming. И Раскина, конечно же.
Ну и второе - как-то повелось считать, что самое важное для программиста - умение программировать. Дык вот, я считаю, что это только половина дела. Вторая половина - умение работать с людьми. В одиночку сейчас ничего не делается, поэтому очень важно умение общаться, а именно излагать свои мысли и воспринимать чужие слова. Умение общаться не только с программистами, но и с менеджерами, с дизайнерами, с тестерами, с маркетингом (с сейлзами, с VP/CEO), HR-ами, с офисными охранниками и уборщицами, со своими жёнами и детьми. С компьютером можно не разговаривать, достаточно просто гладить, уходя домой, он поймёт.

[info]yosefk:
Желаю большого программистского счастья, конечно! Всем, кто со мной работает или работать будет, отдельно желаю знать два языка: один из семейства попсовых 4GL-ов (Python, Ruby, Perl) и еще один из семейства лисповых (Common Lisp, Scheme или еще чего-нибудь - но чтоб с макрами и секспрами, то есть не (только) JavaScript; опять же много кого как бы по стопам MIT заставляют учить Scheme, но ведь, как правило, без макров - вот же дают). Попсню собственно для скорости разработки, а Лисп - чтоб гринспунить более осознанно.
Даже если скульптура из колючей проволоки - скажем, на C++ - очень помогает знать, что если б была из глины - скажем, на Common Lisp - можно было бы лепить вот так, поэтому мы вот этими плоскогубцами на самом деле пытаемся сделать то-то, а вот эти царапины - это да, ничего поделаешь, эффект колючей проволоки, и т.д.

[info]_adept_:
Пишите больше (во всех смыслах) - кто ж еще напишет для программиста, как не другой программист :)

[info]blacklion:
Не скучать!

Yury Yurevich:
Самое главное - это блеск в глазах ;)

Omega:
Я бы пожелала творческих успехов и гармонии в жизни. И не слушать ничьих рекомендаций :)

Оригинал



Похожие статьи:
Новогоднее программистское интервью

 Понравилась статья? Подпишись на RSS!

Ответить

 

 

 

Вы можете использовать эти HTML тэги

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>