Sunday, September 25, 2011

От стартапа к стартапу

Когда наш "замечательный" (в трех кавычках) стартап наконец развалился прошлой зимой, все дружно оказались на улице с формулировкой "temporary layoff until we find new funding". Для человека, работающего по H1B, это плохо по нескольким причинам:
1) надо срочно искать новую работу, чтоб оставаться в легальном статусе.
2) сразу прекращает действовать медстраховка
3) прекращается процесс оформления гринкарты, если он не дошел до последнего этапа, который уже не зависит от работодателя. у меня не дошел.

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

К счастью, поиск новой работы в условиях протухающего статуса H1B мне прочувствовать не удалось. Первые 2-3 недели я наслаждался работой над своим хобби-проектом и играл в теннис с Димкой (который такой молодец, что я про него напишу отдельную статью!). Потом пришло ощущение, что стартап может уже больше и не "ожить", потому надо начинать искать новую работу. Т.е. освежать разделы программирования, которые никогда, кроме как на собеседовании,  не пригодятся, обновлять резюме, начинать общаться с рекрутерами, и прочее.

И только я собрался заниматься всей этой фигней, как на меня вышел рекрутер через LinkedIn и предложил пообщаться. У них, рекрутеров, нюх на компании, которые разваливаются. Сразу начинают подбирать оттуда  людей, пока другие не перехватили. Что там происходит за пределами нашего замечательного ИТ-бубля - это нас в силиконовке затрагивает мало, тут работы тьма и рынок очень горячий. Хотя я знаю пару человек, которые жаловались на то, что не могут найти работу тут по полгода. Не пытаясь делать вид, что я прямо лучше всех, я бы таки высказался, что я им вообще запретил бы законодательно заниматься ИТ и предложил бы [...автомодерировано злобным гуглом...].

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

Интересный момент получился с медстраховкой. В тот же день, как компания "временно приостановила работу" (это такая формулировка, чтоб формально оставить работников на paylist, чтобы компания казалась больше, чем она есть на самом деле - для потенциальных инвесторов) , - медстраховка заканчивается. Можно продолжить ту же самую страховку по полной цене за свой счет (на 1 человека в месяц было порядка $1300, что заставило меня  вспомнить несколько нехороших русских слов). Можно пойти купить страховку напрямую на "общем рынке". Ага, сейчас...

Избрав второй путь, я с удивлением обнаружил, что я, молодой здоровый парень, медстраховку "на общем рынке" купить не могу ВООБЩЕ ни за какие деньги. Потому что при заполнении анкеты в графе "есть ли какие-то запланированные и невыполненные еще мед. процедуры" я честно написал "да". Места, чтоб объяснить детали, там не было. Как выяснилось, эта галочка для меня означала "страховку не получишь никогда". 

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

Обама пытался что-то сделать на тему медстраховок, но пока как-то не очень... Через несколько лет начнут действовать немного измененные условия медстраховок, но я сомневаюсь, что они что-то заметно улучшат. Если медфирмам запретят отказывать клиентам типа меня, они просто начнут устанавливать цены типа $20000/месяц. Запретят устанавливать такие цены - еще что-то придумают, делов-то. Это гигантский бизнес. Обама ему не страшен.

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

Алексей.



Friday, July 15, 2011

Task Adapter

Завелся у меня хобби-проект, над которым я работаю в свободное время.
Суть проекта: перенос данных между баг-трекинговыми системами (Atlassian Jira, Redmine, Chiliproject, ...) и Microsoft Project. Как побочный эффект - возможен перенос данных между баг-трекинговыми системами (Atlassian Jira --> Redmine и т.п.).

Сайт проекта: www.taskadapter.com

Пользователи продукта
  • ГЛАВНЫЕ: менеджеры, которые ведут план проекта в Microsoft Project и которым надо синхронизировать данные с баг/таск трекерами.
  • Второстепенные:  компании, которым надо настроить автоматическую синхронизацию данных между двумя баг-трекинговыми системами (этот режим пока не готов)
Регулярной зарплаты в проекте нет. Деньги можно получать за кастомную доработку под конкрентых клиентов.
Мелкие бонусы для участников:
  1. возможность поизучать новые технологии. я буду обучать и консультировать.
  2. решение интересных архитектурных задач
  3. завести полезные знакомства.
  4. для компаний - бесплатная лицензия на продукт.
