понедельник, 30 января 2012 г.

Forma PRO. Join us!


Я работаю в компании Forma PRO. Слышали?.. Нет?.. Тогда слушайте :)

Я уже работаю тут год+. Сравнительно недавно, хотя, это как посмотреть, некоторые из моих друзей, бывало, меняли по три компании за год :)


В Forma PRO мы занимаемся разработкой web приложений. Работаем в основном с PHP фреймворками Symfony и Symfony2. Коллектив у нас небольшой: девять прогаммистов, один админ, один менеджер. Это не считая руководства.






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


Работаем мы исключительно с иностранными заказчиками, поэтому рано или поздно придется  выучить английский язык до какого-нибудь приемлемого разговорного, ну или хотя бы, сносного письменного уровня. Для этого есть курсы английского языка. Они проходят в офисе два раза в неделю.


Если говорить о содержании работы. За год я успел поработать в нескольких проектах.  Два первых были небольшими и несложными, сроком около месяца каждый. Один из них был на CMF Apostrophe. Затем был проект побольше, уже на двух девелоперов и сроком около трех месяцев. Мы занимались переносом уже готового сайта на CMF Diem. Не очень интересно, зато я успел за это время неплохо покопаться в Diem'e. Следующий проект снова был маленьким, нужно было закончить небольшой сайт. Я просто переписал его на  Diem'е. Видимо, решив, что я уже в достаточной степени владею Symfony, мне доверили начинать новый проект самому. Он был написан где-то за месяц и получился в итоге достаточно интересным. Два последних проекта, в которых я работал, продолжаются и сейчас. Первый из них основывается на Symfony 1.4, в нем я проработал около трех месяцев. А с октября начал другой проект на Symfony2. На текущий момент маленьких проектов у нас не осталось и каждый сотрудник работает в более или менее крупной интернациональной команде. Например, в моей команде работает группа девелоперов из Бельгии и менеджер из Нидерландов.


Мне очень нравится подход к выбору проектов. Тут никогда не хватались и не будут хвататься за первую попавшуюся работу. Если предлагаемый проект не новый, мы делаем ревью, чтобы оценить качество кода. Если код не достаточно качественный, как правило, отказываемся от сотрудничества. Приницпиально не беремся за интернет-магазины, сайты-визитки, сайты построенные на различных CMS.




И, вообще, отличительная черта нашей компании - демократия в разумных пределах, не переходящая в анархию :) Большинство общих вопросов мы стараемся решить сообща, как правило путем дебатов и голосования :)


Рабочее время у нас не фиксированное. Есть договоренность, что сотрудник должен отработать 40 часов в неделю. Но никто не следит, во сколько ты приходишь или уходишь с работы. Я, обычно, работаю с 9 до 18. Основная масса сотрудников приходит на работу в 10-11 утра.



Стараемся проводить внутренние семинары, где обмениваемся опытом. Это бывает не так часто, как хотелось бы, но с покупкой проектора, думаю, что эти мероприятия станут более регулярными. Расположение офиса достаточно удобное. 5 минут до метро Пушкинская, 7 минут до метро Университет. Проблем с парковкой, как правило, не бывает.




В качестве дополнительной компенсации компания оплачивает сотрудникам обеды, ежедневный лимит на обед составляет 50 гривен. Обычно ходим небольшими компаниями в "Старгород", "Смак", "Якиторию" или, на худой конец, в "Терку".


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


В конференц руме у нас есть большой стол на котором теперь периодически устраиваем поединки по настольному теннису :)




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


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


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






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


Какие знания лучше будет прихватить с собой на собеседование? Обязательно нужно знать PHP и ООП, нужны уверенные знания по MySQL и кончено же нужно иметь общее представление о принципах WEB-разработки. Все остальное не является строго обязательным. Но конечно же учтется при приеме на работу умение верстать, javascript, тестирование, опыт работы с применением agile практик, владение популярными фреймворками (особенно Symfony, Zend, Doctrine) и т. д.
Собеседовать, скорее всего, будут 3 человека. Директор, менеджер и один из разработчиков. После успешного прохождения собеседования испытательный срок для джуниор девелоперов составит 2 месяца. Для разработчиков с более выскокой квалификацией, как правило, испытательный срок длится один месяц.


