Drukarnia.BLOG

Книги для програмістів - це одна із самих холіварних тем. Я не пропогандую читання книг як щось життєво-необхідне, але і не сприймаю критику книг від людей які не прочитали хочаб 2-3 штуки.

У цій статті буде про 2 шляхи які у майбтньому обов’язково перетнуться. Говорячи про розвиток який набувається при читанні книг, виокремлюю 2 напрямки:

  1. Гарний Кодер

  2. Гарний Інженер

Етап Перший

Писання коду - це перший етап із якого починають всі і із якого починається все, незалежно від напрямку вам потрібно пройти цей етап. Тільки написавши перший “Hello, world" - ви набуваєте першого досвіду в ІТ, якщо ви вивчаєте 5 років ІТ в універі, але не написали ні одного рядка коду - це дуже сумно, ви не ІТішнік.

Працюючи в ІТ певний час ви точно почуєте абривіатури: KISS, DRY, SOLID (із якого в більшості використовують SOD або тільки S). KISS, DRY - це про чистоту коду, та про його використання і читання. Якщо не мати гарного прикладу, то ви точно не навчитесь писати краще, у певний період персонального розвитку ви почнете задумуватись про якісь правила і практики писання коду, про найменування змінних, про зони відповідальності коду, про тести, про взаємодію модулів. І у цей момент ви будете читати або статті (які не даватимуть вам всієї повноти картини) - це приведе вас до того що ви розумієте локальні частини проекту, але в загальному воно виглядає і працює погано. Інший варіант - це Книги які забезпечать вас розумінням всіх аспектів які перелічував вище. Я перечитував “Clean Code" 3 рази і кожного разу через призму нового досвіду знаходив для себе інший сенс у тому що пише ця книга.

Етап Другий

When you're a computer science specialist – ProgrammerHumor.io

Computer Science - це наука яка включає у себе все що пов’язано із ком’ютерами та писанням коду. Це те що знаходиться у фундаменті програмування. І це та стіна через яку на можуть перелізти люди які не пройшли базового курсу по алгоритмах, структурах данних, але дуже хочуть бути сенйорами.

Щиро не розуміючи чому ви не можете підвищити кваліфікацію як Software Engineer - ви безпощадно проходите курси на різноманітних сервісах, підвищуєте знання у специфіці вашої технології та продовжуєте битись у стіну під назвою ‘‘Computer Science''.

Говорячи про алгоритими вам у голову приходить тільки:

  1. Quick Sort

  2. Bubble Sort

  3. Selection Sort

Реалізувати які ви можете тільки на словах бо бачили відео, або читали статті де була описана тільки концепція цих алгоритмів.

Якщо побачили себе, то переходьте зразу на 2й етап наступного розділу.

Етап третій

Третій етап це - Специфіка.

Якщо ви працюєте у сфері секюріті то книги які вам допоможуть - це книти по секюріті та суміжних темах.

Captain America: The Winter Soldier Trailer Is Out!

Тут немає списку книг, бо специфіка може бути супер різною, тож із цією задачею вам потрібно буде справитись самостійно.

Єдина рекомендація - читайте книги у яких на титульній сторінці намальована якась тваринка.

З чого починати ?

Етап Перший - описує у більшості програмістів початкогово рівня яким все ще не дістає досвіду, тому варто починати із таких книг як:

  1. Чистий Код

  2. Чиста Архітектура

Прочитати рецензії, або опис цих книг - на домашнє завдання, якщо відкрили цю статтю то і опис книги нагуглити зможете.

Після прочитання цих книг ви по справжньому переоціните для себе багато речей, зрозумієте свої помилки (і не тільки свої). Але проблема із якою ви зіштовхнетесь полягає у тому що ви будете пихати той чистий код куди тіко можна і це може затуманити вам голову, бо чистий код у книзі про щось ідеальне, а не про реальні проекти які писались тими хто і не чув про цю книгу (Сурові реалії Аут сорсу).

Мені складно писати цінні поради про досвід прочитання цих книг пройшовши етап прийняття ефективності порівняно із якістю, у більшості ІТ проектів потрібно - швидко, а про це не говориться у Чистому Коді…

Етапи які я пройшов після прочитання цих книг:

  1. Стало більше коментарів у яких було позначка - технічний борг

  2. З часом на проекті були періоди застою у які я створював тех задачі на підтягування технічного боргу (пощастило), у вас може такого не бути - про це варто пам’ятати.

  3. З часом коментарів ставало менше і код ставав чистіше.

  4. Пам’ятайте: Замовник цінить робочий функціонал за короткий проміжок часу, а не супер архітектурно правильний модуль із 100+ мікросервісами для завантаження картинок.


Етап Другий - Книги для другого етапу мені більше подобаються, бо вони про сам фундамент програмування. Ці книги написані із купою реальних прикладів матиматичних, статистичних, геометричних формул у реальних задачах (чого тільки варта задача Комівояжера).

  1. The theoretical minimum in Computer Science

  2. Grokking Algorithms

