In my quest to find a new job, I've had a lot of interviews. I'm talking
$interview = range(30,40);
In person, over the phone, quizzes, tests, projects - you name it.
So I figured I would share some wisdom to anyone whom may now, or eventually be in the same boat. Through this sometimes hellacious process I've learned a few things.
The best interviews that test my true abilities are project based ones.
I know it sucks, and you have to work for free, but doing an ACTUAL project is the best reflection of the real-world application of your role. I don't know about you, but when I'm on the spot during an interview, and someone pulls the pop-quiz out of their pocket, I freak. They may ask something like, "What's the difference between an abstract class and a interface?" Something I know well and good, but at the time I can't even seem to remember what a computer is, let alone what my own name is. My brain literally does an exit(); and I have to recompile it again.
While I'm on that topic, I think the pop-quiz format is the worst way to interview a candidate. (I'm talking to you employers!) In my humble experience you don't want to work for someone that enjoys seeing you squirm like that anyway. You want to work somewhere that cultivates growth and where you can thrive as a Developer.
Go back to the basics.
A lot of the positions I have applied for are all across the board. I'm a PHP Developer, so I've been applying for Full-stack, PHP Software Developer, Web Developer, Drupal Developer, Laravel Developer. They all have very different names but are all under the umbrella. PHP/DB integration, some JS frameworks, CSS3 and maybe some DevOps as a secondary function. Sometimes I really did feel like a ping-pong ball each time I had an interview studying between those things. I found though, what helped me most was going back vanilla concepts without the help of a framework and re-learning the fundamentals. If you have those down, sticking a framework on top of that will seem less like magic and you will truly understand what is going on in the background.
I read somewhere that Ryan Dahl the creator of NodeJS said something like, It's impossible to know everything, but you can push yourself to learn the system. (I can't find the damn quote anywhere, but even if he didn't say that, it's true.)
Alright, I'm talking to you again employers! With new frameworks, new hosting services, new workflow processes coming out every day, please for the love of god stop trying to find Developers that only have experience with your specific stack. If a Developer is good with another framework or CMS that's structurally the same as the one you need to do the job, they can learn it quickly. Technology is always evolving, and again in my humble experience you want someone that can adapt to new things quickly, just as much as you want someone to have experience working with your specific technologies.
The worst thing you can do is be nervous.
I know, that may be easier said than done, but when I look back on this whole calamity the first couple of interviews I had after I lost my job were TERRIBLE. My voice was shaking, I couldn't quite articulate things the way I wanted, and I was incredibly insecure about the things I didn't know. Fast forward a couple months, and each interview is like riding a bike and you get a little better. You have your script, but you also feel comfortable going off script a bit too. You have to look at from the employers' perspective. In their mind they're thinking, I have to sit with this freaking person for a long time and 8-9 hours a day. The last thing they want to do is sit next to some sweaty, shaking robot who sounds like they just digested PHP.net. As much as it's hard, just relax and be yourself. Strangely every time I feel like I'm not too interested in a position, those are the people that are scrambling to get me on board. Which brings me to my last point.
Never stop interviewing.
I loved the previous team I worked with, they were like family. I thought I would work there forever. I got comfortable after 6 years. Then BAM just like that, corporate restructuring had me out on my butt as fast as I could blink. I really feel like if I had continued with the interview process, I could have had a better leg up on some of the earlier positions I applied for. Who knows, maybe I would have found something better suited for me than before. The world is your oyster as they say. When you see something come across your plate that looks great, you gotta jump on those opportunities, or someone else will!
Good luck coders, it can sometimes be a jungle out there and you're not alone. I wish you all the success in your future, and may the force be with you.