Meetup, misc

Байки из склепа: КАК ЗАФЕЙЛИТЬ ПРОЕКТ

22 февраля FoxDevs собрался небольшой компанией в традиционном месте проведения круглых столов – Алекс Кафе, чтобы обсудить одну из актуальнейших проблем – успешность IT-проектов. Мы решили пойти от противного и собрать “вредные советы” для стартапов.

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

 

Not to do list

Совет первый. Не относитесь к своему проекту как к бизнесу. Просто программируйте.

Именно так можно надолго затормозить развитие проекта. Если не задаваться вопросом “Как заработать с помощью сервиса сейчас?” или не иметь четкого плана монетизации, выход на точку безубыточности может затянуться слишком надолго. Последствия очевидны. Очень важно вовремя начать трансформацию стартапа в полноценную самостоятельную компанию.

Совет второй. Не думайте о маркетинге. Ваш продукт и так купят – ведь он идеален.

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

Совет третий. Не нанимайте продажников и маркетологов.

Да, вероятно, вы – человек-оркестр. Вы хороший программист, дизайнер, маркетолог, “пробивной” человек, как и все предприниматели. У вас накопился немалый опыт, который является хорошим подспорьем вашему бизнесу. К тому же, руководители проектов – весьма ответственные люди, поэтому часто сами занимаются маркетингом, прямыми продажами и ведут разработку проекта. Так было и в CrocoTime (говорят, даже неплохо получалось). Но наняв настоящих специалистов для этой работы, команда ощутила, насколько лучше профессионалы справляются с возникающими проблемами.

 

Совет четвертый. Добавляйте много клевых новых фич.

 

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

Совет пятый. Компенсируйте количеством джуниоров отсутствие у них опыта (самый вредный совет).

Казалось бы, чем больше рабочих рук, тем быстрее продвигается работа. А учитывая проблемы с наймом продвинутых программистов, зачастую не остается выхода, кроме как нанять побольше подающих надежды молодых разработчиков и обучить их без отрыва от производства. Вполне жизнеспособный подход, но не для premium b2b-продуктов. Для пользовательского функционала ошибки допустимы, но если с данными работает не человек, а другая машина – нет. Для CrocoTime этот урок оказался самым тяжелым. Во-первых, “основной состав” проекта тратил слишком много времени и сил на обучение в ущерб работе над проектом. Во-вторых, в разы повысился риск ошибок, цена которых слишком велика (может приехать служба безопасности и “наказать” виновников). Поэтому иногда единственное решение – небольшая команда энтузиастов-профессионалов с запредельной мотивацией.

Совет шестой. Не придавать значения техническим ошибкам.

То, что баги есть всегда – факт. Вопрос в том, насколько серьезно к ним относиться. Философски считать, что “it happens” или педантично отслеживать каждую ошибку и тут же ее исправлять? Важно учитывать цену вашей ошибки для ваших клиентов. Если на вашем сервисе завязан чей-то бизнес, ваши сервера хранят важную информацию или от данных системы в буквальном смысле зависит судьба людей, ошибки вам могут просто не простить. Максимальные меры безопасности, предельное внимание к багам, высокая квалификация программистов – это должно помочь (разумеется, решить эти задачи весьма непросто).

Совет седьмой. Не использовать собственные инструменты, кастомизированные под нужды конкретного проекта. И не продумывать весь технологический стек.

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

В CrocoTime в определенный момент встал вопрос выбора инструмента для автоматического сбора багов. Готовое решение с настройкой под себя или собственное решение на основе доступных технологий?

Сначала попробовали внедрить систему автоматического сбора отчетов о сбоях на основе Google BreakPad. Проблема была в том, что приходило несколько тысяч отчетов. Поэтому следующим шагом стала автоматизация процесса при помощи Mozilla Socorro. На этот раз возникли проблемы с настройкой, которая требовала слишком много времени и сил. В итоге было написано небольшое решение на основе Google BreakPad, которое используется до сих пор.

