воскресенье, 23 февраля 2014 г.

Python: Массив с конца: ~n

Чем дольше изучаю Python, тем больше я его люблю и тем сильнее он мне нравится. Если вы хоть немного знакомы с Python, то и slicing наверняка знаете и в этом slicing есть особенность — элементы в массивах, словарях и так далее, если их считать с начала, нумеруются с 0 (как и во всех языках программирования), а если с конца — с минус единицы

print("Hello"[0], "Hello"[-1])
(H, o)

Когда я только начал учить Python, то для меня такое поведение было нормой и вполне логичным. До тех пор, пока вместо фиксированных index notation не пришлось использовать переменные:
i=2
print("Hello"[i], "Hello"[-i-1])
(l, l)

Т. е. чтобы взять значение с конца, нужно постоянно добавлять минус единицу. Что, согласитесь, является потенциальным источником багов (сколько boundary тестов повалилось на одном нашем продукте из-за этого). Но есть способ лучше, спасибо всеобщему разуму, который подсказал эту идею:
print("Hello"[i], "Hello"[~i])
(l, l)
print("Hello"[0], "Hello"[~0])
(H, o)

Вместо очередной минус единицы достаточно использовать тильду — ~ Не могу сказать на счет скорости работы, ибо замеров не делал, но судя по времени прохождения моих smoke тестов — вариант с ~ работает так же, как и с «минусединицей» Пользуйтесь на здоровье

понедельник, 3 февраля 2014 г.

Символ Олимпийских Игр 2014

Если вы думаете, что символом Олимпийских Игр 2014 года являются Леопард, Белый Медведь и Зайка, то вы очень и очень сильно ошибаетесь.

Никто, и я сейчас не утрирую, и не привираю ни на йоту, НИКТО из тех, с кем мне приходилось общаться «в этой вашей Америке», не знает про Зайку, Медведя и Леопарда. Часть из них вообще не знает про Олимпийские Игры, а те, кто слышал хоть краем глаза про Сочи 2014 задают мне один и тот вопрос: «А ты видел эти двойные туалеты?!»


Те, кто поумнее, конечно же понимают, что ситуация с double-сортирами не типичная для России, но часть людей все же спрашивает: «Ой, а в России все туалеты двойные?» А сегодня, прогуливаясь с нашими dev guys, когда речь зашла про эти же туалеты, один разработчик-индус сказал фразу, которая резанула меня очень сильно, — «В России эти туалеты, прям как у нас в Индии»

Если честно, то с одной стороны вся эта ситуация кажется очень смешной, а с другой стороны — безумно обидно. Обидно даже мне, человеку, которого сложно «обвинить» в любви к России. Потратить кучу бабла, переступить через столько судеб людей, полностью изуродовать уникальную природу... И все ради того, чтобы символом Олимпийских Игр 2014 года, для простых обывателей, стал двойной сортир, — «прям как в Индии»

пятница, 31 января 2014 г.

Постановка и выполнение целей

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

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

А сейчас... Сейчас идти к целям настолько легко и приятно, что сам себе удивляюсь. Есть четкое понимание того, что я хочу, что мне для этого нужно сделать и самое главное — что все действительно зависит от меня. Только от меня и моих усилий.

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

И это шикарное чувство. Чувство, когда ты знаешь, что можешь ставить цели и можешь к ним идти. Вперед и не останавливаясь,.

Действительно страна больших возможностей.

Я люблю эту страну!

воскресенье, 26 января 2014 г.

Новая работа в Egnyte

С момента приезда в США прошло почти 8 месяцев. И вот, спустя 8 месяцев, я получил приглашение на full-time позицию в startup Egnyte


  • Отличная годовая зарплата
  • Очень неплохие бонусы
  • Возможность выкупить 7500 акций по льготной цене (в случае, если компания выходит на IPO)
На поиски работы у меня ушло примерно 10 дней, после всех Новогодних праздников я обновил свое резюме и начал активные поиски, причем, работу я искал только через LinkedIn и Glassdoor. Основной ресурс по поиску работы в IT-сфере — Dice.com оказался рекрутёрской помойкой, с помощью которой можно только практиковаться в общении с индусскими рекрутёрами, реальной работы найти с помощью Dice практически невозможно. Да и общаться со сторонними рекрутёрами мне не особо хотелось, так как был неприятный ицендент, когда рекрутёр не договорился с нанимающей компанией о сумме, за которую меня продать )) В итоге, в этот раз я решил убрать из «пищевой цепочки» паразитов в виде рекрутеров.

Каждый день я отслеживал появление новых вакансий и рассылал резюме на те позиции, которые подходили мне и были интересны. В день у меня было примерно 2-3 телефонных интервью, иногда телефонные интервью приходилось переносить по банальной причине — нехватка времени. Так же меня начали находить рекрутёры от компаний и присылать предложения (Egnyte, кстати, сами нашли меня через LinkedIn)

После 3-5 дней телефонных интервь у меня пошли интервью Face2Face (интервью в компании с командой, с которой предстоит работать), обычно, такие интервью занимают 3-4 часа минимум, если интервью заняло менее 3х часов, то значит что-то пошло не так и можно даже не расчитывать на то, что позвонят и предложат «офер». 

