Pull to refresh
0
0
Send message

Собеседование в DevOps Engineering, как оценить свой опыт и сколько нужно знать?

Reading time5 min
Views20K

Немного про DevOps и про обязанности

DevOps — это набор практик, которые помогают автоматизировать и интегрировать процессы между командой разработчиков и командой ответственной за инфраструктуру, чтобы они могли быстрее и надежнее собирать, тестировать и выпускать релизы.

Основная цель подхода - убрать "стену" между командой разработки и командой Operations (Operations так же называют: System Administration, System Engineering) и увеличить скорость релизов. "Стена" образуется из-за того что у команд разные цели. Разработчики преследуют цель выпускать релизы как можно чаще, а Operations снизить количество отказов или держать энвайрмент стабильным и безопасным. DevOps подход объединяет команды, цели и делит риски.

Основные практики DevOps это:

Читать далее
Total votes 6: ↑4 and ↓2+6
Comments12

Четыре ошибки программистов, которые я осознал, только когда стал CTO

Reading time5 min
Views46K
image

Я работал программистом более пяти лет. Не особо впечатляет, ведь кто-то из вас, вероятно, имеет в три раза больший опыт, но мне нравилось думать о себе как о сениор-разработчике. Звучит серьёзно и солидно, правда?

Однажды мне предложили стать Chief Technology Officer (CTO) в медтех-стартапе. Поработав некоторое время на этой новой должности, я могу обернуться назад и сказать, что не был сениор-разработчиком. Не поймите меня неправильно — я по-прежнему считаю, что обладаю отличными знаниями программирования, особенно веб-разработки; но если это так, почему я не думаю, что был сениором?

Всё это из-за четырёх заблуждений, которые у меня были.
Читать дальше →
Total votes 64: ↑42 and ↓22+30
Comments204

Почему бухгалтеров мы можем обучать, а программистов — нет

Reading time11 min
Views21K

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


Позвали Григория Петрова, DevRel’а Evrone.com (ex. Voximplant, Radmin, Digital October Center) и вдохновителя сообщества Moscow Python, рассказать, как писать хороший код самому и научить команду. А еще обсудили, как понять, какие механизмы нас тормозят, и как посмотреть на нейрофизиологию через призму прикладной разработки и руководства технической командой. Разговор оказался настолько интересным, что сделали статью по его следам.


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




Читать дальше →
Total votes 27: ↑22 and ↓5+22
Comments36

Виртуальный аналитик — будущее BI?

Reading time10 min
Views6.3K

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

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

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

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments6

Как выбрать красивые цвета для вашей инфографики

Reading time10 min
Views39K


Очень трудно выбрать хорошие цвета для инфографики. Постараемся разобраться с этой проблемой.

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

Статья не поможет найти хорошие градиенты или оттенки. Она предназначена для подбора красивых, чётких цветов для различных категорий информации (например, континентов, отраслей промышленности, видов птиц) в линейных, круговых, полосковых диаграммах и так далее.
Total votes 34: ↑33 and ↓1+44
Comments6

Инструменты и методы работы, повышающие продуктивность программистов

Reading time8 min
Views11K
В этом материале рассматриваются 5 эффективных инструментов, которые позволяют ускорить разработку программного обеспечения, не ухудшая качество готового продукта. Эти инструменты применимы в самых разных масштабах — от уровня отдельных программистов, до уровня компаний из сферы информационных технологий.

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



В частности, в этом материале мы поговорим о 5 группах таких инструментов. Это — дизайн-системы, линтеры, средства для автоматического форматирования кода, CI/CD-системы и IaaS/PaaS-провайдеры. Всё это позволяет программистам автоматизировать рутинные процессы, а значит, освободить время, необходимое для решения самых важных задач, связанных с разработкой собственных продуктов.
Читать дальше →
Total votes 20: ↑16 and ↓4+18
Comments3

Как древние шумеры повлияли на значение скорости света, и почему Великая Французская Революция не смогла им помешать