Другой задачей, вставшей перед проектом, была необходимость обработки большого количества статистики. Статистика представляет собой временные интервалы, объединенные в цепочки. Их нужно “пересекать”, объединять результаты, суммировать и проводить другие “экзекуции”. Для таких нетипичных для оперирования реляционными данными задач в некоторых базах данных предусмотрены специальные интервальные индексы. Но они покрывают не все задачи. При этом объем данных очень велик, и оперативной памяти не хватает.

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

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

Совет восьмой. Не быть готовым потерять все.

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

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

 
Лена Зверева
Дмитрий Иванов
Реклама
Стандартный
Conference, FoxDevs Minicon, Video

Sphinx Vs bugs: обзор продукта и полуфилософские размышлени

Доклад состоит из двух частей. В первой речь идет о полнотекстовом поисковом сервере Sphinx (обзор наиболее важных особенностей программы). Во второй части затронуты вопросы важной составляющей взаимодействия пользователей и разработчиков — баги.

Стандартный
Conference, FoxDevs Minicon, Video

Лев Валкин: Развити IT-экосистемы Ульяновска

Лев Валкин на FoxDevs Minicon рассказывает о том, как начиналась активная работа по развитию локального IT-сообщества Ульяновска, каких результатов удалось достичь и что способствовало успеху

Стандартный
Conference, Photo, Trip

Как мы съездили в Ulcamp’13, или В чем разница между «экспертизами» и «компетенциями»?

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

 

День первый: заезд, лагерь, открытие.

Ехали двумя машинами, общались по рации. Больше баловство, конечно, но иногда помогало. Мой экипаж, как уже бывалый в Ульяновске, показывал дорогу и предупреждал разных неожиданностях новичков. Жалко, что мне слишком поздно пришла идея петь песни по рациям. Было бы весело, я уверена.

В Ульяновске погуляли совсем немножко: было мало времени. Зашли в книжный, пообедали и — на набережную. Смотреть Волгу.

Потом мы попрыгали в машину и поехали в лагерь. Наши «новички» оказались проворнее, и когда мы выехали, они уже ставили палатки (в Ульяновске наша «автоколонна» разделилась). Нам повезло меньше: пару раз свернули не туда, поплутали, но, спасибо инструкциям наших скоростных коллег, добрались! Зарегались и получили хитроумные бейджики с пустым кружочком. Закрашенный кружок = приглашение к беседе. По-моему, клево придумано.

Не сразу узнала, зачем кружочек

Место очень красивое (но несколько замусоренное)! Палаточный лагерь был на высоком берегу Волги, над обрывом. Вид — просто фантастика! Я, правда, не фоткала его (боюсь высоты), но фотографий с этим пейзажем, естественно, очень много.

"Сосны на речном берегу"

Растения на фоне палаток

Внизу были пляж, пирс, главная сцена, еда и напитки. 

Пароход, на котором привезли участников

Пляж

Добраться из пункта А в пункт B можно было двумя способами: или по пологой, но очень длинной дороге, или напрямую по очень крутым «козьим тропам». Так что фитнес-выходные удались. Мое тело наверное забыло, что у него есть эти мышцы. Вот, кстати, интересно, были ли на этих экстрим-терренкурах травмы и инциденты. Я не видела ни одного.

Одна из "троп здоровья"

Одна из "троп здоровья"

Вечером были шашлыки с песочком, открытие и концерт группы «Танцули» — вторая причина удавшихся фитнес-выходных. Нам бы тоже пару таких кавер-групп завести не помешало, но кажется пока нам такие диско-пляско-рок'н'ролл-вечеринки не нужны. Кстати, интересно, есть ли у этих коллективах свои песни и почему они их не играют (ну хотя бы одну штучку). 

Танец

Танцули

Спать в палатке мне ни разу еще не было так необычно. Ощущение полнейшего сюра, когда просыпаешься от криков и гогота вокруг в светлом кубе с одинаковыми сторонами и, зная, что кутеж идет со всех сторон, не можешь определить, кто это барагозит — ITech или Undev и вообще путаешься в частях света, чувствуешь себя взбесившейся стрелкой компаса в какой-нибудь аномальной зоне. В итоге, понимая свое бессилие, махаешь на все это рукой и снова идешь засыпать. Минут на 20 🙂