Любое Face2Face интервью, — это, в первую очередь, интервью с вами как с человеком, как с личностью, а затем уже как со специалистом. Люди смотрят на вас как на человека, с которым прийдется работать по 8-9 часов в день, возможно ходить в кафе/рестораны после работы. И команда должна решить, являетесь ли вы тем самым человеком, или нет.

У меня было 4 Face2Face интервью, после которых я получил 2 предложения. Но в итоге мой выбор пал на Egnyte. Выбор оказался очень простым — Egnyte — очень молодой startup, в котором всего 42 человека. И в этой компании прийдется работать очень усиленно, и интенсивно, но, помимо всех тех материальных «плюшек», что дает компания, в молодом startup'е всегда есть возможность быстро и качественно учиться. Учиться новым технологиям, новым языкам программирования и так далее. А это как раз то, что мне нужно сейчас. 

Чем же я буду заниматься? 

А заниматься я буду автоматизацией тестирования нового продукта. Тестированием WEB UI/Functional (в меньшей степени) и тестированием API (в большей степени) с последующей автоматизацией тестирования на мобильных устройствах.

четверг, 16 января 2014 г.

First time donor

Сегодня я впервые в жизни стал донором крови. В здании, где находится компания, в которой я работаю, на прошлой неделе развесли объявления, что 16 Января с 10 утра любой желающий может сдать кровь и ниже адреса, пароли явки, где можно почитать информацию и записаться на прием онлайн.

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

Итак, сегодня, прийдя на работу я обнаружил вот такой вот передвижной пункт сдачи крови возле нашего офисного здания


среда, 1 января 2014 г.

Цели на 2014 год

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

Цели 

  • Работа (Full Time) ≥ $ 100 000 в год
  • Отдать долг $ родителям
  • ≥ $ 30 000 на Savings-аккаунт к концу года
  • Honda XR 650 L
  • ESL-курсы Английского языка в Университете или Коледже
Что мне нужно для достижения этих целей?

  • Выучить Python
  • Выучить JavaScript
  • Выучить Appium и UI Automation
И есть еще одна цель, которую, к сожалению, невозможно измерить в количественном или качественном эквиваленте — как можно больше времени проводить с семьей.

Вот, в принципе и все. Вот такие у меня глобальные цели на 2014 год. Есть еще много мелких, но все они проистекают из глобальных.

Итак,
Ready... Set... Go..... <2014>

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

Этот год был очень и очень насыщенным. Столько событий произошло за эти 12 месяцев, что хватило бы на несколько лет жизни, а не на 365 дней. Это был интересный, местами непростой, но очень и очень хороший год. Особенно яркими были последние 6-7 месяцев. Переезд в США, новая жизнь, работа, друзья.

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

пятница, 27 декабря 2013 г.

James Bach Discusses Software Testing

Я занимаюсь тестирование WEB и мобильных приложений. Как-нибудь я обязательно расскажу о том, как я пришел к этому и о том, как проходит тестирование продуктов в «Силиконовой Долине». А сейчас я просто хочу поделится одним из лучших видео для всех, кто занимается тестированием, или хочет заняться этим в будущем:

James Bach Discusses Software Testing

воскресенье, 15 декабря 2013 г.

Про старость

Когда мне было 20 лет я боялся старости. Боялся, того, что старость неизбежна и рано или поздно старым стать придется. Хочу я этого или нет.

Но недавно я понял как я хочу провести свою старость 60 лет и старше. Если хотите, то можете это назвать это мечтами о старости :-)


Старость я точно хочу провести в США, в одном из штатов, в котором есть все 4 времени года, при этом, отсутствует ярко-выраженная зима. (не люблю чистить снег зимой, две прошлые зимы в Росии отбили эту охоту до конца) Kentucky или Colorado, например. Небольшой деревянный дом на 2-3 комнаты и гостиную с камином, кресло качалка, трубка и собака — немецкая овчарка. Может быть даже напишу книгу, есть у меня такая идея, давно сидит в голове, но пока никак не решаюсь даже страницу написать...

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

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

суббота, 7 декабря 2013 г.

Про родину

Еще до моего переезда в США, когда знакомые узнавали об этом, то они, в основной своей массе, делились на два лагеря: первые поздравляли и желали успеха в новой стране, а вторые говорили много слов о патриотизме, подъеме России с колен и прочей ерунде. Основные слова, конечно, были сказаны о патриотизме и о том, что я не патриот, а хуже этого может быть только панк-молебен в церкви.

Если сказать, что я не думал об этом — означает соврать. Конечно же я думал о таких высоких материях как «патриотизм», «родина» и даже «подъем с колен».

Я довольно много думал обо всем этом и понял, что нет у меня патриотизма в классическом смысле. Равно как и нет той, пресловутой любви к родине. Будучи русским по рождению, причем, рожденным в Казахстане (если мама — польско-украинская еврейка, папа — русский-беларус, то дети — конечно же русские), я считаю американцев такими же близкими мне людьми как и своих соотечественников. А во многом даже и ближе. Мы все, в первую очередь, люди. Хорошие ли, плохие ли — люди. А нации, даже государства — понятия устаревающие. По крайней мере здесь, в США, я убедился в этом на собственной шкуре.

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