Part 1 was a technical question that I ask because so many “strong” developers cannot answer that technical Java question. Part 2, is more about the valuable soft skill of teaching.
One of my standard questions that candidates constantly struggle with is the most simple and yet the most subtle:
Teach me something you know.
If a candidate cannot teach “something”, then they have not completely thought through and learned the subject. Someone who claims to be “strong” in Java, databases, or cooking is only strong if they can articulate the core essence of their knowledge in a way that a beginner can understand.
When developing code at a startup, a good “teacher”:
- understands that it is the teacher’s responsibility to reach the student. If the student doesn’t understand, then a good “teacher” patiently retries until the student does understand. In a startup, the “student” is a new hire, a sales person or the customer;
- writes excellent code comments (for the student),
- is patient and not egotistic when others don’t “get it”;
- can articulate their own problems so that others can help;
- can give presentations to non-technical people;
- is empathic;
- is motivated to do their own learning.
- is enthusiastic
So what can you teach?