What are the deep reasons for India not producing great Programmers/Software Engineers in large scale?

1. The foremost problem of not studying in one's mother tongue is a true and real problem. @sankrant has already elaborated that over and beyond the context of SW Engg.

1/n
There are other contextual problems.

2. The most astounding and unfortunate reason is that there is not enough emphasis on Foundational Skills. The importance of subjects like Data Structures and Algorithms has weakened significantly in Engineering curriculum except the top

2/n
3. In Data Structures and Algorithms, students must solve a lot of problems of varying degree of complexity. That builds a perspective of Computation. Leave alone many problems, these two subjects have been completely dumbed down.

3/n
4. Depth and Hold in these two subjects are essential for students to develop a deeper appreciation of every other Subject including Software Engineering. Just these two subjects are enough to set one in the direction of being a good Computer Science professional.

4/n
5. The sheer abstract visualization these two subjects build is mind boggling. There are many aspects of Computation that you learn through these two. Every single aspect of Soft. Engg. can be miniaturized and acquired through problem solving in these subjects.

5/n
6. A second problem is really deep subjects like Compiler Design, which provide a more advanced computational perspective has completely vanished from the focus of engineering students.

6/n
7. A Third problem is lack of exposure to different Programming Languages. A Computer Science student should not graduate without programming in C, Java, C++, Perl, LISP, Prolog, Go, Erlang.

Lack of this exposure creates Engineers with limited imagination and abstraction.

7/n
8. A Fourth problem, is too much trial and error.

Decades back lack of resources made us
1. Write Programs on Paper
2. Mentally Execute them
3. Validate on Paper

Testing on Computer came late.

Today it is line by line "Trial and Error".

Hurts Competence, naturally.

8/n
9. These things are really not a tall order. There are many other higher order abilities that require a deeper mathematical abstraction and visualization.

Most students do not know this is important. Nobody to tell them. Examination bar is way too low.

9/n
10. If we put these basics back, we will reclaim a lot of lost ground. We simply do not know how to bring these back.

Once we lose something from a system, restoring it is really a tall order in a systemic manner.

We must learn to preserve the good things we have.

n/n
You can follow @SaamaanyaJ.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: