How do i become a fit programmer for the indian IT industry?

Status
Not open for further replies.

achuthan1988

Broken In
I am currently in the last and final year of my GNIIT.The course started in November 2009 and will end in july 2012.The topics they have covered are
1) C and C++
2)C#(CUI and GUI)
3)SQL server 2005
4)Data Structures in C#
5)Core Java
6)ADO.NET(which i absolutely hate)

I am really disappointed with GNIIT.(Not with all teachers).They dont emphasize much on practice of coding.For example they would have done about 10 programs for c++.They just emphasize that you can do programs if you know the fundamentals.Whatever has happened has happened...
I want to redeem myself . I have bought head first c# and java.. and i love it..
How do i become a really good programmer for the industry?(I know it is about practice,practice and more practice 1)But what i want is good reference books and online resources. 2) What other programming languages are also essential to learn(PHP,Python,HTML,CSS)
.
 

abhijangda

Padawan
I would say start with Python, as your fundamentals are clear. It would be easy to learn and to become a pro. programmer in Python. Learn GUI toolkits, like Qt, GTK , wxWidgets with their bindings in many languages. Also if you will start Linux programming I think it will help to brush your skills through practice and more knowledge. Mostly you will require C, C and Java. Python will be required for mostly Linux related stuff. Also use updated
C/C compilers like gcc, msvc not decades old Turbo C .
 
firstly, dont hate a specific framework, like or dislike of lang,technology, framework will come if you have worked extensively on similar frameworks.

work on algorithm POV, to become a good developer. coder needs language, but developer needs rock solid logic. that will only come if you work on self or other projects

HTML & CSS are must
 
I'm not an expert programmer.
But from my life, what i learned is that, to become good programmer you need to see the output of a real project and work with them.

To do the coding there are many guidelines to follow,which differs with companies.from naming variables,writing comments where ever necessary, when to make a class,when and where to use a function Blah.. Blah.. all those things. You need to develop a programming style of your own. I think one will develop a style after he starts working for a firm. But it is better to practice and be familiar with codes.

So the best thing you can do now is go nd study under someone who is working in some software company who is a software developer. You can do this only after creating a good base in any of the programming languages. C/C# nd java should satisfy for most windows apps that we use. Learn them and u r good to go..

When i did my engineering i couldn't follow these. I didn't take the mini and main project things seriously. But u need to do them in the xact way how a s/w developing company does. Take a simple and easy subject and do it in the correct method. I'm not good in explaining all of these in detail (You may refer Software Project Management Texts for those).
 
Last edited:

rajarshi

Right off the assembly line
Can anyone post their "evolution" as a programmer.What i mean is how you started-books,practice etc

I can tell how I evolved ... I have a four year engineering degree in CS but that hardly helped ...We would just by heart programs go to the lab and make sure no semi colons were left ..However , during my placement I went in like an Ox and came out as a man with purpose . For 1 year that sense of purpose drove me to learn programming and a lot of CS.

So the first step of the "evolution" would be the Sense of Purpose .

The second step would be to pick up any general purpose procedure PL language and learn it from a good book . My choice would be C . Book would be Yashwant Kanetkar . Do not go to OOPS yet . Next start learning about solving problems algorithmicly . The bible here is " The Art of Computer programming " By Knuth . A really heavy book . If you could do all the above ..Congrats ..you have done the hard part . Now you need to practice , practice and practice . Code , read other peoples code , experiment with your code . When you are comfortable try doing some real world projects . If successful you have an open highway to traverse .

From here on you have already evolved from a chimpanzee to probably the Neolithic man . Start reading on programming methodologies ( OOPS assuming you want to make some fast money ) , specific PLs ( suiting your situation like web programming etc , databases , AI etc) you would also have to learn about frameworks and CS related branches like Networking , DBMS etc

Are you still here human ?
 

rajarshi

Right off the assembly line
IMO Kanetkar is a very good book not well written but has all most everything about the language that you need to know and UNDERSTAND . It is a little undervalued especially among the more experienced coders because it is not made for them . This is a book more for the begin errs . Excuse the pun !!!

K & R ? Well apparently C was standardized based on the book in the early stages . It is very terse more so for people for whom English is the second language . You could find about 60 pages of kanetkar in 1 page of K & R . I'd a colleague you had once said K & R is for embedded programmers whose micro oven freezes food rather than heating it . :shock:
 
