Online Tutors and FAQs
|On this page:|
to learn ahead of others
� What, how much, when, how to
� What works for me
� Online Books
tutorials and FAQs
� More tutorials
� New Technologies
� Links to Tests
|Why to learn ahead of others||home - top of the page - email|
Why some programmers are paid 10 times more than others?
Is it degree? Experience? Training? Ability to work hard? Vision? Well, there are many factors. But here is one which I truly believe is the absolute "must have" skill. It is
the skill to learn FAST and BY YOURSELF.
As a programmer you are spending a good share of your working time on grinding through APIs, man-pages, Internet FAQs, tutorials, books, magazine articles, etc.
I bet you were many times in a situation when you were starting a new project or a new job - and had to make something to work in just several days - something you never touched before. Your manager was all over you demanding results. In situations like that
if you don't have a skill to learn new things fast - you may easily fall behind and even get fired.
On the positive side, if you have this skill - you can easily get ahead of the crowd. You will feel much better about yourself.
You will get internal piece and feeling of security.
Why security? Well, as you know the technology is changing with the speed of a chicken running from you. Just several years ago everybody was looking for PowerBuilder or Delphi programmers. Java didn't exist 5 years ago. Today Java programmers are in great demand. What will be in demand 2 years from now? Wireless technologies, may be? I don't know. But I do know that
what you will need tomorrow doesn't exist today.
And if you want to keep your job (or even get ahead) - you have to recognize and learn new technologies as they appear and start dominate the market.
|What, how much, when, how to||home - top of the page - email|
Now, once you agree that you have to learn something whether you want it or not, you have to decide:
- what to learn
- how much time and money to invest in training yourself.
- when to start learning
- how to learn
1st question - what to learn. Well, it is a moving target. And it depends on your specialization. You have to do your own research.
2nd question - how much to invest? Most people are really greedy when it comes to spending their time or money. But let me show you something. If you invested $3K into learning a technology which is in great demand on the market - and this allowed you to get steady increase of your income by $15K/year - that is, let say, $45K over next 3 years.
Isn't this the best investment you could possibly find for your money?
And your investment will usually pay for itself in less than 6 months - after that it is pure profit!.
3rd question - when to start learning? The answer is obvious. If you have to learn it sooner or later - why not do it earlier? Still most of the people are sitting waiting until it is already so late that they HAVE TO learn. As a result they are mostly placed to do some dull work of maintaining old systems. And this work is usually not paid very well, because there are already many programmers with these old skills on the market.
Why wait. Learn skills just several months earlier than
others - and you may reap dramatic rewards.
- Working with cool new technologies on interesting projects
with interesting people.
- Working in the best companies.
- Being paid more as a qualified professional familiar with the latest and greatest technologies.
- Feeling that you are better than others, feeling respect from others (and yourself).
- Feeling job security, because you have skills which will be in demand in the future.
And much more...
Now, if there are any reasons to wait?
Start learning just several months earlier - it makes all the difference. But it is also harder to learn, because
There is nobody around to help you!
Well, this is actually not entirely true. Yes, people around you will be of little help, because you are ahead of them. And there may be no courses or books yet, because the technology is new. These were bad news. But the good news are that you can get a lot of help on the Internet.
Internet may very well be your main tool.
4th question - how to learn. Skill of learning is just what it is - it is a skill. It is not something you are born with - but something you develop by learning and learning how to learn better.
How to learn?
I can't tell you. Surprised? You see, I am teaching programming,
and I can tell you from experience that different people have absolutely
different ways to learn. Some people do it through reading, some
prefer visual learning. Some prefer audio. The differences are very
dramatic. You will have to try different methods and see what works
best for you.
|What works for me||home - top of the page - email|
Here is what I do:
� I talk to managers and recruiters, listen to audio briefings and digests, read reviews in magazines and on the internet - all this to understand where things are going and how the demand on the market may change in the future.
� I am constantly expanding my network of programmers to whom I can send email or call. I periodically ask them what they are
doing or planning to do. I can also ask them programming questions (although I am trying not to abuse this).
Collecting tutorials and references, learning:
� I search internet for FAQs and tutorials, read them (online - or print them out in small font / 2 col format).
� I collect books (online and on paper), and training videos.
� I subscribe to email and paper magazines.
� I repeat material by using the technologies in my professional activity
� I repeat material by making conspectus of my learning on my web site and revising my site periodically.
� I repeat material while teaching students.
The information I am getting comes from several sources:
- Internet - using Internet correctly can save you lots of money on education.
- Books (amazon.com)
- video training:
- training on video, usually 6-8 tapes ($600-$800) per course.
� Google search for video+training+programming - video training on Google
� Google search for video+training+oracle - how to find video training for a specific topic (Oracle) on Google
Flash Video Training:
� www.qarbon.com - MULTIMEDIA TRAINING - Viewlets (Flash Videos)
� freesitetemplates.com/training.html - MULTIMEDIA TRAINING (Flash video)
|Online books:||home - top of the page - email|
- over 1,160 books available online - very valuable directory.
� directory.google.com/Top/Computers/Programming/Internet/ - excellent list of sites
(for example: � directory.google.com/Top/Computers/Programming/Internet/ )
� www.informit.com - excellent source of electronic books in HTML format - read online or ssnag to your computer
� www.oreilly.com/openbook/ - free online books from O'Reilly
� www.earthweb.com/ - good place
(find more by searching for something like: books online in HTML format (try google or altavista)
Some O'Reiily books can be downloaded:
|Online tutorials and FAQs||home - top of the page - email|
The simple way to find web Tutorials on any topic is to search
for a combination of the word tutor (or reference) and your topic.
For example, goto google.com and type some of those:
If you go to a different search engine - you may need to use different
syntax, for example for yahoo you should use "+" signs:
Examples - some tutorials which were found using this method:
- many manuals from Netscape
- www.findtutorials.com - excellent
search for tutorials
- www.lgta.org - good site to find tutorials
- www.trainingtools.com - variety of introductory training courses
- www.learnthat.com/courses/ - variety of courses
� www.builder.com -
� www.developer.com -
� www.webteacher.com -
� www.zdu.com/zdu/catalog/catalog.htm -
� www.smartplanet.com -
� ittutor.com -
� www.webcoder.com -
� www.webreference.com -
� www.webdevelopersjournal.com/ -
� www.chesworth.com/pv/index.html - Dr. Dobbs Programmers Vault
� www.stars.com/ - Web Developers Virtual Library
� http://jimworld.com - JimWorld (includes VirtualPROMOTE ) - also subscribe to gazette ( http://gazetteworld.com/ )
� http://onlamp.com -
� http://homepages.paradise.net.nz/milhous/ - several nice tutorials (C++, CGI, Cobol, Java, Lisp, Visual Basic, Perl, Tcl/Tk, Data Structures, UNIX, Awk, etc.)
There are also a lot of tutorials and documentation on vendors' sites
(sun.com, ibm.com, sybase.com etc.)
|Here is more tutorials:||home - top of the page - email|
Introduction to Web Programming Tutorial:
Step 1 - Introduction to Web design:
� wdvl.com/Authoring/HTML/Tutorial/toc.html -
Step 2 - Server-side scripting:
� stars.com/Authoring/Scripting/WebWare/Server/ -
Step 3 - Client side scripting:
� stars.com/Authoring/Scripting/WebWare/Client/ -
Step 4 - Introduction to Web Programming Table of Contents:
� wdvl.com/Authoring/Scripting/Tutorial/toc.html -
Web Technology Documentation:
Netscape: Technical Manuals and Notes
� developer.netscape.com/docs/manuals/ -
� developer.netscape.com/docs/manuals/communicator/jsguide4/index.htm -
Java Training & Tutorials
� java.sun.com/docs/books/tutorial/ - Java tutorial
� developer.java.sun.com/developer/onlineTraining/index.html -
see more Java tutorials in Java section
� www.authors.com - good, but slow
� zvon.vscht.cz/HTMLonly/XSLTutorial/Books/Book1/bookInOne.html this is XSL (XML) tutorial
� w3.one.net/~jhoffman/sqltut.htm - short SQL tutorial
� www.jmarshall.com/easy/html/testbed.html - play with HTML - see the results (plus tutorial)
|FAQs||home - top of the page - email|
Search for a combination of the word
FAQ (or FAQs) and
Here are some examples of FAQs (and some other sites related to CGI):
� WWW Security FAQ - www.w3.org/Security/Faq/
� Web FAQ - www.boutell.com/faq/
� CGI Security FAQ - www.go2net.com/people/paulp/cgi-security/safe-cgi.txt
� HTTP Spec - www.w3.org/pub/WWW/Protocols/HTTP/
� HTML Spec - www.w3.org/TR/REC-html40/ , www.w3.org/pub/WWW/MarkUp/
� CGI Spec - www.w3.org/CGI/
|New Technologies||home - top of the page - email|
I foresee a lot of help from handheld devices. As they get more memory and CPU power to run regular OSs (like Linux or Windows) and communicate effectively with Internet via GPRS, they will become invaluable tools for learning and repeating.
- educational programs for PDAs like Palm
� www.dcs.ecu.edu - East Carolina University started to use portable devices for training
These handheld devices are getting cheaper (under $300).
You can add headphones or even video glasses.
The benefit of having this device is that you can repeat your material
several times during the day. And this is the best way to memorize.
You fit learning process in small pieces during the day. You can use this device while you commuting (in a bus or subway, in a car) or even while you are in the gym or jogging around the neighbohood. Thus you learn more without having to allocate special time.
The educational programs can be made as educational games.
This device can be a perfect tool for learning new language.
The minimum vacabularly is usually approx. 3,000 words.
If you learn and repeat 10 words/day - it will take you a year.
(The best way to repeat them is to use them in phrases).
Learning programming terms:
Learning programming also involves learning a lot of new words.
For example, whatis.com has probably ~3,000 computer-related terms (or may be much more).
(Of course, learning programming is much more than just memorizing words.)
This device may be a perfect tool to prepare for exams.
|Taking tests||home - top of the page - email|
� www.brainbench.com -
� java.html#exam_preparation - many tests on java
|Misc||home - top of the page - email|
- About The All-But-Dissertation Survival Guide - free monthly e-mail newsletter
for example: www.ecoach.com/News/parkinson.htm - Overcoming Parkinson's Law