Индустрия информационных технологий стремительно развивается, и для того чтобы не отстать, важно постоянно учиться и адаптироваться к новым вызовам. Одним из самых эффективных способов расширить свои знания и навыки являются книги, которые айтишники читают и рекомендуют. Каждое произведение несёт в себе уникальный опыт и практические советы, которые могут помочь как начинающим специалистам, так и ветеранам отрасли.
В нашем материале мы собрали рекомендации от профессионалов, которые помогут вам выбрать книги, способные углубить ваши знания в области технологий, программирования и управления проектами. Если вы стремитесь стать частью мира IT или просто хотите расширить свой кругозор, изучение этих произведений станет для вас первым шагом на пути к успеху.
Недавний герой нашей рубрики "Войти в IT", антрополог по образованию, помощник руководителя IT-компании Gems по должности, руководитель проекта в стремлении и фехтовальщик в душе Александр Адоевский советует прочитать книгу Георга Юнгера "Совершенство техники".
- Так уж получилось, что IT сейчас находится на острие инфоповестки. Ситуация сложилась таким образом, что IT-специалистам, в разных сферах дают буквально карт-бланш на любые действия, которые, непременно должны привести к всеобщему процветанию. В этой отрасли часто видят буквально "Священный грааль" и волшебную палочку, которая должна автоматизировать даже неавтоматизируемое и оптимизировать даже неоптимизируемое. Однако на самом деле это не совсем так, - считает Александр Адоевский. - Основная идея этой книги - это критика научно-технического прогресса. Конечно, она была написана во времена Второй Мировой войны, тогда наша отрасль представляла собой только военные разработки очень узкого профиля. На её страницах рассуждается о механических машинах с шестернями и поршнями. Однако логику автора можно спокойно перенести и на современность.
Наш собеседник убеждён, что с IT-сферой связаны очень много явлений, которые несут угрозу человечеству, не меньшую чем загрязнение окружающей среды и мировые войны.
- Например, дипфейки, нейросети, обесценивающие нелёгкий труд человека, проблема цифрового аутизма у детей и обезличивание индивида при помощи социальных сетей. Было бы очень хорошо, если бы каждый программист, дизайнер и менеджер проекта знал свою ответственность перед обществом и будущими поколениями и мог думать на два шага вперёд, - подчеркнул помощник руководителя.
Когда он только пришёл работать в компанию, ему предложили прочитать книгу, уже ставшую классикой IT-литературы, - "Управление ИТ-проектом. Эффективная система "с нуля" в любой организации" Ивана Селиховкина.
- Эта книга будет полезна не только менеджерам, тем, кто лично, так сказать, головой отвечает за проект, но и вообще всем, кто хоть сколько-нибудь связан с разработками в IT-сфере. Тут очень коротко, но при этом конкретно разложен процесс работы над проектом. Обозначены основные "подводные камни" и трудности разработки. Конечно, книга старовата, но как минимум это определённо то, с чего можно начать, - советует Александр Адоевский.
Разработчик Илья Сивков, смотрящий на мир информационных технологий с другого ракурса, отметил, что он и тут опять будет "уставшим и вредным", но всё же скажет, что сейчас специалисты в коммерческой разработке не создают программ с нуля, но это не значит, что не нужно читать книги, связанные с профессией.
- Все используют готовые куски и шаблоны, так называемые фреймворки. Эти штуки жёстко задают, какой код писать и куда складывать. Ремесло разработчика сводится к правильному выбору этих заготовок и дописыванию кода под конкретную задачу. Кода может быть много, но он не требует сейчас творчества. В итоге настольными книгами являются документация и тематический форум, - считает Илья Сивков. - НО! Книги нужны, чтобы научиться правильно думать. Это сродни постановке руки у музыкантов. И тут я бы больше говорил не про настольные книги, а про те, которые оставляют полезный след в голове. Вот в списке, предложенном мной ниже, как раз формирующие айтишника книги.
- "Структура и интерпретация компьютерных программ" Абельсон Харольд, Сассман Джеральд Джей
- "Карьера программиста" Г. Лакман Макдауэлл
- "Экстремальное программирование. Разработка через тестирование" Кент Бек
- "Рефакторинг. Улучшение существующего кода" Мартин Фаулер
- "Шаблоны корпоративных приложений" Мартин Фаулер
- "Идеальный программист. Как стать профессионалом разработки ПО" Роберт К. Мартин
- "Чистый код. Создание, анализ и рефакторинг" Роберт К. Мартин
- "Совершенный код: практическое руководство по разработке программного обеспечения" Стив МакКоннел
- "Алгоритмы. Построение и анализ" Томас Х. Кормен, Чарльз И. Лейзерсон
- "Программист-прагматик. Путь от подмастерья к мастеру" Эндрю Хант, Дэвид Томас
- "Head First. Паттерны проектирования. Обновленное юбилейное издание" Эрик Фриман, Элизабет Робсон
- "Приёмы объектно-ориентированного проектирования. Паттерны проектирования" Эрих Гамма и др.
"Идеального программиста…" читал и разработчик Gems Денис Камалиев (кстати, в ближайшее время выйдет интервью на нашем сайте с этим молодым и целеустремлённым программистом - не пропустите).
- Она не про то, как писать код, а про то, как быть профессионалом в этом деле. Ещё одна отличная книга, помогающая развивать алгоритмическое мышление, без которого невозможно стать хорошим специалистом, "Грокаем алгоритмы Адитьи Бхаргавы. Также советую читать официальную документацию к языку, на котором вы пишите или учитесь писать. Там всегда максимально актуальная, полная и точная информация - её не сможет дать ни одна книга здесь и сейчас, - пояснил Денис Камалиев.
О том, какие книги в ходу у айтишников "Лайв Тайпинг" рассказала HR-менеджер компании Кристина Попова.
- У наших ребят ценятся такие книги, как: "Чистый код" Р. Мартина, "Высоконагруженные приложения" М. Клеппмана и "Swift. Основы разработки приложений под iOS, iPadOS и macOS." В. Усова. По сути, эти книги дают основу понимания разработки, закладывают базу знаний. Плюс дают практические советы, которые можно применять на практике, - отметила Кристина Попова.
- "Чистый код" - самая-самая база для любого программиста. С неё начинают все, но многим она не нравится. И я спорить с ними не буду. Если соблюдать все практики из книги, то это будет оверхед оверхеда, но если подойти к рекомендациям из книги с умом, то можно писать красивый, понятный, чистый код, который ты без проблем сможешь расширить при необходимости, при этом тратя на него не более чем на 10 % больше времени, чем планировал, - считает ещё один разработчик Gems Алексей Зубанков.
Кстати, он честно признался, что в своей жизни прочитал не очень много айтишных книг, но всё же есть самые популярные, и их точно сложно пропустить.
- Та же "Грокаем алгоритмы". Алгоритмы нужны всегда и везде. Если вы говорите, что вам они не нужны, то чем вы вообще занимаетесь? Алгоритмы нужны даже в вёрстке. А если вы разрабатываете backend, то алгоритмы вам необходимы. Алгоритмы, алгоритмы, алгоритмы - кругом алгоритмы, - пояснил Алексей Зубанков. - Ещё на курсе Effective в качестве домашнего задания мы читали Team geek. И, честно говоря, я ни разу не пожалел. Отличный помощник для старта карьеры в IT, который подскажет, как правильно вести себя в тех или иных ситуациях, как наладить общение, как реагировать на те или иные трудности. Эту книгу точно рекомендую для построения хороших взаимоотношений в команде.
Не особо любитель читать профессиональную литературу один из первых героев нашей рубрики unity-разработчик gamedev-студии GameGears на Кипре Александр Шмидтке. Но и ему есть что посоветовать.
- Почитайте "Совершенный код" Стива Макконнелла. Её я полностью прочёл, и было довольно интересно. Ещё начинал читать "Язык программирования C# 7 и платформы .NET и .NET Core" Филиппа Джепикса и Эндрю Троелсена, но мне она показалась слишком сухой, скучной, и я забросил её где-то на середине, - поделился Александр Шмидтке. - Как правило, книги отстают от современных реалий. В них можно почерпнуть какие-то базовые принципы, но реальной практики они точно не заменят.
В копилке прочитанной профессиональной литературы у разработчика Gems Дмитрия Шамрика всего две книги. Но именно они помогли ему взглянуть на процесс разработки под другим углом. Это "Мифический человеко-месяц" Ф. Брукса и "Как пасти котов" Х. Рейнвотера.
- Обе книги посвящены управлению проектами в области разработки программного обеспечения. Первая книга - очерки, в которых обсуждаются проблемы разработки программных проектов, вторая - про то, как руководить командой разработчиков. На самом деле для лучшего понимания достаточно окунуться в профильные мероприятия, - считает Дмитрий Шамрик.
Именно про "котов" сейчас читает книгу директор IT-компании Asmart Анна Захарченко. Вот её она точно рекомендуют разработчикам к прочтению.
- Я сама не программист, но я её читаю и понимаю, что нашему техническому директору идеально прочитать. Там как раз история, как руководить с точки зрения технической разработки, а не какие-то организационные вопросы. Она подойдёт тем, кто хочет выйти из разработчиков в тимлиды или уже стал им, менеджерам проектов и так далее, - уточнила Анна Захарченко.
Карьера менеджера проектов в департаменте исследований и разработок "2ГИС" Алексея Ерёменко началась ещё в 90-е, как он сам признался, с книги "Энциклопедия профессора Фортрана". Именно из неё он почерпнул основные знания о компьютерах.
- Потом в старшей школе я открыл для себя Turbo Pascal и отличную книгу Валерия Фаронова "Turbo Pascal 7.0". Она заложила базу для дальнейшего изучения программирования в целом. В универе это были "Язык программирования Си" Б. Кернигана и Д. Ритчи, а также "Язык программирования С++" Б. Страуструпа - с ними продолжил погружение в программирование и изучал основы ООП. Книга Страуструпа до сих пор стоит на полочке. Диплом писал с помощью книги А. Ахо, Р. Сетхи и Дж. Ульмана "Компиляторы: принципы, технологии и инструменты", - рассказал Алексей Ерёменко. - Но после универа айтишником я не стал - ушёл работать в мобильную связь. Возвращение в IT случилось 10 лет спустя.
Основы управления проектами в IT он изучал, например, по книге "Лекции по управлению программными проектами" С. Архипенкова. Основные методики канбан изучал по 5 steps to kanban. Кстати, не так давно вместе с профессионалами мы разбирались в основных методологиях ведения IT-проектов.
Но вернёмся к нашей литературе, по словам Алексея Ерёменко, мощная книга по планированию и оценке "Сколько стоит программный проект". Список прочитанных Алексеем книг, а значит и рекомендуемых им, достаточно внушительный.
- Так как я в итоге стал руководить проектами, то большая часть книг связана именно с этим. В целом за последние 15 лет, как я "вернулся" в IT, управление проектами где-то поменялось сильно, а где-то осталась почти без изменений. Но книги, которые я прочитал, всё ещё могут заложить основу, базу, которая поможет разобраться в основных принципах гибких методологий. А дальше уже станет понятно, в какую сторону "прокачиваться" дальше, - резюмировал Алексей Ерёменко.
Наши спикеры поделились большим списком профессиональной литературы, которую они рекомендуют прочесть. Она посвящена и сфере разработки, и методам управления, и работе в команде, и другим аспектам IT-деятельности. Многие книги повторялись от спикера к спикеру, а это значит подборка получилась действительно стоящая.
Здесь представляем вам полный список той литераторы, о которой говорили в личной беседе с нами профессионалы своего дела.
В нашей рубрике "Войти в IT" вы найдёте подборку познавательных материалов о работе разработчиков, тестировщиков и других специалистов сферы, а также истории того, как айтишники погружаются в мир информационных технологий и что их мотивирует на собственное развитие в индустрии.