Skip to main content

So you got a job offer !!!

So you got a job offer !!! It always a great feeling irrespective of ones experience level. You start envisioning about your fatter pay-cheque, your role, your growth prospects, may be a new city (in case you are transferring).  During this euphoria we may throw caution to the wind and not do a thorough check about the organization, type of work, work culture. The consequence of our carelessness can cost us, sometimes dearly.

Through this post I just want to highlight things one should consider while looking out for jobs and while accepting any job offer. Since i am an IT professional i can and would only talk about IT companies and jobs.

  • Product Company vs Services Company: Many may not have any preferences on this but this distinction has an affect. Services company is all about billing and one almost always works under deadline pressure, delivery pressure. The story is different in product companies where activities revolve around the product. Time to market is important in product development organizations too but not as important as services organization.

  • Company's IT division vs Pure IT company: If you are driven by technology,  IT division within a large organization may not suite you. One needs to understand, non IT companies are driven by business needs not technology needs. As always there are exceptions to this rule too, but one should be aware of this.
  • Background Check: Background check is very important before you accept any offer or join a company. Try to extract as much data about the company's background, the type of work it does, the work culture, company policies. Some of the avenues for such research are 
    • Your Friends: Check with you friends, and try to see if someone has some experience with the company. Many a times you friend may get you connected to someone who can help you better in the research.
    • LinkedIn: LinkedIn is a professional network, where one can find about any company, it's current and previous employees. There is a wealth of information available on LinkedIn. You can look for your connections within the company. You could find 1st, 2nd or 3rd level connection, so go ahead and leverage these connections. Try to gain insight into the company. If possible find connection who have been past employees with the company. 
    • Company Review Sites: I know about two such sites and Check if someone has posted reviews about the company. Number may not be reliable but if there is a general trend of low numbers and bad reviews, that is a clear RED flag
  • Interview Process: The complete interview process is about selecting\rejecting a candidate. The company assess a prospective candidate through these interviews. What we may not realize is that, other way round is also true. Interviewing is a good time for us to judge the company as well. While interactive with the company employees we can get a fair idea about their talent base, their culture. Some of the things that should make you circumspect
    • Having things too easy: A good company tried to push the candidate to his limits. They don't want to make things easy for you. Always strive to work with people who are smarter than you. If the interview was too easy for you that may mean you are over qualified for the job.
    • Having Single Technical Round: Unless you are directly interview by Director, CEO, CTO etc, single technical round selection is strictly no no.Good companies do not rely on single person feedback. The more the merrier. 

This is what I have currently. I would continue to update this list over time. I want this list to be exhaustive collection of tips\links that highlights what to check for in ones prospective employer.


Popular posts from this blog

Caching Images downloaded from web on Windows Phone Isolated storage

I was helping on a Windows Phone application where the requirement was to cache the images the phone downloads on the isolated storage for offline viewing.
I wanted a solution which was simple and as transparent as possible. While researching I found  someone wrote a Silverlight converter for loading images from isolated storage. Taking that as a base I created a converted which can
Load image from web (http + https), and persist it to isolated storage.In case of network connectivity issues can load the same image from isolated storage. It does that by mapping the http url to a isolated storage location.In case the network is down and the image is neither there in cache, loads a default image, passed as parameter to converter.Here is the gist for the implementation.

To use the converter
Import the name space.Declare the converter as resource.Set the Image Source Property to use this converter like this 

AngularJS Model - ViewModel

Recently Robin Ward did a comparison between AngularJS and Ember (both the post and the comments are interesting read). One of the complaint that Robin had that AngularJS does not provide any specialized model class. As described in the blog

There is no standard Model base class, nor is there a component or interface in AngularJS that defines what a model is supposed to be.
What that means is that anything defined on $scope can acts as model, as this sample on the blog describes

For some (like me) this is the flexibility where as for others who want a more structural approach this is a nuisance.AngularJS does not even provide any definite guidelines around how the model should be actually designed to be effective with AngularJS

This leads to what we call as $scope pollution. We define multitude of properties on the $scope object and managing it becomes difficult.  Looking at the code one cannot tell what is the actual model and what properties are just to support UI logic.

Model Desig…