D:\sideБлогТишина до марта 2016

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

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

Сейчас, когда ремонт на новом месте жительства на грани завершения, доход мне особенно важен и на остальное я обращаю мало внимания. Последние годы у меня ушли на развитие карьеры и я доволен результатом за последние два: я уже полгода работаю senior-разработчиком на Ruby в DataArt (с сентября 2015) и работа стала существенной частью жизни. И я не могу сказать, что «трачу свою жизнь», работа интересная и в новые области приходится смотреть весьма часто, но времени на работу уходит много, а из-за соглашения о неразглашении я мало что могу рассказывать о работе. Это выглядело бы примерно, ▮▮▮▮▮, вот так: ▮▮▮▮▮ ▮▮▮ ▮▮▮▮▮ ▮▮ ▮▮▮▮▮▮ ▮▮▮▮▮▮▮, ▮▮▮▮ ▮▮▮ ▮▮▮▮▮▮. Не очень круто, правда?

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

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

Среда разработки у меня тоже несколько изменилась, но направление сохранилось: визуальная эстетика, минимализм и скрытая функциональность. Linux Mint сменился LMDE (на базе Debian с более новыми пакетами), Sublime Text и Atom используются примерно поровну (для разных языков), рабочий стол пуст (вот совсем!), панель задач с автоскрытием, запуск программ обычно происходит через Synapse (Ctrl+пробел, пара букв, Enter).

Война с разными средами для языков убедила меня, что держать компилятор/интерпретатор/библиотеки нужно внутри «домашней папки», чтобы не разводить безумия с правами доступа, иметь возможность легко всё поудалять и держать несколько версий сразу. Поэтому зависимость от конкретного дистрибутива Linux стала минимальной.

Возможно, следующим шагом станет упаковка зависимостей проектов в контейнеры Docker прямо на машине разработчика? Это уже кажется не такой уж безумной идеей: у меня не будет при старте системы стартовать ассорти из MySQL, PostgreSQL, MongoDB, Sphinx, Redis… ладно, шучу, похожая картина действительно была у меня в прошлой системе, в новой я повыключал автозапуск лишнего, но это всё равно ощущается, как «заплатка», а не решение проблемы сосуществования кучи приложений на одной машине.


О Rails. Ох. Последняя рабочая неделя выдалась просто убойной на баги и провалы в Rails и популярных библиотеках: по одной на день, и это в рабочей неделе из трёх дней (7-8 марта праздничные)! Давно так не везло. И стоит понимать, что мелкие баги в проектах такого размера исправляются очень оперативно, остаются только «сильно вросшие» и/или «редко встречающиеся», которые или воспроизвести не получается (как отлаживать?), или непонятно как чинить (много внутренних зависимостей). Каждый день заканчивался придумыванием высокоточного костыля для обхода проблемы и саркастичного поясняющего комментария в коде.

Так что всё идет к тому, что я буду отстраняться от Rails, как когда-то отстранился от GMS. Похоже, так будет рано или поздно происходить со всем, чем я долго пользуюсь. Все технологии плохи, просто некоторые хорошо подходят для решения некоторых задач. К сожалению, очень часто на задачи «натягивают» совершенно неподходящие технологии: потому что популярнее, потому что альтернативы неизвестны или «нинужны», в худшем случае если это навязывается «сверху» (в таких случаях не могу ничего посоветовать, кроме как бежать).

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


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

А вот интересует людей то, как я стал тем, кто я есть сейчас. Мне уже несколько человек написали на электронную почту с вопросами о том, как так научиться Rails, и я не готов отвечать им лично (потому что спрашивают немногие, а интересуются гораздо больше), но когда-нибудь отвечу здесь. Видимо, в формате «спискоты».

Вот, пожалуй, и всё. Постараюсь вернуться поскорее.