Перша книга розповідає про реальні задачі, про те чому потрібно розуміти теорію ймовірностей про всі ті злощасні формули та де і як вони використовуються. Загалом дає відповідь на питання - “Ну а де це мені в жизні пригодиться ?". Також розповідає про те як працює комп’ютер та всі складові.

Грокаємо Алгоритми - це просто альманах із якого варто починати всім при вивченні алгоритмів. Починаючи із звичайних алгоритмів пошуку ви завершуєте k-наближеними алгоритмами класифікацій що є фундаментом нейронних мереж, або алгоритмами криптографій що лежать в основі крипто-валют. Це навіть звучить круто якщо сказати у слух.

З чого не варто починати ?

Не читайте Кнута (мистецтво програмування), його можуть читати як першу книгу тільки ті хто зрозуміють 80%+ всіх математичних позначчень на початку книги. Мистецтво програмування місцями більше про матиматичний аналіз ніж про програмування (це тому що Кнут у першу чергу був математиком).

Не читайте Кормена (Вступ до алгоритмів), для тих хто не розуміє асимптотичний аналів, це буде просто пекло із перших сторінок, хоч це і простіша книга порівняно із Кнутом.

Що читати далі?

Совершенный алгоритм. Тим Рафгарден. Комплект книг., фото 1

Далі читайте “Совершенний Алгоритм" (вибачаюсь, не знайшов Українською)

Дуже класна серія книг, яка розкриє у повній мірі ‘Grokking Algorithms’.

Підсумки:

Я прочитав всі книги які описав у цій статті тому рекомендую всі із них, але у певному порядку. По алгоритмах написано дуже багато книг, я не читав всі, можливо, є кращі книги (Але сумніваюсь що хтось пише краще Кнута).

Кто лучший программист в мире? | dev.by
Конкретний Математик

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

На шляху вашого персонального розвитку ви можете не прочитати ніоднієї книги, це мало ймоіврно, але це можливо. Читати книги - не обов’язково, просто це може значно прискорити ваш розвиток.

Більш детально про алгоритми та інші Компютер Сайнські штуки напишу в наступних статтях.

Các bài viết về doanh nghiệp địa phương và những con người thú vị:

Chia sẻ ý tưởng của bạn trong một ấn phẩm mới.
Chúng tôi đang chờ bài đọc dài của bạn!
Valentyn Tupota

Valentyn Tupota

@valentyn_tupota

Software Engineer

16Bài đọc dài
2.1KLượt xem
38Người theo dõi
Trên Drukarnia kể từ 11 tháng 10 2023

Thêm từ tác giả

  • Автоматизація та контент фабрика

    Контент фабрика для telegram, threads, instagram, facebook. Автоматичне управління та постинг через LLM та n8n

    Chủ đề của bài đọc dài này:

    N8n
  • Articles

    Зміст

    Chủ đề của bài đọc dài này:

    Content
  • Neural Network [guide] 1

    Все починається із першого нейрону. Алгоритм лінійної регресії для одного нейрону, та принципи його використання.

    Chủ đề của bài đọc dài này:

    It

Bạn cũng có thể quan tâm đến:

  • Реплікація у Kafka

    Пост про реплікацію в Kafka. Асинхронна і синхронна реплікація. ISR/OSR. Смерть лідера. Відновлення реплік. Конфігурація продюсера на очікування реплікації.

    Chủ đề của bài đọc dài này:

    Kafka
  • Трекер фінансів. Продумуємо головний екран

    Приступаємо до створення застосунку для управління фінансами. Першим кроком стане розробка головного екрану — стартової точки для користувачів, де вони зможуть оглянути основну інформацію.

    Chủ đề của bài đọc dài này:

    Розробка
  • Чи є правда гріхом?

    Сприйняття правди часто описують через смакові або фізичні метафори: як чорний гіркий шоколад або як морську воду. Вона може здаватися здатною втамувати спрагу інтелектуальну, моральну, екзистенційну, але водночас ми знаємо, що «пити солоне» небезпечно.

    Chủ đề của bài đọc dài này:

    Психологія

Bình luận (0)

Ủng hộ tác giả trước nhé.
Viết bình luận!

Bạn cũng có thể quan tâm đến:

  • Реплікація у Kafka

    Пост про реплікацію в Kafka. Асинхронна і синхронна реплікація. ISR/OSR. Смерть лідера. Відновлення реплік. Конфігурація продюсера на очікування реплікації.

    Chủ đề của bài đọc dài này:

    Kafka
  • Трекер фінансів. Продумуємо головний екран

    Приступаємо до створення застосунку для управління фінансами. Першим кроком стане розробка головного екрану — стартової точки для користувачів, де вони зможуть оглянути основну інформацію.

    Chủ đề của bài đọc dài này:

    Розробка
  • Чи є правда гріхом?

    Сприйняття правди часто описують через смакові або фізичні метафори: як чорний гіркий шоколад або як морську воду. Вона може здаватися здатною втамувати спрагу інтелектуальну, моральну, екзистенційну, але водночас ми знаємо, що «пити солоне» небезпечно.

    Chủ đề của bài đọc dài này:

    Психологія