Search
Write a publication
Pull to refresh
1
0

Пользователь

Send message

Как я потерял работу программиста в 65 лет

Reading time4 min
Views115K

Ведь я профессионал в IT. Как такое могло произойти?

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

Дисклеймер. Эта статья -- перевод текста разработчика из США. Думаю, разница в том, что в странах СНГ подобные проблемы начинаются еще раньше. В дополнение к переводу предлагаю обсудить проблемы поиска работы среди возрастных соискателей в нашей стране. Об этом в конце статьи.

Читать далее

Как мы автоматизировали тестирование бэкенда

Reading time7 min
Views13K

Привет, Хабр! Меня зовут Александр Старостин, я занимаюсь тестированием биллинговой системы МТС. Тестирование бэкенда — важная часть процесса проверки разработки ПО. Покрытый тестами бэкенд минимизирует ошибки при выкатывании новых фич на прод и в целом делает разработку более предсказуемой. Тесты бэкэнда быстрее разработать, они стабильнее и быстрее в прогоне, в отличии от тестов пользовательского интерфейса. К тому же не у всякого сервиса есть интерфейс, например публичный API для внешних систем. Но ручное тестирование может быть очень трудоемким. И тут нам на помощь приходит ее высочество автоматизация. О ней мы сегодня и поговорим.

Читать далее

Кто такой техлид и как с ним обращаться

Reading time7 min
Views17K

Всем привет! Сегодня в гостях у нас Олег Мельник — Technical Lead в компании Proxify, а также преподаватель в OTUS.

Поговорили с Олегом про такую роль у разработчиков как техлид.

Читать далее

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

Reading time4 min
Views6.7K

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

Читать далее

Многорукий Шива (он же Product Manager)

Reading time4 min
Views2.8K

Роль менеджера по продукту полна вызовов: ведь именно он должен понять, что нужно рынку и как это можно реализовать так, чтобы был доволен пользователь и бизнес. Предлагаю посмотреть "изнутри" на том, чем занимается Product Manager, и как он превращает идею в успешный продукт!

Читать далее

Как проводить тестирование на удалёнке и обходиться без тонн разных девайсов. Опыт Surf

Reading time7 min
Views9.8K

Осень, ковид, «нерабочие дни». Это у разработчиков рабочее место там, где есть компьютер. А вот тестировщикам мобильных приложений на удалёнке гораздо сложнее: им, помимо прочего, нужно много девайсов разных версий и ОС. Наши тестировщики научились работать откуда угодно и не таскать за собой сумку с устройствами. В статье найдёте, как это сделать и вам. 

Читать далее

Автоматизируем все с Github Actions (Никита Соболев)

Reading time29 min
Views27K


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

Читать дальше →

Разбор алгоритмических задач с собеседований в Google, Facebook, Amazon

Reading time5 min
Views20K

Всем привет!

В данной статье пройдемся по двум задачам, взятым с leetcode.com из списка часто встречаемых задач на собеседованиях в FAANG:

1. Guess the word
2. Number of Good Ways to Split a String

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

Читать далее

Brave: как мы режем переадресующий трекинг

Reading time3 min
Views2.8K

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

Как это работает?

«Я больше не могу»: 5 причин эмоционального выгорания программиста и что с этим делать

Reading time5 min
Views29K

 
Андрей Н. начал кодить 8 лет назад, и готов был работать сутками напролет, набирая «шабашки» на выходные, а в свободное от работы время изучая новые фреймворки. Работа приносила удовольствие, он наконец-то нашел себя! Спустя 8 лет Андрей с трудом заставляет себя встать с кровати утром, работа не приносит радости, как не приносит ее ничто другое: все виды развлечений, которые развеивали ранее, больше не интересны. У Андрея эмоциональное выгорание, которое предшествует депрессии.

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

Как справиться с выгоранием: читать далее

Redis на практических примерах

Reading time11 min
Views130K

