Pull to refresh
34
0
Махмуд @Maxmyd

User

Send message

Почему уходят разработчики: 8 причин

Reading time9 min
Views53K


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

Мы решили проанализировать основные причины ухода разработчиков с предыдущих мест. Это не глубинные исследования, а кратковременный срез в моменте: просмотрели 175 заметок по итогам общения с разработчиками, которые процессятся на разных стадиях наших проектов, выбрали самые яркие высказывания и сгруппировали их по восьми темам.

По каждой теме есть рекомендации для представителей компаний и сотрудников, которые помогут двум сторонам или наладить сотрудничество, или расстаться с минимальными негативными последствиями.

Неналаженные рабочие процессы


Лидер нашей подборки. Встречается более чем в 60% причин при смене работы. Особенность в том, что это достаточно широкое понятие, которое включает в себя ошибки менеджмента, недостатки программного обеспечения, нехватку специалистов для реализации поставленных задач.
Читать дальше →

Шпаргалки по безопасности: REST

Reading time5 min
Views28K


REST — чрезвычайно популярная архитектура веб-приложений. Для вызова функций на сервере используются обычные HTTP-запросы с задаваемыми параметрами (для структуризации параметров обычно используют JSON или XML), при этом, строгого стандарта для REST-архитектуры не существует, что добавляет ей гибкости (и, конечно, немного хаоса).
Читать дальше →

Сжимаем APK, стараясь сохранить его работоспособность

Reading time5 min
Views7.3K


/ PxHere / PD


Оптимизация веса APK — это нетривиальная, но очень актуальная во времена Instant App, задача. Включение proguard избавит вас от ненужного кода, если ваши зависимости можно определить на этапе компиляции, но в APK есть ещё несколько видов файлов, которые можно исключить из сборки.


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

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

Как я перестал беспокоиться и по-другому взглянул на системы учёта рабочего времени

Reading time9 min
Views34K
Помню, как, будучи офисным ещё, по большей части, работником, я читал и хейтил обзоры подобных программ, включая некоторые из тех, про которые сам сегодня пишу (за 10 лет рынок софта этой категории не так уж сильно поменялся). Потому что офис, и работа на «дядю», и даже на родное государство уже тогда ассоциировались с несвободой и даже, в какой-то мере, принуждением. Для превращения этих грустных будней пост-советского инженера в настоящую тоталитарную антиутопию только слежки за тем, что я делаю за компьютером, и не хватало.

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

Один из заказчиков прислал мне собственный разбор-анализ приложений следящего софта CleverControl, Kickidler, StaffCop, Teramind, Time Doctor и «Стахановец». Они выбирали софт для контроля за сотрудниками для собственного офиса, поэтому, кроме прочего, в списке пунктов анализа есть «невидимость пользователям».



В принципе, если не давать заказчику удалённо админского доступа к своему компу, то простым подрядчикам волноваться особо не о чем.
Читать дальше →

Хранение, резервное копирование и каталогизация фотографий

Reading time5 min
Views33K
Тут периодически пишут посты про то, как хранят и бэкапят свои фотографии — ну и просто файлы. В последнем таком посте написал достаточно длинный комментарий, немного подумал и решил всё же развернуть его в пост. Тем более, что несколько поменял метод бэкапа в облако, может будет полезно кому.

Домашний сервер, где происходит многое из описанного ниже:

image

Что надо сохранять?


Самое важное и объёмное у меня — фотографии. Изредка видео, но очень изредка — оно слишком много места занимает и слишком много времени отнимает, потому я его не слишком люблю, снимаю только короткие ролики, которые валяются в той же куче, где и фотографии. На текущий момент фотоархив у меня занимает примерно 1,6 терабайта и растёт где-то на 200 гигабайт в год. Другие важные вещи гораздо менее объёмны и с ними меньше вопросов в плане хранения и бэкапа, десяток-другой гигабайт можно распихать по куче бесплатных или очень дешевых мест, начиная от ДВД и заканчивая флэшками и облаками.
Читать дальше →

Быстрорастворимое проектирование

Reading time25 min
Views47K
Люди учатся архитектуре по старым книжкам, которые писались для Java. Книжки хорошие, но дают решение задач того времени инструментами того времени. Время поменялось, C# уже больше похож на лайтовую Scala, чем Java, а новых хороших книжек мало.