Вот и все, что я хотел рассказать о своей работе. Надеюсь увидеть кого-нибудь из читателей моего блога у нас на собеседовании.




воскресенье, 15 января 2012 г.

Новогоднее путешествие по городам с глинтвейновыми домиками


Во Львов прибываем 30 декабря в 4 часа утра. Наш туристический автобус отправляется в 8:30 с железнодорожного вокзала. А до отправления нужно еще успеть выполнить квест "Купить евро в четыре утра во Львове". Во всех ближайших обменниках евро нет, да и курс там, мягко говоря, "высоковат".
Недалеко от вокзала есть очень красивый костел Ольги и Елизаветы. Оттуда минут 40 до центра. Дорогу я знаю. И мы с Лидой решаем немного прогуляться улицами ночного Львова :)


В центре нам удалось таки успешно купить валюту, а еще сфотографироваться перед главной елкой Львова и даже пообщаться с местными жителями :)

В 8:00 садимся в автобус. Впереди нас ждут Венгрия, Словакия и Австрия и их столицы, а еще города Дьор, Хевиз и Тихонь.



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


Здание парламента в Будапеште

Архитектура. Собор святого Стефана в Вене и здание парламента в Будапеште запомнились больше всего. Это действительно произведения искусства. Вообще, как Вена, так и Будапешт города помпезные. Все вокруг сделано с каким-то особенным шармом, шиком и размахом. Величественные дворцы, старинные замки, изящные мосты, статуи, площади. Там есть на что посмотреть. И передать всю красоту этих городов словами, наверное невозможно. Их стоит хотя бы раз увидеть!
Да и в других городах, есть своя особенная изюминка. Почти каждое здание здесь по-своему уникальное, будь то памятник архитектуры или просто жилой дом.



Собор святого Стефана в Вене

Карпаты. По пути к границе мы проезжали Карпаты. Я ни разу до этого не был зимой в горах. Склоны с соснами покрытые снегом – просто потрясающее зрелище! Нужно выбраться как нибудь покататься  в Карпатах на лыжах.


Карпаты зимой

Хойригеры. Это такие заведения в Австрии, где подают молодое вино местного производства. Обстановка внутри самая простая – деревянные столы и стулья. Посреди комнаты - керамическая печь для обогрева. Народ приходить туда отдохнуть. Атмосфера внутри сильно напоминает наш "Старгород". Во многом ее создают музыканты. Только тут нет сцены, шоу программы и вместо пива пьют вино.


Европейская кухня. Во всех странах была очень вкусная кухня. Понравился венгерский суп "Гуяш". В нем очень много паприки, от которой он становится красным. Другие ингредиенты: мясо, картофель, галушки. Способов приготовления масса и они отличаются в разных регионах Венгрии. 
Австрийские колбаски по-венски, очень хорошо идут под местное пиво. Марки я не запоминал. Их всегда можно нагуглить при желании. Я попробовал пару сортов нефильтрованного, пару сортов светлого и один сорт полутемного. В Австрии очень хорошее пиво, а Венгрия и Словакия страны не пивные, поэтому пиво тут так себе.
В хойригере в Вене мы ели шницель, цыпленка жаренного на гриле, свинину жаренную на сковородке, кровяную колбасу запеченную на гриле, запеченную грудинку. Мяса было так много, что мы едва ли съели половину. Все блюда очень вкусные. На гарнир были квашеные овощи. Я не знаю, какой способ закваски там применяют. Но особенно по душе мне пришлась  квашенная фасоль. 

Очень понравился австрийский штрудель. Причем у Лиды по возвращению получилось его не менее вкусно приготовить.

Токайское вино. По дороге в Будапешт заезжали на дегустацию токайских вин. Дегустация проходила в виннном погребе. Стены, лампы, потолок, все там покрыто благородной плесенью. Плесень позволяет поодерживать необходимую влажность и температуру, что очень важно для процесса производства вин. Мы попробовали пять сортов. Все это белые вина с прекрасным ароматом и вкусом. Я не большой ценитель, но мне лично понравились сладкие сорта.