Redis — достаточно популярный инструмент, который из коробки поддерживает большое количество различных типов данных и методов работы с ними. Во многих проектах он используется в качестве кэшируещего слоя, но его возможности намного шире. Мы в ManyChat очень любим Redis и активно используем его в нашем продукте для решения огромного количества задач. Про некоторые интересные кейсы использования этой in-memory key-value базы данных я расскажу на примерах. Надеюсь, вам они будут полезны, и вы сможете применить что-то в своих проектах.

Рассмотрим следующие кейсы:

  • Кэширование данных (да, банально и скучно, но это классный инструмент для кэширования и обойти стороной этот кейс, кажется будет не правильно)
  • Работа с очередями на базе redis
  • Организация блокировок (mutex)
  • Делаем систему rate-limit
  • Pubsub — делаем рассылки сообщений на клиенты

Буду работать с сырыми redis командами, чтобы не завязываться на какую-либо конкретную библиотеку, предоставляющую обертку над этими командами. Код буду писать на PHP с использованием ext-redis, но он здесь для наглядности, использовать представленные подходы можно в связке с любым другим языком программирования.


Читать дальше →

За двумя зайцами погонишься — чеклист для HighLoad системы гуглить будешь

Reading time11 min
Views17K

Эта статья будет полезна, если вы начинаете проект, который может перерасти в HL (HighLoad) или у вас уже есть проект, который имеет высокую нагрузку. Каждый пункт этого чек-листа поможет избежать определенных проблем, возникающих в процессе эксплуатации таких систем. И хотя некоторые пункты могут показаться довольно очевидными, а иные даже лишними, я рекомендую ознакомиться со всем списком, т.к. судя по статьям на хабре, периодически с некоторыми из этих проблем встречаются компании, которые уже обрели некоторую популярность. Дополняя систему каким то компонентом довольно просто забыть о таких вещах, как KeepAlive между двумя сервисами, а процессы изменения и дополнения в IT происходят постоянно.

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

Ознакомиться с чек-листом

Чем разработчик от кодера отличается

Reading time6 min
Views32K

Самый плохой разработчик — тот, который всё делает по ТЗ. А самый лучший код — не написанный.

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

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

Это история не про любовь, мир, жвачку и миссию компании, а про простую способность сделать свою работу так, чтобы она была сделана хорошо. И да, для этого разработчик должен не только уметь программировать, но и уметь общаться с другими людьми, уметь доносить свои мысли, уточнять и понимать, что вообще происходит. То есть уметь договариваться. Да, разработчик должен уметь организовывать свою работу: раскладывать проблему на задачи. Ещё он должен интересоваться продуктом (проектом). Не потому что разработчик так его любит, и не потому, что этого требует Agile, а потому, что живой интерес к продукту и понимание его ценности увеличивает качество решений и стоимость разработчика на рынке. Знание предметной области и её ограничений — первейшее требование для того, чтобы принять правильное техническое и архитектурное решение. И очевидно, что чем меньше руководитель тратит сил на управление сотрудником и чем больше получает результат, — то есть чем выше автономность сотрудника, его самостоятельность и беспроблемность, — тем он ценнее при прочих равных.

Читать далее

Когда стоит выбирать микросервисы

Reading time10 min
Views8.6K

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

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

Сам подход оформился на стыке технологий из конкурентной необходимости мгновенно вывести бизнес на новый уровень, и поэтому решения развивались лавинообразно и быстро обзаводились надстройками, паттернами и CI/CD обвеской. Для бизнеса причины не теряют актуальности и интерес к микросервисам также не угасает последние десять лет. При этом сделать решение на микросервисах для ИТ команды – задача творческая, интеллектуальная, позволяющая опробовать современные подходы и уложить на лопатки драконов консерватизма предыдущих решений. То есть, вполне благородный вызов. 

Но вот стоит ли поддаваться этой магии — большой вопрос. 

Как и всякое модное решение микросервисы не всегда идут на пользу. И не являются панацеей от всех проблем. 

Впрочем, давайте разбираться.

Читать далее

Создаем Конечный Автомат на PHP

Reading time6 min
Views13K

