Step back and think again: How much do you know about languages you are using?

Recently I did many interviews for position of both Jr. and Sr. Developers. Here, I will not talk about the interview itself, rather the lessons I learn from those interviews. First, let’s talk about the context: I am focusing on the technical aspects. And:

  1. I know those  candidates are doing very good job at their current position since they get good paid for their job
  2. I know what people usually put on their CV
  3. I do not want to criticise on anything or any skill they have. And I assume what they write in CV is what they mean.

In candidate’s CV, I usually see these:

  1. C#: Advance, 4-5 years experienced
  2. Java Script: Fluently
  3. Other technologies (frameworks, languages) that are said as: expert or at least many years of experienced

However, when I started to ask some questions about C#, such as Event, Delegate, Parallel, Value Type, Reference Type, Argument passed to method, … I got many bad answers. Some did not know Event and Delegate.

Then I asked myself a big question:

WHY?

Then I started to think: What happen if I step back, honestly ask myself these questions:

What do you really know about C#? How deep you are in the languages you are working it day by day? And what kind of features that C# offered that you use most?

Fact: I have been working with C# for 10 years. I code C# everyday. However, sadly speaking, I have not known the language, the tool that feeds me much. The same answer goes for other tools, languages.

For fun, let summary what I usually do with C#:

  1. Create new class
  2. Define class, member, property, method
  3. Basic types: int, DateTime, string, …
  4. Lately, I coded with asynchronous style, but not much

Most of the things I do with C# are there since C# was created long time ago

OK! That are enough for fact and sad news! What do I learn from all these:

Sharpen your knife

That is: I will focus on learning deeper in the languages I work with, in the frameworks I used. For everything I learn, I will tell myself: Take a close look, a deeper step. Make sure you understand it.

The more I know about them (the tools I used) the more joy I have at work.

So keep learning!