Pull to refresh
5
0
Send message

Никогда не отвлекай программиста

Reading time2 min
Views240K
Во многих компаниях программистам запрещают работать в наушниках или отвлекают их по мелким вопросам. Вероятно, причина кроется в плохой информированности менеджеров и других сотрудников, насколько вредно так делать.

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

Для начала, несколько фактов, которые относятся ко всем работникам интеллектуального труда. Задача, прерванная по ходу выполнения, занимает в два раза больше времени и содержит вдвое больше ошибок, чем та же задача, которая выполнялась без прерывания (Czerwinski:04). Офисные сотрудники вынуждены отвлекаться при выполнении 57% задач (Mark:05). Опросы говорят о том, что сотруднику требуется в среднем 15 минут, чтобы вернуться в нормальный ритм после того, как его отвлекли (vanSolingen:98).
Читать дальше →
Total votes 263: ↑248 and ↓15+233
Comments180

Переключение между контекстами губительно для продуктивности

Reading time6 min
Views14K


Введение


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

Я попросил Юджина Шульга, закаленного в боях техлида и технического директора Telnyx, поделиться с нами мыслями о том, как справляться с переключением между контекстами. Его карьерный путь напоминает мой собственный. Он начинал программистом, затем поднялся до руководящей позиции и в конце концов стал техническим директором компании. Рекомендации, которые он дает, основаны на его личном опыте работы программистом, руководителем команды и руководителем руководителями.

Давайте перейдем непосредственно к рекомендациям!
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments15

Эффективность — ваш враг

Reading time8 min
Views73K

Есть большая вероятность, что причиной большинства проблем в вашей жизни и работе является недостаточная бездеятельность. В статье мы расскажем, как устроена бездеятельность и почему вам её нужно больше.

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

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

Попав в офис (разумеется, заполненный дымом сигарет), вы немного удивлены, что он совсем не похож на людской муравейник. На самом деле, окружающие вас люди практически ничего не делают. Рядом с офисом вашего героя его секретарша отдыхает за своим столом. Назовём её Глория. Похоже, она совсем ничем не занята. Вы в течение получаса наблюдаете, как она читает, приводит в порядок свой стол и болтает с проходящими мимо секретаршами. Они тоже не выглядят занятыми. Озадаченный тем, что Тони тратит свои деньги на бездельников, вы решаете остаться ещё на несколько часов.
Читать дальше →
Total votes 119: ↑109 and ↓10+99
Comments72

Что означает RISC и CISC?

Reading time21 min
Views119K

Многие говорят, что разница между RISC и CISC стала несущественной. Так ли это? И если нет, то в чем разница между современными RISC и CISC процессорами?

Компания Apple выпустила процессор Apple Silicon M1, который произвел фурор. Теперь вы можете задаться вопросом, чем он отличается от процессоров Intel и AMD? Вероятно, вы слышали, что M1 — процессор с архитектурой ARM, а ARM — это RISC, в отличие от Intel и AMD.

Если вы читали про разницу между микропроцессорами RISC и CISC, то вы знаете, что множество людей утверждают об отсутствии практической разницы между ними в современном мире. Но так ли это на самом деле?
Читать дальше →
Total votes 76: ↑72 and ↓4+68
Comments89

Ты добавил всего две строчки. Почему на это ушло два дня?

Reading time3 min
Views63K
На первый взгляд вопрос кажется разумным, но он делает некоторые ужасные предположения:

  • строки кода = усилие
  • строки кода = значение
  • все строки кода равны

Ничто из этого не является истинным.

Почему исправление, которое кажется таким простым, заняло два дня?
Читать дальше →
Total votes 157: ↑152 and ↓5+147
Comments225

В России плохо жить, даже если ты разраб. Но я все равно отказываюсь от релокейта

Reading time6 min
Views106K


Несколько лет назад я читал на Хабре про скандал разраба Алексея Адамовского с компанией Xored. Липкий кейс, компания не заплатила человеку деньги, и для меня сразу стал очевиден главный враг в этой истории. Непонятно было другое. Адамовского наняли работать в новосибирском офисе компании, а он очень хотел поработать в пражском. За те же деньги. Кое-как уговорил их и уехал туда. В целом его право, но меня тогда очень задело другое — неужели человек настолько ненавидит жить в РФ, что готов смотаться отсюда на любых условиях?
Читать дальше →
Total votes 354: ↑260 and ↓94+166
Comments1181

Тёмная тема vs Светлая тема: что лучше?

Reading time10 min
Views51K


