У 2015 році я почав навчати на платних "офлайн" і онлайн ІТ-курсах (з програмування, автоматизації тестування, і т.д.). Я помітив кілька речей. По-перше, основна частина курсів на ринку, особливо безкоштовних, - були надто технічними та складними для студентів які починають свій шлях в ІТ з самого початку. По-друге, їм зазвичай складно визначитися який напрямок в ІТ обрати - менеджмент, бізнес-аналіз, дизайн, розробка, тестування, і т.д. У той час я почав подумувати про те, щоб створити курс який дасть введення в повний процес розробки програмного забезпечення і буде під силу майже для будь-кого від дітей до їхніх батьків, з єдиною передумовою - бути впевненим користувачем комп'ютера.
Ідея була в тому, щоб створити курс за допомогою якого студент зможе побудувати реальний веб-додаток з нуля. Де кожне заняття буде представляти один з етапів в повному циклі процесу розробки програмного забезпечення. Як
визначає en.wikipedia.org, Розробка Програмного Забезпечення —
Це процес задумування, визначення, проектування, програмування, документування, тестування і виправлення помилок, пов'язаних зі створенням і підтримкою додатків, фреймворків або інших програмних компонентів. (Переведено з англійської) Я почав роботу над цим курсом в 2016 році. Наступні заняття повинні були в нього увійти:
- Процес
- Бізнес-Аналіз
- Дизайн
- Розробка веб-клієнта (фронтенда)
- Розробка веб-сервера (Бекенд)
- Автоматизація тестування
- Тестування
- Розгортання Додатків ( "Deployment")
Передбачалося, що студент познайомиться з кожним етапом процесу на прикладах створення реального веб-додатка з нуля - менеджера задач. Де кожне заняття покаже як планувати, аналізувати, проектувати, розробляти і тестувати основні функції програми, а за допомогою доступних вправ студент буде практикуватися в розширенні функціональності менеджера задач за допомогою доступних рад, частих питань і відповідей.
Згодом я зрозумів, що масштаб виконуваної роботи величезний. Особливо враховуючи мою зайнятість на інших проектах. До сих пір я закінчив тільки чернетку заняття "Процес" і заняття "Розробка веб-клієнта (Фронтенд)", без вправ. Швидше за все я опублікую чернетку заняття «Процес» в якості поста в блозі. А ця книга, принаймні на початку, стане домівкою для тих матеріалів курсу, які ближче до "програмування" (зміст може змінюватися):
- Розробка Веб-Клієнта - Фронтенд (HTML, CSS, JavaSript)
- Практики Забезпечення Якості. Автоматизація
- Розгортання Додатків (Deployment)
- Розробка Веб-Сервера - Бекенд
- Тестування
Частина книги про розробку веб-клієнта (фронтенд) вже доступна, поки що без вправ. Я планую тримати книгу завжди у вільному доступі і доступною для скачування. Але прогрес в розробці наступних занять і, нарешті, створення повного курсу, заснованого на книзі, буде залежати від пожертвувань. Чим більше я їх назбираю, тим менше часу мені потрібно буде витрачати на мої інші комерційні проекти, і віповідно буде більше часу і ресурсів для роботи над цими книгою і курсом.