Подлипенский Павел

Блог о технологиях и деньгах

Что нового в Subversion 1.5?

clock June 24, 2008 10:28 by author Подлипенский Павел

Subversion всегда был удобен такими фичами как, атомарные commits, версионированные директорий, хорошая поддержка бинарных файлов, быстрое создание бранчей и тагов, поддержка нескольких сетевых протоколов, в том числе и HTTP. Но, чего действительно раньше не хватало в subversion, так это возможности найти какой код был смержен, откуда он мержился и когда это произошло. Отсутствие такой возможности приводило раньше к трудностям при мерже:

 

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

Разработчики subversion как будто услышали мои мольбы и добавли change lists –функционал, позволяющий ассоциировать произвольные файлы с неким человекочитаемым именем. К примеру вы работаете над несколькими багами одновременно, и по окончании одного из них хотите залить его в репозиторий. А файлы, относящиеся к другому фиксу – оставить в локальном репозитории. Раньше приходилось прибегать к помощи листика, чтобы разделить эти два набора файлов и залить только нужные файлы. Теперь проассоциировав первый набор файлов с неким именем, вы можете по окончанию работ просто указать имя этой группы файлов и они немедленно попадут в основной репозиторий.

Еще одна полезность, появившаяся в 1.5 subversion – это sparse checkouts, позволяющий выполнять основные операции только над указанными уровнями дерева каталогов. Это удобно, если вы не хотите “слить” только текущий каталог со всеми файлами в нем, но не хотите “сливать” все его поддиректории. 

Также было добавлено интерактивное разрешение конфликтов – теперь svn сам предлагает варианты решения конфликта. Лично для меня эта фича никакой погоды не делает, так как я давно пользуюсь Araxis Merge, чего и вам советую.

Не знаю почему, но большинство GIT’овцев кричат: SVN sucks, попробуйте GIT – у нас проект в жите 2.5 гига и ничего не тормозит. У меня, я вам скажу, есть проект около 4 гигабайтов в архиве. То есть сжатый RAR’ом. И я никаких тормозов не наблюдал еще с версии 1.4.6. А в версии 1.5 ускорена работа из-за простого трюка – они сделали более многовложенную файловую систему, т.е. в одной директории такого дикого количества файлов уже не будет. И это важно, особенно, если ваш сервер хранит репозиторий на Network Attach Storage с не самой продвинутой файловой системой, которая тормозит при 10 000 файлов. Из-за того что в subversion файлы readonly, это позволяет улучшить стратегию кэширования на стороне NAS’ов и других умных файловых систем. Теперь неизменяемые файлы сгруппированны в каталоги, и вашей файловой системе можно сказать: вот эти каталоги неизменяемы (после появления файлов в ней) и ты пожалуйста это учти.

Разработчики клянуться, что теперь заработает CTRL+C!

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

Как мы видим, управлять репозиторием теперь станет легче, работать он будет быстрее, а разработчики перестанут записывать на листике, что и когда они мережили ;)

Ссылки по теме

Subversion 1.5 Release Notes

Subversion: чеклист по правильным коммитам

Слияние: Руководство по ежедневному использованию

Merging and branching in Subversion 1.5

Subversion or CVS, Bazaar or Mercurial?

Currently rated 4.0 by 7 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Один большой овертайм

Многие люди видят единственный способ увеличить свой доход - работать больше, т.е. работать в овертайм. В IT-индустрии овертаймы принято оплачивать в двойном размере. И хоть сотрудник за 12 часов сделает больше, чем за 8 часов, тем не менее, овертаймы не приветствуются и используются лишь в случаях, когда для бизнеса сроки важнее денег. Дело тут не только в деньгах - при работе в овертайм у человека снижается производительность, рассеивается внимание, теряется концентрация и работу он делает хуже, чем обычно. Знакомо мне это не понаслышке – на прошлых выходных мне пришлось пережить 30 часовой овертайм! Нет, я не сошел с ума, не проигрался в карты и даже не брал кредитов - это был конкурс для программистов. Главной задачей в конкурсе было написать приложение, позволяющее проводить online-мониторинг грузоперевозок, а также анализировать такие данные как скорость, ускорение, время простоя грузовиков и тп. В качестве исходных данных нам была дана база данных и краткое описание системы. В итоге мы победили среди украинских команд, а через неделю мы узнаем результаты европейских судей. Но победа далась нам нелегко. Наблюдая за собственным самочувствием, я успел отметить, что после 12-14 часов работы:

  • заметно снизилась концентрация - достаточно было отвлечь меня каким-нибудь простым вопросом и я тут же забывал над чем работал;
  • ослабло внимание - после написания 20-30 строк кода, проект не компилился из-за банальных опечаток;
  • появилась небольшая вялость в теле;
  • стали раздражать мелочи, особенно шум, смех, мелькание людей.

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

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

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