Примечание переводчика: тёмная тема в дизайне интерфейсов к 2020 году стала чуть ли не обязательной. Вслед за Apple и Android на поезд Dark Mode «впрыгнули» и другие крупнейшие игроки рынка (например, Google, What’s App, Instagram). Тёмную тему любят по нескольким причинам:

  1. Она экономит расход батареи;
  2. Считается, что она снижает напряжение глаз, и с ней легче работать при слабом освещении;
  3. Некоторым она просто больше нравится.

Но, оставив в стороне рассуждения об эстетике тёмной темы, так ли уж она полезна для глаз? На самом ли деле тёмная тема повышает продуктивность работы с текстом? Ралука Будиу (Raluca Budiu) из Nielsen Norman Group даёт исчерпывающие ответы.
Читать дальше →
Total votes 55: ↑53 and ↓2+51
Comments91

Об оценках сроков в разработке ПО

Reading time8 min
Views42K
В течение всей истории разработки ПО мы искали надежные способы оценки времени на реализацию задач и проектов. Но и спустя более чем 60 лет существования отрасли наши прогнозы все еще оставляют желать лучшего. Может быть, дело не в том, как именно мы пытаемся оценивать, а в том, что мы вообще опираемся на оценки?

К примеру, возьмите методологию Scrum, по которой сегодня работают многие компании. Центральная идея Scrum — брать в спринт не больше задач, чем ваша команда способна за это время выполнить. На первый взгляд, звучит разумно. К сожалению, слишком часто на практике этот подход приводит к замедлению работы команды в обмен на иллюзию планирования. Позвольте объяснить, почему.
Читать дальше →
Total votes 89: ↑87 and ↓2+85
Comments78

Коронавирус: мы все умрём?

Reading time17 min
Views55K
Что мы говорим Богу смерти? — Не сегодня.
Сирио Форель, сериал «Игра престолов».


Насколько действительно опасен коронавирус COVID-19? Сколько людей умрёт от коронавируса в мире? А сколько – в России? Так ли необходимы жесткие меры, принимаемые для борьбы с коронавирусом в большинстве стран мира? Что принесет больше ущерба: смерть людей от коронавируса или падение экономики, вызванное ограничительными мерами?

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

Чтобы сделать материал доступным для всех читателей, в начале статьи мы сконцентрируемся на качественном анализе, и красивых картинках. А в самом конце для интересующихся приведем исходный код для расчетов, выполненных на языке Python.
Читать дальше →
Total votes 175: ↑126 and ↓49+77
Comments601

Разбираемся с launchMode Android Activity: standard, singleTop, singleTask и singleInstance

Reading time8 min
Views48K
Перевод статьи подготовлен специально для студентов продвинутого курса по Android разработке.




Activity — это одна из самых ярких концепций в Android (самой популярной мобильной операционной системе с хорошо продуманной архитектурой управления памятью, которая отлично реализует многозадачность).

Так или иначе, с запуском Activity на экран не все так однозначно. Способ, которым оно было запущено, также важен. Нюансов в этой теме очень много. Одним из действительно важных является launchMode, о котором мы и поговорим в этой статье.

Каждое Activity создается для работы с разными целями. Некоторые из них предназначены для работы отдельно с каждым Intent, например, отправленным Activity для составления электронной почты в почтовом клиенте. В то время как другие предназначены для работы в качестве синглтона, например, Activity почтового ящика.

Вот почему важно указывать, нужно ли создавать новое Activity или использовать существующее, иначе это может привести к плохому UX или сбоям. Благодаря разработчикам ядра Android, это легко сделать с помощью launchMode, который был специально для этого разработан.
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments6

10 признаков того, что хороший программист из вас не получится

Reading time11 min
Views330K
Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Signs You Will Suck at Programming» автора Jonathan Bluks.



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

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

Будучи преподавателем на курсе «Full-stack Web-development», я работал со многими программистами-новичками. Хорошая новость в том, что мне редко встречались студенты, которые вообще не могли научиться программировать. Я считаю, что умение программировать — такой же базовый навык, как умение читать, писать и считать. Это под силу любому, так как это одна из способностей человека, но этому действительно надо учиться.

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

Этот список поможет вам понять, сможете ли вы стать хорошим программистом, а также что делать, если вы решите это изменить.
Читать дальше →
Total votes 162: ↑139 and ↓23+116
Comments518

Что такое Android Lint и как он помогает писать поддерживаемый код

Reading time6 min
Views17K

Что такое Android Lint и как он помогает писать поддерживаемый код


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


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


Привет, Lint


