Что почитать и послушать, чтобы погрузиться в IT, прокачать свой код, продвинуться в карьере и почувствовать себя своим в тусовке.
Книги
Втянуться в IT
Автор: Чарльз Петцольд
Зачем читать: узнать, как люди создавали компьютер и развивали программирование.
На примере азбуки Морзе, шрифта Брайля, алгебры логики и первых телеграфных машин XIX века автор объясняет, как устроены электронные лампы, транзисторы и интегральные схемы.
Уже три десятка лет эта книга — одна из основных для начинающих кодеров и вообще всех, кто интересуется информатикой. Известный американский программист и IT-блогер Джефф Этвуд назвал ее «любовное письмо компьютеру».
Программист-прагматик. Ваш путь к мастерству
Авторы: Дэвид Томас, Эндрю Хант
Зачем читать: получить общее представление о работе программиста.
Авторы рассказывают про общие принципы и подводные камни работы программиста: от воспитания в себе ответственности до поиска ошибок в алгоритмах и подбора людей в команду. Книга про суть разработки независимо от конкретного языка.
А еще многие любят ее за профессиональный юмор и кучу баек. Так что можно не только узнать азы, но и почувствовать себя своим в индустрии.
Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих
Автор: Адитья Бхаргава
Зачем читать: понять, что алгоритмы — это просто.
Глагол «грокнуть» (от англ. to grok) означает «всецело разобраться, вникнуть в самую суть». Его придумал фантаст Роберт Хайнлайн в романе «Чужак в чужой стране».
Как устроен рекомендательный алгоритм нетфликса? Каким образом поисковый бот гугла понимает, проиндексирована ли веб-страница? Здесь вам обо всем расскажут на примерах и с картинками. А еще — о бинарном поиске, массивах, связанных списках, структурах данных и рекурсии.
Автор хотел написать нескучную книгу про алгоритмы. Читатели в ответ пишут: «Единственный недостаток книги — после прочтения хочется продолжения по теме в таком же стиле».
А если вы не просто интересуетесь программированием, но и хотите сделать его своей профессией, можно пройти курс Skypro «Веб-разработчик». За несколько месяцев изучите необходимый минимум теории и на практике отработаете все навыки, необходимые новичку. Центр карьеры подготовит к собеседованию и поможет составить резюме. Устроиться на новую работу можно еще до конца обучения.
Прокачать свой код
Чистый код: создание, анализ и рефакторинг
Автор: Роберт Мартин
Зачем читать: научиться отличать хороший код от плохого и делать плохой — хорошим.
После этой книги вам будет сложно работать, если заранее не продумаете структуру классов или забьете на мелочи вроде имен переменных или комментариев.
В книге три части. В первой дают принципы, паттерны и приемы написания чистого кода и показывают много плохих и хороших примеров (все на Java). Во второй собраны практические сценарии с нарастающей сложностью. Каждый из них — упражнение по чистке или исправлению проблемного кода. Третья часть — выжимка правил и типичных ошибок, или «запахов плохого кода».
Head First. Паттерны проектирования
Авторы: Эрик Фримен, Элизабет Робсон, Кэти Сьерра, Берт Бейтс
Зачем читать: понять пользу шаблонов и начать их применять.
Эту книгу хвалят за простое объяснение сложных концепций.
Авторы рассказывают об основных паттернах проектирования, учат выстраивать архитектуру и соблюдать главные принципы. Например, открывать классы для расширения, но закрывать их для изменения.
Всё объясняют на игровых задачах. Например, как сделать программу для работы с данными метеостанции или написать код для расчета стоимости напитка в кофейне.
Рефакторинг. Улучшение проекта существующего кода
Авторы: Мартин Фаулер, Кент Бек
Зачем читать: разобраться, когда применять рефакторинг и как это делать, чтобы не развалить проект.
Рефакторинг — это переработка исходного кода программы, чтобы он стал более простым и понятным. То есть улучшение проекта после того, как код написан.
Многие программисты ратуют за принцип «Работает — не трогай». Зачем тратить деньги и время на изменение кода, если видимый результат не изменится? Так в проекте накапливается технический долг — кривой код с мелкими недоработками, нарушенными стандартами, написанными на старых фреймворках модулями и прочим мусором, который в будущем усложнит жизнь. Если его вовремя не чистить, со временем проект может встать.
Автор пишет о типичных проблемах в коде и о том, как шаг за шагом их исправить.
Алгоритмы. Построение и анализ
Авторы: Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн
Зачем читать: разобраться в алгоритмах или, по крайней мере, сделать еще одну попытку.
Слышали про многотомный труд Дональда Кнута «Искусство программирования»? Билл Гейтс сказал про него: «Если вы прочитали все тома, вам точно следует отправить мне свое резюме».
Книга Кормена и компании почти такая же всеобъемлющая — отличный справочник по основным структурам данных и алгоритмам. В ней меньше математики, зато больше практических примеров. А еще «Алгоритмы» универсальнее: знать конкретный язык программирования необязательно — примеры написаны на псевдокоде.
Найдите самое свежее издание: авторы каждый раз обновляют и дополняют материал.
Психбольница в руках пациентов. Алан Купер об интерфейсах
Автор: Алан Купер
Зачем читать: чтобы лучше понимать целевую аудиторию проекта и не ругаться с дизайнерами.
Иногда легко забыть, что код нужен не сам по себе, а для единственной цели — решить задачу потребителя. Можно создать изящные алгоритмы и гибкую архитектуру, но провалиться на том, что пользователь не поймет интерфейс и закроет сайт через пять секунд. Автор подтверждает это множеством историй о провале небольших компаний и даже корпораций.
Да, чтобы таких проблем не было, есть UX/UI-дизайнеры. Они анализируют потребности пользователей, сценарии их работы и проектируют грамотный интерфейс. Но иногда за это отвечают и программисты. И эта книга поможет сделать продукт удобным для пользователей.
Продвинуться в карьере
Идеальный программист. Как стать профессионалом разработки ПО
Автор: Роберт Мартин
Зачем читать: понять, какие качества и навыки нужны для успешной карьеры.
Автор — легенда программирования и один из создателей манифеста agile. Программисты называют Роберта Мартина просто дядюшкой Бобом.
В этой книге нет технических подробностей. Она о профессионализме. На историях из своей жизни дядюшка Боб объясняет важные вещи: как разговаривать и вести себя с начальником и коллегами, искать выход из кризисной ситуации, делать тесты и рефакторинг, управлять сроками в проекте.
Для кого-то это станет набором банальностей. Для других — кладезем ценных принципов, которые облегчат жизнь: например, как объяснить менеджеру, что нельзя сделать проект за день, когда нужно две недели.
Писать чистый код, делать запросы в базы данных, тестировать результаты своей работы — важные умения для разработчика. Но навыки коммуникации и работы в команде — тоже. Этому можно научиться на курсе Skypro «Веб-разработчик». Там есть отдельный блок, который полностью посвящен командной разработке. Под руководством опытных наставников студенты планируют крупный проект, делят его на части, распределяют задачи между собой, договариваются и несут ответственность за результат. Такой опыт позволяет не только закрепить профессиональные навыки, но и прокачать личностные качества.
Автор: Лакман Макдауэлл
Зачем читать: подготовиться к устройству на работу, систематизировать знания, увидеть и исправить ошибки, улучшить резюме.
Автор собрал 189 вопросов, которые задавали кандидатам на собеседованиях в Google, Microsoft, Amazon и других крупных IT-компаниях, и ответил на них. Еще он рассказывает про типичные ошибки кандидатов и то, как лучше подготовиться к собеседованию.
Мифический человеко-месяц, или Как создаются программные системы
Автор: Фредерик Брукс
Зачем читать: научиться реалистично оценивать сроки в проекте и соблюдать дедлайны.
Книга поможет программисту точнее оценивать сроки, а менеджеру — составлять адекватные планы. Еще она учит решать проблемы, с которыми сталкиваются проектные команды: нереалистичные оценки, сложности из-за разрастания коллектива и другие.
Книга хоть и старая, но всё еще считается мастридом: основные принципы не устарели. Хотя в 19-й главе последнего издания автор признает, что поменял мнение по некоторым вопросам.
Подкасты
Про технологии
Хронометраж: 18–110 минут
О чём: Андрей Себрант — директор по маркетингу сервисов «Яндекса». Рассказывает, как новые технологии влияют на мир вокруг и наоборот. Получается про людей и жизнь не меньше, чем про технологии. Подкаст нерегулярный: иногда выходят два выпуска с интервалом в неделю, а следующий — через несколько месяцев.
Хронометраж: 15–43 минут
О чём: бывший технический директор «Медузы» и сервиса знакомств Pure Самат общается с хакерами, дата-сайентистами, разработчиками и другими айтишниками. Обсуждают разные технологии и их влияние на повседневную жизнь. Например, каким образом нас догоняет реклама в вебе, почему Россия каждый год выигрывает олимпиаду по программированию или как компьютер научился обыгрывать человека в StarCraft.
Про жизнь и карьеру
Хронометраж: 18–110 минут
О чём: сотрудники «Яндекса» с необычным бэкграундом — следователь, пиарщик, биоинформатик и другие — рассказывают, как стали разработчиками, дата-сайентистами, менеджерами или дизайнерами.
Хронометраж: 18–110 минут
О чём: бородатый программист Лекс общается с людьми из разных сфер IT — не только про работу, но и о жизни. Без цензуры и ярлыков, как пишет автор. Есть темы хайповые, вроде NFT-токенов или кибербезопасности. А есть более прикладные: языки программирования, интерфейсы, карьера, умные вещи.
Хронометраж: 40–142 минуты
О чём: живо и с крепким словцом про работу фронтендером. В одном выпуске могут обсудить десяток тем — от смысла жизни до поиска в Петербурге лучших рабочих мест для старта карьеры.
Хронометраж: 70–90 минут
О чём: ведущие Александр Ванюрихин (Mars) и Антон Мосягин (Rambler Group) обсуждают разные технологии и рабоче-жизненные вопросы. Как организовать комфортную удаленку, выучить английский, устроиться на работу за границей и не только.
Разные сферы IT
Хронометраж: 37–191 минута
О чём: говорят об IT и смежных отраслях с приглашенными профессионалами. Авторы подкаста: Егор Толстой — ведущий менеджер по продуктам Kotlin в JetBrains, Стас Цыганов — руководитель мобильной разработки в «Туту.ру», Екатерина Петрова — руководитель разработки в Avito, Евгений Кателла — руководитель мобильной разработки в «Яндекс.Еде».
Хронометраж: 28–93 минуты
О чём: ведущие обсуждают с известными разработчиками их карьеру и жизнь — истории успеха, увлечения, советы начинающим.
На курсах Skypro, например «Java-разработчик», преподают опытные программисты. На лекциях и практических занятиях они делятся лайфхаками, рассказывают, с какими сложностями сталкивались в своей работе и как их преодолевали. Всю теорию на курсе дают не по учебнику, а на реальных примерах и практических задачах.
Хронометраж: 37–191 минута
О чём: интервью о фронтенде с профессионалами, но более технические. Авторы называют проект «самый безызвестный подкаст во всём фронтенде».
Хронометраж: 15–189 минут
О чём: разработчики, исследователи, тимлиды, основатели и руководители российских IT-компаний рассказывают о своей работе.
Хронометраж: 41–182 минуты
О чём: авторы вещают из Челябинска, поэтому и название соответствующее. Рассказывают про веб-разработку, UX, фронтенд, а еще про дизайн, архитектуру и урбанистику. Здесь больше технического: тренды, обновления, хаки. И меньше про жизнь.
Хронометраж: 3–5 минут
О чём: последние новости фронтенда. Коротко, только главное.
Хронометраж: 37–110 минут
О чём: снова новости фронтенда за неделю, но подробнее. Меньше личного, больше рабочего.
Хронометраж: 26–60 минут
О чём: подкаст о языке Python от команды курсов Learn Python и организаторов сообщества Moscow Python. Начинающими разработчиками рассказывают об основах Python и его применении в разных сферах — от нефтехимии до банков. А опытным — технические хаки. В названии каждого выпуска указано, для какого уровня он подойдет.
Хронометраж: 5–60 минут
О чём: «Подкаст о PHP, DBA, архитектуре, DevOps», — так пишут авторы. Обсуждают тренды в веб-разработке, работу с инфраструктурой, администрирование Linux и другие темы. Еще часто сравнивают PHP с другими языками программирования: например, Go, Rust или Erlang.
Хронометраж: 21–96 минут
О чём: подкаст для Ruby-разработчиков. Как писать сильный код, разбор инструментов, последних версий языка и так далее.
Хронометраж: 38–68 минут
О чём: о мобильной разработке для новичков и опытных. Новости, тренды, разговоры с разработчиками и дизайнерами из больших компаний: например, «Тинькофф Бизнес», Kaspersky, Atlassian.
Хронометраж: 79–147 минут
О чём: «Мы стараемся человеческим языком рассказать о создании игр людям, которые либо уже делают игры, либо только собираются этим заняться», — говорят о подкасте авторы. Среди гостей подкаста — работники Wargaming, Valve, CD Projekt, PlayStation и Nival.
На английском
Хронометраж: 1–4 минуты
О чём: журналисты из Wired рассказывают о последних технологических тенденциях и объясняют, как они влияют на бизнес, развлечения, коммуникации, науку, политику и общество. Коротко и по делу.
Хронометраж: 5–50 минут
О чём: TED — всемирно известная конференция, где обсуждают передовые идеи. В этом подкасте, к примеру: как искусственный интеллект ищет новые рецепты антибиотиков, цифровые инновации сражаются с пандемией, а компьютерные игры помогают справляться с одиночеством.
Хронометраж: 21–92 минуты
О чём: про «нетехнические навыки, которые нужны, чтобы стать большим разработчиком». Авторы отвечают на вопросы слушателей: как найти общий язык с коллегами, решать конфликты, учиться и не гнобить себя за неудачи.
Хронометраж: 48–113 минут
О чём: каждый выпуск посвящен новому языку программирования. Для тех, кому тесно в рамках своей специализации и хочется узнать что-то новенькое.
Добавить комментарий