Факты о проекте:
  • Есть платные пользователи (!), но пока мало. Много потенциальных пользователей просят различные доп. функции, но надо стараться не добавлять в продукт ерунду, которая нужна только 1-2 клиентам. Пользователи - различные компании среднего размера из разных стран мира. 
  • Потенциальный инвестор на данный момент - правительство Канады. Среди потенциальных клиентов - Военно-Морской флот США (ждут добавления пары функций в продукт).
  • Ведущий разработчик - я. Есть одна фирма-клиент из Бразилии, они иногда помогают с разработкой коннекторов Redmine и MSP. Jira их не интересует, т.к. они ее не используют.
  • Продукт написан на Java.
  • Пользовательский интерфейс (в текущей версии) сделан на платформе Eclipse.
  • Приложение модульное: есть ядро, есть модуль пользовательского интерфейса, и по 2 модуля (логика + редактор) для каждого "коннектора": Redmine, Atlassian Jira, Microsoft Project.
  • Добавить коннектор для поддержки новой баг-трекинговой системы (багзилла, ...) легко. Если у них уже есть готовый Java API - порядка 5 рабочих часов.
  • До сих пор основной упор был на полноценную поддержку Redmine, Jira была добавлена лишь для понимания, какие части будут общими у web-based bug-tracking систем, чтобы вынести их в "ядро" системы. 
  • Для поддержки Redmine я разработал Redmine Java API (сейчас сделал его бесплатным и open-source).
  • Система хранения версий - Subversion. В будущем можно Git, пока смысла не было.
  • Система Continuous Integration - Jenkins CI.
  • Есть большой набор юнит и интеграционных тестов для всех коннекторов и ядра системы, прогоняются при каждой автоматической сборке в Jenkins CI.
  • Система сборки: Maven + Tycho.
  • Серверы для поддержки инфраструктуры (кроме веб-сайта проекта)  находятся у меня дома, доступны всем через интернет (установлены несколько версий Jira, Redmine, Chiliproject). Локально участникам проекта ничего этого ставить не надо.

Задачи (в случайном порядке и без группировки):
  • понять, в какую сторону развивать продукт, разработать стратегию.
  • предложить варианты улучшения и/или улучшить дизайн веб-сайта (www.taskadapter.com), его содержание, выбрать более подходящую платформу для сайта (сейчас используется Drupal) и  т.п.
  • доработать пользовательскую документацию, создать видео-ролики с примерами использования, ...
  • тестировать продукт
  • оказывать поддержку пользователям по почте (английский язык)
  • рассказывать о продукте потенциальным пользователям на форумах и т.п.
  • предложить и/или реализовать улучшения пользовательского интерфейса и т.п.
  • доработать Jira Connector.
  • понемногу дорабатывать Redmine Java API (когда потребуется для Task Adapter или есть настроение).
  • разработать дополнительные "коннекторы" (для Bugzilla, Basecamp, Github, Pivotaltracker, Foxbugs,....) Это должно быть просто, т.к. вся общая логика коннекторов вынесена в "ядро" системы. Коннекторы подключаются как OSGI bundles.
  • перевести пользовательский интерфейс на веб (основная задача для версии 2.0)
  • добавить автоматический режим синхронизации данных без участия пользователя (по таймеру) - запланировано на версию 2.0
  • продумать механизм лицензирования с учетом радикальных изменений в версии 2.0
  • понять, надо ли оставлять в проекте OSGI после ухода с платформы Eclipse. 
  • много прочего, полный список тут: https://www.hostedredmine.com/projects/ta/issues (создайте эккаунт на том сервере, пришлите мне account name, я дам доступ).
Пишите на alskor (at) gmail.com

Сайт проекта: www.taskadapter.com

Friday, July 1, 2011

Трудовой Лагерь Усиленного Питания - есть желающие?

UPDATE: Всем спасибо, следующий набор в лагерь будет где-то в районе октября.

Много чего произошло за последние полгода. Старая компания развалилась, сейчас я работаю в другой фирме, которая примерно в 33 раза лучше предыдущей.У нас есть несколько вакансий для программистов.
Фирма находится в Силиконовой Долине (Калифорния).
Суть работы: создание большого и сложного ПО для страховой индустрии. Язык разработки: Java.
Компания согласна делать новые рабочие визы и оформлять ГК для кандидатов извне США.

НЕ бодишоп, полноценная продуктовая компания, сейчас выходит на IPO.

Зарплата - рыночная США.

Фирма - хорошая (зуб даю).

Требования:
1) быть очень хорошим программистом/архитектором.
2) специализация в Java.
3) разумеется, английский язык.

