6 ms·
<rant> If I'm a good C programmer, if I grok Lisp, if I'm fluent in Python, if I can accomplish damn near any file munging task from a bash prompt, and if I ha
by BrandonM 16y ago
<rant>
If I'm a good C programmer, if I grok Lisp, if I'm fluent in Python, if I can accomplish damn near any file munging task from a bash prompt, and if I have an understanding of component-based development, then I should be suitable for the vast majority of programming jobs. Yet something like 90% of job postings require X years of experience in Ruby, PHP, Java, or some Microsoft-specific language. Many of the interesting programming jobs have chosen to select for a language that I could learn in a couple hours, work with in a couple days, and use well in a couple weeks, but because I don't know it right now, I'm not hire-able.
Background, intelligence, and work ethic be damned, you need Ruby and Rails experience to work here, because after all we have many applicants and someone is bound to fit all our criteria. And while we're on our soapbox, why-oh-why are good programmers so hard to find? Because you're not even trying. You have too much other crap to do, and you're just looking for a quick, safe reason to reject everyone else and have a couple people conveniently left over to choose from. And no, I don't know the ins and outs of b-trees anymore, but give me some time with Google and vim and I'll have a C solution ready to be tested. You know, the way real work is done.
So yeah, I suppose I do find myself bitter that I'm expected to pick up a trendy language and platform (and recall every data structure I learned 4 years ago) to even have a chance on the job market. From the outside it just looks like a giant Ruby/Rails clique (or PHP/Cake, or Java/Spring, or whatever technology your company has happened to fall into). We're all forced to learn something that we don't actually need -- we can already get it done with similar effort in another way -- just for you to consider hiring us. And everyone has a slightly different stack that I have to go teach myself just to avoid looking like an idiot in the application process.
And it's not just Rails and the languages I don't know (yet!). Even the Python job postings I find almost without fail require experience with Django or some other framework du jour. I mean geez, how long does it take to learn a freaking framework, especially with a bit of early guidance? Stop selecting for the wrong criteria!
I'm not one of the ones typically "bashing" Rails, but I understand the frustration of being forced to learn a bunch of crap as part of an elaborate mating game of inefficient, badly-designed hiring practices. Just throw some work my way, give me the email of a knowledgeable employee who can answer occasional questions, start me out at a below-market rate, and evaluate my role and contributions in a month or two when I've had a chance to get acclimated. The filters that employers use are such bullshit, and then to make it worse they slap us in the face by claiming that it's impossible to find good programmers.
</rant>
What was the question again?
- jacquesm 16y agoI think that if you are able to learn those languages and frameworks in a couple of hours and you can be productive 'well' in a few weeks that you should maybe invest those few weeks times the number of framework/language combinations that you come across in those job postings, just so next time around (in a few weeks that is) you will be hired. For me it's different. It takes me a long time to really know a framework (and a language too), the up-front cost is for me ridiculously high and so is the cost of switching. I take a huge hit in productivity as soon as I hit another language and it takes me quite a while before I'm back up to speed. I'm 'old school', as in I don't use an IDE, I pretty much memorize the documentation and by the time that I think I'm fluent on a platform, I usually really am. For you that's obviously different, so don't rant, go and spend that time and you'll be fine.
- BrandonM 16y ago> I think that if you are able to learn those languages and frameworks... you should maybe invest those few weeks times the number of framework/language combinations that you come across in those job postings, just so next time around (in a few weeks that is) you will MAYBE be hired. The point is that many companies have sightly different stacks. Your company wants a programmer fitting X criteria... I go fulfill that on my own time while I'm working another full time job, applying to other jobs, and trying to develop personal projects because everyone wants those now too and you then decide that I'm not a good fit, and I get to go do it all over again. Of course it eventually converges as I learn how to build a blog 20 different ways, but why not treat programming jobs more like apprenticeships? The way it is now only makes sense for people who are happy to spend 12-16 hours a day in front of a computer contemplating technology. > For me it's different. It takes me a long time to really know a framework (and a language too), the up-front cost is for me ridiculously high and so is the cost of switching. It's like that for everyone because we're forced to wrap our head around a bunch of seemingly-arbitrary design decisions in a solo quest of technology dominance, with haphazard how-to posts and incomplete documentation as our guide. How much easier would it be to learn a company's technology stack in the context of the work you'll be doing, with the guidance of someone who's already working with it? > For you that's obviously different Not exactly. I just think the entire setup right now is grossly inefficient and requires a bunch of otherwise valuable employees to bang their head against a wall for a while before anyone will give them a real shot.