×

18 книжок, які радять почитати програмісти-фрілансери у 2021 році

Привіт! Мене звуть Настя, я Talent Acquisition Manager на фріланс-платформі для розробників Lemon.io. Усіх розробників-фрілансерів, які проходять у нас співбесіди, ми питаємо про те, які технічні та/або нетехнічні книжки вони би порадили до прочитання. Відповіді (інколи з докладними коментарями наших розробників) я дбайливо збираю в спеціальний списочок.

І ми тут подумали... коли як не під час нового локдауну ним ділитись?

За весь 2020 рік у цьому списку назбиралося близько 100 найменувань. З них ми відібрали 18, які нам рекомендували найчастіше. Посилання на повний список — у кінці посту.

Книжки про код

Чистий код: створення і рефакторинг за допомогою Agile

Що це за книжка?
Ця книжка вийшла ще у 2008 році й переважно фокусується на Java та об’єктно-орієнтованому програмуванні. Але справді важлива її складова — викладені Робертом Мартіном SOLID-принципи написання коду. Якщо ви хочете, аби ваш код був зрозумілим, робочим та зручним у підтримці, книжка «Чистий код» — для вас.

Чому її варто прочитати?
Бо результат грамотного рефакторингу — читабельний код, який добре працює. Ця книжка вчить писати саме його.

Code Complete. A Practical Handbook on Software Construction (2nd edition)

Що це за книжка?
Книжка Стіва Макконнела не тільки й не стільки про код. Вона радше про процес конструювання програмного забезпечення. Задум і дизайн, власне написання коду, дебагінг, інтеграція й тестування — головні віхи цього процесу, яким автор приділяє основну увагу.

Це не та книжка, яку вийде прочитати за день і сказати: «Мам, я навчився». Певно, ви будете повертатись до неї знову й знову, коли під час розробки поставатимуть нові питання та виклики.

Чому її варто прочитати?
«Засаднича книга, яку має прочитати кожен програміст від рівня middle і вище. Junior-ам не рекомендую, оскільки це не набір готових порад, а швидше опис певних абстракцій, для застосування яких на практиці потрібен певний досвід програмування.

Незважаючи на слово „код“ у назві, книжка більше про оцінки, бюджети й процеси. Приклад — наскільки виростає ціна помилки, закладеної на етапі планування, якщо її не помітили до стадії підтримки продукту, і наскільки просто її виправити, якщо помітити одразу». — Андрій З., розробник у Lemon.io.

Cracking the Code Interview. 189 Questions and Solutions (6th edition)

Що це за книжка?
Книжка, яка може зацікавити Java-розробників у пошуках нової роботи. Після декількох років роботи в Google, Microsoft, Apple і стажувань у інших великих компаніях авторка зібрала під однією обкладинкою 189 найтиповіших запитань і завдань із відповідями.

Ця книжка навряд чи допоможе вам влаштуватися в Google чи Facebook. Вона не висвітлює якихось глибоких тем і більше нагадує збірку рецептів (коли вас питають оце, відповідайте отак), але допоможе орієнтуватися під час пошуків. Як під час іспиту в універі, коли стоїш під кабінетом і кожного, хто звідти виходить, запитуєш: «Ну, який білет витягнув? Що питали?»

Із мінусів: якщо відразу не знати, що книжка орієнтована на Java, то можна сісти маком. Це наче ніде не уточнено, і були випадки, коли люди дізналися про це вже після покупки. Але трошки С та С++ тут також є.

Чому її варто прочитати?
Бо існує певне замкнене коло. Книжка підказує, про що найчастіше питають на співбесідах у великих IT-компаніях, а HR’и великих IT-компаній часто беруть запитання саме з неї.

Чиста архітектура: мистецтво розроблення програмного забезпечення

Що це за книжка?
«Напевно, must read для кожного програміста (як і всі книжки Роберта Мартіна) й, напевно ж, один із найбільш суперечливих його творів (написано з повним розумінням того, що автору цього огляду ого-го як далеко до Роберта Мартіна 🙂).

