A little complex situation here -- or maybe not. Be warned, it's a long, elaborate post and I am genuinely hoping to get useful, sensible inputs from fellow ranchers. I am thinking about all this for last few days now, and I am reconsidering pros and cons of available options. Your inputs will be highly appreciated here, especially from ppl who have been in similar situations in life.
I work for this smallish start-up here in India for almost last 2 years, and overall I have around 6 years experience now. I work as a consultant here (so no regular employee benefits as such). My work involves
J2EE with
struts, Velocity and all but no EJB. I have to interact exclusively with US team, consisting of all Americans and I share a good rapport with the team. We do follow very high standards of distributed development (including nightly builds, nightly tests) & do test-infected programming; with minimum fuss and non-technical overheads (except HUGE streamlined communication via web-based tool). Work is pretty good, work culture is excellent, boss is technically very strong, perfectionist and usually fair (touchwood!!!

). Payment also is not bad!
In short no serious complaints regarding work (maybe occasional grumbles...but that's natural...one gets bored), payment and team. However, I have recently started wondering if it would be better if get associated with a bigger company or well-known MNC. When I took this offer, I had another offer from a big, reputed company (4th biggest in the world) but I did not accept that because I was unsure of my role there. I have worked in bigger companies earlier, in fact I started my career in a pretty prestigious company at that time. I have seen how work is done in those so-called bigger, well-known companies ad have seen closely how my batch-mates (technical ones) were frustrated in those companies. I have seen/experienced what joke CMM level companies make of development, I know CMM level does not mean a good company, if I am interviewing I can figure out in flat 10 mins if the candidate is following processes or not. I have myself worked on things like C on Linux, ASP, WAP, Java/Servlets, Smart
Cards and all that in the very first year in my first company. After every two months was working on something new, it was exciting at that time and I did get exposure to diverse technologies. But in last 2-3 years I have consciously tried to get associated only with product companies working on Java/J2EE, for I am happy coding in
Java (C++ would have been better, but I missed that long ago...) and related technologies. As for enjoying my work and striking balance between work and life; I haven't regretted my decision as such. I do get affected a *lot* if I dislike the work/work culture and it does matter to me a LOT what I do between 9 to 5 when I am at work. I am not someone who can code crap and stay happy because I am working for reputed XYZ company. There are those who can do that without any problem, and are happy because of the brand equity of their company and recognition that it brings them. I do however sometimes miss the adulation that one gets when he/she is associated with a big company! For most ppl it is just the brand name when they can't see and assess what you do, that's understandable.
Now, I am having few serious doubts now if I have to continue working in this company for long, I personally don't have any problems, I like my work and I am paid well. But I would like to get inputs about my apprehensions from professionals from diverse backgrounds, experiences and culture so that I can decide accordingly. This is also in a way validating my own thinking with wordily wisdom. Anyway, my doubts -
(1) Brand Equity -- Does big brand name *really* matter for HRs all over the world, or do they go through resume and assess it for its worth? I do have few other achievements and I am sure that my profile now shows that I am proactive, well-rounded and active contributor to the team and Java community. On couple of occasions when client and PL/TL got a chance to go through my resume along with HR, I was short listed and preferred candidate for them. So a technical person can understand that this resume dos show good work exposure/experience, but I am not so sure about HR ppl.
I am writing this elaborately because general tendency here is to favor/prefer bigger company names and I have also seen posts here which say that you're valued only if you're from a bigger company. I think one poster even mentioned that 5 years in smaller company is considered as 2 years in bigger company. I hope such jokers are less in number in HR. In fact, I have often seen that ppl working in smaller to mid-size company often show better problem solving ability and better common-sense as they have exposure to all aspects of development and even deployment. I can assure you that you need to everything right from fixing that PC/network problem in a smaller company.
So in that sense, is it worth sacrificing good work and getting associated with big brand name just to get a resume sticker that attracts HR?
(2) Second concern is regarding work -- I have consciously chosen to get associated with product based company after my initial diverse exposure and projects. It has given me deeper understanding of technology and system; however, I am also wondering if this would mean getting outdated in the long run? Our product really is a package of services and is indeed huge. So there are enough challenges and diverse technology there to enjoy, though it's mostly Java related technologies . That's not a real issue...but again, I am wondering more about perceptions here, as such I believe technology is secondary and your ability to solve problems & apply your learning that makes you a better developer.
(3) Job Stability -- Being a consultant I am not really getting any employee benefits. I have to take care of everything and taxes are pain. But this is sth that I have learnt to manage. My concern is this job "less stable" than conventional employment? How "stable & permanent" is permanent job? If sth goes wrong tomorrow with Indian IT industry and outsourcing is reduced to a great extent, what guarantee ABC company employee gets that he will not be retrenched? On the other hand if I have put-in efforts to shape up this product and my knowledge of system is valuable here, am I not more "stable" because of my value in the company as long as product/services we provide are in demand (they should be, we are still beta and there's huge growth prospectus)? If I continue and enter third year; this would be the longest that I have worked with anyone. I do have my arguments but somehow I am not convinced myself. Does it make sense in the long-term to opt for proper employment? What do you guys say?
As for getting closer to long-term goals, after 10-15 years from now probably I'd do sth entirely different...like writing maybe! It may not get the same money but I will be contemplating that option because it really appeals to me.
(4) Miscellaneous - Well, there are some minor annoying problems as well. Like Home loan processing takes time, the HFCs become more reluctant etc. I don't get "free periods" in between that I got in-between projects in bigger, consulting companies, socializing was much more (but I get freedom & flexibility here). But then, I am sure when I was in employment there were other types of issues -- right from finding obnoxious boss to dirty corporate politics and dirty tricks played by some reputed ppl and so on. There are always some advantages and some disadvantages.
Here I'd like to get inputs from various ppl about their experiences while working in different arrangements and why they chose what they have chosen. Maybe I am unable to think from that perspective now.
(5) Anything else -- Maybe I am still missing out something here...This is more of a loud thinking, rambling. I'd appreciate if you guys can help me with your inputs on all these issues and even other issues that I am unable to think of at this moment. I don't need *advice* as such, but inputs, suggestions to make me see/realize those things so that I can decide accordingly. The conflict exists because both options do have very strong advantages (but mutually exclusive) of their own; and I am definitely *not* unhappy with what I am doing at the moment. However, when others start criticizing, one is bound to ponder over this....
So do I continue what I am doing now (which I do enjoy) or should I plan a switch to another bigger company? Your inputs will be highly appreciated.
TIA,
- Manish