Показаны сообщения с ярлыком luxoft. Показать все сообщения
Показаны сообщения с ярлыком luxoft. Показать все сообщения

The Navigame

1 коммент. | добавить комментарий
Just a week remains until the New Year 2012 comes. The last year was the first one we at Luxoft have been able to make the maximum contribution to the development of the next-generation car navigation system which we are working on since 2008. The most prominent thing is the complete responsibility for the production chain, of course. At the same time the software products we are developing have matured a lot - thanks to all my colleagues, past and present.

As I really appreciate what our guys have done and are doing and at the same time I want to remember and cherish the good time we had in 2011, I decided to write a simple computer game on how we work. So, meet The Navigame:


After some trials and errors I decided to make it looking like a paper sketch (most likely soon I'll assemble a new version with enhanced graphics which I've asked my friend for). The good thing is that here I've finally found an application for the TTF-font I created two years ago.

The goal of the game is to develop the navigation system and to compile digital maps - as much as possible. For this you have a pool of skilled developers and map production engineers which can be assigned different tasks. There are developers who create the navigation software and production engineers who build the maps using the map compiler which is a part of navigation. The more the navigation system is feature-complete, the bigger maps can be handled with it. There are also some athmospheric features like customer PM or developers' curses. You basically should (a) finish the navigation development, (b) fulfil the map production plan and (c) earn as much money as possible.

To all people we worked with during the last 2-3 years: there are good chances that you find yourself inside the game - so give it a try :)


The source code, readme and binary download are available on Github at https://github.com/sborodavkin/navigame. It is required to have JRE installed as the game is developed in Java using Slick and LWJGL.

All contributions and feedback are warmly welcome.

Project Management Plan Hell

4 коммент. | добавить комментарий
В нашем центре разработки существует обязательная практика написания Project Management Plan'а (PMP) для каждого проекта. Под РМР у нас понимают документ объемом около 20-30 страниц следующего содержания:
- Scope проекта (milestones, deliverables, assumptions, constraints и т.д.)
- организационные диаграммы: внутренняя + интерфейсы на стороне заказчика
- планы по управлению рисками, требованиями, изменениями, схема эскалации проблем
- методики оценки проекта, планы верификации и тестирования, процедуры приемки задач и пр.
- план-график проекта
- цели качества и контролирующие их метрики
- план обучения персонала
- и т.д.

От каждого (условно) project manager'а в обязательном порядке требуется:
- составить такой документ (с учетом проектных задач, которые никто не снимает - 2-3 недели)
- провести ревью внутри команды с привлечением инженера по качеству, учесть замечания (если в команде человек 10-15 - 1 неделя)
- провести еще одно ревью с участием руководителя группы качества и сайт-менеджера и утвердить РМР на нашей стороне (с учетом занятости таковых - 2 недели)
- утвердить документ с ПМ'ом на стороне заказчика (с учетом занятости такового - 2 недели)

В общем итоге, составление и утверждение РМР занимает около 2 месяцев. За это время, разумеется:
- изменяется scope проекта, появляются новые задания и активности
- изменяется состав команды (кто-то приходит, кто-то, возможно, уходит)
- сдвигается план-график
- уточняются цели качества, изменяется набор метрик
- люди обучаются, план обучения также эволюционирует.

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

Пути решения могут быть, например, такими:
- упрощение процедуры переутверждения РМР
- упрощение содержания РМР
- отказ от РМР.

Ага?

Ля-ля vs Бэ-мэ: итоги года

0 коммент. | добавить комментарий

Ярчайшим событием уходящего года стал уход из Ля-ля одесского сайт-менеджера и директоров ИСГ и основание ими собственной компании Бэ-мэ. Было все:

  • и обещания о переводе меня и моих ребят в Бэ-мэ
  • и уговоры Ля-ля остаться
  • и вызов меня в московский офис Ля-ля
  • и бесконечные приезды большого начальства со сборами всех сотрудников на кухне и заверениями что «все будет хорошо»
  • и неконтролируемые попытки Ля-ля поднять всем зарплаты с целью закрепить людей на рабочих местах
  • и уверения руководства Бэ-мэ в «светлом будущем»
  • и «командировка» в Ля-ля сотрудников половині команды, уже оформленных в Бэ-мэ
  • и заказчик, который сначала подтвердил наш переход в Бэ-мэ, а потом закрепил в Ля-ля
  • и длинная переписка с нашим ПМ-ом с немецкой стороны
  • и разъединение команды

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

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

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

