Few of my observations after having spent some time in the IT industry.
- Basic programming skills are sufficient. Know-how on how to manipulate pointers, linked lists, arrays and you are done.
- In algorithms, the most frequently used and the most useful algorithm by far is the Binary Search. Next most frequently used "algorithm" in IT industry would be Brute Force 😉
- Knowledge of SQL is necessary. Only [select * from table] is not sufficient. Update, Create (views & sequences & tables), Insert etc are needed frequently. Join conditions are a must.
- Knowledge of Networks is very helpful. Socket Programming and all those boring assignments are indeed useful.
- Software Engineering _is_ important, very important – period. Coding is _actually_ the smallest part of any project. (I never believed people who used to say this, now I believe!)
- Parsers are must.
- Operating Systems, Compilers do not have much importance.
- High-funda algos like The Shortest-Path-Algo and Dijkstra-Algo etc are rarely, if ever, used.
- There are stupid people in here too 😛
But this does not mean that OS & Compilers & High-Funda-Algos are useless. Without these a proper understanding of the working of code is impossible & without that knowledge I would have to categorize myself in the stupid-category… Yeah, it is apne muh miya mitthu, but being of a Computer Science background does help a lot!!
Parting Shot: Life without _loops_ is HELL!!