Posted: 21st Feb 2010
I was part of an interview panel 2 weeks ago, helping a company I currently do consulting work for, hire a new developer. I took up the offer wanting to learn something new as I had previously not been a part of hiring process for a developer. I like getting to know people and other than programming/designing/sketching etc, human behavior is something I am very much interested in.
We decided not to focus on detailed technical questions, as there was a programming task to be done by candidates clearing the first round of questions.
- Q:Your favorite programming language and why do you prefer this over any other programming language.
- Q:Ever has a difference in opinion at your previous workplace? How did you resolve it.
- Q:If I told you about a project we just agreed to do and asked you to take it ahead from the brief given, what would your next step be?
- Q:Whats your favorite web application? Why do you prefer this over any other web application out there.
- Q:What types of books do you read?
It was a great experience getting to sit on the opposite end of the table and ask these questions, but since two days I started to think, how I would answered these questions.
Here's my answers to the questions above. Hope this help someone.
PHP and Ruby on Rails in the order I like them. Although I have started to like Ruby on Rails much these days.
The reason I like PHP is because I have been working on it since 5 years now and over the years have started to enjoy coding in it. Having spent so much time learning and writing PHP codes, I find myself very comfortable working with this language. I like trying out new frameworks and PHP makes this process easy. PHP also helped me learn OOP in a much better way as compared to Java.
I think difference in opinions are good. It helps get a perspective on how people think about a given problem differently.
A particular incident I can think of is at my previous workplace would be this. I was observing our company website traffic for a while and decided that presenting the home page of the website in a better way, would improve the sites conversion rate.I decided to redo our website in a way I thought would be much better than the current version. I spoke with my manager about the new layout/design I had in mind and my manager liked it very much but did not agree to go ahead with the design.
The reasons why we could not go ahead with the design was mainly financial from where my manager saw it. We spoke about the best way forward to improve the conversion rate and moved ahead accordingly, keeping the new design aside and instead focusing on re writing the text on the home page.
It would depend on the information which would be given to me. My first step, if functional/design details have been given would be to read through the project brief and make a list of all the things which need to be done to get the project started.
For design, I prefer to first sketch the layout on paper and then get started with HTML/CSS. Instead of working on the design in one whole chunk, I prefer to make small incremental changes to the design to get it displaying right on screen as per the agreed layout.
For programming, I prefer to start by writing down the functional requirements of the project. I would then start to look for any available application/software which does similar things to what we are trying to do. If something matches, I would download this application and then start to work on the program and get it integrated with the front end. If none of the currently available softwares jelp with the project, I would start communicate with the project manager about this affecting the project delivery date, and then and start coding the functional requirement one by one.
Once the backend and the front end is developed, I would start integrating the front end and backend to get the first draft of the website/application running.
Testing would be my next step, where in I would run the application through a few demo tests to check that there are no major errors.
Once the initial draft is ready, I would then upload it onto the testing server and ask the client to have a look at the website/application and send any feedback.
After the feedback is received, I would then make changes the system based upon the client feedback.
I have more than one favorite web applications, here are some of them:
1) Flickr - I like how they make photos storing/display fun experience.I have used Picasa before, but the experience of using Picasa never matched to that of Flickr
2) Delicious - A place where I store most of my bookmarks. Browser integration/plugin is why i prefer this over so many others out there.
3) Dropbox - I have started to use Dropbox a whole lot more than before for my document storing/backups. I like how it nicely integrates with my system, without making me learn something new.
4) Instapaper - My current favorite web application. I read a lot online, and between having to work on projects and write blog posts, I find myself clicking "Read Later" a whole lot these days.
I also use 37signals - Basecamp and Deskaway for Project Management.
5) What types of books do you read?
I enjoy learning new programming languages. So programming books is something I read a lot. I also enjoy reading books about Usability Engineering.
On non technical subjects, I enjoy reading marketing, business and self help books.(Related: Books I read in 2009)