Часто делать небольшие перерывы. 5-10 минут помогут вам восстановить внимание и определиться с дальнейшими действиями. Наилучшим вариантом (100%)отдыха будет пойти подышать свежим воздухом, прогуляться. Если вы просто решили сделать себе чашечку кофе, то эффект от такого отдыха будет меньше – 60%. Если вы остались у компьютера, но переключились на общение с товарищем – эффект составит 40%. Как вариант, вы можете остаться у компьютера и почитать чей-то блог, но эффект такого отдыха будет процентов 20.

Переключать внимание. Нет ничего хуже, чем работать постоянно над одной и той же задачей. Даже если эта задача самая интересная. Мы практиковали следующий подход – человек берется за небольшую задачу и пытается выполнить ее в течение получаса-часа, если у него ничего не выходит – задача в текущем состоянии попадает к следующему участнику команды. Таким образом, каждый знал, как работает тот или иной механизм в проекте. Переключение с задачи на задачу требует повышенного внимания и постоянного обучения – что позволяло нам не думать об отдыхе.

Не позволять сознанию обмануть вас. Мозг – хитрая штука. И если он не хочет заниматься какой-либо деятельностью, то найдет тысячу и одну причину не делать этого. Он убедит вас, что есть задачи поважнее: «Да это легко сделать, можно отложить на потом… ». Не поддавайтесь на эти провокации! Заставьте себя заниматься даже неинтересными задачами – если не сам процесс, то по крайней мере результат принесет вам удовлетворение от работы.
Не спать. Честно говоря, спать хотелось, причем сильно. Я даже пытался провернуть что-то подобное на деревянной скамейке в холле, но было жутко неудобно и холодно – пришлось вернуться к работе. Через какое-то время организм адаптировался, и открылось «второе» дыхание. Возможно, этому есть какое-то медицинское объяснение – не знаю.

Музыка, музыка, музыка. Наверное, лучший способ отгородиться от реальности и погрузиться в работу. В этом вопросе у каждого свои предпочтения – мне компанию составлял Adriano Chelentano.

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

Currently rated 5.0 by 3 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Как увеличить желание поработать

Как это ни парадоксально, но многие из нас работают для того, чтобы не работать. То есть стараются заработать столько денег, чтобы нужды работать больше не было. И дело тут совсем не в человеческой лени или в тяге получить статус богатого человека, а в стремлении заниматься тем, что нравиться. Тем не менее, придя на «нелюбимую» работу многие из нас все же делают то, за что им платят деньги – работают. Так откуда же берется это сокровенное желание поработать? Можно ответить просто – человеком движет инстинкт самосохранения, и в условиях рыночных отношений, для выживания необходимо где-то брать деньги. Все это верно, но есть один момент – даже движимый инстинктом самосохранения человек разумный(homo sapiens), придя на работу зачастую, лишь делает вид, что работает или, по крайней мере, осуществляет ее не в том объеме, в котором хотелось бы.

