I'll be smart, experienced, and missing ALL the buzzwords
February 29, 2012 4:25 PM Subscribe
I'm trying to choose between two programming jobs. One company is very, very unusual for its field, and the features which attract me to that company are rare or even unique within its field. I'm worried about how taking my first job there will limit me in terms of experience, stereotypes, and networking if/when I have to change jobs and/or fields. Are my fears valid?
Company A is a geeky newcomer to a very old field. It hires smart people from outside the field, the sort of people who are recruited by Google but won't leave. It uses a particular technology stack that interests me, releases parts of it as free software, and employs or collaborates with the principal contributors of relevant open-source projects. It encourages continuing education by hosting in-house talks, reimbursing for tuition and books, and letting people move around internally to new projects for the experience.
I've heard from multiple sources, including my own experience being interviewed by competitors, that all of these features are rare or unique in the field. When I change jobs I may also need to change fields, at which point all my professional experience will be writing very domain-specific code in a functional language that appears more often in academic papers than in blog posts. I'll have no object-oriented or agile experience on my resume, and there is a non-negligible chance the interviewer will think that the world would be improved if I and all my ilk were removed from it.
Company B is a pretty standard web-2.0, not-a-startup place. I'd be writing C++ back-ends on a pretty standard stack, accruing much more readily transferrable experience. There would be no formal educational benefits, but my daily work would probably expose me to the framework du jour. My coworkers would be similarly top-notch and also more connected to the field where I expect to find my second job. And, of course, instead of being tarred with the same brush as insurance salemen and high frequency traders, I'd be working at a glamorous company whose name you almost certainly know.
I should emphasize that both these companies are great, and I consider myself very lucky to be offered a position at either one of them. I'm worried only about how Company A would look to future employers, about the perceptions and prejudices I would have to overcome. I am not worried I won't be able to teach myself C++ or agile or object-oriented when I need it; learning new skills is actually a strength of mine. I am worried that I won't be able to convince future employers to give me that chance.
And, of course, there's always the siren song of Company C, which is a century-old player in a millennia-old field and sounds like it would be the best culture fit I'm likely to find anywhere. Formal mentorship programs, full tuition reimbursement for any class at all, a culture of aggressive and evidence-based optimization in every aspect of their operation, and incredibly smart coworkers from all backgrounds, from medieval studies majors to mainframe hackers with decades of experience just in this one company. Of course, they have hardcore mainframe hackers because they develop in COBOL and VB.NET because technologically speaking they're still ambivalent about the nineties...