Not going to lie, I've been going to interviews lately to see how things have changed along the years and of course, look for better opportunities. It's either phone interviews with a job agents or face-to-face interviews in potential employers' offices.
2004
- Preferred languages: VB.Net
2008
- Preferred language: Cobol
2012
- Preferred language: HTML5, Ruby on Rails, Mobile (J2EE, Android)
- Requirement: Agile
Below is my checklist before going for interviews:
☑ Resume is modified to focus more on tasks and achievements
☑ Iron your shirt and trousers, wear a business tie and clean shoes, have a clean face
☑ Do research on the company or interviewer by checking out the official website or social networking sites, e.g. Linkedln, Twitter, blog
☑ Do revision on behavioural and technical questions that will be asked
☑ Be cool or at least look comfortable
☑ Have a good breakfast
Is there anything else I've missed out? If not, how the hell do I fail so much, I've been wondering. This
article does point out something crucial.
Most interviewers fall prey to unconscious biases and focus too heavily on experience rather than competence.
As a mid-level programmer who works on various programming languages (Java, Ruby on Rails, PHP) along these years, I strongly feel that I can contribute more as my skills are not fully utilised yet. But the flawed filtering process by most employers categorized me as low end programmer. On the contrary, all my ex-employers are happy to have me around in their department during my employment. My proactiveness and strong adaptability at work cannot be seen in the 20 minutes or so interview.
Ridiculously, I just can't score high in technical questions which aim to stress you up because most solutions can be found online. Of course one can code everything from scratch if you're a super coder, but what's the benefit of having a might-be buggy solution compare to modifying an existing code snippet from
StackOverflow.
One thing that annoyed me the most would be asking "Do you have any experience in Agile development?". Let's have a read on its definition on
Wiki,
Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen interactions throughout the development cycle.
May I know how hard it is to adapt to a new methodology in software development? Is it harder than paying the ever increasing utility bills or getting a payrise from a tight-ass stingy company?
In conclusion, I know that I'm
definitely
NOT suitable if a company is looking for:
- a gun programmer who eats, lives, breaths and shits around programming
- a scholar who memorises all the programming jargon
TOTALLY suitable if a company is looking for:
- a proactive, organized programmer/analyst who requires minimum supervision
- get things done in a clean and efficient way, will work ass off to meet deadline (normally don't happen though)
- produce documented codes and communicates well in a team
- propose multiple solutions and welcome discussions to pick the best
Just curious, is there anyone out there who has similar situation as me? Maybe I should just switch my profession, get the hell away from programming. Heck, I don't know, mind blown!
Related: