Впечатления белоруса от Oracle, а украинца — от Минска и ПВТ, немного о культуре PHP-программистов, Docker всемогущий и лайфхаки по Git, а также подробный рассказ о разновидностях и анатомии DDoS-атак — в ссылкообзоре за неделю.
1. Наши в Америке
Белорус в Oracle: «Уехать в Америку, потому что здесь больше платят? Этот повод не будет решающим».
После прочтения размышлял над уместной для утра понедельника цитатой, и в итоге решил остановиться на гастрономическом варианте:
[В Oracle] мы встречаемся с Володей. Он рассказывает, что кафе — общественная территория, т. е. зайти сюда и покушать может каждый. У сотрудников компании есть скидка — около 20%. В среднем обед стоит около 10 долларов (это, например, стейк с гарниром), и для такого ресторанного качества в США это недорого.
«Айтишные компании в плане еды очень стараются», — говорит мой собеседник. Где-то она платная, как в Oracle, где-то предлагаются бесплатные перекусы (йогурты, лапша), а есть и такие места, где кормят вообще бесплатно — например, в Google. Что касается напитков — чай, кофе и минералки, то они бесплатны почти во всех компаниях.
В комментариях к статье залётные гуманитарии, как водится, всеми силами очерняют хрустально-кремниевую мечту айтишников:
Действительно многие эмигранты, особенно те что эмигрировали по гринке, в никуда, живут там на гране нищеты. Но, во-первых, они надеяться, что вот не сегодня так завтра что то изменится, во-вторых — уже затрачены просто колоссальные усилия для адаптации, а возвращение назад, это по сути вторая эмиграция, и часто для рывка просто нет сил, да и денег. И чаще всего возвращаться некуда, все продано, и живут мыслью, что эмигрировали ради будущего детей. Ну и ваш вариант где то посредине многих факторов. Там сложная смесь из причин... Но так было не всегда, возможности заработать в США раньше были достаточно большие, просто колбасная эмиграция закончилась, к сожалению.
2. Впечатления ненаших айтишников от Минска
Теперь вывернем ситуацию малость наоборот. Устроившийся в минский Wargaming украинец так впечатлён белорусской чистотой, стабильностью и медициной, что накатал в российский Lifehacker 30 пунктов о самом лучшем в мире городе.
Немножко даже страшновато его читать, потому что этот пост стал самым комментируемым постом недели на Lifehacker — это как же люди из Таможенного союза возбудились-то!
Резюмирую суть всех споров таким мнением:
Интересное мнение приезжего экспата с зарплатой в 3-4 раза превышающей среднюю по стране, получающего ее в иностранной валюте, работающего в компании с регистрацией в другом «налоговом раю». Как минчанин в третьем поколении отмечу, что хотел бы жить в таком Минске. Но, увы. Можно привести несколько официальных цифр и на этом розовый Минск Михаила превратится в голубой :) Итак. 1-е место в Европе по самоубийствам. Мы — один из лидеров в мире (!!!) по числу потребления чистого алкоголя на душу населения.
На «Онлайнере» сделали репост этой статьи, но и там гуманитарии беспощадны к айтишникам:
Хорошее мнение обо всей Беларуси от человека живущего в Минске, работающего в ПВТ, лечащегося только в платных медцентрах.
Сейчас со смеху умру.
3. Говорящие головы оптом
Недавний форум «Бизнес Будущего» принёс целый ряд интересных интервью с интересными людьми из белорусского ИТ:
- Кирилл Чикеюк наконец публично демонстрирует 3D-технологию Kino-mo в действии (есть милое видео).
- Свежее интервью с Андреем Яранцевым: Если бы Wargaming не выстрелила в свое время, Melesta была бы сейчас передовой
- Беседа Виталия Денисенкова и Юрия Зиссера о смысле в бизнесе и жизни
- Игорь Маханёк: Через 5 лет стартапов, которые стоят больше $1 млрд, будет тысячи
Вот разбуди меня, читатель, посреди ночи и требовательно, глядя в глаза, спроси: о чем будет говорить Маханёк (неважно где, неважно когда), я и уверенно перечислю три обязательные темы: работа в Google, Facebook и прекрасное будущее стартапов.
4. Все дороги ведут в ИТ
А как же истории об успешном проникновении в ИТ? Без этой сквозной темы ссылкобзор был бы, согласитесь, не полным. Понижаем планку: Путь от питерского бомжа до Senior Developer-а.
В этом году исполняется 6 лет с того дня, как я «пришел» в программирование. К слову, случилось это стихийно, и на момент написания своего первого кода, у меня за плечами не было ни профильного образования, ни малейшего опыта. Сегодня же, я создаю продукт, признанный и уважаемый во всем мире.
Сегодня я хочу рассказать свою историю.
Если вам, как и мне, понравилась эта глубоко личная история, можно покопаться в Facebook автора-героя истории, вот например его 2006 год.
В дополнение ещё одна исповедь прошлой недели, на этот раз «неправильного» программиста: Я разработчик, но это не моя страсть:
Считается, что хороший программист страстно любит свою работу. В вакансиях наряду с «гуру», «суперстар» и «ниндзя» часто встречается «... who is passionate about programming...» в качестве требования к кандидату. Сказать, что ты не очень-то кайфуешь от кодинга, но доволен работой и зарплатой, и на вас как минимум посмотрят косо. Однако, есть большая разница между «не испытывать страсть» и «ненавидеть и не хотеть».
Сегодняшний перевод эссе Антонина Януска посвящен программированию без страсти, программированию как исключительно работе. В наши дни подобное мнение это уже олдскул, чуть ли не архаизм. Сегодня не принято сильно отдалять работу от жизни. Но, возможно, вы увидите в этом мнении что-то близкое себе.
5. «Валильщик» делится опытом
Большое и насыщенное интервью о переезде сисадмина Сергея Полищука из Киева (кстати, это один из «отцов уанета» — создатель украинской точки обмена трафиком UA-IX) в Виннипег (Канада). Он дает много практической информации и годных рассуждений для тех айтишников, кто ищет варианты максимально комфортной эмиграции.
Нужно привязываться не к job offer, а к тому, что вам лично нужно в жизни.
Если компания пошла на все тяготы с оформлением job offer для иностранца, значит ни один из местных там работать не станет. У человека, приехавшего на такую работу, может сложиться совсем неправильное впечатление о стране, если у него вообще будет шанс её увидеть, а не проводить сутки напролёт за компьютером.
Одно дело — когда тебя выбирают, и совсем другое — когда выбираешь ты. Очень важно понимать — чего тебе нужно в этой жизни и от чего стоит отказаться.
Некоторые не могут смириться с тем, что здесь нельзя дать взятку, чтобы попасть к врачу без очереди. Кто-то не способен выучить английский. Можно легко попасть на survival job в случае недостатка средств, но не все могут потом подняться выше.
Для успешной иммиграции нужно всего четыре компонента: несоветский менталитет, толковые мозги, деньги (чем больше, тем лучше), хороший английский.
Взгляд на процесс утекания мозгов с другой стороны идеологического фронта:
Шимків: те що зараз робить Польща, Канада, Румунія — виманюючи наших кращих спеців у той час як ми боремося за незалежність це удар в спину!
— DOU (@devua) September 26, 2015
6. Советы по повседневной работе с Git
19 полезных лайфхаков доступны в этом материале:
- Параметры для удобного просмотра лога
- Вывод актуальных изменений в файл
- Просмотр изменений в определённых строках файла
- Просмотр ещё не влитых в родительскую ветку изменений
- Извлечение файла из другой ветки
- Пара слов о ребейзе
- Сохранение структуры ветки после локального мержа
- Исправление последнего коммита вместо создания нового
- Три состояния в Git и переключение между ними
- Мягкая отмена коммитов
- Просмотр диффов для всего проекта (а не по одному файлу за раз) с помощью сторонних инструментов
- Игнорирование пробелов
- Добавление определённых изменений из файла
- Поиск и удаление старых веток
- Откладывание изменений определённых файлов
- Хорошие примечания к коммиту
- Автодополнения команд Git
- Создание алиасов для часто используемых команд
- Быстрый поиск плохого коммита
Из комментариев вынес такой полезный диалог:
Большую часть команд `git log` для меня заменил `tig`, смотрите его вот здесь.
Tig очень хорош, да, но это всё-таки не совсем то, это GUI (ncurses).
По поводу утилит есть ещё чумовая git up (и её же вариант на питоне, который лично я предпочитаю).
A killer feature for GitHub issues would be «git blame» but for pending PRs — so you can see which fixes are available for specific files.
— Jason Dixon (@obfuscurity) September 27, 2015
7.Новости релизов недели
Новое в Runkit 1.0.4: PHP 5.6+, closures везде и еще 12 новых фич:
Поздравляю всех пользователей Runkit с новым долгожданным мега-релизом! Runkit — это расширение языка PHP, позволяющее делать вещи, невозможные с точки зрения этого языка.
Тихо и незаметно ©, вышел Python версии 3.5! И, безусловно, одно из самых интересных нововведений релиза является новый синтаксис определения сопрограмм с помощью ключевых слов async/await, далее в статье об этом.
Поверхностный просмотр «PEP 0492 — Coroutines with async and await syntax» по началу оставил у меня вопрос «Зачем это надо». Сопрограммы удовлетворительно реализуются на расширенных генераторах и на первый взгляд может показаться, что все свелось к замене yield from на await, а декоратора, создающего сопрограмму на async. Сюда можно добавить и возникающее ощущение, что все это сделано исключительно для использования с модулем asyncio.
Но это, конечно же, не так, тема глубже и интереснее.
8. Docker всемогущий
Сначала свежая серия статей:
«Docker — это просто мода, мы как сидели на #OpenVZ, так и будем сидеть на нём» ©
— vanadium23 (@vanadium23) September 19, 2015
В качестве дополнения хорошее свежее видео — Docker в банке. Выступает Александр Тарасов, инженер Альфа-Лаборатории (Альфа-Банк).
9. О чистом коде и культуре программиста
PHP: культура программирования:
Низкий порог вхождения, легкий способ прострелить себе ногу, потратьте свою энергию на изучение настоящего языка программирования — много обидных слов может услышать PHP-разработчик от коллег-программистов, которым посчастливилось освоить другие технологии. PHP удобно ругать всем, — каждый посвященный может найти, за что зацепиться. Тем не менее, на рынке до сих пор очень востребованы хорошие специалисты, способные писать качественный код на этом языке. Более того, если вы выбрали этот путь, на собеседовании в серьезной компании с подкованными технически руководителями и старшими программистами вы вряд ли услышите что-нибудь глумливое про PHP.
Во многом такое негативное отношение объясняется отсутствием культуры программирования у большого количества PHP-разработчиков. Почему так происходит? Да, у этого языка действительно низкий порог вхождения и легко освоить его может человек без специального технического образования. Изучив основы, можно сразу делать небольшие проектики и даже продавать свои услуги на биржах фрилансеров. А раз на такое есть спрос, зачем тратить время на углубление своих знаний, когда деньги можно зарабатывать уже сейчас?
Что такое красивый код, и как его писать?
Сталкиваясь с необходимостью контролировать работу других программистов, начинаешь понимать, что, помимо вещей, которым люди учатся достаточно легко и быстро, находятся проблемы, для устранения которых требуется существенное время.
Сравнительно быстро можно обучить человека пользоваться необходимым инструментарием и документацией, правильной коммуникации с заказчиком и внутри команды, правильному целеполаганию и расстановке приоритетов (ну, конечно, в той мере, в которой сам всем этим владеешь).
Но когда дело доходит собственно до кода, все становится гораздо менее однозначно. Да, можно указать на слабые места, можно даже объяснить, что с ними не так. И в следующий раз получить ревью с абсолютно новым набором проблем. Профессии программиста, как и большинству других профессий, приходится учиться каждый день в течение нескольких лет, а, по большому счету, и всю жизнь.
В комментариях нарываются на полемику:
Простите, но, похоже, Вы просто не умеете пользоваться комментариями. Хорошие комментарии должны описывать не действия кода, а причину этих действий. Сюда относятся смысловые описания фич, отсылки на документацию о странных, неочевидных или малоизвестных особенностях, отсылки к багрепортам в сторонних проектах при написании заплаток и костылей по независящим от Вас причинам, и т.д. Также очень удобно пользоваться комментариями для описания действия блока кода, ибо создание функций и процедур только для самодокументируемости приведет к огромному количеству этих самых функций и процедур, в которых потом черт ногу сломит.
Если ваша методология разработки предполагает, что заранее известно как будет выглядеть конечный продукт, или если для вашей компании не является роскошью содержание технического писателя, то не менее половины комментариев можно убрать за счет наличия хорошей, подробной и актуальной спецификации продукта.
10. Артем Гавриченков — всё про DDoS-атаки
ИМХО, если вы хотя бы чуточку в душе и наяву сисадмин — вам будет очень интересно. Артём — CTO компании Qrator, которая весьма преуспела в борьбе с самыми коварными «ддосами». В заключение отмечу, что вся лекция идет более 2 часов, но она стоит потраченного времени.
В догонку: Apache vs Nginx: практический взгляд.
*Мнение колумнистов может не совпадать с позицией редакции.
**В цитировании сохранены авторская орфография и пунктуация.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.