Пишите c resume на alskor(at)gmail.com. Буду рад, если кто-то откликнется из тех, с кем раньше работали/учились вместе.

Saturday, February 12, 2011

Русский фестиваль в Сан Франциско

Побывал вчера на открытии Русского Фестиваля в Сан Франциско.

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

"Очень любящий все русское" (слова из анонса) певец Коля очень гордился тем, что он только что  выступал в Москве (про это повторили в анонсе раза 3 и потом он сам про это еще сказал на сцене). Голос у него хороший, тут спору нет. Можно поставить твердую 8 из 10.

Остальная часть концерта до уровня этих двух номеров немного не дотягивала.

Танец матросов был очень живеньким, неплохо сделан. Танец пары с коромыслом тоже ничего, но матросы смотрелись интереснее.

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

Молодой певец Алекс из Лос Анджелеса сначала разочаровал песней "Если б не было тебя". Слабовато спел. Дальше пошло лучше - старые песни 70х, которые он явно пел много раз до того. Если у него и был хороший голос, то он его никак не проявил. Ну и ладно - "симпатичный какой, да еще и поет" (с) слова девочек, сидящих рядом. :)  Если бы он первую песню (мою любимую) не спел так плохо, я бы может и не придирался вовсе, поставил бы ему твердую шестерку из 10.


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

Публика была на 90%  возрастом 50..60+. Ко второму акту я забрался на второй этаж, чтобы смотреть с балкона и удивился - там собралось немало молодежи, лет по 15-23. 

Парковка удобная - прямо через дорогу, всего  $7.
Очень понравились блины с икрой и лососем. Надо было еще взять водки в буфете, было бы веселее.

Sunday, December 5, 2010

Джеймс Гослинг: сессия "чекаво"

Джеймс Гослинг провел сессию вопросов-ответов  в Гугле на общие темы (в стиле "чего, как оно вообще"?).
Я сходил - интересно было послушать умного опытного человека. Сделал отрывочные заметки на бумажке. Уж не знаю, интересно кому будет читать или нет. Буду писать ответы Гослинга "от первого лица" курсивом.
Вот тут видео-версия сессии.


Гослинг сказал сразу, что он сейчас странный зверек и никому не принаджелит, потому не будет защищать какие-то компании или технологии. "буду говорить то, что думаю" (с).

Про Оракл: Оракл помирился с IBM и Apple. Оракл сильно заинтересован в Java, потому что очень многое в их системах работает на этой платформе.

Про покупку Ораклом SUN: они не знали толком, что купили. Их основная область знаний - базы данных. У них большая проблема с принятием решений. Компания очень иерархичная и правом принятия серьезных  решений обладают всего 2 человека.

Вопрос: что думаете про поддержку Generics в Java 1.5?
Generics с одной стороны добавили сложности, с другой -  убрали, улучшили compile-time check. Есть corner cases, но они обычному пользователю неинтересны. В целом - очень положительно.

Вопрос: что с Closures?
Надеялся, что они будут в Java 6, потом в Java 7. Теперь скорее уже в Java 8. Это был очень ugly fight.
Как-то раз я удалил все операторы "goto" во всем Java code в мире - их было всего 13 и заняло пару часов с утра. :) Теперь такое не получится, все обсуждения растянуты на годы.
Java 7 сильно застрял из-за войны с IBM. Теперь это не проблема и Оракл активно продвигает разработку Java 7.

Вопрос: какой  второй любимый язык после Java?
Ненавижу Си "with passion" - тратишь больше времени на отслеживание глупостей с поинтерами, чем на разработку логики. То же самое - про Objective C. Пожалуй, Scala ничего. Хотел бы, чтобы некоторые вещи из Scala были возможны в Java.
Ruby очень медленный. JRuby лучше, но слишком много накладных расходов поверх Java -> опять же медленный.

Вопрос: что думаете про hardware support for JVM bytecode?
Идея мертворожденная в принципе. Разработка CPU стоит 2 млрд. долларов. Взять несколько мощных программистов-компиляторщиков и дать им написать оптимизацию Java -> CPU instructions будет стоит жалкие сотни тысяч $.
Разработка железа для прямого исполнения JVM bytecode теоретически возможна и показывает неплохие результаты для простейшего POC (Proof Of Concept), но дальше этого не идет, потому что поддержка всех corner cases слишком дорога. Напоминание: Интел тратит 2 млрд. долларов на разработку 1 процессора. Не надо пытаться его перегнать, надо это переиспользовать.

