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…
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:
-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?
- 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:
- Does the company support an open source? (Linkedin, Google, Codeproject, Codeplex)
- Does the company contribute to an open source? (Linkedin, Google, Codeproject, Codeplex)
- Does the company support any professional event?
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.