?

Log in

No account? Create an account

Entries by category: it

Существенное отличие профессионала
obrizan

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

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


Образовательный кризис
obrizan

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

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

— Ха-ха-ха! Где это в реальных проектах нужно считать количество бит в байте?
— Пффф... Что за идиотские задания, зачем это нужно фронтендщику?

Драма разыгралась уже на следующий день. Один из участников чата обратился за помощью с такой вот проблемой:

— Спасите! Помогите! Складываю 0,1 и 0,2 и в результате получаю не 0,3, а 0,30000000000000004!

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

Read more...Collapse )

Новое слово: софтогенный
obrizan

Я придумал новое слово:

софтогенный (software + -genic) — являющийся следствием, результатом применения какого-либо программного обеспечения.

Также в этом значении может применяться слово программогенный.

На английском языке: softogenic (software + -genic).

Например: софтогенная катастрофа — катастрофа, вызванная ошибками в программном обеспечении. 

Запишите, оно вам скоро пригодится. :)


Ищу Андроид-программиста для видеостриминга
obrizan
Что-то мы опять растем. Мы ищем опытного Андроид-программиста в Харькове для поддержки и разработки уже существующего проекта. Проект — мобильное приложение для видеостриминга (аналог Нетфликса). В команде уже есть: менеджер продукта, менеджер проекта, iOS-разработчик, 2 бекенд-разработчика, тестер, дизайнер. Срок проекта: минимум 1 год.

Требования:

— Android Studio;
— Java;
— Android SDK;
— Владение модульными тестами;
— Разговорный и письменный английский;
— Минимум 2 года опыта работы. Просьба подтвердить опыт ссылками на репозитории Github или Bitbucket.

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

Обязанности:

— тестирование, диагностика и исправление ошибок в готовых андроид-программах
— разработка программ с нуля


Мы предлагаем:

— интересный проект, результатами которого будут пользоваться сотни тысяч пользователей;
— работу в коллективе единомышленников, общение с интересными людьми из США;
— стремление к техническому совершенству разрабатываемых проектов;
— оплату труда с привязкой к курсу доллара;
— 5-дневная рабочая неделя, 8 часов в день, гибкий график, возможность иногда работать из дома ;)
— все национальные праздники — выходные;
— оплачиваемый отпуск: 2 рабочих дня за каждый полный месяц работы;
— небольшой дружелюбный коллектив (15 человек);
— отличный кофе из “Кофеина”.


О компании

Design and Test Lab — небольшая компания, которая оказывает услуги по разработке мобильных приложений и веб-сервисов для предпринимателей, стартапов и малых бизнесов из США и Европы.

Резюме и мотивационное письмо присылать на obrizan@dnt-lab.com


Книга "Building Microservices" Сэма Ньюмена
obrizan
Недавно прочитал книгу "Building Microservices: Designing Fine-Grained Systems" Сэма Ньюмена.



После прочтения этой книги в голове крутились фразы: "парадайм шифт", "дизрапт", "зе некст биг синг". Большинство из вас находится по ту сторону браузера и мало интересуется развитием интернет-технологий. А они меняются очень сильно. Настолько сильно, что за 10 лет единственная вещь, которая осталась такой же — это протокол HTTP, а все остальное поменялось: веб-сервера, базы данных, архитектуры веб-приложений, методы тестирования, интеграции и развертывания.

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

В микросервисной архитектуре каждый микросервис разрабатывается, развертывается, масштабируется изолированно от других сервисов. Это значит, что выбранный стек технологий — это больше не проклятие на всю жизнь. Например, десять лет был популярен стек LAMP — Linux, Apache, MySQL, PHP. Раньше все эти технологии устанавливались в рамках одного веб-сервиса. И если нужно было разработать новую функцию, то искали специалиста, знающего эти технологии. А в микросервисной архитектуре один микросервис может быть реализован на Руби, другой на Го, третий на Яве. У одного база данных может быть MongoDB, у другого GraphDB, а у третьего blob store, например. И это нормально. Выбирайте тот язык и базу данных, которая эффективнее всего решит конкретную задачу.



Раньше, если веб-сервис не выдерживал нагрузку, то выполняли горизонтальное масштабирование: запускали еще один экземпляр сервиса LAMP и делали балансировку нагрузки. В микросервисной архитектуре можно анализировать производительность каждого отдельного микросервиса и масштабировать только тот микросервис, который не справляется с нагрузкой.

Читая книгу я вспоминал, где я как пользователь сталкивался с микросервисами. Помню, зашел как-то в Фейсбук, а там лента новостей есть, а личные сообщения просмотреть не могу. Это значит, что в Фейсбуке как минимум два микросервиса (на самом деле их сотни) — микросервис новостной ленты и микросервис личных сообщений. И в тот день микросервис сообщений вышел из строя. Преимущество в том, что остальные микросервисы сохранили свою работу, потому что работают автономно. В монолитной архитектуре такое невозможно: выход из строя одной подсистемы приводит к поломке всей системы.

Я строго рекомендую книгу "Building Microservices" всем техническим директорам и просто разработчикам.