В этой статье мы рассмотрим критерии хорошего кода и плохого кода, как и чем измерять. Увидим обзор типовых задач и подходов, разберем плюсы и минусы. В конце будут рекомендации и best practices по проектированию web-приложений.

Эта статья является расшифровкой моего доклада с конференции DotNext 2018 Moscow. Кроме текста, под катом есть видеозапись и ссылка на слайды.


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

devleads — поговорим о профессиональном выгорании

Reading time13 min
Views28K
Привет! В рамках проекта devleads мы с ребятами решили сделать подкаст для всех неравнодушных к менеджменту в IT-сфере — тимлидов, руководителей разработки и им подобных.

Кто мы:

  • Я, Илья Царев, руководитель мобильной разработки Альфа-Банка.
  • Илья Кузнецов, imJustik, iOS-тимлид Альфа-Банка.
  • Никита Майданов, NikoGenn, руководитель мобильной разработки в Welps.


В этом выпуске мы затронем тему профессионального выгорания (в частности — выгорания тимлида) и связанных с ним мифов. А поможет нам в этом психолог Анастасия Калашникова.

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

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

— Расскажи, пожалуйста, что такое вообще «выгорание».
Читать дальше →

Основы внедрения зависимостей

Reading time7 min
Views67K

Основы внедрения зависимостей


В этой статье я расскажу об основах внедрения зависимостей (англ. Dependency Injection, DI) простым языком, а также расскажу о причинах использования этого подхода. Эта статья предназначена для тех, кто не знает, что такое внедрение зависимостей, или сомневается в необходимости использования этого приёма. Итак, начнём.

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

TeamLead Conf: «MBA digital-у не товарищ»

Reading time9 min
Views3K
Для мира digital характерен быстрый карьерный рост, который заставляет молодых управленцев переключаться с освоения фундаментальных идей того же MBA на тренинги, лекции и митапы, поскольку они позволяют еще больше ускорить процесс. Однако в том и в другом случае точного ответа на извечный вопрос «что делать» не получить. Причина заключается в сложности адаптации теории к своей личной практике. Но это не значит, что выхода нет.

Как появилась идея TeamLead Conf, при чем тут новый тип образования в digital и серендипность, рассказывает Александр Зиза, один из организаторов нашей конференции Aletheia Business и член программного комитета TeamLead Conf.


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

Еще список проектов, на чем потренироваться

Reading time3 min
Views27K
«Мастер совершает больше ошибок, чем новичок — попыток»

Прошлый список тренировочных проектов набрал 50к прочтений и 600 добавлений в избранное. Вот еще один список интересных проектов для практики, для тех кто хочет добавки.

1. Текстовый редактор


image

Цель текстового редактора — уменьшить усилия пользователей, пытающихся преобразовать их форматирование как валидную разметку HTML. Хороший текстовый редактор позволяет пользователям форматировать текст по-разному.

В какой-то момент каждый использовал текстовый редактор. Так почему бы не создать его самостоятельно?
Читать дальше →

Как правильно: IT термины по-английски

Reading time4 min
Views24K
Каждый айтишник знает куда больше английских слов, чем ему кажется. Ведь даже не обладая блестящими познаниями в грамматике английского, вы каждый день употребляете десятки терминов, которые перешли в русский язык и далеко не всегда имеют аналоги. С другой стороны, неологизмы в русский язык часто приходят с неточностями, с которыми мы и разберёмся в сегодняшней подборке.

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

Рабочее место .NET разработчика или трудности выбора идеальной конфигурации ver.2.0

Reading time5 min
Views18K
Привет, Хабр!

И снова мы приоткрываем дверь «за кулисы» проекта Retail Rocket. Запуская инженерный блог, мы обещали рассказывать о подходах, используемых в области анализа данных, и разработки технологий, которые позволяют создавать самую популярную на рынке ecommerce платформу персонализации.

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


Старое рабочее место .NET разработчика в офисе Retail Rocket

Все также половина нашей команды разрабатывает на .NET, но почти все разработчики сменили Visual Studio и Resharper на Rider 2018. Rider оказался заметно быстрее, чем Visual Studio с решарпером, и мы не устояли. Также из-за все большего количества проектов и файлов, нам пришлось разделить единый solution на несколько. Но нам все еще требуются быстрые машины, чтобы работа оставалась комфортной.

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

Опыт использования WebRTC. Лекция Яндекса