Семантично і, як мені здається, стилістично, книга складається з двох частин: перша — теоретичний огляд фундаментальних принципів архітектури програмного забезпечення, друга — поради про те, як використовувати ці принципи на практиці.

Щодо другої частини (так, вона супер!) можу сказати, що саме її категоричність у рекомендації використовувати Clean Architecture pattern (який, до речі, має дуже багато спільного з Hexagonal Architecture pattern, розробленим і представленим Алістером Кокберном у співавторстві з Робертом Мартіном) робить її, на мій погляд, трохи суперечливою. Бо ж ніщо не вічне.

А от перша частина неймовірно глибока. Мартінове визначення архітектури (засоби побудування розробки, деплою і підтримки програмного забезпечення) одразу ж спонукає до роздумів на кшталт „а-а-а, ось чому будування архітектури — це теж ітерації“ або ж „а-а-а, тобто один із головних пріоритетів архітектури — це мінімізація software lifetime cost!“

Саме ця мотивація думати, сперечатися і згодом погоджуватися з автором робить цю книжку неймовірною — і ще те, як Робін Мартін показав шлях своїх роздумів щодо парадигм програмування та SOLID-принципів.

Зазначу, що книжка не про рівень реалізації — вона саме про „трохи вищі матерії“ (тому мені інколи бракувало прикладів), — але спонукання до роздумів робить її у моїх очах неймовірною. Всім раджу»
— анонімний розробник Lemon.io.

Чому її варто прочитати?
Бо архітектура визначає все. Що продуманіша вона від початку — то менше клопоту.

Working Effectively with Legacy Code

Що це за книжка?
Численні співбесіди з розробниками підтверджують: багато хто не любить працювати з legacy-кодом.

На щастя, навіть нудна робота стає простішою, коли маєш інструментарій для її ефективного виконання. Завдання цієї книжки — дати дієві інструменти для роботи саме з великими неперевіреними базами legacy-коду. Майкл Фезерс використовує свій багаторічний досвід роботи і менторства в Object Mentor, щоби допомогти вам модернізувати legacy-code або позбутися його, при цьому нічого не зламавши.

Чому її варто прочитати?
Тому що робота з legacy-кодом не обов’язково мусить здаватися карою небесною.

Artificial Intelligence: A Modern Approach (3rd Edition)

Що це за книжка?
Поки штучний інтелект пробує писати книги про людей (так, написаний нейромережею розділ «Гри престолів» усе одно кращий за останній сезон), люди пишуть книжки про сам штучний інтелект.

Серед таких книжок AIMA-3 займає чи не головне місце. У третьому виданні Стюарт Рассел і Пітер Норвіг висвітлюють цілий комплекс питань, проблем і викликів, пов’язаних зі штучним інтелектом. Машинне навчання, планування та вибір, імовірності, сприйняття реальності та дія, комунікація, етика й безпека штучного інтелекту — ось теми, докладно розписані та проаналізовані авторами на сторінках цієї здоровенної книги.

Чому її варто прочитати?
Бо одного дня «Скайнет» таки запустить ядерні ракети по Росії. А якщо серйозно, то складно знайти ґрунтовнішу й детальнішу книжку з питань штучного інтелекту й машинного навчання.

Compilers: Principles, Techniques, and Tools

Що це за книжка?
Існує думка, що зараз не конче розуміти, як саме працюють компілятори. Мовляв, достатньо лише знати мову програмування, а все інше компілятор зробить за тебе.

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

Чому її варто прочитати?
Бо без розуміння того, що під капотом, технологія мало відрізняється від магії.

Книжки про конкретні технології

JavaScript: The Definitive Guide 7th Edition

Що це за книжка?
За статистикою, мовою JavaScript написано близько 1.5 мільярда веб-сайтів. Якщо врахувати, що всього їх існує трохи більше за 1.6 мільярда, JavaScript можна назвати найважливішою мовою сучасної веб-розробки. Якщо ви хочете оволодіти цією мовою з нуля або поглибити свої знання, вам точно стане в пригоді сьоме видання вже класичного посібника «JavaScript: The Definitive Guide».