Reading time8 min
Views42K

Из учебников физики нам известно, что скорость света в вакууме равна 299792458 метрам в секунду. Вы никогда не задумывались, почему такая фундаментальная физическая константа как скорость света имеет такое странное значение? Почему она равна приблизительно тремстам миллионам метров в секунду? Почему ни больше и ни меньше? В чем сакральный смысл этого числа?

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

Чтобы понять это, давайте представим себе, инопланетянина, изучающего людскую цивилизацию. Он узнает, что для измерения времени мы используем единицы, равные времени полного обращения нашей планеты вокруг собственной оси, деленное на некоторое число. Если мы поделим время полного обращения Земли на двадцать четыре, то получим час. Если час мы поделим на шестьдесят, то получим минуту. А если и минуту мы поделим на шестьдесят, то получим секунду. И при этом именно секунда выбрана в качестве основной единицы в международной системе стандартных единиц. Что за бессмыслица? - подумает инопланетянин.

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

Читать далее
Total votes 95: ↑88 and ↓7+114
Comments308

Как я победил прокрастинацию, узнал свои истинные желания, поставил четкие цели и достиг их

Reading time12 min
Views68K

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

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

Это дало мне сильнейший толчок и изменило мою жизнь до неузнаваемости. За прошедшие пять лет я попутешествовал по куче стран, полтора года прожил в солнечной Черногории, переехал в Израиль, несколько раз менял работу на компании с гораздо лучшими условиями, в последний раз устроившись на работу, на которой мой доход в более чем 15 раз превышает мой доход пять лет назад, и на которой я делаю продукты для всемирно известных корпораций и организаций, создал три более-менее успешных open-source проекта на Github и написал множество статей на Хабрахабр, некоторые из которых имели ошеломительный успех у читателей.

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

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

Читать далее
Total votes 34: ↑26 and ↓8+24
Comments71

Почему функциональное программирование такое сложное

Reading time15 min
Views91K

Я несколько раз начинал читать статьи из серии «Введение в функциональное программирование», «Введение в Теорию Категорий» и даже «Введение в Лямбда Исчисление». Причем и на русском, и на английском. Каждый раз впечатление было очень сходным: во-первых, много новых непонятных слов; во-вторых, много новых определений, которые возникают из ниоткуда; в-третьих, совершенно непонятно, как это использовать.


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


Попытки использовать как-то в работе изученные концепции разбивались о полное непонимание, как применить полученное глубокое знание. Ведь, напомню, что парадигму ФП (где-то удобнее, где-то не очень, но) можно использовать практически в любом ЯП, совсем необязательно для этого изучать условный Хаскель.

Читать дальше →
Total votes 142: ↑123 and ↓19+138
Comments715

Бизнес без данных — деньги на ветер

Reading time15 min
Views6.8K
«Данные — новая нефть», — твердят со всех сторон аналитики, эксперты, учёные. Действительно, бизнес, органы власти, межнациональные институты всех сфер деятельности собирают данные, новый виток развития получил IoT, терабайты данных генерирует носимая электроника. Вся наша жизнь — данные. А заметили ли вы особенность фразы «данные — новая нефть»? Они такие же нужные, такие же дорогие, — правильно. Но что такое нефть? Это сырьё. На ней, как таковой, не поедешь, ею не смажешь, её не используешь на стройке и в косметике. Нефть для придания ей потребительской ценности нуждается в хранении и переработке. Та же история с данными: их нужно добыть, сохранить, очистить, обработать и интерпретировать. Только тогда они принесут бизнесу и потребителям реальную, ощутимую пользу. 

Мы не могли обойти эту тему и финансировали исследование, проведённое независимой исследовательской компанией IDC. Результаты получились любопытные и впервые в Рунете мы их публикуем именно на Хабре.


Эта милая олдскульная картинка не имеет ничего общего с миром данных, в котором мы живём. Сейчас данные — это не длинная комната с ящиками, это просто вся планета Земля
Читать дальше →
Total votes 17: ↑14 and ↓3+29
Comments2

