Рубріки: Книги

10 книг для программистов, чтобы прокачать технические и софт-скиллы

Анастасія Пономарьова

Мы собрали в одну подборку литературу как для новичков в IT, так и опытных программистов, которая поможет подтянуть (или повторить) базу, расширить знания в области математики и ML, научит проходить интервью и «выживать» в офисе.

Новичкам

Computer Science Distilled: Learn the Art of Solving Computational Problems (Wladston Ferreira Filho)

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

Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People (Aditya Bhargava)

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

Street Coder: The rules to break and how to break them (Sedat Kapanoglu)

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

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

Опытным

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems 1st Edition (Martin Kleppmann)

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

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

Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control 1st Edition (Steven L. Brunton)

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

Build Your Own Programming Language: A programmer’s guide to designing compilers, interpreters, and DSLs for solving modern computing problems (Clinton L. Jeffery)

Автор книги — создатель языка программирования Unicon. Он считает, что лучший способ сократить время разработки и устранить болевые точки в области вашего проекта — создать собственный язык программирования. В книге рассказывается, как создавать синтаксические анализаторы, генераторы кода, программы чтения файлов, анализаторы и интерпретаторы. Также есть руководство, как создать альтернативу фреймворкам и библиотекам для решения проблем, связанных с предметной областью.

Прохождение интервью

System Design Interview — An insider’s guide (Alex Xu)

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

Cracking the Coding Interview: 189 Programming Questions and Solutions 6th Edition (Gayle Laakmann McDowell)

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

Софт-скиллы

Engineers Survival Guide: Advice, tactics, and tricks After a decade of working at Facebook, Snapchat, and Microsoft (Merih Taze)

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

Critical Thinking & Logic Mastery – 3 Books In 1: How To Make Smarter Decisions, Conquer Logical Fallacies And Sharpen Your Thinking  (Thinknetic)

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

В комплект этой книги входят:

  • Кратко о критическом мышлении: как стать независимым мыслителем и принимать разумные решения.
  • Преодолейте логические заблуждения: 28 крупиц знаний, которые помогут развить ваши навыки рассуждения.
  • Привычка критически мыслить: мощные практики, которые изменят ваше мнение и обострят ваше мышление.

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

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

07.12.2023