Впечатления о книге — Программирование без дураков авторов Пассиг Катрин и Яндер Йоханнес

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

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

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

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

Примечательно, что примеры в книге рассматриваются на разных языках программирования. Указываются некоторые отличительные стороны и особенности этих языков (но без фанатизма и избытка деталей).

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

  1. Книга на примерах показывает, что значит плохой программист (и от обратного, мы понимаем, что не нужно делать, чтобы быстрее становиться хорошим)
  2. Дает советы общего (около-программного) плана, которые помогут быть хорошим программистом
  3. Вводим в курс проблемы именования переменных, функций, классов и т.д. Не дает универсальных решений, подчеркивая, что в разных языках и фреймворках правила могут отличаться. Так же не стоит забывать, что нету каких то абсолютно общепринятых правил и, может так статься, что нужно следовать ранее установленным договоренностям
  4. Важность комментариев и документированности кода. Однако, важно не злоупотреблять комментированием и понимать, где они к месту, а где могут даже мешать пониманию кода
  5. Подходы к чтению кода и поиску информации
  6. Важный вопрос, который подымается в книге, и которым грешат разработчик постарше — это попытки оказать помощь в случае, если она (помощь) не требуется или нежелательна (непрошена второй стороной)
  7. Целый раздел посвящен работе над ошибками разнообразнейших типов, поиск багов, составление и проверка гипотез, анализ и отладка кода, потенциально слабые места программ, вопросы рефакторинга и тестирования программного обеспечения
  8. Материал из книги учит не изобретать велосипеды (почему она не попадалась мне в начале карьеры 🙂 ). Как искать эти «велосипеды» и применять в своих условиях
  9. Чуточку, пытается направить читателя в поиске первого или следующего языка программирования (а так же фреймворка, менеджера пакетов и тому подобное)
  10. Вводит в курс важной темы систем контроля версия и работы с ними
  11. Помогает не бояться командной строки
  12. Открывает завесу в понятиях объектно-ориентированного программирования (как преимущества так и недостатки, а так же — альтернативы)
  13. Освещаются вопросы хранения данных (начиная с текстовых форматов и заканчивая графовыми базами данных) 
  14. Уделяется внимание важным вопросам безопасности информации
  15. В финале, рассматриваются не вошедшие, но немаловажные вопросы, с которыми рано или поздно сталкиваются все разработчики. И дает напутствие на дальнейшее развитие в сторону хороших программистов

В итоге получаем много полезной информации, не оторванной от жизни, собранной в одной книге.

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

Цитаты из книги «Думай медленно, решай быстро» Даниэля Канемана

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

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

Поэтому в данной статье, укажу наиболее полезные для меня цитаты


Система 1 срабатывает автоматически и очень быстро, не требуя или почти не требуя усилий и не давая ощущения намеренного контроля.
Система 2 выделяет внимание, необходимое для сознательных умственных усилий, в том числе для сложных вычислений. Действия Системы 2 часто связаны с субъективным ощущением деятельности, выбора и концентрации

Перед директором по инвестициям стоял трудный вопрос: «Вкладывать ли деньги в акции компании „Форд“?» Но его выбор определил ответ на другой вопрос, более легкий и родственный исходному: «Нравятся ли мне автомобили „Форд“?» В этом и состоит суть интуитивной эвристики: столкнувшись с трудным вопросом, мы отвечаем на более легкий, обычно не замечая подмены

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

Если вам важно казаться умным и достойным доверия, не используйте сложные слова в случаях, где достаточно простых

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

Склонность хорошо (или плохо) воспринимать в человеке все, включая то, чего вы не видели, называется эффектом ореола

Если вы недавно видели или слышали слово «ЕДА», вы дополните слово «М_ _О» до слова «МЯСО» с большей вероятностью, чем до слова «МЫЛО». Конечно, если вы только что видели слово «МЫТЬ», то все произойдет наоборот. Это называется эффектом предшествования или праймингом (формированием установки), иначе говоря, идея «ЕДА» дает установку на «МЯСО», а идея «МЫТЬ» дает установку на «МЫЛО»Находить и называть чужие ошибки намного легче и приятнее, чем признавать свои

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

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

Знакомое порождает симпатию. Это – эффект простого предъявления

Часто мы уверены в себе, даже если неправы, однако объективный наблюдатель с легкостью замечает наши ошибки

Склонность видеть закономерности в случайном сильнее каких-то там исследований

Иллюзия понимания прошлого придает нам чрезмерную уверенность в своих способностях предвидеть будущее

Поощрение за улучшение результатов работает эффективнее, чем наказание за ошибки

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

Впечатления о книге — 7 навыков высокоэффективных людей Стивена Кови

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

Проблемы книги (лично для автора статьи)

  1. Сами 7 навыков сложно сформулировать кратко и емко, так чтобы обращаться к их формулировкам постоянно. 
  2. Книга читается легко, в ней хорошие примеры, но это мало помогает для себя обобщить эти 7 навыков. Даже по прочтении книги 2 раза и по прошествии нескольких недель, непросто сформулировать для себя эти навыки. Хотя, может это задумка автора, и для полного понимания навыков, необходимо провести некоторую «домашнюю работу» с выписыванием ключевых идей для себя отдельно
  3. Книга была написана очень давно (1989), хотя, автор утверждает, что с течением времени 7 приводимых навыков стали еще более актуальными. Тем не менее, ощущается некий налет «ретро» в том, как доносится информация

Почему книгу стоит прочитать

  1. Это общепризнанный кладезь знаний/инсайтов/мыслей/триггеров. Она поможет ответить на сложные социально-психологические вопросы, которые вы, может даже и сформулировать не решались.
  2. По прочтении книги, становится понятно от куда корни терминов, которыми оперируют хорошие менеджеры. Например, тот же, квадрант Эйзенхауэра (срочно-важно), правило Парето (20/80), принцип «Выиграл/выиграл», понятие «проактивности» и многие другие. Т.е. позволит говорить с людьми, достигших значительных успехов в само-развитии, на одном языке.
  3. Может помочь задать направлении дальнейшего развития личности (вряд ли это будет первая книга, которая это сделает, но может быть лучшей или же помочь, на одном из «перекрестков развития»)

Для себя, я отметил следующие положения по каждому из 7 навыков:

Навык 1: Будьте проактивны

  • В отличии от обычного, реактивного подхода, проактивный не становится реакцией на раздражители (обстоятельства или случайные события), а ведет по собственному пути, создавай благоприятные обстоятельства. Другими словами, наше поведение зависит от наших решений, а не от нашего окружения.
  • Одно из проявлений проактивности — эффект самореализующихся предсказаний. Если, например, думать, что ваш подопечный неумелый работник, то он таким и будет. Если же к нему относится как к талантливому и перспективному, то таковым он и станет.
  • Конечно, это не так просто сделать. Нужно понимать, что, чтобы изменить что-то, нужно начать с себя. А для того чтобы поменяться, нужно, прежде всего, поменять свое восприятие. 
  • Тут же, скрывается еще одна ловушка. Мы видим мир не таким каков он есть, а таким, каким мы настроены его видеть. Другими словами мы пропускаем все через призму своего жизненного опыта, через наши представления и парадигмы. И стоит другим разойтись с нами во мнении, мы поспешно приходим к выводу, что не правы именно они. Тут так же на помощь придет пересмотр собственного восприятия
  • Взаимозависимость, как следующая ступень эволюции человеческих отношений, после зависимости и независимости, говорит о том, что даже у зрелой личности возможности и восприятие ограниченные, и вместе можно такое, что не доступно одному. Путь к взаимозависимость — это результат овладения всеми 7ю навыками.

Навык 2: Начинайте представлять конечную цель

  • Смысл навыка заключается в том, чтобы уже сейчас начать формировать свое представление образа, картины или парадигмы конечных целей вашей жизни. Составить систему оценок и критериев по которым будет оцениваться все остальное.
  • В продолжении предыдущего пункта, лидерство — это формирование направления развития и задач компании или группы, установление продуктивных, теплых, доверительных отношений внутри коллектива или семьи. Эти лидерство отличается от управления, которое подразумевает только следованию уже установлены правилам, контроль и решение сиюминутных трудностей
  • В личном плане, основой второго навыка будет составление и следование положениям личной миссии — способу фокусироваться на том, каким вы хотите быть и что вы хотите делать, а так же ценности и принципы, которые будут лежать в основе вашего характера и поступков
  • Помещая в центр нашей жизни верные принципы, вы создаете прочную основу для развития жизне-обеспечивающих факторов: внутренняя безопасности, планирование, мудрость и личная власть
  • Личная миссия семьи (или организации) — фундаментальная основа, конституция семьи, нормы и критерии для вынесения суждений и принятия решений, которые способствуют ее единению и долгому существованию
  • Без вовлечения в процесс формирования личной миссии семьи или организации нету и приверженности, это необходимо учитывать при формировании личной миссии

Навык 3: Сначала делайте то, что необходимо делать сначала

  • В основе третьего навыка лежат принципы персонального управления. Лидерство определяет что нужно делать сначала, а управление помогает выполнять это
  • Для понимания, что нужно делать сначала, нужно понять матрицу управления временем (квадрант Эйзенхауэра)
  • Важные несрочные дела требуют от нас большей инициативы, большей проактивности, при этом они создают новые возможности. Когда выполняются такие дела, наша эффективность совершает огромный скачок
  • Фокусировка на важных несрочных делах приводит к тому, что количество кризисов и проблем (которые идут из квадранта 1 — срочные-важные) сокращается до разумного предела, так как вы планируете будущее и предпринимаете шаги, предотвращающие развитие кризисных ситуаций. 
  • Так работает принцип Парето: 80 процентов результатов проистекает из 20 процентов усилий
  • Метод недельного планирования (в отличии от метода дневного планирования) наделяет свободой и гибкостью, необходимой для того, чтобы справляться с непредвиденными обстоятельствами, в том числе

Навык 4: Думайте в духе «Выиграл/Выиграл»

  • Подход «Выиграл/Выиграл» направлен на постоянный поиск взаимной выгоды при любых взаимодействиях людей между собой. Другими словами, все договоренности и решения обоюдно выгодны и полностью удовлетворяют обе стороны.
  • Хоть философия «Выиграл/Выиграл» чаще всего является наиболее выигрышной, однако при различных обстоятельствах, другие стратегии взаимодействий, такие как «Выиграл/Проиграл», «Проиграл/Выиграл», «Проиграл/Проиграл» и «Выиграл» могут быть предпочтительнее

Навык 5: Сначала стремитесь понять, а потом — быть понятым

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

Навык 6: Достигайте синергии

  • Сочетание значительного эмоционального банковского счета, мышления в духе «Выиграл/Выиграл» и стремление прежде понять партнера формируют идеальные условия для синергичного взаимодействия
  • Суть синергии заключается в умении ценить различия между людьми: различия в менталитете, в эмоциональной сфере, в психологическом плане. А ключ к тому, чтобы ценить различия, содержится в понимании, что мир вокруг нас устроен не таким образом, каков он есть, а таким каковы мы сами

Навык 7: Затачивайте пилу

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

Впечатления о книге «Путь программиста» Джона Сонмеза

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

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

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

  1. Чтобы развиваться быстрее нужно ставить цели. Цели должны быть амбициозными, но, при этом, реальными. Если цель сложно-достижима, ее нужно, обязательно, разбить на цели поменьше и шаг за шагом приближаться к результату. Так же важно отслеживать результаты и, возможно, корректировать путь.
  2. Далее, по полочкам, раскладывается потенциальное успешное собеседование на новую, любимую работу. Далеко не избитые сценарии.
  3. Очень важный момент в карьере разработчика — специализация. Автор книги настаивает, что специализация должна быть узкой. Такие специалисты более ценятся на рынке труда, лучше оплачиваются.
  4. Очень интересно мнение автора по поводу работы в стартапах, в малых и крупных фирмах, на удаленную работу, атмосферу и даже политику внутри коллектива. Подводных камней в каждом из направление предостаточно…
  5. Узнаем как лучше сформировать собственное резюме, чтобы заинтересовать потенциального нанимателя.
  6. Очень важный акцент в книге — это продвижение себя как специалиста, создание бренда из своей деятельности. Многие главы вплетают в собственную структуру эту идею, рассматривая процесс продвижения с разных сторон. Один из вариантов — это ведение собственного блога (чем я как раз и начал заниматься, благодаря этой книге).
  7. Как писать статьи в блог, чтобы они были полезными и интересными? Как вести подкасты, если даже не представляешь как это начать делать? Как создать успешный канал в соц-сетях, например на ютюбе? Как не бояться публичных выступлений? На эти и многие другие вопросы есть ответы в данном печатном издании.
  8. Автор раскрывает секрет быстрого обучения. Например как быстро изучить новый язык или фреймворк.
  9. Продуктивность: делаем больше за меньшее время. Полезный навык в нашей профессии, который может потянуть карьеру вверх с невиданной быстротой (бонусом описывается небезызвестная «техника помидоров»).