Чому її варто прочитати?
«Ця книжка для тих фронтендерів, які справді хочуть володіти JavaScript, а не збирати UI з готових компонент фреймворків. Номер один у категорії JavaScript Books на Amazon із оцінкою 4.7, охоплення матеріалу від оголошення змінних до розгляду генераторів та async/await, серверного JS, утиліт для лінтингу та транспіляції — що ще можна додати?» — Андрій З., розробник Lemon.io.

Thinking in Java

Що це за книжка?
Якщо ви ще якимось дивом не спромоглися прочитати «Thinking in Java», це точно варто зробити. Книга Брюса Екеля — майже 1400 сторінок, присвячених програмуванню мовою Java, — від основ синтаксису до GUI, з прикладами та детальними поясненнями. Цей докладний посібник допоможе опанувати принаймні основи Java навіть новачкам. Утім, навіть якщо ви вже багато років працюєте з цією мовою програмування, книга все одно підкине вам декілька сюрпризів.

Чому її варто прочитати?
Тому що це один із найкращих посібників із Java.

C# in Depth

Що це за книжка?
Суміш теоретичного підручника, практичного посібника й технічного мануалу. Не для новачків, але для всіх, хто вже давно працює з C#, але все ніяк не мав часу розібратись у тонкощах. «C# in Depth» розкриває нюанси роботи з новими фічами C# 5, а також пояснює як влаштований C# і чому він поводиться так, як поводиться. Async/await, лямбда-вирази, динамічна типізація, LINQ, відмінності 5-ї версії від попередніх — усе це та багато іншого ви знайдете під обкладинкою.

Чому її варто прочитати?
Тому що книга пропонує цілковито новий рівень оволодіння мовою C#.

Effective Modern C++: 42 Specific Ways to Improve Your Use of C++ 11 and 14

Що це за книжка?
Книга Скотта Мейерса для вас, якщо вам потрібен не стільки опис можливостей та функцій С++ 11 та С++ 14, скільки ідеї та підказки щодо їхнього правильного використання. Хочете краще зрозуміти різноманітні форми виводу типів? Вагаєтесь, коли варто, а коли не варто використовувати auto змінні? Хочете знати, чому не варто використовувати дефолтні capture modes у лямбда-виразах? Не розумієте, в чому різниця між std::atomic та volatile? Тоді читайте книжку — там є всі відповіді.

Чому її варто прочитати?
Тому що «Effective Modern С++» збереже вам купу часу та нервів при з’ясуванні тонкощів роботи з С++.

Ruby Under a Microscope

Що це за книжка?
Щоби здобути з неї максимум користі, ви вже маєте бути досвідченим Ruby-програмістом. Перед придбанням варто знати, що книжка фокусується на Ruby MRI (CRuby), хоча інші версії (такі як JRuby і Rubinius) в ній теж фігурують. Щоби зрозуміти, чому і як Ruby робить те, що робить, Пат Шонессі пропонує уважніше подивитись на базові елементи, з яких складається Ruby, а саме на вихідний код С,. Як Ruby використовує те, що було від початку розроблено для Lisp? Як виконує код за допомогою YARV? Що таке garbage collector, і як воно працює? Які нюанси створення та парсингу токенів?

Книжка Пата Шонессі відповість на ці та багато інших запитань.

Чому її варто прочитати?
Тому що завжди краще знати речі, які зазвичай лишаються під капотом.

Introduction to Machine Learning with Python: A Guide for Data Scientists

Що це за книжка?
Попри оптимістичні запевнення в анотаціях до книжки Андреаса Мюллера та Сари Гвідо, новачкам вона навряд чи стане в пригоді, а от якщо ви вже впевнений користувач Python — покаже вам декілька шляхів до побудови власних систем машинного навчання. Це не збірник конкретних інструкцій, а скоріше колекція прикладів побудови різноманітних моделей, за допомогою яких автори поглиблюють ваше розуміння машинного навчання.

Чому її варто прочитати?
Тому що це відносно простий і добре написаний вступ у складну тему.

IOS Programming. The Big Nerd Ranch Guide

Що це за книжка?
Big Nerd Ranch — це агентство, що розробляє додатки для вебу та мобільних пристроїв, відоме своїми тренінгами й буткемпами. «iOS Programming: The Big Nerd Ranch Guide» — це книжка, заснована на матеріалах і методології, які використовують BNS під час цих тренінгів.

Кожен із розділів — скоріше огляд теми, а не її докладне висвітлення. Автори пояснюють, як використовувати інструменти що їх Apple пропонує для створення додатків: iOS 13 SDK, Xcode 11, Swift 5 тощо. Прочитавши книгу, ви зможете створити власний додаток для iPhone чи, скажімо, iPad — але не слід шукати в ній глибокого розуміння: вона більше нагадує добрий вступ до теми, ніж вичерпний посібник.

Чому її варто прочитати?
Бо перш ніж із головою занурюватись у тему, завжди добре оглянути її масштаби.

Книжки про те, як працювати

Як упорядкувати справи. Мистецтво продуктивності без стресу.

Що це за книжка?
Девід Аллен написав збірку структурованих і обґрунтованих порад із приведення щоденної робочої рутини до ладу за методикою GTD, і вона стала бестселером у 12 країнах. На нашу думку, його непогані поради згодяться будь-кому, незалежно від професії.

Як правильно спланувати роботу? Як не загубитися в потоці тасків? Як ухвалювати правильні рішення? Як устигати робити свою роботу, працюючи в нормальному темпі?

Можливо, всіх відповідей ця книжка й не дасть, але точно підкине кілька цінних ідей.

Чому її варто прочитати?
Тому що не всі народжуються суперорганізованими. Тим, хто таким не народився, прості, але ефективні методи Девіда Аллена точно стануть у пригоді.

Peak Performance. Elevate Your Game, Avoid Burnout, and Thrive with the New Science of Success.

Що це за книжка?

Це книжка з серії «якщо хочеш щось змінити, доведеться працювати». Чудово, що Бред Сталберг і Стів Магнесс пропонують конкретні шляхи докладання зусиль.

Автори надійно підкріплюють свої думки результатами досліджень із психології, менеджменту та продуктивності, життєвими прикладами з власного досвіду й конкретними рецептами підвищення ефективності праці.

Ключові думки кожного розділу підсумовано у вигляді списків.

Чому її варто прочитати?
Тому що з кожним роком роботи стає все більше, а фізичних, емоційних та інтелектуальних ресурсів її виконувати — все менше.

Indistractable

Що це за книжка?
У книжці, котру радить Content & Brand Owner Lemon.io Ксенія Ларіна, йдеться про те, як зберігати фокус у повсякденних завданнях і формувати звички. Автор, Нір Ейяль, пише, серед іншого, про мільйон пасток для уваги, які може містити звичайне офісне середовище, про те, що таке відволікання і як його уникати в світі, де все свідомо спрямовано на привернення уваги.

Чому її варто прочитати?
Тому що... Мама тепер у телеграмі! Ого, друзі поїхали зимувати в Таїланд, кльові фотки. Оу, знижки — і як тільки ці соціальні мережі знають, що мені потрібно?

Digital Minimalism: Choosing a Focused Life in a Noisy World

Що це за книжка?
Кел Ньюпорт написав, мабуть, одну з найважливіших книжок за останні декілька років. З приходом мобільних технологій ми дуже швидко звикли завжди бути на зв’язку, нічого не пропускати, лишатися в центрі подій та робити все відразу. Але чи справді це добре?

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

Чому її варто прочитати?
Бо в 2021 році люди надто звикли підглядати за життям крізь крихітні екрани, замість того щоби жити його самим. Ось що думає про це CTO Lemon.io Анвар Азізов:

«Найголовніша різниця між сучасним цифровим суспільством та аналоговим суспільством, яке існувало ще років 20 (а в Україні навіть 10) тому, — нині ми практично припинили бути наодинці зі своїми думками. Ми перестали зазирати в себе. Перебування на самоті з собою — це відсутність будь-якої вхідної інформації, де є чужі думки. Це і сидіння в соцмережах, і слухання музики, й перегляд відео чи кіно, і навіть читання книжки.

Епоха смартфонів забрала в нас можливість відчути нудьгу та пережити її у власних роздумах. Бодай трохи занудьгувавши в черзі, у транспорті чи просто ввечері вдома, ми маємо можливість убити нудьгу швидким поглядом у смартфон. Цей варіант найлегший: замість спробувати самим щось створити чи помітити світ навколо, ми обираємо спожити створене іншими.

Добре, якщо це творіння — щось продумане та виплекане, а не просто чергова одноманітна сторі в інстаграмі чи всоте повторена думка про політику на фейсбуці.

Важлива книга. Рекомендую».

Повний список

Як я зазначала раніше, це лише найпопулярніші книжки, котрі нам радили знов і знов впродовж року, а ось посилання на повний список.

Ми будемо доповнювати його і надалі, тому якщо ви хотіли додати до нього свій особистий маст-рід, або навпаки вважаєте, що якісь книжки з цього списку не варті витраченого на них часу — пишіть в коментарях :)

👍ПодобаєтьсяСподобалось13
До обраногоВ обраному7
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
C# in Depth" розкриває нюанси роботи з новими фічами C# 5

Одному мне это глаз резануло? Тут 9 шарп в релизе, а кто-то советует читать книгу 10-летней давности.. Я не спорю, что Skeet для начинающих неплох, но все же стоит хотя бы указывать на последнее издание?

Так с 5-го не много поменялось, на самом деле.

Ага, потом такие как ты лепят многоэтажную лапшу из if-ов, потому что не знают про ?. и ??
И это только 6 шарп, дальше объем завозимых важных новшеств был гораздо больше...

Я как раз таки перевел все проекты на .NET 5 и C# 9.0 месяц назад, и уже во всю юзаю фичи 9-го шарпа в проде. Типа is not и new().
Перед этим всегда юзал фичи каждой новой версии как она только выходила. Но то все синтаксический сахар. Последняя крупная функциональность async/await была добавленна в C# 5.0, и с тех пор добавляют один сахар, который делает код меньше, но не дает никаких новых функций.

?. и ??

Это я уже непонятно сколько юзаю, даже не помню когда оно вышло, года 3 минимум.

крупная функциональность async/await была добавленна в C# 5.0, и с тех пор добавляют один сахар, который делает код меньше, но не дает никаких новых функций.

Бггг)) async/await как раз матерый syntactic sugar.
А вот deafult interface methods — это серьезное новшество.

Какой билн шугар, оно позволило не ждать поток который идет в базу или в другой сервис, и тем самым ускорило производительность в десятки раз, так как на каждый новый реквест теперь не нужен новый поток, и хавтит 10 потоков, что бы получить 1000 реквестов в течении секунды, и полезть всеми в базу на 500мс и вернуть результат.
Я вон в 30 раз ускорил один сервис на той неделе преминив это и TDF.

Обыкновенный синтаксический сахар. Просто загугли эту фразу, там уже давно доходчивое объяснение написали для таких как ты))

Чому добірка книг не містить їх обкладинок?

Шкода, що вам не вистачило цієї інформації :( Та до кожної книги є посилання, де ви можете побачити і обкладинку, і ціну, і навіть одразу придбати її за наявності у магазині ;)

Если название книги на украинском было бы здорово давать еще как она в оригинале называется

Дякую за ідею! Зробимо так у наступній підбірці ;)

Cracking the Coding Interview. 1500 гривень. За що ?

гарна підбірка, був би тільки час в сучасному ритмі)

Дякую за відгук! Так, час найцінніший ресурс. Сподіваюсь, матимете час погортати щось з підбірки цього року :)

Круто, дякую!
Також можна доповнити книжками про паттерни і рефакторинг — refactoring.guru/uk

Дякую! До речі, деякі книги виключно про паттерни та рефакторинг є у нашому повному списку, наприклад, Рефакторинг за авторством Фаулера :) Можливо, вже читали цю книгу?

Если всю жизнь код писать — б..ю продажной можно стать)))Хотя сарказм правильный.Надо просто менеджера заставить код писать что бы он понял что это такое,б...дь))

Учи философию,б***, прежде чем бл***й код писать! :)

Код работает и без философии. Иногда даже без б*****

крута підбірка 🙌 дякую!!

Підписатись на коментарі