Разрабы работают медленно и дорого — и люди считают нас лентяями. Просто в разработке всё сложно

Reading time7 min
Views75K

— Люди не из индустрии вечно не понимают программистов: что они там такое сложное делают, если видно только две кнопки? Что за непонятные слова говорят? Почему так много получают?


Вместе с парнями из подкаста «Мы обречены» решили с этим разобраться и запустили совместную рубрику, где будем объяснять, почему в разработке всё так сложно. А для тех, кто любит читать, а не слушать, парни написали эту статью.


Читать дальше →
Total votes 188: ↑152 and ↓36+147
Comments533

Не надо учить Machine Learning

Reading time4 min
Views18K

Учитесь создавать софт, используя модели машинного обучения


image

Дисклеймер: статья основана исключительно на моих наблюдениях за командами разработчиков в области машинного обучения и не является результатом научного обзора отрасли. Для справки, я помогаю разрабатывать Cortex — платформу с открытым исходным кодом для запуска моделей в производство.

Если вы разработчик, то, мимолетный интерес к машинному обучению у вас как минимум есть. Концепция алгоритма, которые учатся, чтобы потом делать прогнозы, это ведь просто… круто.

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

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

Вы хотите создавать продукты или проводить исследования?


До конца 2000-х годов машинное обучение было практически только исследовательской проблемой. Просто было не так много компаний, которые бы реально использовали машинное обучение в производстве.
Total votes 22: ↑17 and ↓5+20
Comments9

Как выучиться на Data Scientist: наиболее востребованные технические навыки

Reading time6 min
Views10K
Какие технические знания становятся наиболее популярными у работодателей, а какие теряют свою популярность.

image

В своей первоначальной статье 2018-го года я рассматривал спрос на общие навыки – статистику и коммуникацию. Также я рассматривал спрос на Python и язык программирования R. Технологии создания программного обеспечения меняются намного быстрее, чем спрос на общие навыки, поэтому в этот обновленный анализ я включаю только технологии.

Я искал ключевые слова, которые появлялись в списках вакансий на должность «Data Scientist» в США на таких сайтах как SimplyHired, Indeed, Monster и LinkedIn. В этот раз я решил написать код, чтобы изучить все списки вместо того, чтобы искать вручную. Это решение оказалось очень успешным для SimplyHired, Indeed и Monster. Я использовал Requests и Beautiful Soup из библиотеки Python HTTP. Код с анализом вы можете увидеть в моем отчете на GitHub.

Продираться через LinkedIn оказалось в разы сложнее. Необходимо пройти процесс авторизации, чтобы просматривать точное количество списков вакансий. Я решил использовать Selenium для просмотра страниц без графического интерфейса пользователя. В сентябре 2019 года Верховный суд США выиграл дело против LinkedIn, тем самым позволив очистить данные сайта. Тем не менее, я не смог получить доступ к своей учетной записи после нескольких попыток входа. Возможно, эта проблема возникла из-за ограничения скорости. Апдейт: Я все же смог войти, но боюсь, что меня заблокируют при повторной попытке.
Читать дальше →
Total votes 6: ↑5 and ↓1+10
Comments1

Как стать DevOps инженером за полгода или даже быстрее. Часть 4. Пакетирование программ

Reading time8 min
Views17K
Читать дальше →
Total votes 14: ↑12 and ↓2+17
Comments12

Как стать DevOps инженером за полгода или даже быстрее. Часть 1. Введение

Reading time8 min
Views129K

Целевая аудитория


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

Читать дальше →
Total votes 29: ↑18 and ↓11+16
Comments13

Как стать долларовым миллионером за 30 лет, лежа на диване

Reading time12 min
Views240K


