GTD → Секреты успеха
Вступление
Судя по недавнему всплеску активности в GTD и Стартапах, статьи на тему того как организовать свою жизнь и свою работу, обрести счастье и добиться успеха пользуются высокой популярностью на нашем любимом IT-ресурсе. Оно и понятно, где же еще технологическим специалистам искать ответы на такие вопросы? Не у астрологов и гадалок же. Поэтому делюсь еще одним жизненным опытом и личными мыслями на тему успеха. Философии пост.
История
Однажды я захотел себе мотоцикл. Мне они нравились с детства, но нравились точно так же, как пиратские корабли и роботы — то есть пассивно, ничем из этого я не интересовался, но получить бы очень хотел. Мотоциклы напомнили мне о себе, когда я начал смотреть сериал «Доктор Хаус», история которого рассказывает о докторе с больной ногой, который перемещается на оранжевом Honda CBR1000 Repsol Replica. «Если уж даже больной врач катается на байке, то я почему нет?!» — подумал я и очень сильно захотел себе мотоцикл.
GTD → Сон и продуктивная деятельность из песочницы
Вступление
Доброго времени суток, %habrauser%! Думаю, в этой статье я не открыл ничего нового. Просто меня самого заинтересовала тема продуктивного сна. Несколько последних лет я был приверженцем мнения, что сон – это бесполезная трата времени, к сожалению необходимая организму. И посему, я максимально старался сократить время сна. Но чем больше я это делал, тем больше я начинал походить на зомби. И тогда я стал искать альтернативу. И результатом обобщения всей найденной мной информацией и стала эта статья. Итак, поехали!
PHP → Что плохого в вашем PHP-коде из песочницы
Всё чаще в блоге «PHP» рекламируются не просто примеры грязного кода, а откровенные анти-паттерны. И кто-то ещё ругает индусов за код…
Качество кода — то, что не нужно игнорировать или откладывать на «потом». Такое откладывание называется техническим долгом, и он обязательно аукнется. Уделяйте больше времени качеству кода и созданию архитектуры приложения.
Очень рекомендую прочитать принципы SOLID от Дяди Боба:
butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
Этот текст может очень сильно улучшить ваши способности создавать масштабируемые системы. Особенно принцип SRP.
Глобальные переменные — самое грязное, что может быть в вашем коде. Код с глобальными переменными не может быть никуда перенесён (т.к. там может не оказаться нужных переменных). Такой код замораживает код вокруг себя (т.к. при изменении можно задеть те самые глобальные переменные) — код становится очень хрупким, способным перестать работать от любого изменения. Да и много трудноуловимых багов — тоже не самая лучшая добавка от глобальных переменных.
Более подробно: SO, Gordon, Robert Martin.
Качество кода — то, что не нужно игнорировать или откладывать на «потом». Такое откладывание называется техническим долгом, и он обязательно аукнется. Уделяйте больше времени качеству кода и созданию архитектуры приложения.
Очень рекомендую прочитать принципы SOLID от Дяди Боба:
butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
Этот текст может очень сильно улучшить ваши способности создавать масштабируемые системы. Особенно принцип SRP.
Глобальные переменные
Глобальные переменные — самое грязное, что может быть в вашем коде. Код с глобальными переменными не может быть никуда перенесён (т.к. там может не оказаться нужных переменных). Такой код замораживает код вокруг себя (т.к. при изменении можно задеть те самые глобальные переменные) — код становится очень хрупким, способным перестать работать от любого изменения. Да и много трудноуловимых багов — тоже не самая лучшая добавка от глобальных переменных.
Более подробно: SO, Gordon, Robert Martin.
Game Development → Компьютерные игры развивают креативность у детей
Согласно новому исследованию, проведенному Мичиганским университетом (MSU), и мальчики и девочки, которые играют в компьютерные игры (подразумеваются также игровые консоли, браузерные и прочие типы игр), склонны быть более креативными в решении различных задач, несмотря на то, какие это игры, жестокие или нет.Ruby → Язык Ruby: история становления и перспективы развития из песочницы
Человек создан для творчества, и я всегда знал, что люблю творить. Увы, я обделён талантом художника или музыканта. Зато умею писать программы. Я хочу, чтобы компьютер был моим слугой, а не господином, поэтому должен уметь быстро и эффективно объяснить ему, что делать.
Юкихиро Мацумото, создатель языка Ruby
Перед каждым, кто желает идти по пути программиста, рано или поздно встаёт вопрос выбора сферы разработки ПО (web, desktop, mobile, игровое, системное,..) и соответствующих инструментов (языков программирования, framework'ов, сред разработки...). Причём здесь, как и в строительстве, важную роль играют материалы и орудия, которые вы используете. По сути, они во многом определяют, что в конечном счёте будет построено, насколько быстро, какими свойствами оно будет обладать и т.д.
К примеру, строитель, работающий с деревом, будет склонен к спокойной и вдумчивой деятельности, кропотливой подгонке деталей, использованию ручного инструмента, индивидуальности в подходе. В то же время каменщик может действовать куда быстрее, пользуясь при этом электроинструментом и компенсируя некоторые неточности с помощью лишнего мастерка раствора :) Ну а бетонщик-монолитчик вообще не заморачивается, его задача — сделать всё максимально просто и надёжно в кратчайшие сроки, а кто уже там будет годами заниматься отделкой и дизайном помещений — его не интересует.
Так и с языками программирования: в каждой из сфер разработки ПО обычно есть минимум два-три языка, способных в принципе справиться с поставленной задачей. Однако подход к решению у этих языков обычно несколько отличается, и тут встаёт вопрос приоритетов в разработке и индивидуальных предпочтений программиста. В конечном итоге важно ваше мышление и понимание того, что нужно сделать и каким образом это потом поддерживать. Так что имеет смысл выбирать именно тот язык, на котором вам будет проще и удобней писать, который даст вам возможность раскрыть свой потенциал.
На то, чтобы более-менее близко познакомиться с новым языком, обычно уходит не менее месяца. Эта статья призвана ответить на вопрос, стоит ли потратить этот месяц на Ruby, или имеет смысл посмотреть в сторону других языков. Сам я сейчас также стою перед выбором: улучшать свои знания в PHP (пока я работал с ним самостоятельно во freelance'е — и на довольно простом уровне, сейчас же есть желание расти дальше) или попробовать «с нуля» в Ruby (сразу освоив с его помощью последние тренды в web-программировании и при этом получив, как я надеюсь, довольно современный и удобный инструмент для работы).
Попробовав разобраться, есть ли у Ruby будущее, и есть ли мне место в нём :), я перечитал несколько сотен статей, обсуждений, сравнений и т.д. Попробую привести мои мысли в более-менее системном виде:
Юкихиро Мацумото, создатель языка Ruby
Перед каждым, кто желает идти по пути программиста, рано или поздно встаёт вопрос выбора сферы разработки ПО (web, desktop, mobile, игровое, системное,..) и соответствующих инструментов (языков программирования, framework'ов, сред разработки...). Причём здесь, как и в строительстве, важную роль играют материалы и орудия, которые вы используете. По сути, они во многом определяют, что в конечном счёте будет построено, насколько быстро, какими свойствами оно будет обладать и т.д.
К примеру, строитель, работающий с деревом, будет склонен к спокойной и вдумчивой деятельности, кропотливой подгонке деталей, использованию ручного инструмента, индивидуальности в подходе. В то же время каменщик может действовать куда быстрее, пользуясь при этом электроинструментом и компенсируя некоторые неточности с помощью лишнего мастерка раствора :) Ну а бетонщик-монолитчик вообще не заморачивается, его задача — сделать всё максимально просто и надёжно в кратчайшие сроки, а кто уже там будет годами заниматься отделкой и дизайном помещений — его не интересует.
Так и с языками программирования: в каждой из сфер разработки ПО обычно есть минимум два-три языка, способных в принципе справиться с поставленной задачей. Однако подход к решению у этих языков обычно несколько отличается, и тут встаёт вопрос приоритетов в разработке и индивидуальных предпочтений программиста. В конечном итоге важно ваше мышление и понимание того, что нужно сделать и каким образом это потом поддерживать. Так что имеет смысл выбирать именно тот язык, на котором вам будет проще и удобней писать, который даст вам возможность раскрыть свой потенциал.
На то, чтобы более-менее близко познакомиться с новым языком, обычно уходит не менее месяца. Эта статья призвана ответить на вопрос, стоит ли потратить этот месяц на Ruby, или имеет смысл посмотреть в сторону других языков. Сам я сейчас также стою перед выбором: улучшать свои знания в PHP (пока я работал с ним самостоятельно во freelance'е — и на довольно простом уровне, сейчас же есть желание расти дальше) или попробовать «с нуля» в Ruby (сразу освоив с его помощью последние тренды в web-программировании и при этом получив, как я надеюсь, довольно современный и удобный инструмент для работы).
Попробовав разобраться, есть ли у Ruby будущее, и есть ли мне место в нём :), я перечитал несколько сотен статей, обсуждений, сравнений и т.д. Попробую привести мои мысли в более-менее системном виде:
Спортивное программирование → Спортивное программирование: «Зачем оно мне?» и «С чего начать?» из песочницы
Под катом — список из 15 лучших ресурсов, посвящённых Спортивному Программированию.
Я пиарюсь → Как стать ближе к пользователям. История одного проекта
Немного предыстории
Будучи еще студентами мы решили сделать сервис, помогающий выбрать студию для разработки веб-сайта. В то время мы уже успели побывать с обоих сторон баррикад — получив собственный опыт поработав и на стороне разработчика, и на стороне заказчика.
Так появился WRate — рейтинг студий и рекламных агентств.
Разработка проекта в большей степени должна была принести опыт и прикладные знания, чем деньги. Хотя от денег, никто отказываться не собирался.
Фриланс → Как студенту-фрилансеру стать руководителем
Несколько лет назад я был студентом без денег, которому учеба в университете казалась скучной и бессмысленной (и с тех пор моё мнение не изменилось). Так что, учебу я бросил и стал фрилансить. Спустя 6 лет, пишу этот текст, чтобы определить самые важные идеи, которые сделали меня сначала хорошо оплачиваемым “кадром”, а затем руководителем небольшой команды разработки веб-сервисов.
Не будьте специалистом. Учитесь действовать
Главный ресурс для развивающегося человека вовсе не знания и опыт. И даже не деньги или связи.
Среда знаний сейчас слишком быстро меняется и говорить с уверенностью, что даже через пять лет профессия программиста (к примеру) будет столь же востребована — нельзя. И уж точно не приходится сомневаться, что лет через 10 все имеющиеся знания того же программиста придут в негодность без постоянного обновления в процессе.
Накопление знаний и опыта есть линейный процесс, а потому не самый эффективный. У специалиста всегда есть четкий потолок зарплаты, который практически не возможно преодолеть (здесь не выйдет даже постоянного линейного роста).
Не будьте специалистом. Учитесь действовать
Главный ресурс для развивающегося человека вовсе не знания и опыт. И даже не деньги или связи.
Среда знаний сейчас слишком быстро меняется и говорить с уверенностью, что даже через пять лет профессия программиста (к примеру) будет столь же востребована — нельзя. И уж точно не приходится сомневаться, что лет через 10 все имеющиеся знания того же программиста придут в негодность без постоянного обновления в процессе.
Накопление знаний и опыта есть линейный процесс, а потому не самый эффективный. У специалиста всегда есть четкий потолок зарплаты, который практически не возможно преодолеть (здесь не выйдет даже постоянного линейного роста).
Блог компании Инфопульс Украина → Этапы развития компании с точки зрения IT
Любая компания стремится к развитию и росту доходности. Если у нее при этом есть хоть один компьютер, то развиваясь она проходит через несколько этапов. Все знают, что есть такая штука как ITIL. Многие даже читали :) Но интрига заключается в том, чтобы проводить правильные параллели между ITIL и реальной жизнью — иначе все это останется мертвым грузом в голове менеджера. В ITIL эти этапы определены как Organization Maturity. Сейчас о них и пойдет речь.
Я пиарюсь → Запуск сообщества Innovation Games RussiA
Привет Хабр! Хочу сообщить о запуске проекта Innovation Games RussiA. Данный проект объединяет между собой людей, которые заинтересованны во всем, что касается инновационных игр, любят в них играть или хотят научится.Мы сотрудничаем с такими известными ресурсами, как Gamestorming и Innovation Games®, которые активно делятся своими наработками, а в будущем обещают помогать с различными мероприятиями.
Что такое инновационные игры? Инновационные игры, это игры преследующие две цели: снятие негативных установок в отношении действий по реорганизации деятельности организации (предприятия) и внесение конструктивных изменений в сам проект реорганизации.