Ночью к нам приползло существо. Ему у нас понравилось, поэтому оно/она приползла и на следующую ночь. Правда, после этого она/оно нас покинуло, не оставив визитки.

Манюня
 

День второй: баркэмпы, круглый стол, костер.

Второй день был — рабочим. Сначала на главной сцене рассказывали о пользе и особенностях глобализации компаний. Краткие выводы: глобализация — хорошо, но учите английский! Удаленные команды должны общаться и чувствовать себя одной Командой. А чтобы люди не расползались в неизвестном направлении, надо делать им хорошо здесь. Говорили так же о том, что необходимо учитывать культурные особенности, менталитет и традиции клиентов из других стран. И говорили все по-английски!

Глобализация в действии

В общем-то, не могу похвастаться высокой явкой себя на доклады. Слушала про erlang, о том, что файловая система на сервере ненужная и даже вредная (во всяком случае, услышала), немного о RubyMine и наверное еще что-то. Доклады читались в интересной форме. Они были самозарождающимися, т.е. если ты хочешь о чем-то рассказать, пишешь — в 12 у бассейна в Первом Баркэмпе, и voila — люди приходят, рассаживаются и начинают внимать. При этом качество докладов не снижается, а естественный интерактив даже повышает полезный эффект.

Забыли добавить "для трудоустройства"

Даже я оставила свои закорючки на доске.

Вот они

Вечером мы с активистами развития локальных IT-сообществ из Саранска, Ульяновска, Пензы, Москвы, Самары, Санкт-Петербурга, Челябинска, Воронежа и наверное, других городов собрались на круглый стол. Мне посчастливилось его начать и рассказать немного о том, что происходит в Саранске, что такое юзер-группа FoxDevs, как и почему мы существуем. Если честно, я пришла туда за ответами, а меня саму засыпали различными вопросами. Потом ребята из других городов рассказали, что происходит у них. Корифеи и мастодонты IT-тусовки из Ульяновска поделились очень важными советами и озвучили ключевые моменты организации локальных сообществ и их жизни. В итоге, я ни одного вопроса не задала, но зато наконец-то в моей голове все разложилось по полочкам. Я достигла просветления 🙂 

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

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

Костер
 

День третий: еще баркэмпы, сборы, домой!

Думала сначала, зачем мне идти на баркэмп о тим-менеджменте? Но все равно пошла. И очень даже не зря — ощущение, что в темной комнате, в которой я ориентировалась на ощупь, зажгли свет. Модель тренерства в команде — это круто. С учетом детального обсуждения всех «а..» и «но», кажется, это ТО САМОЕ "универсальное лекарство"… Как минимум, элементы такого подхода использовать необходимо в каждой компании, если она хотя бы в общем смысле называет свой коллектив «командой».

А после этого рассказывали, очень подробно, о программе стажировки начинающих программистов на базе IT-компании. Обучение командной работе, разработка реальных, хоть и маленьких, проектов «from scratch», тренинги и игры. Идея для сотрудничества нескольких компаний! Я также узнала о существовании такой штуки, как Lego Scrum Simulation, которую собираюсь в скором времени потестить и о многих новых вещах, и еще поняла значение некоторых знакомых, но непонятных нерусских слов.

Доклад

На этом серьезные вещи закончились. Начались водные процедуры в освежающем бассейне. Водичка — что надо, как у меня в душе, когда происходят летние отключения. Но если барахтаться — норм, становится немножко тепло. Последнее восхождение по «узкой дорожке» — и паковаться. Что может быть приятнее сборки 4-х местной палатки? Я кстати часть одежды так круто упаковала, что до сих пор найти не могу.

Эти и другие фото 
 

Вы когда-нибудь замечали, что ехать «обратно» быстрее, чем «туда»?

