Yakiv Kramarenko's book
Intro to Software Development
An introduction to programming and web software development with HTML, CSS, and JavaScript. The book should be on strength for all — from kids to their parents, with the only prerequisite — be a confident computer user. It should help to taste the development of a real product and determine your role in IT (developer, tester, etc).

In 2015, I started to give paid offline and online IT courses (programming, test automation, etc). I noticed a few things. Firstly, the majority of available courses on the market, especially free ones, were too technical and complicated for students who start their way in IT from the very beginning. Secondly, it was hard to decide which way to choose in IT - management, business analysis, design, development, testing, etc. That was the time I started to think on some course to give an introduction to the whole Software Development process, be free, and be on strength for almost anybody - from kids to their parents without prior deep knowledge in Information Technologies, with the only prerequisite - to be just a confident computer user.

The idea was to create a course through each a student can build a real application from scratch. Where each course lesson would represent one stage of the complete Software Development process. As defined by en.wikipedia.org, Software Development:

is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components.

I started to work on this course in 2016. The following lessons were thought to be included in the course:

  • Process
  • Business Analysis
  • Design
  • Frontend Development
  • Backend Development
  • Test Automation
  • Testing
  • Deployment
A student was supposed to be introduced to each stage of the process by examples of building a real web application from scratch - a tasks manager. Where each lesson shows how to plan, analyze, design, develop and test basic features of the tasks manager, and then through available exercises per lesson, a student would practice in extending the functionality of the tasks manager by his own, with the help of available tips and tricks, frequent questions and answers.

With the time I understood that the scope of the work to be done is tremendous. Especially taking into account my load on other projects. Till now I have written a draft of the "Process" lesson and completed the Frontend lesson without exercises. Probably I will publish the draft of the "Process" lesson as a blog post. And this book, at least in the beginning, is supposed to be a home for the "more programming-like" materials of the course in the book-like format (the contents can change):

  • Frontend Development (HTML, CSS, JavaSript)
  • Quality Assurance Practices. Automation
  • Deployment
  • Backend Development
  • Testing
The Frontend part is already available (without exercise). I plan to keep the book available for free access and download at all times. Though, the progress of developing next lessons-chapters, and finally creating a complete course based on the book will depend on donations. The more donations I collect, the less time I will have to spend on my other commercial projects, and so have more time to work on this book and the course.