На Хабре недавно вышел пост ״Новичкам фондового рынка: честные разговоры о трейдинге״. Этот пост, опубликованный в одном из самых читаемых блогов Хабра, вводит людей в заблуждение и создает у них ложное представление о том, что игра на бирже — хороший способ заработка. Это вынудило меня написать комментарий, постепенно переросший в целую статью, с детальным разбором того, почему трейдинг — это не способ разбогатеть, а способ потерять деньги, и о том, как на самом деле заработать на инвестициях.
Поехали!
Total votes 238: ↑221 and ↓17+274
Comments557

Почему существует так много Питонов?

Reading time9 min
Views138K
Питон изумителен.

Удивительно, но это довольно неоднозначное заявление. Что я имею ввиду под “Питоном”? Может, абстрактный интерфейс Питона? Или CPython, распространенная реализация Питона (не путать с похожим по названию Cython)? Или я имею ввиду что-то совсем иное? Может, я косвенно ссылаюсь на Jython, или IronPython, или PyPy. Или может я отвлекся так сильно, что говорю о RPython или RubyPython (которые очень сильно отличаются).

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

При работе с Питоном я столкнулся с кучей таких технологий. Инструменты *ython. Но лишь недавно я уделил время, чтобы разобраться, что они собой представляют, как они работают и почему они (каждая по-своему) необходимы.

В этом посте я начну с нуля и пройдусь по разным реализациям Питона, а закончу подробным введением в PyPy, за которым, по моему мнению, будущее языка.

Все начинается с понимания того, чем на самом деле является “Питон”.
Читать дальше →
Total votes 169: ↑161 and ↓8+153
Comments74

Установка micropython на ESP8266 и работа с ним под Linux (для начинающих)

Reading time3 min
Views21K
Привет, Хабр!

Это мой первый опыт с микроконтроллерами в целом, и ESP8266 (в виде Nodemcu v2) в частности. Возможно, для кого-то этот опыт окажется полезным.

Почему именно micropython? Ответ простой — мой скромный опыт в области программирования ограничен Паскалем в ВУЗе, и написанием конфигурационных скриптов для Procera на Python, так что он оказался ближе всего. Примеры будут под Linux (ubuntu 18.04), но, полагаю, в других дистрибутивах Linux принципиальной разницы не будет.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments4

Полезные инструменты Python

Reading time6 min
Views38K
Друзья, добрый вечер! У нас отличные новости, открыт набор в новую группу по курсу «Разработчик Python». Группа стартует уже в начале июля, а прямо сейчас, по устоявшейся традиции, мы делимся полезным переводом подготовленным для студентов данного курса.



Когда вы только начинаете учить Python, кто-то объясняет вам, что вы можете добавить свою папку с исходниками в переменную среды PYTHONPATH и тогда ваш код можно будет импортировать из других директорий. Очень часто объясняющий забывает сказать, что в большинстве случаев – это плохая идея. Некоторые люди узнают это в интернете, другие просто понимают на собственном опыте. Но слишком большое количество людей (особенно неопытные программисты), думают, что других альтернатив быть не может.
Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments38

Практическое руководство по разработке дизайна дэшбордов

Reading time23 min
Views23K
image

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

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

В этой теме так много информации, что трудно разобраться, с чего начать! Но я вам помогу. В процессе изучения дизайна дэшбордов мы пройдёмся по следующим пунктам:

  1. Структура и схема.
  2. Представление и доступность.
  3. Выбор используемых графиков.
  4. Усовершенствование контекста.

Часть 1. Структура и схема


Давайте для начала остановимся и зададим себе два вопроса: кто наша целевая аудитория и каковы её цели?

Знание своей целевой аудитории и её задач критически важно для остальной части работы. Если ваша ЦА — руководители разработки, которым нужно знать высокоуровневую информацию о функционировании системы, то нужные им данные будут сильно отличаться от тех, которые необходимы приходящему инженеру.

Прежде чем вы приступите к созданию дэшборда, возьмите лист бумаги и запишите вопросы, которые будет задавать ваш целевой пользователь, отсортируйте их по порядку приоритетности и определите оптимальные данные, которые нужно отобразить для ответа на вопрос.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments1
2

Information

Rating
Does not participate
Registered
Activity