A very common question asked in our industry is

What are the main principles of Object-Oriented Programming? Source

Junior and entry-level developers usually have to answer it because it’s an easy way for the interviewer to tell three things:

1. Did the candidate prepare for this interview?

2. Is the candidate past the tutorial phase?

3. Is the candidate’s understanding deep or shallow?


Whether it is a job interview or student's submission, the evaluation is parallel

  1. did you do your homework? or do you give a crap? what is your attitude (habits)?
  2. did you practice to achieve a level of mastery? or what is the breadth of your knowledge (skills)?
  3. what is your level of mastery? or what is the depth of your knowledge (skills)?

These are also the dimensions of grit.

Grit is passion and perseverance for long-term and meaningful goals. It is the ability to persist in something you feel passionate about and persevere when you face obstacles. To persevere means to stick with it; to continue working hard even after experiencing difficulty or failure. Passion provides a fertile ground for improvement, achieving consistency and creativity.

To pass a test is not a long-term, and questionably meaningful, goal. It is a snapshot in time of some knowledge and an indicator what is known at that moment in time, but it is not very accurate. You would need to take many snapshots to make the assessment accurate.

https://s3.amazonaws.com/notejoy/note_images/209149.1.T-shaped.jpg

Mastery

10,000 hour rule: to master, to reach top performance in, a skill through deliberate practice focusing and systematically working the elements of the skill.

To learn a skill very well takes 20 hours