Многие компании вводят гибкий график, организовывают обеды, комфортно обустраивают офисы и многое другое только ради того, чтобы вам было приятнее работать. Делают они это не ради вашей широкой улыбки, а для того, чтобы вы лучше работали и не думали менять работу. Но правда в том, что ваша продуктивность практически не зависит от вашего настроения. Еще в далеком 1964 году Victor Vroom определил: настроение/продуктивность = 0,14. Это означает, что лишь 2% результата вашей работы были получены «благодаря» вашему хорошему настроению.  Но это вовсе не значит, что люди будут лучше также работать в условиях, приближенных к тюремным (хотя в Советском Союзе считали иначе…). Ведь обиженный или даже злой сотрудник может организовать настоящий саботаж на работе. Тут важна золотая середина – необходимо создать приемлемые условия труда и сконцентрироваться не на том, как улучшить настроение сотрудника, а на том, как увеличить его продуктивность:

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

Социальная или медицинская страховка. Тяжело сказать, влияет ли этот пункт соцпакета многих IT-компаний на продуктивность сотрудника…

Английский. Как один из видов профессиональных тренингов в IT-индустрии, это бесспорно положительно сказывается на продуктивности сотрудников.

Питание. Врядли «лишние» $3-$4 в день повысят продуктивность сотрудника. Более того, после определенного срока, сотрудник будет воспринимать это, как должное и не дай вам бог попытаться забрать у него эту «сладость».

Спортзал. Здоровый сотрудник работает лучше, чем больной – это факт. Но тут важно не просто выделять деньги на спорт, но и как-то мотивировать сотрудников заниматься спортом. Одна, знакомая мне компания, проводила следующую политику: сотрудники, которые не занимаются регулярно спортом, рассматриваются в качестве кандидатов на премию в последнюю очередь.

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

К сожалению, многие IT-компании на рынке Украины не могут себе позволить посылать сотрудников на дорогостоящие профессиональные тренинги, выделять время на самообучение (или собственный проект, как это делает Google) или постоянно обновлять рабочие инструменты программистов. Проще нанять уже более квалифицированного, хоть и более дорого сотрудника. Но как говорил Dietrich Bonhoeffer: "If you do a good job for others, you heal yourself at the same time, because a dose of joy is a spiritual cure." - будем трудиться и все будет хорошо.

Currently rated 5.0 by 3 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Где лучше работать дома или в офисе?

Обычный человек проводит треть своего времени на работе (8/24). Программист же – почти половину (10/24).  Именно поэтому так важно организовать свое рабочее место наилучшим образом. Но как сменить обои в офисе на свои любимые – зеленые с белыми ромашками? Или как принять душ в разгар рабочего дня? Пожалуй, самым простым ответом на подобные вопросы будет – работать из дому. Но далеко не каждая компания приветствует подобный подход к работе.

На мой взгляд, работа в офисе обладает многими преимуществами:

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

При работе из дому, мы получаем не меньший набор «полезностей»:

  • Мебель и технику вы выбираете себе сами.
  • Обустраивая свое рабочее место, вы, одновременно, обустраиваете свое жилище.
  • Нет необходимости соответствовать принятому в компании dress code или другим нормам поведения.
  • Всегда можно сделать небольшой перерыв:  посмотреть фильм, прилечь, принять душ.
  • Задержаться на работе(дома) намного приятнее, чем провести лишний час в офисе.
  • Нет необходимости тратить 1-2 часа в день на дорогу.

Честно говоря, мне больше нравиться работать из дому, особенно если учесть специфику профессии и современные каналы связи. Ведь программисту для общения вполне достаточно ICQ или Skype. Доступ к монитору коллеги, рисовальной доске или «листу бумаги» можно получить с помощью Remote Desktop или online-сервисов для проведения конференций. Понятно, что на вкус и цвет товарищей нет, да и ситуации бывают разные, но если у кого-то есть чем дополнить один из списков выше – милости прошу в комментарии.

Currently rated 3.8 by 12 people

  • Currently 3.833334/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


IT-компании: Какой выбрать чай?

clock April 28, 2008 23:56 by author Подлипенский Павел

Несколько несвязная тема, неправда ли? Сейчас все объясню. Вы знаете, у меня есть одна странность – я очень нерешителен, при выборе чая. Это происходит потому, что я сталкиваюсь с тремя проблемами:

