понедельник, 29 июля 2013 г.

О том, как Роме надоел фриланс

В 2008 году я задумался о том, чтобы уволиться и начать работать самостоятельно.
Вот, мой первый пост, а вот второй про фриланс.

Настало время подвести краткие итоги моего, почти пятилетнего свободного плавания.
Если кратко - то фриланс оказался намного лучше, чем я думал. Но долго фрилансить не стоит, надо двигаться дальше.



А вот о том, как это было...
Хотя я и уволился с наемной работы, я все равно, работал на "дядю" первые 4 месяца.
Потом у меня получилось позвать двух хороших друзей программистов в нашу команду.
Они присоединились и это были мои первые сотрудники. На тот момент мой доход состоял на 10% от отработанных ребятами часов и на 90% от отработанных мною часов. Но это требовало колоссальных рисков, разговоров с заказчиками, с ребятами, с арендодателями.
С точки зрения денег, это было крайне невыгодно - мой доход снизился, т.к. это требовало уйму неоплачиваемого времени, но зато давало какой-то потенциал в росте.

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

Потом, с Божьей помощью становилось легче. Разговаривать с заказчиками было все проще и проще. Звать новых людей и хороших друзей тоже становилось проще. Искать новые проекты тоже получалось. Мы понемногу росли и где-то через год нас было около 10 человек в офисе.
На тот момент доля от команды была уже около 30% к моему фрилансерскому доходу. Я все меньше и меньше программировал и все больше чатился и писал письма. Это был большой риск - потерять квалификацию хорошего программиста можно где-то за год.
А вот стать хорошим менеджером за год, наверное, невозможно.

Постепенно мы сменили профиль работы, и почти все перешли на linux стек. Я освоил администрирование linux, а вот программировал около 5% времени.

В результате, за 5 лет, моя квалификация как программиста полностью утеряна. Наверное все наши сотрудники программируют лучше меня. В разное время со мной работали от 3 до 18 человек в команде одновременно. В итоге за 5 лет со мной работали 24 человека. Доля дохода от команды стала в среднем 50%. Например, если ехать в отпуск на 10 дней, то на тот период доля будет 100%, но такой отпуск был всего один раз.

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

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



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



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

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

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



А я желаю вам развиваться в той области, в которой вы сами хотите, а не в той в которой вы больше заработаете.

четверг, 6 июня 2013 г.

Клемы Wago в Омске

Недавно прочитал отличную статью о том как правильно соединять провода: Прекратите скручивать!

Там описываются вот такие замечательные клемы Wago, но найти их в Омске через интернет я не смог. Вернее в интернете они есть, но в наличии их не оказалось.

Вчера в офлайне, в магазине Леруа Мерлен (leroy merlin) я обнаружил эти самые клемы Wago в Омске:



Мелкой партией они стоят по 16 рублей за штуку для двух проводов и 18 рублей для трех проводов.

На картинке выше вы видите клемы Wago для пяти и трех проводов в собраном и разорбраном состоянии.

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

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

суббота, 6 апреля 2013 г.

Умный дом и дача и Raspberry Pi и мониторинг температуры.

После покупки RaspberryPi встал вопрос, что же полезного можно с этим девайсом сделать.


Из всех вариантов, пока, самым полезным оказалось устроить мониторинг температуры на даче. Там есть дом, чердак, солнечная и теневая сторона, грунт, и самое главное - будет теплица. (вообще я, мягко говоря, очень не люблю дачу, но т.к. ничего умнее для RaspberryPi не придумал, то буду ездить туда :)).

Хочется собирать температуру в течении всего года. Хочется сохранять эти данные, и в идеале, хотя-бы раз в день передавать эти данные домой через мобильный интернет.

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

Встает важный вопрос - куда данные сохранять и как их потом просматривать. Писать чо-то свое - это долго, плохо и неправильно. А искать подходящий вариант из готового и опенсорсного - это мой путь. Попробовав Cacti, Munin, Zabbix, я остановился на последнем. т.к. он хорошо заработал, он хранит данные в MySQL и он позволяет удобно просматривать графики.

Сейчас я тестирую эту систему в офисе.

Итак, что-же я уже сделал: купил три цифровых термометра DS18B20 (80р за шт) и подключил их по этой схеме. Только вот один из термометров я перегрел паяльником и он вышел из строя. А вот остальные два вполне работают. Кстати, датчики включены параллельно и используют только три провода. Кажется, на трех проводах можно подключить до 64 штук.

Подробнее о том, как я подключал, можно посмотреть здесь:

Ну и самое главное - как это сейчас выглядит на графике:


Нажмите и картинка увеличится.

температура за окном (синий),
температура в комнате (красный),
разница температур (зеленый)

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

Ну вот и все на сегодня. Жду ваших вопросов и комментариев. Отвечу всем.

пятница, 1 февраля 2013 г.

apiary.io


Хочу всем программистам посоветовать сервис для описания API под названием
apiary.io

Это как GitHub, только не для исходников, а для очень удобного описания, тестирования, и документирования любого API.

Для чего это нужно?
Например вы создаете сайт и хотите сделать к нему API, например для мобильного приложения. Встает логичный вопрос - где и как вы будете хранить описание и документацию по этому API. Более того, если этим API будете пользоваться не только вы, то желательно сразу выделить отдельный сервер для тестирования, который не будет падать в то время, как ваш проект стремительно развивается в альфа версии (те кто знают, те поймут).

И в этот момент apiary (что значит пасека или набор ульев), может невероятно удобно решить все описанные проблемы. В одном документе в режиме разметки MarkDown вы за 5 минут описываете ваше API с примерами запросов и ответов и автоматически получаете просто невероятное кол-во функций:

  1. Ваше API очень красиво выглядит и вы можете на него ссылаться
  2. Пользователи сайта могут получить сразу сгенерированный код для вызова API на следующих языках (curl, javascript, node.js, python, php, ruby)
  3. Пользователи сайта могут писать комментарии к любому методу API
  4. Пользователи могут вызвать любой из методов прямо из браузера
  5. И самое главное - для вашего API автоматически бесплатно создается надежный сервер для тестирования на самом apiary!!! И в нем есть очень удобный дебагер, который показывает, кто и когда посылал запросы и какие были ответы!

Можно создавать приватные "репозитории". Система превосходит все возможные ожидания.

Я описал далеко не все функции, там есть интеграция с гитхабом, еще есть проверка, что ваш API не устарел и работает в соответствии с описанием и т.д.

Я слышал про нее пол года назад, но до сих пор не использовал.

Вот очень маленький API пример для одного из моих проектов:
http://docs.linkentools.apiary.io/