Вопрос: что думаете про OSGI?
OSGI очень сильно растолстела и уже достала, вместе со своими гребаными юристами.
SUN в свое время анализировал, стоит ли судить Google за их эксперименты с Java для мобильных устройств. Решили, что не стоит - потому  что это никому не принесет выгоды и вообще судиться некрасиво. Дело надо делать, а не сутяжничать. Оракл - "fucking idiots" - которые смотрят на все в мире через призму прибыли, потому полезли судиться.

Вопрос: что думаете про платную версию Java?
Java сама по себе будет free forever. Оракл может вполне успешно продавать management tools подобные тем, которые были в JRockit.

Вопрос: возможен ли forking of Java?
Нет. Apache guys всегда чем-то недовольны, возмущаются и спорят. Поддержка и развитие Java на всех существующих платформах - это очень дорого, дороже всех остальных open source продуктов. Надо порядка 200 full time инженеров плюс QA. Это не weekend hobby, так что forking какой-то группкой энтузиастов - мертворожденная идея.

Вопрос:  мнение про Apple, который пытался откреститься от Java for Mac OS?
Apple is all about control. Interoperability для Apple - devil в чистом виде. Их цель - заманить к себе разработчиков и удержать всеми нечистыми средствами, которые у них есть. Ни в коем случае не разрешать переиспользовать код на компьютерах, отличных от Мак.

Вопрос: кто будет делать Java for Mac OS?
Apple имеет много секретных функций, поэтому SUN не мог писать для них Java. Видимо, придется Apple делать Java самим - выхода у них нет.

Вопрос: сравнение Java & Scale.
Большинство людей, которые пробуют Scala, на самом деле используют его как "Java with less text" и не как функциональный язык.

Вопрос: что сейчас exciting в технологиях/программировании?
Web уже достал полностью, соц. сети тоже достали - все копируют друг у друга одну и ту же ерунду. Интересные разработки идут в автомобильной промышленности. Сейчас я работаю над проектом с Volkswagen - там используется real-time Java.

Вопрос: сравнение "стандартных" решений от SUN и чужих библиотек (например JSF vs. Spring).
I hate JSF with passion. Другие библиотеки - тоже полное гавно. Они все сосуществуют, потому что нет явного лидера, один отстой.

Вопрос: что будет Next Big Thing?
Если бы знал, жил вы в Сочи (примечание: это вольный перевод от меня :) ).
Софт для автомобилей. Сейчас этот софт в зачаточном состоянии. Работы - непочатый край.

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

Вопрос: мнение про Oracle OpenWorld.
Оракл - чистая акула бизнеса. Для них не существует ничего, кроме прибыли. Они не понимают, что эта идея не смешивается с JavaOne никак.

Вопрос: мнение про социальные сети.
Friends on Facebook are fake. Слишком много всякой ерунды, информационного мусора, глупостей, которые валятся от каких-то полу-случайных людей. В основном - пустая трата времени, самолюбование и иллюзия общения, на самом деле - чистый fake.

Вопрос: что может заменить Java, если она вдруг исчезнет?
Ничего. Back to sea. Нет другой Enterprise Level general purpose платформы и языка, поддерживающмх все разнообразие железа.

Вопрос: о каком функционале в Java жалеете?
XOR! (смеется). Кто его вообще использует из присутствующих? (в аудитории - молчание).

Вопрос: где работать молодежи в ИТ?
Оракл - просто капец, там все очень плохо. Гадюшник страшный. Кроме качественной СУБД, ничего нет.
Компании в области Cloud Computing - очень интересная идея, но все делают одно и то же. Скучно. В вебе - то же самое.
Биология - огромное поле для деятельности, большой недостаток специалистов. В Сан Франциско идут большие исследования протеинов и т.п.
Очень много интересных разработок в исследовании материалов и за всем стоит так или иначе разработка программного обеспечения.

Вопрос: имеете ли отношение к разработке Гуглового робо-автомобиля?
Нет, это совершенно отдельный проект. Volkswagen финансирует целое здание в Стэнфорде, с Гуглом никак не связано.

GC: биометрика

Процесс оформления Green Card понемногу движется:  пришло приглашение сдать отпечатки пальцев в декабре.

Thursday, December 2, 2010

Лед в Долине

Вот стоило ехать в Калифорнию, чтобы потом так мерзнуть... По утрам приходится иней соскребать с машины.

From Summer_BayArea