OP
A

achuthan1988

Broken In
For c# i like head first c# . No other book is as easy and fun to read as this one.The complete reference series is a good book but i couldnt use it as a textbook.I used it only as a reference book.
 

esumitkumar

Call me Sumit
Being in IT industry [7+ yrs in testing]..I have seen my dev frnds ...One thing is sure learn Core Java n J2EE..it will never die (seems so) ..still popular
 

remrow

This.. Is.. Sparta..!!
Great ideas... i would like to learn about python... where can i get its compiler like those turbo C++?
 

Garbage

God of Mistakes...
Being in IT industry [7+ yrs in testing]..I have seen my dev frnds ...One thing is sure learn Core Java n J2EE..it will never die (seems so) ..still popular

Agreed 100%. Almost every IT company has projects in Java. Switching job is easy. :)
 

Liverpool_fan

Sami Hyypiä, LFC legend
A kitten dies whenever a Yashwant Kanetkar's book is recommended as a C Tutorial. So lads, let save the kittens. Thread Closed for them.

P.S.: Head First C is supposed to be releasing on Jan 2012. It's quality apparently, as described our TDF colleague Who. Judging by other HF books I bet it is. Keep an eye on it.

P.P.S.: Reopened. Please don't kill more kittens.
 
OP
A

achuthan1988

Broken In
Right when you open kanetkar you see the bad quality of printing. It looks like one of those guides you used to buy a month before an exam in school from a second hand books store.

Can anyone give me good books having exercises for c++? I have started taking c++ classes for class XII students CBSE. they recommend sumitha arora(better than kanetkar). Some of the exercise programs are tricky.

Can you guys post your evolution as a programmer till date?


My journey:

1) Exposure to C++ in std XII
2) Doing GNIIT currently ( Have had exposure to C,C++,C#.NET,ADO.NET,SQL server,JAVA etc but yet to be a master in either one)

Books followed
1) Sumitha Arora for C++
2) NIIT material for C++,C#.NET,JAVA,SQL server
3) Head first series for C#,JAVA,SQL

please do post your learning styles,materials and your personal opinion of your programming skill :neutral:
 

rajarshi

Right off the assembly line
Hi ,

I have 2+ years in application development and another 2 programming in the security field . These are my personal views .

My learning style is getting basics correct . A lot of times when you were in a hurry to devour more , your knowledge might become superficial . With Computer Science in general and programming in particular superficial knowledge is very risky if not more than say medicine . So get your basics right .I would strongly suggest you to be proficient in C and computer architecture before say C++ or Java .Lot of the newer PLs make things abstract and we take things for granted so you end up harboring wrong notions as to how things are actually working . Start building from grounds up. .

Also , I think another aspect is learning the philosophy of programming . You know stuff like algorithmic problem solving , discrete Math , programming principles etc . If you have time you might want to go through Finite Automata and stuff like that .

Sometimes it just needs practice . It took two years for me to get comfortable with the idea of recursion .

Also , a lot you could learn ( and need to unlearn) when you are actually working on projects . If you are not working anywhere an alternate way would be to initiate small achievable projects on your own .

Books are the only way I could learn , not much of a monitor reader , all though I'd made use of online forums when neither books nor my brain could help . Not much of a head first person but whatever suits you man .

Best of luck !



Might as well add my journey

1. Qbasic : do not remember which book Balaguruswamy I think .(10th)
2. Dbase 3 plus : Hammit (10th)
3. C : balaguruswamy (12th) , Schildt ( College ) , kanetkar ( placement , dead kittens or not ).
4. Analysis and Design of Algorithm : Levintin , Knuth .
5. Data Structure : Knuth , Tanenbaum .
6. Finite Automata : Ullman ( what a waste !)
7. Computer Organization : Carl Hamacher
8. Operating System : Galvin
9. Java : Schildt
10. C++ : Prata
11. Descrete Math and Graph Theory : Grimaldi
12 Unix Shell Programming : can't recall the name of the author it had a green and white cover :)
13. RDMS and sql : Navathe
14. Computer Networks : Forouzan ( best book ever ) .
15. Cryptography and NS : Stallings
16 . Reverse Engineering: Eilam

These apart from the books prescribed during engineering which I'd only studied before exams and after results came out .
 
Last edited:

mitraark

Decrepit
Hi ,

