When I was a child, my father would come home from work and give me the extra computerized punch cards that were used that day - it was my first exposure to the world of computers. Later, I became an active participant in the personal computer revolution, both at school (which let students program on Apple II systems) and at home (my father purchased an early IBM PC system).
Because PCs were so new, most people who used them needed to learn how to program them, and in my case it was figuring out the BASIC language. After a while, my interests changed from programming to writing, but I had friends who stayed interested in programming. They discovered how much more they could do when they programmed on top of libraries that gave them higher functions. Similarly, in the early days of the commercial Internet, I was reading books on HTML so I could create my own web pages. I then also learned how to configure and manage early wireless networks (ah, the joys of 802.11b!).
Technology developments like these often follow the same path - a new technology emerges and gains momentum, but then others begin creating tools that let additional people participate in the process from a different starting point. For example, in the world of the web, you can now build a website by using templates and tools from WordPress or Squarespace, and download thousands of widgets that run different parts of the site, such as creating an online store.