30 сентября 2010 г.

Путь джедая - эпизод 5, Империя наносит ответный удар

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

Давным давно, в далекой-далекой галактике... проект набирал ход, начали появляться новые направления разработки, заказчик понемногу втягивался в проект и наше понимание его бизнеса постепенно росло. Однако не все было спокойно. Периодически, заказчика бросало из стороны в сторону, что выливалось в частую смену приоритетов направлений работы. Кроме того, вот-вот должен был состоятся первый значительный релиз, с которым должны были начать работать бесчисленные дилеры нашего заказчика. В это время я активно занимался самообразованием и ждал момента, когда смогу продвинуться по служебной лестнице до какой-либо позиции, связанной с управлением. Можно сказать, управленческая сторона IT (не путать с темной стороной силы!) стала мне по-настоящему близкой и интересной.

25 сентября 2010 г.

Участие в IT конференциях: вовлеченность в индустрию и мотивация

Во всем мире каждый год проводится просто прорва разнообразных конференций, слетов, фестивалей, семинаров и прочих подобных мероприятий. Многие из них, так или иначе,  посвящены IT отрасли. И некоторые проводятся у нас, в Беларуси. Каждая из них дает прекрасную возможность для самообразования разработчикам, тестировщикам, менеджерам. Думаю, не нужно объяснять почему. Лучше подчеркну другой огромный плюс участия в таких конференциях.

Этот плюс - ощущение себя частью IT отрасли или, если хотите, целой IT культуры. Несмотря на то, что разработчики обычно оставляют впечатление эдаких одиночек, ощущение вовлеченности во что-то грандиозное и большое крайне важно для них. Знаю по себе, что временами этого очень не хватает, а когда это появляется, то начинаешь себя чувствовать очень уверенно и свежо.

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

Однако, есть парочка проблем.

20 сентября 2010 г.

Оценка задач: как делать хорошие оценки

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

16 сентября 2010 г.

Оценка задач: причины неудачных оценок

Оценка трудозатрат на выполнение задачи является неотъемлемой частью профессиональных будней разработчика ПО. Мы занимаемся этим постоянно, даже в течении работы над уже поставленной и оцененной задачей («Кажется, успею реализовать этот класс до обеда...а после займусь подготовкой тестов»). Казалось бы, что постоянно оценивая задачи на разных уровнях, опытные разработчики должны щелкать это как орешки. Но все мы знаем, что это далеко не так и что даже самые опытные из нас могут промахнуться. Почему так происходит?





15 сентября 2010 г.

Иконки в Eclipse

При разработке приложений на базе платформы Eclipse RCP время от времени возникает необходимость найти иконку для очередной кнопки панели управления или другого элемента интерфейса Eclipse. Конечно же нам, программистам, рисовать новые иконки зачастую лень, поэтому проще найти готовую. По ссылке внизу можно найти отличную подборку всех (наверное) иконок из множества плагинов Eclipse IDE. В принципе, найти среди них подходящую под ваши собственные нужды несложно. Пользуйтесь!

14 сентября 2010 г.

Почему ваше следующее приложение должно быть с открытым исходным кодом

Эта статья - перевод. Мне она показалась весьма интересной. В основном касается разработки приложения для App Store, но я думаю, что многое может быть применено и в других сферах. Далее повествование идет от лица автора статьи.

За последние несколько лет мне довелось поучаствовать в разработке всевозможных видов программного обеспечения. Начиная от внутреннего ПО с закрытым исходным кодом для компаний и продуктов и заканчивая фреймворками и инструментами для разработки приложений с открытым исходным кодом.

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

И вот почему:

10 сентября 2010 г.

Test Driven Development - так далеко, так близко

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

8 сентября 2010 г.

Динамические выражения в Eclipse

Задача: разработать удобный механизм, позволяющий вводить и изменять выражения на специальном языке и получать результат их выполнения в любом месте приложения. Выражения вводятся, изменяются и вычисляются «на лету» без компиляции и остановок приложения.

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

Итак, расскажу как это устроено и работает у нас.

2 сентября 2010 г.

Оценка исследовательских задач


Все знают, что оценивать исследовательские задачи очень трудно. Как по времени («будет сделано к следующему понедельнику.... или через неделю... или...»), так и по фактическим трудозатратам («на эту задачу у меня уйдет... скажем, 24 часа и примерно 35 минут»).


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