Мы все молодцы.

Еще раз о собеседовании

2 коммент. | добавить комментарий
Мне довелось на этой неделе неделе на пару с коллегой - тимлидом дружественной команды собеседовать кандидата на должность Java-разработчика. Для меня это был дебют. В Академосе я, правда, проверял тесты - но это совсем другое. Сидеть на собеседовании с Другой Стороны Стола и задавать вопросы - это куда как более сильно.

Собеседование мы проводили техническое - соответственно, нас избавили от необходимости рассказывать кандидату про то, что "в компании Люксофт пишут ахуенный софт", или "Люксофт: пишем разные программы классные".

Мы спросили про опыт работы и готовые проекты. Узнав, что человек занимался системой учета персонала, я зацепился за слово "персонал" и стал выяснять, как бы он сохранил список персонала на диске или передавал бы его по сети. Соответственно, обсудили Serializable (знал) и Externalizable (плавал). Поговорили о паттернах - попутно выяснив, что кандидат не знает UML, хоть в резюме и обещал. Потрепались об MVC на примере компонента JTable, который рисует табличку. Говорили также о многопоточности в Java и особенностях ее в Swing (человек хвастал знаниями Swing'а, но о его вопиющей не-потоко-безопасности - опять ни сном ни духом).

Дал я ему потом задачку, которую сам придумал. Идею дарю. Итак, надо спроектировать Стол. Стол имеет ножки и столешницу. На столешницу в первой версии Стола можно класть листы бумаги и стакан, куда кладут ручки и карандаши. Если б кандидат знал UML - рисовал бы у меня диаграмму классов, а так ему пришлось это все выражать в коде на бумажке. Потом мы обсуждали реализацию, вносили изменения в требования, и смотрели как он с ними справляется. Например, у него было два списка - один список для стаканов, другой - для бумаги. На запрос "поддержать в новой версии Стола возможность класть на него книги" кандидат предложил ввести еще один список - для книг... Ну, короче, такая задачка, на мой взгляд, позволяет немного судить о том, как человек думает и проектирует.

Потом еще про алгоритмы спрашивали (сам виноват - зачем писал в резюме про "знание алгоритмов сортировки, поиска, и т.д."). Про сложность алгоритмов он никогда не слышал, ни один алгоритм сортировки даже не назвал, про binary search не рассказал...

Еще о многом говорили - зацепили Exception'ы, особенности Java 1.5, Eclipse, SWT... Короче, промурыжили мы его около часа, и не взяли. Хочу теперь проводить много собеседований. Как мне кажется, решение "не взять" - гораздо менее ответственное, чем "взять". Поэтому хочу теперь кого-то "взять". Джависты, ау! У нас правильный настрой!!!

UPD 13.02.07: вчера еще одного собеседовал! Этому давал уже две задачки - одну на простой алгоритм, и другую - на простое проектирование, но уже не про стол, а про автобус. Дела идут...

О переходе на новую работу

0 коммент. | добавить комментарий
А вот снился мне давеча сон про самое ужасное собеседование в мире.

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

А потом, гад, добавляет: "Ну, мне надо притащить из подвала комп - вот, мол, сходи-притащи, и тогда, так уж и быть, я тебя не выгоню". Я, ясен перец, взвиваюсь на дыбы, выдаю ему, что мне не нравятся его методы и что в рот я ебал эту контору мне не хочется работать в компании, где так относятся к будущим сотрудникам. Встаю и гордо ухожу. Проснулся.

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

Одно слово - не назрело!

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

Как же меня сейчас выкручивает всего! Что случится завтра - ума не приложу... И вот ведь какая штука - никто за меня ничего не сможет решить!

Что-то будет?..