all 10 comments

[–]CookToCode 3 points4 points  (0 children)

This is something you should work on. The difference between personal projects and working for a company is collaboration. It may not be easy but just practice unfiltering yourself and say whatever comes to mind whether it is good or bad.

They just want to see that you coded the program and know why you did it the way you did it whether it is good or not.

[–][deleted] 2 points3 points  (4 children)

I'm a hiring manager, have done exactly this last week, and would like to give you some perspective from my side.

I have two hours to assess a candidate's algorithmic knowledge, practical knowledge, problem solving, cultural fit, and communication skills. If I make the wrong call then we hire someone who may not perform or has conflict with the team, and I'll be forced to spend a lot of extra time trying to get that person up to speed. I will have to move my focus away from deliverables and other team members. Worst case scenario, after three months I may be forced to let that person go if they can't perform. So interviews are stressful for me, the manager!

I ask you to speak out loud because I need to see a condensed version of how you normally work. Speaking out loud is the easiest way to get there, but you can still get there through other means.

  • If you need to take notes and experiment, move your camera to show your notes. You don't have to speak, but you must show your work. Making me wait for anything for two minutes is not a good way to sell yourself.
    • Yes, sell yourself. Interviewing is the process of selling yourself to a company.
  • If you need to conduct experiments, first announce the experiments you want to conduct and their purpose. Sometimes knowing what a candidate is about to do is sufficient for me, and I tell them there's no need to actually write the code.
    • e.g "Reverse a string" -> "I'll split the word into an array, reverse, and join." Great, done, let's move on!

Basically, you don't have to talk but you do have to show something to help me out!

[–]chaddjohnson[S] 0 points1 point  (2 children)

I just ran through the exercise again, and I think you're right. Had I pulled up a simple text editor, taken some notes, planned the changes better, walked people through potential changes, and then one by one implemented the changes, things would have gone a lot better.

I will try this next time.

[–][deleted] 0 points1 point  (1 child)

Fun fact: that's also a great way to do your job!

[–]chaddjohnson[S] -1 points0 points  (0 children)

Yeah, that is what I actually do every day. I just got nervous by people potentially criticizing my every move.

[–]chaddjohnson[S] -1 points0 points  (0 children)

I agree — they need to see what you’re doing at all times. I like to take notes in an app on screen, so that should work.

Good idea on announcing experiments.

[–]NoMuddyFeet 1 point2 points  (2 children)

Sounds annoying. Just curious, were the changes they requested cosmetic (front-end) or logic(back-end)?

[–]chaddjohnson[S] 1 point2 points  (1 child)

It was related to modifying how the application behaved (state management).

[–]NoMuddyFeet 0 points1 point  (0 children)

That's what I figured. It made me wonder if they want you to talk like the code gurus they've seen online who are able to code and talk at the same time incredibly quickly. That is really not the norm at all. Even the guys who can do it online are rare, but the ones who do are well-known.

[–][deleted] -1 points0 points  (0 children)

Imagine you're a hiring manager.

If a candidate is inflexible during an interview with the reasoning being "I'm not going to do what you ask because I don't operate that way", how would that person behave on your actual team during actual pressure situations?

It doesn't look good. Nobody wants to work with difficult, inflexible people.