Дорога Саранск-Ульяновск таит в себе множество неожиданностей и оставляет море впечатлений. В целом, она ничего, не считая пары-тройки (четверки-пятерки) участков, где ведут ремонт. Там, конечно, колдобины, сужения, светофоры, красный сигнал которых народ почему-то дружно игнорирует (едущая на тебя на узком участке фура, когда тебе зеленый — озадачивает), но жить можно. 
Что по-настоящему неприятно, так это внезапные стыки и ямы, которые появляются вдруг и здорово подкидывают авто. Особенно этих вещей много на той стороне, по которой едешь в Саранск — так что аккуратней.
Внезапные «лежачие полицейские» в Ульяновске, которые, к тому же, непривычно широкие — тоже неприятно. Они в принципе неотличимы от ровного асфальта, а знаков нет =[
А еще отдельного упоминания заслуживают ненормальные идиоты, которые выезжают на встречку для обгона в достаточно плотном потоке и едва успевают уходить обратно в паре сотней метров от тебя. Серьезно, я считаю, что они преступники. Такое только под Нижним и Ульяновском видела, но, чувствуется, за городом это теперь везде такая мода.

P.S. Вопрос в заголовке — это на самом деле вопрос. Ну правда, расскажите!

Лена Зверь

Стандартный
Meetup

Лекарство от скуки на работе, или субботний круглый стол.

В прошлые выходные в юзер-группе FoxDevs состоялось важное и серьезное обсуждение. Мы выясняли, как повысить производительность труда путем применения “плюшек”. Уговор был таков: в беседе о том, как сделать компанию “вторым домом” для сотрудников, ни слова о деньгах! Рецепт получился следующий:

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

Все началось с рассказа Андрея Сараева об изменении ожиданий сотрудников, произошедшем за декаду.

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

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

Наталья Белянина рассказала о тимбилдинге в компании Webparadox.

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

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

Максим — президент Ассоциации разработчиков программного обеспечения Пензы, а его компания CodeInside — настоящий активист на поприще развития IT-сообщества. Сотрудники компании являются не только зрителями и слушателями на событиях, которые организует Ассоциация, но и сами делятся своими знаниями и опытом. Например, читают лекции в рамках IT-лаборатории, курируют проекты лаборатории, ведут занятия Школы программирования, выступают с докладами на конференции SECON. И если есть хорошая работа и прекрасная возможность расти и самоутверждаться, зачем искать что-то еще?

На круглом столе не обошлось и без дискуссии. Самые активные участники получили наши традиционные  призы: Алексей Лигер — книгу на выбор от издательства Wrox, Алексей Узлов — лицензию один из продуктов JetBrains. А Николай Пальдяев первым догадался о предназначении одного странного предмета, вовсе не связанного с информационными технологиями (этот предмет — многоразовая силиконовая складная ваза). Ну серьезно, до этого ни разу не угадали! 🙂

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

И отдельно хочется поблагодарить наших друзей — Алекс Кафе, которые радушно нас приняли и напоили своим классным кофе. Мы к вам еще вернемся!

 

Отзывы:

Ирина Бормотова

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

Хм… а осознает ли это самое "сообщество" себя таковым?:) Таким образом, наверное, одна из задач фокус-группы — не только дать возможность присутствующим презентовать себя и поделиться докладами, но и расставить грамотные вопросы и дать повод для размышлений. Причем каждый ответит на эти вопросы самостоятельно — с опытом и последующими встречами:)

P.S.: просто давайте общаться.

А место было дивное: пироженки с кофе сделали мероприятие, ко всему прочему, еще и вкусным!

Макс Шуркин, Стас Кособоков, Айрат Тажимуратов:

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

Алексей Лигер:

Мне всё нравится!

Максим Артамошкин:

Спасибо Foevs за встречу! Эта тема для меня сейчас очень актуальна и я отметил для себя несколько советов от экспертов. Количество участников говорит о том, что ИТ-отрасль в Саранске и группа Foevs движется в нужном направлении.

Anonymous:

Все время рассказывали о том, какие "плюшки" дают в компании, о том как все хорошо и замечательно. Я ждал, когда хоть кто-нибудь скажет о таком мотиваторе, как хорошее ТЗ, и не услышал этого. 

Лена Зверь

Стандартный