Книга Якова Крамаренкa
Вступ до Розробки Програмного Забезпечення
Вступ до програмування та розробки веб-додатків з HTML, CSS та JavaScript. Книга має бути по силам для всіх - від дітей до їх батьків, з єдиною передумовою - бути впевненим користувачем комп'ютера. Вона має допомогти відчути на смак розробку реального продукту та визначити свою роль у ІТ - розробника, тестера чи може чогось іншого;)

У 2015 році я почав навчати на платних "офлайн" і онлайн ІТ-курсах (з програмування, автоматизації тестування, і т.д.). Я помітив кілька речей. По-перше, основна частина курсів на ринку, особливо безкоштовних, - були надто технічними та складними для студентів які починають свій шлях в ІТ з самого початку. По-друге, їм зазвичай складно визначитися який напрямок в ІТ обрати - менеджмент, бізнес-аналіз, дизайн, розробка, тестування, і т.д. У той час я почав подумувати про те, щоб створити курс який дасть введення в повний процес розробки програмного забезпечення і буде під силу майже для будь-кого від дітей до їхніх батьків, з єдиною передумовою - бути впевненим користувачем комп'ютера.

Ідея була в тому, щоб створити курс за допомогою якого студент зможе побудувати реальний веб-додаток з нуля. Де кожне заняття буде представляти один з етапів в повному циклі процесу розробки програмного забезпечення. Як визначає en.wikipedia.org, Розробка Програмного Забезпечення —

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

Я почав роботу над цим курсом в 2016 році. Наступні заняття повинні були в нього увійти:

  • Процес
  • Бізнес-Аналіз
  • Дизайн
  • Розробка веб-клієнта (фронтенда)
  • Розробка веб-сервера (Бекенд)
  • Автоматизація тестування
  • Тестування
  • Розгортання Додатків ( "Deployment")
Передбачалося, що студент познайомиться з кожним етапом процесу на прикладах створення реального веб-додатка з нуля - менеджера задач. Де кожне заняття покаже як планувати, аналізувати, проектувати, розробляти і тестувати основні функції програми, а за допомогою доступних вправ студент буде практикуватися в розширенні функціональності менеджера задач за допомогою доступних рад, частих питань і відповідей.

Згодом я зрозумів, що масштаб виконуваної роботи величезний. Особливо враховуючи мою зайнятість на інших проектах. До сих пір я закінчив тільки чернетку заняття "Процес" і заняття "Розробка веб-клієнта (Фронтенд)", без вправ. Швидше за все я опублікую чернетку заняття «Процес» в якості поста в блозі. А ця книга, принаймні на початку, стане домівкою для тих матеріалів курсу, які ближче до "програмування" (зміст може змінюватися):

  • Розробка Веб-Клієнта - Фронтенд (HTML, CSS, JavaSript)
  • Практики Забезпечення Якості. Автоматизація
  • Розгортання Додатків (Deployment)
  • Розробка Веб-Сервера - Бекенд
  • Тестування
Частина книги про розробку веб-клієнта (фронтенд) вже доступна, поки що без вправ. Я планую тримати книгу завжди у вільному доступі і доступною для скачування. Але прогрес в розробці наступних занять і, нарешті, створення повного курсу, заснованого на книзі, буде залежати від пожертвувань. Чим більше я їх назбираю, тим менше часу мені потрібно буде витрачати на мої інші комерційні проекти, і віповідно буде більше часу і ресурсів для роботи над цими книгою і курсом.