Конечный Автомат (State Machine), также называемый Automata (да, как и игра), - это концепция для разработки, организации рабочих и технологических процессов с учетом текущего «состояния» какой-то задачи, изменения её состояний и, по возможности, для автоматизации процесса.

Я объясню на примере. Предположим, что я хочу купить молоко, тогда в такая задача будет иметь примерно следующие состояния...

Читать далее

Проектирование надёжности сайта для Kubernetes

Reading time11 min
Views3.6K

За последние 4,5 года Kubernetes значительно улучшилась с точки зрения удобства использования, и теперь начать работу с Kubernetes стало проще, чем когда-либо. Облачные провайдеры, такие как Amazon AWS, теперь располагают продуктами Kubernetes, которые создают кластеры для вас и управляют ими. Это существенное преимущество по сравнению с созданием собственного кластера Kubernetes.

Один из самых заметных сдвигов в нашей отрасли, который я наблюдал за последние 2 года, заключается в том, что теперь все больше компаний используют Kubernetes в своих производственных нагрузках. Именно сейчас все становится интересным для SRE. Мы получаем возможность учиться друг у друга, обсуждать общие проблемы в области надежности и делиться ее принципами, которым нужно следовать, чтобы укрепить кластеры Kubernetes.

Читать далее

Бесплатные панели управления серверами в 2021 году

Reading time7 min
Views93K


Для пользователей Хабра не секрет, что панель управления (ПУ) — это веб-инструмент для администрирования сервера и размещённых на нём сайтов с помощью графического интерфейса. Она упрощает работу с доменами, базами данных, службами и приложениями.
В этой статье рассмотрим актуальные в 2021 году бесплатные панели управления, которые не теряют своей популярности, поскольку более 80% рядовых юзеров не используют и половины функций и возможностей платных ПУ.
Читать дальше →

Психология удалёнки: как не слететь с катушек

Reading time17 min
Views67K
Удалёнка бьёт по мозгам. И это я вам говорю не как те, кто погрузился в неведомо прекрасное состояние в марте, а как человек, который уже пять лет не видел офисную жизнь, не пил сонным кофе из кофемашины и не встревал в беспечный разговор коллег от скуки рабочего дня. Мне уже приходилось слышать, что кому-то «ковидная» удалёнка надоела, кто-то хочет её навсегда, кто-то мечтает поделить рабочую неделю на офис и хоум-офис. Но 5-6 месяцев — короткий период, чтобы понять свой настоящий выбор (да не случится с нами такое ещё раз!). Удалённая работа меняет личность человека, причём вне зависимости от того, живёт он один, с родными или даже друзьями. Мы становимся другими. И это обязательно нужно обсудить.


Упитанный, унылый, наедине с компом — примерно так и проходит удалёнка

Топ-10 книг для разработчика

Reading time6 min
Views140K

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




Привет, хабр! Продолжаю делиться полезными подборками. Совсем недавно я опубликовал 2 поста с перечнем Github репозиториев: Часть1 и Часть2. На этот раз предлагаю вашему вниманию подборку полезных книг для разработчиков. Кому интересно — добро пожаловать под кат.
Читать дальше →

Круглосуточная трансляции своих видео на YouTube

Reading time11 min
Views86K
Последнее время в качестве хобби снимаю на видео лекции знакомого психолога. Отснятый материал монтирую и публикую на своём сайте. Месяц назад я загорелся идеей организовать круглосуточную трансляцию этих лекций на YouTube в режиме 24/7. Этакий тематический «телеканал», посвященный личностному росту.

Как сделать обычную трансляцию я знаю. А вот как сделать так, чтобы это была трансляция именно видео-файлов? Чтобы она шла 24/7, была гибкой, максимально автономной и при этом никак не зависела от моего домашнего компьютера. Это мне и предстояло выяснить.



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

Если коротко, то итоговое решение получилось следующим: VPS + ffmeg + bash-скрипт. Под катом я описываю проделанные шаги и рассказываю про «подводные камни», которые обнаружились при организации трансляции.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity