Прагматичный программист

Эта книга дает вам 100 советов по написанию лучшего кода. Вот некоторые из этих советов: «Не мыслите нестандартно, найдите стандарт», «Делайте то, что работает, а не то, что модно» и «Не программируйте по стечению обстоятельств». Хотя вы не научитесь писать код, это поможет вам хорошо думать о написании кода в любой среде кодирования. Большинство советов довольно прямолинейны, но контекст, представленный в книге, проясняет, что имелось в виду. Каждый совет имеет много смысла, но может потребовать некоторого исследования и опыта, прежде чем он усвоится. Я предлагаю сделать набор виртуальных карточек с советами и просмотреть их, чтобы убедиться, что ключевые идеи остаются в вашей голове.

Лучшие выводы:

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

Чистый код

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

Лучшие выводы:

  • Чистый код прост для понимания. Не позволяйте вашему коду гнить, создавая дополнительную сложность.
  • Имена переменных должны объяснять код, а не комментарии.
  • Тесты должны проводиться В ПЕРВУЮ очередь быстро, независимо, повторяемо, с самооценкой и своевременно.
  • Обрабатывайте ошибки и делайте их информативными.

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

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

Лучшие выносы

  • Вы можете получить степень, использовать буткемп или самостоятельно изучить основы. Что более важно, так это то, что вы создаете сторонние проекты, которые демонстрируют ваше знание их технологии.
  • Будьте максимально конкретны в том, каким разработчиком вы хотите быть.
  • Каждый разработчик должен изучить структуры данных, алгоритмы, ОС, архитектуру и логику предикатов.
  • Присоединяйтесь к сообществу, посещая встречи, лагеря программистов, хакатоны, хакерские пространства, конференции и другие живые тренинги.
  • Запишите свое обучение, используя блог или программное обеспечение для создания видео.

Месяц мифического человека

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

Лучшие выносы

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

Дизайн повседневных вещей

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

Лучшие выносы

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

Почетные упоминания

Soft Skills: жизненное руководство разработчика программного обеспечения

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

Cracking the Coding Interview: 189 вопросов по программированию и решения

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