📚Минимум книг, которые нужно прочитать начинающему или продолжающему свою кривую обучения программисту
База Computer Science
Теоретический минимум по Computer Science (Владстон Феррейра Фило)
Это супер-базированная книга, которая подойдёт как стартовая особенно тем, кто не получил профильного образования.
Объектно-ориентированное мышление (Мэтт Вайсфельд)
Я бы охарактеризовал эту книгу как начальную для тех, кто хочет использовать ООП в своей работе. Эта книга не очень популярна, но мне лично она помогла в своё время "устаканить" некоторые концепции в голове.
Паттерны проектирования (Эрик Фримен, Элизабет Робсон и другие)
Есть две версии этой книги - одна из них с картинками для большей наглядности. Понимание паттернов позволит вам структурировать в голове различные подходы и общаться на одном языке с другими программистами, выбирая решения для тех или иных задач.
Чистый код (Роберт Мартин)
В книге вы найдёте набор правил, которые помогут вам писать понятный для себя и, что гораздо важнее в больших компаниях, понятый для других программистов код. Чем раньше вы эту книгу прочитаете, тем лучше.
Экстремальное программирование. Разработка через тестирование (Кент Бек)
Иногда программисты пренебрегают тестированием (что плохо). Книга вдохновит вас писать тесты, ну или, по крайней мере, даст пищу для размышлений.
Грокаем алгоритмы (Адитья Бхаргава)
Даёт базовые представления об алгоритмах и структурах данных. Книга любима многими за свою простоту, с которой автор объясняет ключевые принципы. Если вы прочитаете, поймёте и реализуете всё, что в этой книге есть, то у вас не должно возникнуть проблем со следующей книгой. Рекомендуется читать обновлённую (исправленную) версию книги.
Карьера программиста (Г. Лакман Макдауэлл)
В основном эта книга предназначена для тех, кто проходит собеседования в крупные технологические компании. Много материала посвящено основной секции - алгоритмической.
System Design (Алекс Сюй)
Отлично структурированная книга, которую зачастую рекомендуют для прочтения перед прохождением интервью. В Интернете можно найти многочисленные диаграммы, описывающие самые разные айтишные вещи, от того же автора.
Высоко-нагруженные приложения (Мартин Клеппман)
Знаменитая "книга с кабанчиком", одна из фундаментальных книг для программиста, желающего гордо именовать себя Software Engineer.
Делай как в Google (Титус Винтерс, Том Маншрек, Хайрам Райт)
Книга даёт общие представления о разработке в технологических гигантах, таких как Google. В ней можно узнать, как быть хорошим руководителем, как нанимать инженеров и оценивать их производительность, как тестировать, масштабировать, какой инструментарий можно использовать - очень много всего.
📲 Мы в MAX
👉@programmist_of
База Computer Science
Теоретический минимум по Computer Science (Владстон Феррейра Фило)
Это супер-базированная книга, которая подойдёт как стартовая особенно тем, кто не получил профильного образования.
Объектно-ориентированное мышление (Мэтт Вайсфельд)
Я бы охарактеризовал эту книгу как начальную для тех, кто хочет использовать ООП в своей работе. Эта книга не очень популярна, но мне лично она помогла в своё время "устаканить" некоторые концепции в голове.
Паттерны проектирования (Эрик Фримен, Элизабет Робсон и другие)
Есть две версии этой книги - одна из них с картинками для большей наглядности. Понимание паттернов позволит вам структурировать в голове различные подходы и общаться на одном языке с другими программистами, выбирая решения для тех или иных задач.
Чистый код (Роберт Мартин)
В книге вы найдёте набор правил, которые помогут вам писать понятный для себя и, что гораздо важнее в больших компаниях, понятый для других программистов код. Чем раньше вы эту книгу прочитаете, тем лучше.
Экстремальное программирование. Разработка через тестирование (Кент Бек)
Иногда программисты пренебрегают тестированием (что плохо). Книга вдохновит вас писать тесты, ну или, по крайней мере, даст пищу для размышлений.
Грокаем алгоритмы (Адитья Бхаргава)
Даёт базовые представления об алгоритмах и структурах данных. Книга любима многими за свою простоту, с которой автор объясняет ключевые принципы. Если вы прочитаете, поймёте и реализуете всё, что в этой книге есть, то у вас не должно возникнуть проблем со следующей книгой. Рекомендуется читать обновлённую (исправленную) версию книги.
Карьера программиста (Г. Лакман Макдауэлл)
В основном эта книга предназначена для тех, кто проходит собеседования в крупные технологические компании. Много материала посвящено основной секции - алгоритмической.
System Design (Алекс Сюй)
Отлично структурированная книга, которую зачастую рекомендуют для прочтения перед прохождением интервью. В Интернете можно найти многочисленные диаграммы, описывающие самые разные айтишные вещи, от того же автора.
Высоко-нагруженные приложения (Мартин Клеппман)
Знаменитая "книга с кабанчиком", одна из фундаментальных книг для программиста, желающего гордо именовать себя Software Engineer.
Делай как в Google (Титус Винтерс, Том Маншрек, Хайрам Райт)
Книга даёт общие представления о разработке в технологических гигантах, таких как Google. В ней можно узнать, как быть хорошим руководителем, как нанимать инженеров и оценивать их производительность, как тестировать, масштабировать, какой инструментарий можно использовать - очень много всего.
👉@programmist_of
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥3👎1
10 книг, к которым возвращаются тимлиды, когда всё идёт не по плану
Собрали 10 книг по управлению проектами. Каждая с выводами, которые руководители применяли на практике. Здесь — результаты от внедрения знаний из книг и подводные камни.
1. «Руководство к своду знаний по управлению проектами (PMBOK Guide)»
Это стандарт, который используют во всём мире. PMBOK описывает процессы, роли, документы и инструменты, которые нужны для ведения проектов. Книга читается как справочник — сухо, но даёт системное понимание профессии.
«Книга знакомит с темами методологии управления проектами, никто не читает энциклопедию для удовольствия, но без неё работа превращается в изобретение велосипеда» (xasdfthrow123 на Reddit).
2. «Scrum. Революционный метод управления проектами»
Scrum — методология гибкой разработки. Гибкая разработка означает, что вместо планирования всего проекта заранее команда работает короткими циклами — спринтами по 1–4 недели. В конце каждого спринта получается готовый кусок продукта, который можно показать заказчику. Так можно быстро реагировать на изменения требований.
3. «Канбан. Альтернативный путь в Agile»
Канбан учит улучшать работу в команде без ломки существующих процессов. Это происходит через внедрение небольших изменений, чтобы команда не отвергала нововведения.
4. «Кто. Решите вашу проблему номер один»
Большинство сложностей в бизнесе связано с неправильными людьми на ключевых позициях. Если научиться нанимать правильно, можно решить главную проблему любой компании — наём и удержание нужных специалистов.
5. «Пять пороков команды»
Книга даёт инструменты для диагностики этих проблем и пошаговый план их решения. С помощью неё можно понять, кто из сотрудников действительно готов работать в команде, а кто создаёт проблемы.
6. «Радикальная прямота»
Руководители либо молчат о проблемах, либо жёстко критикуют сотрудников. Оба подхода не работают.
7. «Измеряйте самое важное. Как Google, Intel и другие компании добиваются роста с помощью OKR»
OKR (Objectives and Key Results) — это система постановки целей.
8. «Lean Analytics. Как использовать данные для создания успешного стартапа»
Постановка целей — это полдела. Нужно понимать, какие метрики отслеживать, как по ним принимать решения, а ещё какие показатели подходят для разных типов бизнеса.
9. «Переключайтесь. Как меняться, когда это непросто»
Большинство попыток изменений терпят неудачу. Нужно знать, как правильно внедрять их. Человек — это всадник на слоне: Всадник — наш разум, Слон — эмоции, а Тропа — окружающая среда.
10. «Масштабированный скрам: Как организовать гибкую разработку в крупной компании»
Lean убирает лишние действия и концентрируется на том, что важно клиенту. Agile — гибкий подход к разработке с короткими итерациями и быстрой адаптацией к изменениям.
📲 Мы в MAX
👉@programmist_of
Собрали 10 книг по управлению проектами. Каждая с выводами, которые руководители применяли на практике. Здесь — результаты от внедрения знаний из книг и подводные камни.
1. «Руководство к своду знаний по управлению проектами (PMBOK Guide)»
Это стандарт, который используют во всём мире. PMBOK описывает процессы, роли, документы и инструменты, которые нужны для ведения проектов. Книга читается как справочник — сухо, но даёт системное понимание профессии.
«Книга знакомит с темами методологии управления проектами, никто не читает энциклопедию для удовольствия, но без неё работа превращается в изобретение велосипеда» (xasdfthrow123 на Reddit).
2. «Scrum. Революционный метод управления проектами»
Scrum — методология гибкой разработки. Гибкая разработка означает, что вместо планирования всего проекта заранее команда работает короткими циклами — спринтами по 1–4 недели. В конце каждого спринта получается готовый кусок продукта, который можно показать заказчику. Так можно быстро реагировать на изменения требований.
3. «Канбан. Альтернативный путь в Agile»
Канбан учит улучшать работу в команде без ломки существующих процессов. Это происходит через внедрение небольших изменений, чтобы команда не отвергала нововведения.
4. «Кто. Решите вашу проблему номер один»
Большинство сложностей в бизнесе связано с неправильными людьми на ключевых позициях. Если научиться нанимать правильно, можно решить главную проблему любой компании — наём и удержание нужных специалистов.
5. «Пять пороков команды»
Книга даёт инструменты для диагностики этих проблем и пошаговый план их решения. С помощью неё можно понять, кто из сотрудников действительно готов работать в команде, а кто создаёт проблемы.
6. «Радикальная прямота»
Руководители либо молчат о проблемах, либо жёстко критикуют сотрудников. Оба подхода не работают.
7. «Измеряйте самое важное. Как Google, Intel и другие компании добиваются роста с помощью OKR»
OKR (Objectives and Key Results) — это система постановки целей.
8. «Lean Analytics. Как использовать данные для создания успешного стартапа»
Постановка целей — это полдела. Нужно понимать, какие метрики отслеживать, как по ним принимать решения, а ещё какие показатели подходят для разных типов бизнеса.
9. «Переключайтесь. Как меняться, когда это непросто»
Большинство попыток изменений терпят неудачу. Нужно знать, как правильно внедрять их. Человек — это всадник на слоне: Всадник — наш разум, Слон — эмоции, а Тропа — окружающая среда.
10. «Масштабированный скрам: Как организовать гибкую разработку в крупной компании»
Lean убирает лишние действия и концентрируется на том, что важно клиенту. Agile — гибкий подход к разработке с короткими итерациями и быстрой адаптацией к изменениям.
👉@programmist_of
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👎4👍2🔥2
🔮 Асинхронный код часто воспринимается как магия: функции работают, задачи выполняются, но при сбоях или оптимизации становится непонятно, как всё устроено. Без этого сложно писать предсказуемые и эффективные решения.
❗️ На открытом уроке разберём, как Rust представляет асинхронные задачи, как компилятор преобразует async-функции и что происходит во время выполнения. Покажем, как описывать собственные асинхронные задачи и контролировать их поведение.
👣 Урок проходит в преддверии старта курса «Rust-разработчик. Продвинутый уровень». Если вы хотите понимать асинхронность на уровне реализации, а не только использовать её — подключайтесь.
➡️ Встречаемся 19 мая в 20:00 МСК. Подробности и регистрация: https://vk.cc/cXO5Yc
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
✍️ Авторы: Chris Hanson, Gerald Jay Sussman
Вот что ты узнаешь:
Комбинаторы: нет, это не что-то из магии. Это техники для объединения маленьких частей системы (функций и модулей), чтобы они могли работать вместе, как Lego. Удобно, быстро и без слез.
Аннотации данных: представь, что твоя база данных будет как хорошо организованная библиотека, где каждый элемент имеет чёткое описание (например, единицы измерения или происхождение данных). Больше никакого хаоса.
Объединение информации: книга научит тебя правильно комбинировать разрозненные данные — как собрать пазл из разных кусочков информации, чтобы он работал как единое целое.
Модели доменов и системы правил: задумайся, как отделить саму бизнес-логику от контроля и управления системой. Ты сможешь настроить логику через правила, паттерны и даже магию сопоставления.
Расширение языка программирования. Программирование языков? Почему бы и нет! Выбери свой динамический путь и создавай такие возможности, которые другие даже не видели в своих языках программирования.
👉@programmist_of
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2