When I was looking for a new job it always puzzled me that companies looking for senior developers, team leaders, architects and Dev managers were asking me to fill out silly hackerrank style questions such as :
* How to effectively measure the diameter of a tree
* How to compute Prime factorials
* If two eggs are all you have and you have 100 story building...
Unless you are specifically looking for an algorithm related developers, can we stop this lunacy?
This is not the stuff 99.9% of developer and tech leads have to deal with in real life. Here are some questions that will tell you if that person can really help in your team. Unfortunately it's hard to "measure" the answers. But I'll try.
If I were building a "hackerrank" website:
1. You have a team of 12 people spread out across three different locations. It takes an hour to get to one location (A) from your house. 90 minutes (without traffic) to get to the second location (B) , and 3 hours (no traffic) to get to the third location (C). Each person in the team seems to be over committed: they are behind on things they haven't even started yet.
The people in site A have knowledge abouttechnology T and T2. The peoplein site B have 1 person who knows about technology T and all the rest know about a technology T1. The people in site C know about technology T but not about T1.
There are 7 people in site A, 6 people in site B and 2 people in site C.
The project manager for the highest priority project is hounding you because a project with technology T is 2 months late. However, all the people who know technology T are already busy working on solving this and everyone else can't help you from your group.
What is likely the root cause? what can you?
A. Root is cause is the project is demanding things that are unreasonable. Plow onwards and hope for the best.
B. Root cause is project is demanding things that are unreasonable. Tell that to the project leader and your manager.
C. Root cause is there isn't enough cross training. Plow through and do some cross training when the fire is out.
D. Root is cause id there isn't enough cross training. Stop all other work by your group and do cross training so people can help the folks in site A get the job done.
E. A and D
F. B and D
G. Other (open ended)
2. The project manager is complaining about the amount of of bugs found in production, and you know that your code quality sucks (you just joined and took a look at the code). What questions must you be able to answer before starting to fix this?
A. What's our deadline(s)?
B. What other commitments do we have?
C. Why are people writing bad code?
D. Is bad code really the problem?
E. What's our code coverage?
F. B C and D
G. A D and D
H. B D and E
I. all of the bove
J. none of the above
K. Other (open ended)
3. How would you measure your success as a tech leader?
A. The quality of the code my people write
B. Our code works in production
C Our code works in production and is maintainable
D We live up to the targets provided
E It's fun to work in our team
F The project manager likes our outputs
G I am not a bottleneck for making decisions
4. You have a developer that no one wants to interact with because they are very aggressive. What do you do?
A. Fire them. No asshole rule applies.
B. Coach them for a few months and get them off the team if it doesn't work out.
C. Have 1-1 and tell them to behave better.
D. Ask the people that complained to talk to your developer about his/her behavior
E. other (open ended)
5. A developer sends you an email showing that he's being requested by various stakeholders to work on a project that is not top priority. What do you do?
A. Send a stern email to the stakeholders with CC to my manager
B. Ask developer to send email to stakeholders with CC to me, with the promise I will back him/her up with what he thinks is the right thing to do
C. Tell developer to find a way to support this in spite of time pressure
D. Tell developer to ignore that email
E. Find another developer to support this activity. If none are available use A or B
F. Find another developer to support this activity. If none are available use C or D
6. Which of the following design patterns would make it harder for you to follow SOLID design rules? Select all that apply.
B. Chain Of Responsibility
E (more pattern names here)
7. Write down as many uses for a blanket that you can think of within the next 60 seconds. Think out of the box.
Can you guess why I'm asking the last one?
I want to see how creative the person is. Less creative people might come up with 5 or 10. The really creative ones might find up to 20 in a minute. If you give them 5 minutes you might get 50 uses or more. Less creative folks might give up after 10 or less.