I've had finished learning "Shell Script" in Linux so I'm now intermediate near advanced level but I can't guess how can I use this scripting language to make things/tiny programs!
Just as having the weapon without usage knowledge!
You really need to qualify which shell you are talking about.
If you're interested in
bash, I cannot recommend this bash FAQ any higher
Advanced Bash-Scripting Guide - http://tldp.org/LDP/abs/html/. Book in "MUST READ" category.
One thing you can do is investigate the built-in scripts that came with the distribution. Trawl about in /etc and check out the startup and shutdown scripts.
You can certainly do a lot with bash or the c shell, particularly when combined with sed, awk, tr, tee, wc, and on and on... However I found it more rewarding to spend quite a bit of time learning regular expressions and Perl; I just felt more productive. Python or Ruby would be equally excellent choices in my opinion.
You should learn C.
Then learn some Perl (just the basics, you will thank me for it). Mastering Perl is a toolbox full of very sharp tools.
After that, Java! Java is great at many things. You will also pick up some OO concepts and design pattern by doing this. You could learn C# or C++ instead of Java but thats a whole other discussion I prefer not to touch (Java is great for solving my problems, the community and the tools are great). Skip php and everything what web programming is, that is my take on it.
And then, learn databases. SQL syntax and and pick a database to learn. I would go for PostgreSQL, (optional: Microsoft SQL Server).
To broaden your mind you should learn functional programming. I am doing this right now (Scala & OCaml).
Then learn Fedora and become a contributor to the Fedora project.
Then get a proper programming job and live happily ever after! That's what I would do. :)