1. Упаковки закрытые и узнать аромат и вкус чая, можно только заварив его.
2. Чай продается в 200–300 граммовых упаковках, а это значит, что пить его придется не меньше месяца.(Выкидывать непонравившийся мне чай, не позволяет мой жизненный принцип)
3. Вкусный чай не всегда имеет дорогую, красивую упаковку. А неоновую надпись “это самый вкусный чай”, можно прочитать между строк на любой упаковке.

Отсюда и появляется страх пить неприятный чай так долго! А ни одно мое рабочее утро не обходится без чашечки вкусного чая…

Примерно с такими же трудностями сталкивается и IT-специалист при смене места работы:

1. Какова атмосфера работы, политка, отношение к сотрудникам и перспективы в компании, можно узнать только лишь поработав в ней.
2. Менять место работы чаще чем раз в 1.5–2 года – плохая практика и негативно сказывается на резюме специалиста.
3. HR/PR-отделы IT-компаний всегда выставляют свою компанию в лучшем свете.

Так давайте попробуем разобраться, как же выбрать чай? Для начала можно определить несколько категорий чая: зеленый, черный и сбор трав. Продоложая аналогию с IT-компаниями: компания работающая над одним проектом, компания перебирающая проектами и “всеядные” компании, которые берутся за все, что приносит деньги. Если в случае с чаем, выбор зависит от вкусовых предпочтений покупателя, то для IT-специалиста выбор доллжен основываться на понимании того, как тот или иной тип компании подходит его ожиданиям. Для этого добавим еще пару параметров в оценке IT-компаний – это размер компании, наличие брендового(широко известного) имени, размеры проектов и перспективы карьерного и финансового роста. Сразу хочу оговориться, что какую бы мы аналитику и логические выводы не делали, все равно из любого правила есть исключения, а следовательно воспринимать нижеследующее как панацею на все случаи жизни не рекомендую.

Компании численностью от 1 до 20 человек можно отнести к малым компаниям индустрии. Такие компании редко имеют брендовое имя, так как не содержат маркетинговых отделов, да и средств на рекламу зачастую нет. Эти компании занимаются либо небольшими по размерам и срокам проектами, либо работают над одним, средней величины проектом. В случае, когда такая маленькая IT-компания занимается несколькими проектами, это либо support уже существующих(иногда и больших) проектов, либо разработка маленьких, новых проектов. Маленькие компании редко имеют формализированные процессы, так что опасаться CMMI тут не стоит ;)

Рекомендации: Архитектору делать в такой компании нечего – архитектура либо уже написана, либо проект настолько мал, что применить свой потенциал там негде. Junior-разработчик имеет хорошие шансы получить первый опыт на несложных проектах, а при должном упорстве и в случае роста компании – хороший карьерный рост. На плечи разработчика уровня middle или senior в подобной компании, ляжет основной объем работ, а значит и отношение к ним будет соответствующее. Project Manager или Team Leader имеют все шансы войти в top-management компании. Перспективы же финансовые зависят от скорости развития компании, практика показывает, что компании занимающиеся одним проектом, развиваются медленнее, чем “всеядные” компании. Но стоит упомянуть, что чаще всего “всеядные” берутся за безнадежные проекты и проекты на старых технологиях. Также финансовому росту способствует отсутствие толстой менеджерской прослойки и не-billable людей.

Компании численностью от 20 до 100 человек редко имеют свое брендовое имя, если только она не выросла на одном продукте, который и рекламировала. Разнообразие проектов может быть такое же как и у компаний предыдущего типа. Тем не менее, среди этих компаний чаще попадаются “переборчивые” экземпляры, что благоприятно сказывается на опыте сотрудников не зависимо от их начального уровня. Возможности карьерного роста осложнены тем, что обычно в таких компаниях уже есть сформировавшаяся верхушка в менеджменте и “элита” в трудовых ее слоях. Стоит отметить, что компании этого рода более стабильны и надежны.

