Книга Якова Крамаренко
Введение в Разработку Программного Обеспечения
Введение в программирование и разработку веб-приложений с HTML, CSS и JavaScript. Книга должна быть по силам для всех - от детей до их родителей, с единственным предусловием - быть уверенным пользователем компьютера. Она должна помочь почувствовать на вкус разработку реального продукта и определить свою роль в ИТ (разработчика, тестера, и т.д.)

В 2015 году я начал обучать на платных "офлайн" и онлайн ИТ-курсах (по программированию, автоматизации тестирования, и т.д.). Я заметил несколько вещей. Во-первых, основная часть курсов на рынке, особенно бесплатных, — были чересчур техническими и сложными для студентов которые начинают свой путь в ИТ с самого начала. Во-вторых, им обычно сложно определиться какое направление в ИТ избрать - менеджмент, бизнес-анализ, дизайн, разработка, тестирование, и т.д. В то время я начал подумывать о том, чтобы создать курс который даст введение в полный процесс разработки программного обеспечения и будет по силам почти для любого от детей до их родителей, c единственным предусловием - быть уверенным пользователем компьютера.

Идея была в том, чтобы создать курс с помощью которого студент сможет построить реальное приложение с нуля. Где каждый урок будет представлять один из этапов в полном цикле процесса разработки программного обеспечения. Как определяет en.wikipedia.org, Разработка Програмного Обеспечения

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


Я начал работу над этим курсом в 2016 году. Следующие занятия должны были в него войти:

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

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

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