Мы используем инструмент под названием Lint (или Linter) для избежания таких проблем. Lint — это инструмент для статического анализа кода, который помогает разработчикам изловить потенциальные проблемы ещё до того, как код скомпилируется.

Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments0

Как подружить Custom View и клавиатуру

Reading time10 min
Views11K

Введение


«МойОфис» работает на большинстве современных платформ: это Web-клиент, настольные версии приложения для Windows, MacOS и Linux, а также мобильные приложения для iOS, Android, Tizen. И если в разработке компьютерных приложений уже давно есть основные правила подхода к дизайну интерфейсов, то при создании приложений для мобильных устройств требуется отдельная проработка многих особенностей.


Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments0

Нестыдные вопросы про жизненный цикл

Reading time8 min
Views16K


Каждый разработчик сталкивался с вопросами про жизненный цикл Activity: что такое bind-сервис, как сохранить состояние интерфейса при повороте экрана и чем Fragment отличается от Activity.
У нас в FunCorp накопился список вопросов на похожие темы, но с определёнными нюансами. Некоторыми из них я и хочу с вами поделиться.

Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments8

25 занимательных Android библиотек. Весна 2018

Reading time5 min
Views20K
Это список из 25 новейших Android-библиотек, проектов и инструментов, выпущенных за последние 3 месяца. Здесь нет первого и последнего места, это просто список интересных библиотек. Они определённо заслуживают вашего внимания. Наслаждайтесь!


Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments2

Открытая бесплатная трансляция конференции Mobius 2018 Piter

Reading time8 min
Views3.3K


20-21 апреля, то есть уже завтра-послезавтра, в Петербурге пройдёт конференция по мобильной разработке Mobius. Android и iOS, разнообразные темы от многопоточности до тестирования, российские спикеры и зарубежные звёзды — о том, что там будет, мы уже писали.

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

А какие именно доклады попали в доступную для всех трансляцию? Под катом — все их названия и описания.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments2

Android Support Library 28. Что нового?

Reading time10 min
Views24K


По давней традиции вместе с новой версией Android выходит обновление Support Library. Пока библиотека вышла в стадии альфа, но список изменений уже намного интереснее, чем такой же список у Android P. Google несправедливо мало рассказал и написал об основных нововведениях главной библиотеки для Android. Приходится читать исходники и разбираться, в чем особенности новых фич и зачем они нужны. Восстановлю справедливость и расскажу, чем нас порадовал Google:

  • RecyclerView selection — выбор элементов теперь из коробки;
  • Slices — новый способ отображать контент другого приложения;
  • новые элементы дизайна: BottomAppBar, ChipGroup и другие;
  • мелкие изменения одной строкой.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments22

Эти токсичные, токсичные собеседования

Reading time8 min
Views104K


Всё началось, когда автор Ruby on Rails признался миру:

Total votes 205: ↑197 and ↓8+189
Comments734

Почему опытные разработчики пишут тупой код и как распознать новичка за километр

Reading time3 min
Views86K
Предлагаю читателям «Хабрахабра» перевод публикации «Why Senior Devs Write Dumb Code and How to Spot a Junior From A Mile Away» за авторством Scott Shipp.


Одна из моих любимых цитат на все времена — Брайана Гетца (Brian Goetz), умнейшего чувака из мира Java, одного из авторов «Java Concurrency in Practice», кроме всего прочего. Цитата взята из интервью, опубликованного на сайте Oracle под заголовком «Пишите тупой код» («Write Dumb Code»). Гетца спросили, как писать хорошо работающий код.
Вот что он ответил
Total votes 165: ↑147 and ↓18+129
Comments407

Как убить технаря в тимлиде

Reading time15 min
Views33K
В IT линейных руководителей и тимлидов традиционно набирают из лучших инженеров. Их работа теперь состоит совсем в другом: управлять людьми и взаимодействовать с другими командами и организациями. Исходный же посыл «я лучше знаю, как нужно» часто приводит к совмещению в одном лидере одновременно двух крайностей: отсутствия делегирования и тотального контроля. И то, и другое вовсе не оставляет ни времени, ни сил на управление. О том, как со всем этим справиться и какие еще препятствия могут встретиться на пути новоиспеченного руководителя, на основе собственного опыта и собственноручно набитых шишек расскажет Александр Трофимов из Лаборатории Касперского.


В основе публикации — расшифровка доклада Александра Трофимова с HighLoad++ 2017
Total votes 52: ↑49 and ↓3+46
Comments20

Information

Rating
Does not participate
Registered
Activity