Рубріки: Книжки

10 книг для програмістів, щоб прокачати технічні та софт-скіли

Анастасія Пономарьова

Ми зібрали в одну добірку літературу як для новачків в IT, так і досвідчених програмістів, яка допоможе підтягнути (або повторити) базу, розширити знання з математики та ML, навчить проходити інтерв’ю та «виживати» в офісі.

Новачкам

Computer Science Distilled: Learn the Art of Solving Computational Problems (Wladston Ferreira Filho)

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

Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People (Aditya Bhargava)

Цей ілюстрований посібник навчить застосовувати поширені алгоритми до практичних завдань, з якими програмісти стикаються щодня. Ви почнете з сортування та пошуку, поступово завдання ускладнюватимуться — потрібно буде вирішувати завдання на стиснення даних та штучний інтелект. Всередині також знайдете приклади застосування алгоритмів, діаграми та повністю анотовані зразки коду на Python.

Street Coder: The rules to break and how to break them (Sedat Kapanoglu)

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

  • типи даних, алгоритми та структури даних для швидкої розробки програмного забезпечення;
  • використання «поганих» практик із користю;
  • тестування;
  • як спокійно приймати проколи у своєму коді та «подружитися» з помилками;
  • оптимізацію коду, асинхронне програмування, розпаралелювання та рефакторинг.

Досвідченим

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems 1st Edition (Martin Kleppmann)

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

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

Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control 1st Edition (Steven L. Brunton)

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

Build Your Own Programming Language: A programmer’s guide to designing compilers, interpreters, and DSLs for solving modern computing problems (Clinton L. Jeffery)

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

Проходження інтерв’ю

System Design Interview — An insider’s guide (Alex Xu)

Інтерв’ю з системного проектування — найскладніший етап. Щоб полегшити розробникам його проходження, автор створив серію посібників (це перша частина). Тут представлена ​​стратегія проходження співбесіди та база знань для вирішення широкого кола питань щодо проектування систем. Книга включає безліч реальних прикладів, що ілюструють систематичний підхід, з докладним описом кроків.

Cracking the Coding Interview: 189 Programming Questions and Solutions 6th Edition (Gayle Laakmann McDowell)

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

Софт-скіли

Engineers Survival Guide: Advice, tactics, and tricks After a decade of working at Facebook, Snapchat, and Microsoft (Merih Taze)

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

Critical Thinking & Logic Mastery – 3 Books In 1: How To Make Smarter Decisions, Conquer Logical Fallacies And Sharpen Your Thinking  (Thinknetic)

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

У комплект цієї книги входять:

  • Коротко про критичне мислення: як стати незалежним мислителем та приймати розумні рішення.
  • Подолайте логічні помилки: 28 крихт знань, які допоможуть розвинути ваші навички міркування.
  • Звичка критично мислити: потужні практики, які змінять вашу думку та загострять ваше мислення.

Останні статті

Більше 50% Go i Ruby розробників з досвідом 3+ роки найняли на $5000. PHP — на самому дні

Більше половини Go i Ruby розробників з досвідом 3+ роки найняли на $5000 або більше.…

26.04.2024

Програмісти намагалися втекти з України в Молдову, щоб влаштуватись на роботу

Прикордонники недалеко від с. Кучурган Одеської області затримали двох програмістів, які намагалися втекти з України…

26.04.2024

В Україні запускають безплатне навчання блокчейн-розробці на Solana

Українське Solana-комʼюніті Kumeka Team з 7 травня запускає безплатне навчання блокчейн-розробці — Solana BootCamp. Про…

26.04.2024

Не гаяли часу. Туреччина створила спеціальні візи для «цифрових кочівників» з України

Туреччина створила спеціальні візи для диджитал-номадів або «цифрових кочівників». Скористатися ними зможуть і українці. Про…

26.04.2024

Росіяни, вірогідно, вкрали для гри про ПВК «Вагнер» створені українцями ассети бійців СБУ

Російська студія NoName Company, вірогідно, вкрала для розробки тактичного шутеру Best in Hell про ПВК…

26.04.2024

11 травня відбудеться хакатон студентських інновацій University Software Bootcamp

11 та 12 травня в NAU HUB відбудеться хакатон студенських новацій University Software Bootcamp. Про…

25.04.2024