Рекомендации: как правило в таких компаниях не больше 2–3 архитекторов, поэтому тут они на вес золота. Так как размер проектов в такой компании средний, выше среднего(в случае с одним проектом) – то лучших условий для обитания архитекторов просто не найти. Для junior-разработчика есть перспектива дорасти до уровня senior за 2–3 года. В случае, с одним проектом (на всю компанию) даты могут несколько увеличиться. Middle и Senior играют в таких компаниях меньшую роль, чем в малых компаниях, но перспектива карьерного и финансового роста есть. Если в такую компанию приходит Project Manager, то он либо сразу попадает в ту “верхушку”, либо начинает заниматься неперспективными проектами. Team Leader также как и Senior будет чувствовать себя в такой компании очень комфортно – есть кем управлять, возможна частичная/полная смена команды или проекта, т.е. есть где получить разнообразный и полезный опыт.

И наконец, компании-гиганты на Украинском IT-рынке численностью от 100 до 500 человек. Такие IT-компании зачастую имеют громкий бренд и редко когда работают над одним проектом. “Вечные” или “support-обещающие” проекты являются основой многих подобных компаний. В таких проектах карьерный рост не предусмотрен, так же как и финансовый (но из любого правила есть исключения – я знаком с командой размером в 50 человек, работающуюю на подобном проекте и получающую вышесреднего по отрасли зп). В компании вцелом карьерный рост сильно осложнен, если в компании все хорошо и нет большой “текучки” кадров.

Рекомендации: мне тяжело посоветовать кому-либо такую компанию, кроме как архитектору и Project Managerу. Все остальные, в такой компании, могут услышать в свой адрес следующее – незаменимых у нас нет!

Станете ли вы перед выбором чая или нового места работы – не важно. Главное – понимать принципы и закономерности развития любого бизнеса, а также постараться собрать как можно больше информации о предмете своего выбора. И помните: риск - дело благородное :)

Currently rated 4.8 by 10 people

  • Currently 4.8/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Новая IT компания в Харькове

clock April 16, 2008 13:12 by author Подлипенский Павел

По счастливой случайности, мой хороший друг Макс Коренков, в скором времени открывает представительство московской компании Mirantis. Компания по неизвестным нам причинам остановила свой выбор именно на г. Харькове, что нетипично для открывающихся офшоров – обычно выбор падает на г. Киев, с его более развитой инфраструктурой и большим количеством IT специалистов. Хотя, возможно именно потому, что наш IT-рынок труда еще не так развит и не так поделен как в Киеве, Mirantis и пришла в наш город. Добро пожаловать, Mirantis

Пару слов о том, чем эта компания будет заниматься. В первые планы компании входит формирование Java-команды для работы над каким-то интересным проектом (детали мне так и не удалось выпытать у Макса…). Компания предлагает хороший социальный пакет: медицинская страховка(компании с мед. страховкой в Харькове можно пересчитать на пальцах одной руки), курсы английского языка, отпуска и больничные по КЗОТУ. А также чуть выше рыночных – цены.

Ориентировочно офис будет находиться пл. Восстания7/8 (бизнес-центр “Протон”).

У меня уже был опыт setup’a офиса по тойже схеме, что сейчас делает Макс. Могу сказать, что первые люди, пришедшие в такую компанию имеют очень хорошие шансы ускорить собственный рост по карьерной лестнице, за счет того, что подобные офисы имеют тенденцию очень быстро развиваться в последнее время, а следовательно образовываются вакансии на должности Team Leader, Project Manager и тп. Но если быть откровенным до конца, то тут многое еще зависит от уровня бюрократии в главном офисе компании и от менеджера на месте, в данном случае – от Макса. Я верю, что у него все получиться и желаю ему успехов во всех его начинаниях!

Все специалисты Java, кого заинтересует работа в этой компании могут присылать свои резюме либо мне, либо Максу.

Currently rated 5.0 by 7 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Search


LinkedIn Profile

Calendar

<<  July 2008  >>
SuMoTuWeThFrSa
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

Archive

Tags

Categories


Recent Posts

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2008

Sign in

Ó÷àñòíèê ïëàíåòû Developers.org.ua

Bookmark and Share

Web Developement Blogs - Blog Catalog Blog Directory

Êàòàëîã óêðà¿íñüêèõ áëîã³â