I have 2+ years in application development and another 2 programming in the security field . These are my personal views .
My learning style is getting basics correct . A lot of times when you were in a hurry to devour more , your knowledge might become superficial . With Computer Science in general and programming in particular superficial knowledge is very risky if not more than say medicine . So get your basics right .I would strongly suggest you to be proficient in C and computer architecture before say C++ or Java .Lot of the newer PLs make things abstract and we take things for granted so you end up harboring wrong notions as to how things are actually working . Start building from grounds up. .

Also , I think another aspect is learning the philosophy of programming . You know stuff like algorithmic problem solving , discrete Math , programming principles etc . If you have time you might want to go through Finite Automata and stuff like that .

Sometimes it just needs practice . It took two years for me to get comfortable with the idea of recursion .

Also , a lot you could learn ( and need to unlearn) when you are actually working on projects . If you are not working anywhere an alternate way would be to initiate small achievable projects on your own .

Books are the only way I could learn , not much of a monitor reader , all though I'd made use of online forums when neither books nor my brain could help . Not much of a head first person but whatever suits you man .

Best of luck !



Might as well add my journey

1. Qbasic : do not remember which book Balaguruswamy I think .(10th)
2. Dbase 3 plus : Hammit (10th)
3. C : balaguruswamy (12th) , Schildt ( College ) , kanetkar ( placement , dead kittens or not ).
4. Analysis and Design of Algorithm : Levintin , Knuth .
5. Data Structure : Knuth , Tanenbaum .
6. Finite Automata : Ullman ( what a waste !)
7. Computer Organization : Carl Hamacher
8. Operating System : Galvin
9. Java : Schildt
10. C++ : Prata
11. Descrete Math and Graph Theory : Grimaldi
12 Unix Shell Programming : can't recall the name of the author it had a green and white cover :)
13. RDMS and sql : Navathe
14. Computer Networks : Forouzan ( best book ever ) .
15. Cryptography and NS : Stallings
16 . Reverse Engineering: Eilam

These apart from the books prescribed during engineering which I'd only studied before exams and after results came out .

I don;t think there is any better reply than this !!! This is all what i have been hearing from my seniors and friends... the choice of books also seem to be exactly as preferred in our college [ Forouzan truly is the BEST book !!! But i would like to add that CORMEN is like the Bible of Algorithms , it is taught in every country , one book for the whole world ! ]

One would think that only coding is necessary when approaching Final Year but NO ! It is very important that you have sufficient knowledge in all of the topics mentioned above , especially imo , Operating System , Data Structures , Algorithms and Databases [ only in 5th sem so still haven't come across Cryptography , Network Security , Reverse Enginerring :D ] Initially i thought once the subjects like OS, DS were over [ in 3rd Sem ] i can get rid of the books , but now i have had to get he books [ Galvin , Lipschutz ] again to study for future ......
Thanks for the post.
 

ico

Super Moderator
Staff member
I just went to Yashwant Kanetkar's Wikipedia page and here's what it says.

Criticism said:
Yashavant Kanetkar's C and C++ books are mostly used by Indian students and teachers to learn the depth of the DOS based ancient Turbo C/C++ programming environment which is ingrained in India's teaching curriculum and current generation of teachers. Code in his C/C++ books is not ANSI compliant. This criticism has not been addressed even in the latest editions of his most popular books like Let Us C, Understanding Pointers In C and Let Us C++.

Sumita Arora sucks for the very same reason and Indian education system too.

I won't even touch E Balagurusamy's books with a 10 kilometer long pole.

If you really want to learn, keep yourself away from Indian authors.
 

Liverpool_fan

Sami Hyypiä, LFC legend
And Indian IT industry doesn't really require you to be a master in any case. Strong fundamentals, good communication skills, and most of all luck is what you need.

In fact you are probably more knowledgeable than 90% of Comp Sc./IT engineers passing out.

*programmers.stackexchange.com/ques...nce-degree-but-i-dont-feel-like-i-know-how-to
 

ico

Super Moderator
Staff member
To become a fit programmer for the "Indian" IT industry, all you need not to be is a "Yashwant Kanetkar/E. Balagurusamy/Sumita Arora groomed unfit programmer."

Here's an example of Yashwant Kanetkar certified IT professional.

The title of this image is "Protest - IT Style" (yea, seriously.)

*i.imgur.com/i1fOb.jpg
 
Status
Not open for further replies.
Top Bottom