Фото с гостеприимным хозяином токайских винокурен

Благородная плесень

Цены. В Венгрии цены в среднем как в Украине. В Словакии цены ниже. Отличный ужин с пивом на троих обошелся нам в 17 евро. А неплохие джинсы в торговом центре можно купить по цене от 10 до 20 евро. А вот когда мы попали в Австрию, то прочувствовали на себе, что значит "европейские цены". В Вене все в 5-10 раз дороже, чем у нас. К примеру, маленькая булочка стоит около 3 евро. Магнитик на холодильник стоит 7-9 евро. А скромный обед на двоих обошелся в 27 евро. Такой вот контраст. Особенно если учесть, что до Вены из Братиславы можно добраться всего за час.

Собор святого Стефана внутри

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


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


"Глинтвейновый домик"

Население. Для меня было большим удивлением, что тут мало людей понимают английский. Особенно тяжело было в Венгрии. А вот в Словакии отлично понимают русский и украинский. Словацкий язык тоже относится к славянской группе языков.
Во всех странах очень бережно относятся к природе. В Венгрии, например, есть специальные мосты, которые построены над трассой и предназначены для диких животных. А в Австрии действуют множество законов по защите природы.
Жители Венгрии предпочитают ездить на небольших и недорогих авто. Самый популярный автомобиль в Будапеште - Suzuki Swift. В Вене уже другие автомобили, в основном кроссоверы и седаны премиум класса. А среди производителей преобладают, конечно же, немецкие Volkswagen, BMW, Mercedes и Audi.


За поездку видели несколько достаточно старых автомобилей. Этот Volkswagen понравился мне больше всего

Лида в шапке "медведа"

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

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

пятница, 13 января 2012 г.

Как укротить Storm, или Оптимизируем любимую IDE



Не так давно я уже рассказывал о замечательной IDE PHPStorm от компании JetBrains. И вот, спустя три месяца использования, всплыл первый негативный момет. Я заметил, что моя IDE начала немного "притормаживать". Симптомы были следующие:
  1. При переключении с другого окна Storm зависал на пару секунд.
  2. Приложение потребляло непозволительно большое количество оперативной памяти (до 1.3 ГБ). 
В общем, я решил немного поиграться с оптимизацией. Результат превзошел все ожидания. Потребление памяти упало до 300 МБ, а отклик стал практически мгновенным. Вот, что я сделал:
  1. Переключил PHPStorm в 32-битный режим. В OS X это делается галочкой "Open in 32-bit mode" в свойствах приложения. Потребление памяти упало вдвое. После получаса работы IDE "скушала" около 700 МБ. Не будем копаться в причинах, помогло – и отлично. Идем дальше.
  2. Отключил автоматическое сканирование внешних изменений. Раздел "General" в настройках IDE. Выключаем опцию "Synchronize files on frame activation". Это позволяет избавиться от "замираний" при переключении на окно IDE. При установленной опции Storm просматривает метаданные файлов проекта на предмет внесения внешних изменений и сканирует директории на наличие новых файлов. Это происходит каждый раз когда окно IDE получает фокус. Ясное дело, что операция затратная. При большом количестве файлов в проекте, утилизация процессора скачет под 100%, отсюда и "замирания". После отключения опции для ручного запуска сканирования можно пользоваться кнопкой  "Refresh" (следующая после "Save"). 
  3. Добавил папки не содержащие кода в исключения. Для уменьшения числа файлов, за которыми следит Storm, в разделе "Directories" помечаем папки с кэшем и логами как "Excluded". 
  4. Отключил неиспользуемые плагины. Это последний шаг. Идем в раздел "Plugins" и снимаем галочки со всех ненужных плагинов. Перегружаемся, смотрим на утилизацию ресурсов. Наслаждаемся!
В результате получасового гугления и копания в настройках кредит доверия к моей любимой IDE был восстановлен. И я по прежнему могу утверждать, что PHPStorm – это единственный правильный выбор для профессиональной разработки на PHP.
Если Вы знаете еще какие-то способы увеличить производительность PHPStorm – отпишитесь, пожалуйста, в комментариях. Приятного кодинга!