Reading time8 min
Views27K
Что лучше использовать при разработке софта — нативные или веб-технологии? Холивар по этому поводу закончится ещё не скоро, но мало кто станет спорить, что нативные функции полезно продублировать для использования в браузерах или WebView. И если когда-то приложения для звонков существовали исключительно отдельно от браузера, то теперь их легко реализовать и в вебе. Разработчик Григорий Кузнецов объяснил, как пользоваться технологией WebRTC для P2P-соединений.


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

Новые возможности Angular 6.1

Reading time3 min
Views15K
25 июля вышел Angular 6.1. Данный минорный релиз фреймворка можно рассматривать как замену Angular 6.0, включающую в себя некоторые новшества и исправления ошибок. Этот материал, перевод заметки из блога Angular, посвящён основным новым возможностям Angular 6.1.


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

Антисобеседования

Reading time11 min
Views146K
Я побывал на многих плохих собеседованиях, и в качестве кандидата и в качестве ведущего, и в качестве наблюдателя. В результате сформулировался крайне субъективный набор заметок о том, как стоит и как не стоит проводить собеседование разработчиков.


Собеседование — это экзамен


Ведущий — строгий учитель, а кандидат — студент. Классический сеттинг. Обычно проходит так. Спросили откуда ты, что ты, и потом пошло техническое собеседование.

Начинается с простых вопросов на раскачку, примерно таких:
Читать дальше →

Светодиодная лента в качестве освещения комнаты

Reading time15 min
Views1.3M
Изначально для основного освещения одной из комнат, где шёл капитальный ремонт, планировалась обычная люстра. Но недавно мне на глаза попалась суперяркая светодиодная лента Ultra 5000 со светодиодами smd 5630 торговой марки Arlight. Решение было принято быстро, окончательно и бесповоротно — хочу такую ленту в качестве основного света в комнате.



О реализации светодиодного периметра освещения далее

Веб компоненты. Часть 1: Пользовательские элементы

Reading time9 min
Views22K
Вступление

Данная статья — первая часть из небольшой серии статей о создании веб-компонентов нативными средствами HTML и JS


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


Для реализации такого подхода, в настоящее время разрабатываются три спецификации, о первой из которых, пойдет речь в этой статье. Итак, знакомимся — спецификация пользовательских элементов (custom elements), рабочий черновик которой оупбликован 13.10.2016 и последняя версия которого датирована 04.12.2017.


Пользовательский элемент является наиболее важной частью АПИ, входящих в пакет веб компонент, поскольку именно он предоставляет ключевые возможности, а именно:


  • определение (собственно, создание) нового элемента
  • упаковка нестандартного функционала и данных в один тег
Читать дальше →

Расширение процесса сборки с помощью MSBuild

Reading time7 min
Views30K
Цель статьи — рассказать немного о MSBuild, показать что такое таргеты и таски в MSBuild, научить работать с файлом .csproj, дать полезные ссылки. Если у вас будет более подходящее название для статьи, то буду рад обсудить в комментариях.

Меню


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

Об использовании персон (персонажей) пользователей при разработке продуктов

Reading time10 min
Views33K
Персоны или персонажи пользователей являются одним из инструментов дизайна продукта или услуги, ориентированного на пользователя (user-centered design), который основывается на идее, что создавать продукты нужно «вокруг» людей и их целей, а не обучать людей тому, как использовать продукты и не делать «дизайн для всех». Ключевая задача в данном случае – это понять, что нужно пользователю через его поведение, отношение, потребности и цели, проявляя эмпатию и дизайн-мышление.


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

Модульное тестирование интерфейсов в Headless Chrome. Лекция Яндекса

Reading time11 min
Views14K
Чтобы непрерывно улучшать большие клиентские интерфейсы, нужна мощная система автотестов. Разработчик Яндекса Дмитрий Андриянов dima117 кое-что про это знает — пару месяцев назад он поделился своим опытом на Я.Субботнике в Нижнем Новгороде.


— Сегодня я расскажу, как мы в Директе пишем модульные тесты на веб-интерфейс. Мы в целом посмотрим, чем тесты на интерфейс отличаются от других тестов. Рассмотрим два подхода к написанию тестов: с помощью Selenium и с помощью Headless-браузеров. И в конце покажу инструмент, который мы написали в Директе для запуска тестов в Headless Chrome.

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity