Тільки почали вивчати професію, і вже загубились в десятках книг, відеоуроків та лекцій? Це — знайома всім початківцям проблема, адже занадто велика кількість матеріалів дезорієнтує і розсіює увагу. Разом з експертами EPAM підготували по одній книзі (і не тільки), з якої варто починати вивчення напрямку.
Java
Head First Java by Kathy Sierra & Bert Bates
Книга написана спеціально для початківців, тому базові концепції (в тому числі принципи ООП) розібрані на найпростіші складові. Багато ілюстрацій, практичних завдань, напівжартівливе оповідання — все це робить книгу ідеальним вступом до розробки на Java.
DevOps
The Phoenix Project by Gene Kim, Kevin Behr, and George Spafford
Повчальна новела, в якій читач разом з Білом, IT-менеджером технічної компанії, повинен буде за 90 днів привести до ладу проєкт, в якому не працює... нічого. Бюджет перевищено, дедлайни зірвані, але завдання є завдання — так, на прикладі «ідеального» проєкту, ви зможете навчитися принципам роботи DevOps-спеціаліста.
Business Analysis
Business Analysis For Dummies by Kate McGoey, Kupe Kupersmith
Нехай назва не введе вас оману: ця книга доступно пояснить вам фундамент професії та морально підготує до доволі складних термінів і принципів бізнес-аналізу, які ви зустрінете в більш просунутих матеріалах. А про формат нема чого говорити: мало хто не знайомий з книгами серії «... for Dummies» — це завжди легко та весело викладена теорія.
UI/UX
100 Things Every Designer Needs to Know About People by Susan Weinschenk
Книга, що побудована на дослідженнях людського мозку та особливостях сприйняття нами інформації. Чудовий перший крок до розуміння того, як створювати дизайни, які будуть сприйматися "інтуїтивно". Додаткова перевага: коротке та лаконічне оповідання, легкий для сприйняття дизайн та ключові тези в кінці кожної глави.
Project Management
Making Things Happen: Mastering Project Management by Scott Berkun
Автор, колишній менеджер Microsoft, не обговорює популярні теорії і не дає «5 покрокових інструкцій», але розповідає про свої роки в Microsoft, структуру та специфіку IT-проєктів, планування, стратегію, вирішення конфліктних ситуацій та багато інших важливих речей, які викликають питання у початківця в проєктному менеджменті.
JavaScript
JavaScript: The Definitive Guide by David Flanagan
Основна перевага цієї книги — її актуальність: останнє видання зібрало в собі увесь фундамент мови. Хоча оповідання є доволі "сухим", автор все одно встигає деінде жартувати, а головне — пояснювати теми так, що у вас не залишиться питань.
Однак, якщо ви шукаєте найостанніші знання з JS, радимо ресурс Free Code Camp, де паралельно вивченню теорії ви зможете практикуватися в написанні коду. Ідеальний рецепт вивчення JS виглядає наступним чином: вивчення книги і паралельна практика на сайті.
Ruby
Why's (Poignant) Guide to Ruby +
The Well-Grounded Rubyist by David A. Black
Why's (Poignant) Guide to Ruby — можливо, найунікальніша книга, яку взагалі можна знайти серед технічних матеріалів. Відкривати її потрібно з обережністю, бо читачам без відчуття гумору «засвоїти» її буде важко: тут є комікси, дотепні ремарки автора і — куди ж без неї — теорія Ruby, викладена в доступному форматі для зовсім-зовсім початківців.
Але якщо ви готові до поглибленого стрибка в мову, або ж не хочете розбиратися в англійському сленгу — The Well-Grounded Rubyist з високою ймовірністю стане вашою настільною книгою. Ті, хто читали її, зізнаються, що раніше писали код навмання, а книга відкрила їм очі на прихований потенціал мови.
Quality Assurance
Beautiful Testing: Leading Professionals Reveal How They Improve Software by Tim Riley, Adam Goucher
Чули вираз «щоб стати тестувальником, потрібно думати як тестувальник»? Ця книга відкриє вам «віконце» до думок, переживань та сподівань QA спеціаліста і водночас познайомить вас майже з усім фундаментом професії. Книга написана легкою мовою, а кожна концепція розглядається на якомусь прикладі з професійного досвіду автора.
Python
Python Crash Course: A Hands-On, Project-Based Introduction to Programming by Eric Matthes
Чудова книга, яку оцінять розробники, які читали інші матеріали з Python і знайшли їх занадто заплутаними. Тут багато теорії, але вона подана під «джуніорським» соусом — а ще з таким підручником ви відразу зможете випробувати нові знання на практиці. В книзі купа do-it-yourself задачок (з покроковим рішенням, до речі) та рекомендацій корисних онлайн-ресурсів.
Database design
Database Internals: A Deep Dive into How Distributed Data Systems Work +
SQL Antipatterns: Avoiding the Pitfalls of Database Programming
Не втрималися і додали відразу два матеріали з баз даних (бо це дуже неординарний напрямок). Database Internals — це одна з найактуальніших книг з теорії побудови баз даних, однак «глибокого занурення» тут очікувати не потрібно, хоч назва обіцяє саме його. Тут буде ніжний «бриз» за широким спектром теорії, що для початківця буде тільки перевагою.
Коли ж ви будете готові перейти до практики, відкривайте SQL Antipatterns. Там автор аналізує найчастіші помилки в структурі бази даних, перераховує ознаки, за якими можна ідентифікувати такий антипаттерн, і рекомендує, як цю помилку виправити. Нехай вас не лякає опис — книга легка, лаконічна і написана у напіврозважальному стилі.
Bonus: Для всіх розробників
Clean Code – A Handbook of Agile Software Craftsmanship by Robert Cecil Martin
Маст-рід для всіх розробників-початківців, які не хочуть наступати на ті самі граблі, що й тисячі джуніорів до них. По секрету: саме завдяки цій книзі з'явилася наша рубрика #ценеок в Телеграмі. Описані принципи легко адаптуються до будь-якої мови розробки, тому радимо кожному мати Clean Code під рукою задля успішних перших кроків в програмуванні.
Design Patterns: Elements of Reusable Object-Oriented Software
З моменту видання книги пройшло майже тридцять років, однак її досі називають чи не найкращим гайдом для тих, хто не хоче придумувати велосипед. В книзі ви знайдете 23 патерни програмування, кожен із яких легко адаптується до будь-якої об'єктно-орієнтовної мови розробки (Java, C#, Python, і т.д.) Щоб зрозуміти цю книгу, потрібно володіти деякими теоретичними знаннями, однак після успішного засвоєння матеріалу ваші навички написання коду перейдуть на абсолютно новий рівень.