Далее в книге рассматриваются темы, которые, как может показаться, не имею прямого отношения к карьере программиста. Однако, по моему мнению, это не так. 

  1. Финансы. Очень хорошо, если мы раньше приходим к пониманию, что деньги, заработанные нами, нужно не только собирать, но и преумножать. Инфляция — очень неприятная штука, которая, со временем, обесценивает наши сбережения. Вместе с автором, рассмотрим вопросы финансовой грамотности: пассивные доходы, инвестирование в недвижимость, во взаимные фонды. Кстати, мы узнаем не только как преумножить или сохранить наши сбережения, но и как обрести финансовую независимость и, возможность уйти на пенсию намного раньше.
  2. Сверх-интересный раздел о заработной плате, в том числе, примеры как вести успешные переговоры и заработной плате, ее начальному уровню и повышению.
  3. Напоследок, Джон Сонмез делится своим опытом в сфере поддержания здоровья тела и духа. Области нашей жизни настолько же важные как умение писать чистый и понятный код.

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

Впечатления о книге «MBA за 10 дней» Стивена Силбигера

Дочитав книгу, хотел обобщить и поделиться впечатлениями о ней.

MBA — Магистр делового администрирования.

Начну с того, что на эту книгу ссылается не один именитый автор в мотивационных, бизнес- и инвестиционных материалах. Плюс ко всему, c понятием MBA связаны знания и навыки, которые увеличивают значимость менеджера на порядки. Так же увеличивая размер вознаграждения. Это, своего рода, элита в мире менеджеров средних и высоких звеньев. Крупные компании вкладывают очень большие деньги (10тки и 100тни тыс долларов на человека), отправляя своих самых перспективных работников на программы обучения в ведущие школы.

Почему так дорого. В интернете вы не найдете внятного объяснения. Все статьи сводятся к «воде»: что это престижно, что зарплата вырастает в разы, что это может быть требованием у работодателя. Но понять почему, можно прочитав эту книгу:

  1. Знания, которые тут дают, не оторваны от реальности, они часто пересматриваются и актуализируются
  2. Преподаватели таких школ и курсов, входящих в программу, часто очень известные личности, менеджеры известных компаний, авторы бестселлеров
  3. Сам учебный процесс может быть дорогим, за счет того, что учеников вывозят на крупные предприятия в разные страны, чтобы воочию продемонстрировать реальную атмосферу анализируемых объектов
  4. Ученик находится в окружении других перспективных студентов — полезные контакты. Причем, бизнес-школы стараются интернационализировать состав своих групп
  5. есть и другие факторы, пункты выше — это айсберг

Прочитав данную книгу (за те же 10 дней), вы, конечно, не станете обладателем всех знаний, которые получают будущие MBA за 2-4 года, но сможете прочувствовать атмосферу, понять как думают выпускники MBA-школ и, самое главное, ознакомиться с основными инструментами, которыми оперируют магистры делового администрирования. Причем это происходит на примерах (большинство — реальных) существующих компаний.

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

День 1 — Маркетинг

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

День 2 — Этика

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

День 3 — Бухгалтерский учет

Финансовые отчеты — очень важный источник информации о компании. В этом разделе рассматриваются ключевые понятия и самые важные характеристики для понимания чем владеет компания, сколько и кому она должна, насколько эффективны ее операции и как происходит само-финансирование компании

День 4 — Организационное поведение

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

День 5 — Количественный анализ

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

День 6 — Финансы

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

День 7 — Управление операциями

Планирование производственных операций, оптимальное распределение ресурсов и производственных мощностей, управление рабочими кадрами, запасами товаров, качеством продукта — некоторые из аспектов, рассматриваемых в данной главе

День 8 — Экономика

Основы микроэкономики и макроэкономики в призме влияния на деятельность гипотетического предприятия

День 9 — Стратегия

Обретенные ранее знания (Главы 1 — 8) применяются для выработки общего курса предприятия не только для выживания, но и для развития в конкурентном мире. Рассматриваются различные теории и практические подходы. 

День 10 — Мини-курсы в программе MBA

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

Еще, от себя…

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

Очень важно, что автор, нативно, делает акцент на термины, которыми оперируют MBA в своей деловой лексике.