Tuesday, October 30, 2007

Recapitulation of hunting for developer's job

Last months I was in process of job change, so I attended lots of interviews and now I would like to share my conclusion about that process.

Usually both job aspirants and hiring companies are prepared to examine candidate. But I'm quite surprised that sometimes both parties fail to get/provide useful information in the other direction about the company to the candidate. I understand that companies are brief when advertising job offer, because lot of information could be seen as very internal. Note that candidate is providing very personal information.

But interview should be a meeting with balanced opportunities, as not only company is choosing candidate, but candidate is choosing company as well. Job is a trade, trade works only if both parties like that. I attended few interviews where we spent lot of time speaking about me, but when I started to ask questions about company and team, people had hard time, because they were not prepared for such questions and we also had lack of time to talk about it.

I assembled list of questions which helped me to find (hopefully) right job. I was able to identify what's important for me and what's not. I also used that list to inquire potential employers about their company and work style during the interviews. Hope that the list will help both parties of our society, candidates and companies to speak about important questions.

Those topics below are useful to get birds view of the company. Whether it's healthy, stable and has business background. First of all candidate should try to gather information from the internet, hopefully such information could be found on company's web site.
  • Products, Projects & Customers
  • Business partners, target platforms
  • Structure of customers, market share
  • Business model, licenses, SLA
  • Long-term product vision a strategy

Process. This is how they do That, this has major impact on daily life in company, how they are structured, how rigid process is. Whether you will have opportunity to change something, whether they are agile or not. Stress level, chaos level, amount of boring tasks. You may like to see example of analysis and design documentation. Also product documentation is worth seeing.
  • Development methodology, project management style
  • Work item management. Time tracking
  • How they choose new features, new projects
  • Anaysis, Architecture, Design
  • QA process, Unit testing
  • Configuration management, Deployment
  • Release management

Technologies & tool-set. This is important because older technologies are, bigger effort is spent on problems with infrastructure things. Missing IDE, debuggers, old compilers, missing libraries and components, support for too old hardware count here. Do they use third party components or homegrown ? Do they have right tools for their job ? Can they easily get them ? Are they able to upgrade technology time to time ? You would like to see some example of source code, to see their coding standard, amount of comments and readability.
  • Technologies, IDE, Tools
  • Libraries, components
  • Databases, OR mappers, code generators
  • Source version control, branches, releases, merging, workspaces
  • Long-term technological vision

Working environment.
  • People, communication in team, general mood
  • Education, hard-skills and soft-skills courses
  • Long term vision for local office, head counts
  • Occasional working online from home ?
  • Time to learn new things during work
  • Work vs. life balance in the company
  • Offices, dress code
  • Company events, sport and culture events

I also learned that some recruiting agencies could heavily damage your CV you gave them, even without your knowledge. They do that to assure that the employer don't have direct contact with you. In my case it was removal not only of email address, but also of links to my blog and to my open-source projects. This hurt a lot because there are examples of my work and I could get some extra points there. Also it broke formatting of that document. Next time I will distribute PDF file.

Of course I'm interested in your opinions!


3rojka said...

You have certainly done your homework. What I would really like to see, is how to create an output and comparison of such information gathered from several companies. Not to mention that I doubt you got at least 30% of those information from one company. Anyway, it is a good summary of what an applicant should be interested in.

Lukas said...

I'm quite surprise, Pavel. Very nice job - the questions are very handy. You should have been QA ;-))