Learning Curve – Beyond Search Engines

Nobody doubts that Internet search has revolutionized human endeavor of gathering information. I have been using Internet for 20 years for now. Over the period of time, I have started realizing limits of just a “Search Engine”.

If you look back at the most prominent search engine Google, it has changed in only the following ways from black box point of view:

  1. Predictive search, which in turn killed “I’m feeling lucky”
  2. Tag based search on images etc.
  3. Infinite scrolling of search results rather than pagination
  4. More relevant search

Nothing of above was non-trivial achievement. However, it is still search, search and search. Wolform Alpha has a new approach to search – and some other search engines may have some more angles to search.

However, as an intelligent being, searching for the information isn’t enough. A lot of times another longer intellectual activity may be going in the end user’s mind. This activity is called “learning”.

My wonder is, can an engine be designed that takes all the random information on the web and draw a Learning Curve for a given concept? That means, out of given concept (keyword), can the Web be rendered in ordered manner to introduce that concept and gradually leading the reader to deeper and deeper concepts? I will call such an engine Learning Curve

Outcome of such an engine on human intelligent activity will be dramatic. Suddenly searching will sound too consumerist. If we can draw such a curve (or curves) for a given concept – and associate learning sessions to a tool like browser, potential of human civilization can be realized like it has never been. If we can make such an engine (and popularize it 🙂 human knowledge growth curve will be much steeper than current “search and get lucky” approach. If Learning Curve approach is like stable agriculture, searching is like hunting-gathering.

Next question is, how do we order the ever-increasing –knowledge-in-the-web in the order of easy to hard?

First negatives:

  • User rating of a standalone page is likely to be defrauded, misjudged
  • Asking administrators to rate the page is likely to be misjudged or devoid of motivation
  • Based on human learning habits, one way to learn may not exist

Now how it may be achieved:

  • Absolute rating of pages doesn’t make sense but relative rating does. A browser plugin may display two pages about a concept side by side with end user rating easier-harder
  • An engine storing each page’s ranking with each concept with other rating (now, that is computationally suicidal)
  • Upon next request to serve the page, the engine serves pages by rank. The user can adjust rank like chess engine according to her/his level in a particular subject. The service may not be serving pages like rank 1, 2, 3 and so on. The service may bunch pages in links for 1-50, 51-100, …

Do you think it may work? If not, what can work? Is this idea worth pursuing at all?

BTW, commercialization of this idea is easy 🙂




Employability of fresh engineers and 10,000 hours of practice – part 3

In the first two posts, we have discussed fundamental reasons leading to lack of employability in Engineering students and how massive employment drives by companies disincentivise good study behavior.

Now, let us see some approaches taken by some colleges and where they fall short.

Industry visit is one of the most popular approach. “May we visit your company?” is a common question I encounter. While such a request makes sense for traditional engineering where plants, material and scale are visible and thought provoking, it absolutely doesn’t make sense for a software company. By definition, there is no raw material in this industry. All one can see is one gray cubicle after another. The real engineering process happens during meetings and in editor programs. This process is very subtle and requires actually working.

Yet another approach is the industry interaction seminars. Typically an active college invites a bunch of speakers from various industries and makes students sit down and listen to them. The guests are then toured in the campus and the placement office typically takes the opportunity to make a case for pitching the host campus to the guests as a venue for the next campus recruitment drive.

Major problem with such an approach is that students typically return to the classroom soon after the lecture to address more pressing worries. Guests aren’t Discovery Channel narrators either. So the message, even if delivered properly and received earnestly, is quickly forgotten.

The college’s interest is no different than Mrs. Bennet of “Pride and Prejudice” – quantity of placement over quality of placement. So they end up inviting HR representatives from the biggest names possible. Such HR typically holds key to arrangement of campus interviews in administratively heavy big companies. Interestingly, while HR may start the process, it is typically technical managers who finally have to agree to hire. HR managers rightfully have their limits in understanding and more so communicating what would make a mass of engineers more appealing to a technical manager.

Third approach is now taken by some colleges. This is the co-certification approach. Realizing that the UGC dictated syllabi are terribly off-sync with industry, the colleges have set their eyes on industry certifications like CCNA, OCJP, MCSP, RHCE etc. The logic is very powerful. Certifications enhance the resume of an employed person – so it should enhance that of a fresh engineer.

This is one approach I tend to agree with. My stand on this approach is that such an approach will fulfill the necessary skills but won’t be sufficient. Here is why.

First, you need to understand that the first level of such certification is often at the level of “general knowledge” about the subject. So an entry level certificate is hardly any indicator of employability. Being in networking world, I have rejected innumerable BE+CCNA resumes at entry, junior and mid-level. [That is not to say CCNA doesn’t add value. It is a good course. I say CCNA may not be sufficient for many requirements.]

So, carrying the same logic forward, one should pursue higher specialization – the second or third level of certification, right? Not exactly. One has to understand that a fresh engineer is seldom hired for a specific skill. Breadth of knowledge and awareness are often more important than specific skills. Certificates can’t substitute for experience – and that is where increasing specialization typically fails. If a student at undergraduate level focuses too much on a skill (say a VLSI development tool from a particular vendor) s/he typically misses out on broader aspect of learning (like Electromagnetics). There is a reason why the *second* degree is called Master’s and is called “specialization”.

There is also a possibility of mistaking the tool certifications for the knowledge of technology. An RHCE is not a substitute for sound knowledge in OS. A Java programming certificate doesn’t indicate excellent grasp of OOPS concept and so on. A certificate course taken by a person sound in understanding will add to employability. Enforcing certification on the student community in lieu of a good teacher, teaching material, lack of commitment from anyone in the system or administratively hampered syllabus is a bad idea.

And the last argument against certificates is, engineering education is not only commoditized, it is also corrupted. Just like in INR 5,000/- one can buy a final year degree project, one can also buy some of such certifications. Once a person pays sufficient money, a totally different person actually writes the exam for him/her in some shoddy centers. While the campus is struggling to uphold the sanctity of the exam, so far as malpractices continue outside, students are bench-marked against eroding standards. Not very different from the current education system, I’d say.

Then there was the good old, time-tested internship. I never understood why universities shot that idea down. If I understand it correctly, number of research papers from Indian universities don’t match with American universities. By forcing students more “in-house”, professors wanted to increase “documented in-house research”. So they made it compulsory for students to attend the college in the final semester. This made the whole internship so unfriendly to time-starved industry, most programs just stopped.

There are a number of fallacies in the “captive-labor-publishing-papers” approach. First of all, research driven industry approach was a Nehruvian dream that should have been dead long back. Nothing technologically world-class has ever came out of the so-called top academic institutions of India. Face it, Indian society is innovation phobic and Indian industry is still a relic of license Raj, with no pressing need to innovate. Capital is still expensive and risk averse. Labor is still too cheap. Markets are still too undeveloped and too un-competitive if not anti-competitive. We need skilled workers more than skilled researchers – probably 1,000,000:1.

Also, not every paper turns into Google. Disinterested students and mediocre professors just increase noise.

Roots of engineering are in apprenticeship. It perhaps started when one caveman copied the other caveman making the flint axe. He was trying to learn how make an axe, not racing to out-publish the other caveman. Internship should not only survive, it must flourish.

As a bottom line, out of visits to industry, seminar by industry experts, certifications and internship, first two don’t make much sense. The third one makes less sense but has higher chances of survival. The fourth makes most sense but probably is already done to death.

In the next post, I will examine the question whether there could be any fine tuning of these approaches or could there be yet another approach.


Employability of fresh engineers and 10,000 hours of practice – part 2

Now let us shift our focus from laments and comments to the way out.

What can make engineers employable?

A lot of talk has gone into “the need of soft skills”. English is worshiped in India with fervor. Masses believe that English and computers are two cows whose tail you need to grab to cross Vaitarini.

The life isn’t so simple!

I have interviewed all the four types of candidates based on presence and absence of soft and hard skills. The most irritable candidates are the ones who have soft skills but have abysmally low hard, technical skills. Their attitude sucks because they think just by the gift of gab, they can bypass other deserving candidates in getting a plum engineering job. Once again, massive hiring from service industry also has a part of blame here. When nobody knows or expects a dang technically, the smoothest speaker wins out.

So, let us delete public speaking, group discussions and 120 wpm English from the list for now and focus on the real stuff.

(In Indian context) Why should a fresh engineer get paid? For a few reasons:

  • [Google like hiring] The fresh engineer should be a fountain of new ideas – New, original ideas are generally discouraged by Indian academia – so forget about this point
  • If that doesn’t work, [Most product start-up hiring] the fresh engineer must have excellent awareness of what is going around and offer very current skills – and UGC and universities fail terribly at this
  • If that doesn’t work, [Most MNC captive unit hiring] the fresh engineer must offer very sound understanding of fundamental concepts of their field and must be eager to learn fast, deep and wide – this is where the youth fails
  • If that doesn’t work, [Most small service company hiring] the fresh engineer must make a strong, objectively verifiable case of hard work. The fast talkers fail even this category

Any solution must then work backwards: demonstration of hard work, basic skills, advanced skills, awareness and ideas.


Employability of fresh engineers and 10,000 hours of practice

Recently I went to deliver a lecture in some engineering college in an industrial town of South India.

My lecture was practically of no significance to the college. Their bigger worry was how to increase employability of their students.

This got me thinking. If I relate back to my experience in conducting campus interviews, I can also list out a bunch of challenges in finding fresh engineers worthy of hiring. The top disappointments are:

  • Many students don’t study. In one of the major South Indian states, most MCA students pass exams just by reading “guides” or solutions to preset questions.
  • Of those who study, many don’t carry out their final year project. In the dark alleys of Bangalore, you can buy a final year project for as low as INR 5,000/- One of the boys I knew had paid so little, got a “project assigned”. All he had to do was to write comments in a comment-less code. This competitive corruption of engineering kills sincere attempts to develop a business model of assigning final-year projects to students
  • During the curriculum, projects are assigned with a narrow, key-hole, from-class-to-class perspective. There is no “carry-over” from a Data Structure course to an Artificial Intelligence course – or a Digital Electronics course to a VLSI course. So necessary breadth of view doesn’t develop
  • Because curriculum projects are assigned from a chapter to another chapter, virtually no student has any experience in dealing with
    • multiple source files
    • make or ant
    • version control systems
    • bug tracking systems
    • even a debugger – because by the time you code up to a debugger-worthy program, your semester/project is over and the kloc resets
  • Most of the time any reasonably complex concept is introduced in a text book and may be addressed in a semester, the time runs out. So nobody seem to know pointers, vector tables, graphs (in data structures), stored procedures and triggers, OR-mapping, sequential logic, analog computing – anything past half of the text book. Everyone ends up knowing only control structures in various languages
  • Because smaller, frequent projects are not suitable for any serious problem solving, Indian students must have written a million versions of Library Management system last year
  • Creativity never arises because this system runs out of time by the time someone can afford to experiment
  • Even knowledge of keyboarding isn’t a prerequisite for Computer Science/Engineering/Applications courses. So students find it frustrating to enter the program even as a data entry – and frustration keeps breeding further frustration
  • Colleges are interested in increasing the quantity in their placement record. So they invite only the companies that hire by at least dozens. Such companies are typically in the service side, rather than on product development side. Such companies usually rely more on their in-house training centers than on the university system to impart some technical knowledge to students. In my opinion, these diluted expectations for getting your first pay cheque (no matter how puny) is the second leading cause of this disappointment

Could there be a way out? Please express your views and stay tuned!

A show and tell about American Sign Language

My seven year old kid recently had a show and tell at the school.

He chose to sing  the alphabet rhyme – with American Sign Language.

I can say that learning just the alphabet using sign language has been very helpful to us – Dad and kids. [Mom is usually too busy to concentrate.] It helps us communicate through glass, in noisy environment and all. It is surprisingly easy.

I wonder why we don’t teach short sign language and Braille as parts of regular curriculum? Teaching such skills will be tremendously helpful. Here is how:

  1. It is truly “multi-sensory”
  2. It creates empathy for the disabled – or differently able. So it is a training for the Heart, not only the Hand and the Head
  3. It is useful to know one more way of expression – read above for my comments about how it is useful
  4. It is an insurance of the student against loss of a sensory organ
  5. It forces brain to think in non-familiar terms – and I am pretty sure innovation may flood if designers knew more than just graphics and alphabets
  6. It makes you better communicator, more aware and observant of others body language and touch
  7. It would make the world more leveled for the disabled because more people will be able to communicate to them. For example, programming jobs can be easily done by the hearing impaired – but the trouble is major mass of programmers don’t know the sign language to communicate to them!

My list of other skills that should be taught in early years of education is somewhat like this:

  • shorthands and typewriting
  • speed reading
  • music keyboarding
  • various means of non-automatic locomotion – like bicycling, uni-cycling, swimming, skating on rollers or ice – probably even skiing, skateboarding, rowing, kayaking, …
  • body language
  • kite flying! This single course can develop the feel for vector calculus like anything!
  • whole bunch of household skills – sewing, cleaning, cloth-folding, ironing
  • whole bunch of hygiene awareness – calorie counting, exercises, sex education
  • cooking – and efficient cooking
  • almost entire syllabus of what is called “home science” in India
  • one writing system from each type – alphabet, abjad, abugida/Indic, pictorial and Hangul – opens up thinking like nothing else
  • whole of International Phonetic Alphabet – true preparation for a globalized world
  • elementary psychology – and specially the Six Thinking Hats
  • elementary accounting
  • elementary finance
  • a book on organized life
  • judo, where you just use other party’s momentum to your favor – the essence of education 🙂
  • civil defense (in form of fire drills, CPRs etc.)
  • some survival skills – like making fire using flint, climbing trees etc.
  • game of Chinese Checkers – to tell them that life doesn’t always mean “one’s gain must be others loss”
  • group dancing – develops a sense of discipline, rhythm – and opportunity
  • drama – develops a lot of good things – presence of mind, memory, empathy, teamwork, presentation, listening, coordination and what not!

What do you say?