Saturday, December 19, 2009

How will you find your next job?

(Cross post from IRefactor)

So, you have decided to move on...

You have updated your CV and sent it to your friends... Then you sent it to a couple of recruitment companies... Then you sent it to all known recruitment companies...

After a while...
You have been called to an interview...and another one... and another one...

Weeks later...
You got a proposal(s) and you have decided to accept the job: The compensations are a little bit better than the existing ones. The issues are the same; After all you are paid to develop more or less according to your experience. Yet, you are pretty much excited about the change; You are going to work with new people and make new collaborations. Though minor, it cannot be dismissed, after all we are social "animals" and changing groups/places has its effect.

Hey, but did you stop to think for a moment whether the next place is going to be a better one? After all, that's the purpose of you moving on, isn't it?

Many posts are dealing with how to hire the best of the bests Software Engineers (and I am not an exception), but this post is dedicated to the searchers themselves.

Here, how you will find your next job:
A disclaimer:
-There are many ways to evaluate a company; I am focusing on more technological/professional evaluations using social media.
-Below is a short list of criteria, followed by my explanations of why those criteria identify a better company.

Learn the company's executives bio:
  • Who are its managers (Company's Web Site)?
  • Were are they mentioned (Google, Techcrunch)?

    • How often are they mentioned?
    • Do they mention their technologies/products vision in a clear way?
    • Can you identify a company's future roadmap?
Search for the company's profile (If not available, search for employees profiles): (Linkedin, Facebook)

  • Look for the current and former employees, are you familiar with any?
  • Look for the current employees profiles:

    • What is their average experience?
    • Do they have any professional blogs? If yes, then:

      • Do they deal with Software Architecture and/or Design?
      • Do they discuss innovative ideas in terms of Software Engineering or Software Management?
      • Do they contain any posts explaining company's software application development decisions?
      • Do they emphasize/teach how things are being done inside their company?

    • Does any of the employees lecture (occasionally or regularly) on Software Engineering topics? (Given that the company isn't a professional training company)
    • Does any of the employees contribute to an open source? ( Linkedin, Google, Codeproject, Codeplex)
    • Does any of the employees attend (occasionally or regularly) any professional conventions (Linkedin Events, Linkedin Groups, Google Groups, Twitter)

Search for the company's additional activities:


And here is why, in my opinion, the above criteria will help you to identify the better companies:
  • Good executives will create a lot of buzz around their company, either by being cited by others or by expressing themselves through press, articles, blogs or tweets (A good example is: Joel Spolsky and his columns here: joelonsoftware).
  • Though this is expected, clear definition of the technologies/products with consistent and proven history of achievements, symbolizes higher success of the company's roadmap (and future).
  • Moreover, such executives, usually create a supportive climate where Software Engineers thrive. In such a climate, Software Engineers are driven by mutual success in terms of products and technologies.
  • Good Engineers, in their turn, usually blog or tweet about their professional experience.
  • Real good Engineers not only discuss a specific technology, but also discuss much wider aspects like Architecture, Design and Software Management. You will have a lot of fun learning and working with such, especially if you spot the following concepts in their posts: S.O.L.I.D principles, Test Driven Development (TDD), Unit Testing, Continuous Integration and Static Code Analysis (also here). Those are the signs of people who care about high quality products!
  • The best Engineers contribute to an open source. They spend their spare time coding and refining their professional knowledge (also here). Not only they enhance themselves, but they also contribute a great deal to others (that's the beauty of the open source). Be sure, they will also contribute to your knowledge and skills when working with them.
  • Thus, being technologically thirsty, those Engineers will attend professional conventions and events and eventually will drive their companies to support such activities.

Remember, it may seem like a long and tedious investigation, but it pays back, if you really aim to find a great place to work in.

No comments:

Post a Comment