Well, first you need to know a programming language.
I started with Visual Basic, known as VB when I was 13.
My uncle gave me a 1300 pages book about Visual Basic 3.0.
I thought I would know everything about computers by reading that book.
Of course you learn only a small part of programming by reading one book, but enough to do something that looks like magic for non-programmers.
I remember the first time I was able to save and load data from a file.
In old VB, there was not many functions for dealing with graphics.
Finally VB.NET came, with vector graphic and image support.
It all started when I read an article about skeleton simulation.
I made a little program with pictures attached to a skeleton, I thought that was a very easy way to animate. All software I write has some kind of technology in its kernel that makes the life easier to the users. The important thing is how the user interact with the technology, not the technology itself.
There are many ways of creating an animation software, that's why all animation software packages are different. Stickman 1.0 was designed to teach children how to animate with key frames. Later I created Elemento to build new figures for Stickman. I think separating the figure editor from the animation editor was a lucky guess I made. When I see back I think that's why Stickman & Elemento appeals to both children and grown-ups. The youngest user I know is 6 years and the oldest 80!
You can download Stickman & Elemento from this page.