A typical question that I ask students in a Java batch is; "Do you know what is PATH?". Unfortunately most of them say they don’t. That is the beginning of the problem. Students often get carried away. Over the years I have seen a major change in the perception of the students. Students of the olden days (a few years back) used to start with learning computer fundamentals and then move on to operating system and then to a few programming languages etc. But now-a-days, students want only hot topics and nothing else and nothing less. Well, that’s good but the million dollars question is "is a student having the required background to understand these so called hot topics?".
Most of the students want to know JAVA. That’s understandable considering the number of opportunities we have for Java. But what does one need to know, to learn Java? A good foundation for programming. This is what I want to stress on. You better learn to walk before you run.
I often encounter people asking me what they should do to get into IT industry. This is most lucrative industry. Most of you agree with me. But is that all. What about the journey? Is it tough or easy?. Is it one time investment for lifetime or investment throughout the life. I mean "can you learn something now and use it for the rest of your life?". Having seen industry for years and having seen success stories and miserable failures, I think I am qualified to write about what one should know.
If you are new to computers and willing to enter into beautiful and challenging IT field, here is the learning process.
1. Learn fundamentals of computer first. You should be thorough with certain terms and concepts. For example, understanding the way characters are stored in computers, understanding numbering systems, such as binary, octal and hex. In brief you get acquainted with the machine and concepts.
2. Learn operating system well. You develop software that runs on operating system. Any deficiency in this department will show off later. Your operating system could be Unix (or one of its flavors) or Windows (Dos included).
3. Invest heavily on a programming language. Of course, it is "C". Learn it and understand what programming is all about. Remember, "C" is the turning point in your journey. If you can enjoy "C", it means you will enjoy programming and your life as a programmer as a whole. "C" is to be taken more as a means to learn programming and not a language that will get a job after you complete it (well, even that could happen). Make no mistake - You can learn programming only by writing programs. So, make sure you write not less than 100 programs in "C".
4. Then understand a Database Management System (DBMS) such as Oracle. Most of the computers are being used only to manage data. A DBMS is used to store and manage data. It is very important for an application programmer (who develops programs to solve business problems) to understand RDBMS, SQL etc. Don’t hesitate to spend your time on DBMS. I assure you that you will never repent. The aim is to get conversant with queries, stored procedures, triggers etc.
5.If you have decided to concentrate more on Web Development (I feel you should do that), then HTML, JavaScript and DHTML are very important. You can even try to know a few other tools used in Web designing and authoring such as Flash.
6.Now, the choice is between Java and DotNet (or both). Both of them are good. Which one you use, depends on the company that you join. I suggest you learn both. DotNet is on interesting side. Java is the choice of any company that is not interested in Microsoft. Read my blog about the choice between Java and DotNet at Java Vs. .NET. But remember, learning Java doesn't mean just learning Java language. You must learn Servlets, JSPs, EJBs etc. Similary the most important thing in .NET is ASP.NET.
In fact, there is nothing like how much time a topic will take. It varies depending on various factors like your ability, background and how much time you can spend in a day etc. So, I suggest you assess yourself.
Beware of training institutes, which are ready to teach anything irrespective of your background. Marketing executives of these training institutes can NOT be your carrier guides. Most of them hardly know anything about IT industry.If you feel you need to contact me for any suggestion, mail to me at srikanthpragada@yahoo.com, with your background and whatever other relevant information you have.
So, Keep Learning.