Programmers: It's OK To Grow Up
Nemo the Magnificent writes: " Everybody knows software development is a young man's game, right? Here's a guy who hires and manages programmers, and he says it's not about age at all — it's about skills, period. 'It's each individual's responsibility to stay fresh in the field and maintain a modern-day skillset that gives any 28-year-old a run for his or her money. ... Although the ability to learn those skills is usually unlimited, the available time to learn often is not. "Little" things like family dinners, Little League, and home improvement projects often get in the way. As a result, we do find that we face a shortage of older, more seasoned developers. And it's not because we don't want older candidates. It's often because the older candidates haven't successfully modernized their developer skills.' A company that actively works to offer all employees the chance to learn and to engage with modern technologies is a company that good people are going to work for, and to stay at."
they just happened to have learned the most recent stuff (which all too frequently is all the managers care about)
The experienced developer will know when not to use a new fad because they will have seen a prior version of that fad before.
We want people to spend their own time and money to train the skills that we need. There's no way we would invest in such things -- it hurts the bottom line!
One of my colleagues in in his mid-60s, and happily puttering around in modern technologies and adapting what he knows about systems to the latest tools. Writing prototype code in Clojure, using network databases (neo4j), doing interesting data modeling and generally just making stuff happen. He's learning new stuff every day, having fun - and getting to say no to job offers on a regular basis. I've been in this industry for more than 30 years and I'm currently mucking around with Hadoop, cloud computing and a bunch of the new things.
People talk about time to learn, but it's a question about making time. Would you want to visit a doctor that hasn't updated their skills in 20 years?
Alan.
Buzz word, buzzword, markup language.
I find it difficult to believe that a developer would NOT be able to pick up HTML5 in a weekend.
When you go to hire a developer you're not just looking to hire someone who can code in the latest fad language/API/SDK. You need someone who knows software development like a captain knows his ship. I promise you that 20+ years of software development will be worth way more than the 22 year old kid who knows Ruby on Rails because he learned it while studying in college. That experienced developer can pick up whatever tool your company standardized on and yeah, it may be three months before he's all the way up to speed on it, but then the years of experience will begin to make themselves tellingly felt vs. a kid who happens to know the tool already.
Hiring for the tool is stupid. It would be like looking for a columnist who specifically has Microsoft Office 2013 experience and filtering all the applicants who only used Google Docs in their previous jobs. Either one of them can write copy.
it's about the money. same with age.
Even better would be the 20 year veteran who can take those fresh out of school enthusiastic newbies and get high quality software out of them on a predictable schedule, without the "back in the day, we coded with patch cords on EAM equipment". Or the 20 year vet who is doing the new stuff and the old stuff, and can help the inexperienced new stuff guys and gals avoid the traps.
Face it, on a large project, there aren't enough skilled veterans on the market to get the job done, you MUST do it with average or below average folks. The challenge is seeding the crowd with just enough experience so that all those contributors are net positive, no matter how small.
I am so sick of this same FA reposted more or less every week or two.
"...A company that actively works to offer all employees the chance to learn and to engage with modern technologies is a company that good people are going to work for, and to stay at." So, what this guy is saying is that Programming is not a Family Friendly occupation, and that companies that hire lots of programmers think that being Family Friendly is a liability? Extremely short sighted.
Companies often times prefer younger developers because they are cheaper. It is as simple as that.
That older, incompetent developer was probably just as incompetent when he/she was in their 20's.
We've hashed this out on Slashdot before, more than once. OP is just wrong that older programmers in general don't keep up.
Study after study have shown that older programmers are generally more productive, even after adjusting for the higher salary they tend to expect.
While he appears to be genuinely sympathetic, his personal theories don't quite qualify as statistics.
I personally have 2 kids, work full time and am in grad school. That's no reason ( or any life outside work ) to not keep your skills fresh and keep working on new unfamiliar projects. It's a constant learning that needs to be worked on each project, each week.
You just need to force yourself to start reading more news relevant to the field, relevant to your work, and be comfortable with being unfamiliar with new technologies.
Doctors have been doing it for decades if not longer. This is why we learn theory, to learn the technical tools that apply that theory.
make me!
Table-ized A.I.
I've found that young vs. old is a trade-off.
Older workers frequently have a better work-ethic in the workplace, and have more experience to draw upon. Younger workers have a better work-ethic in terms of the amount of time they are willing to dedicate to work and frequently (but not always) contribute new ideas.
What it seems to come down to is: do you want experienced workers who will contribute more per hour, but who will also draw a firm line between their work and personal life, or a young worker who is willing to put in the extra time, even though a lot of their time will be spent relearning what a more experience worker already knows?
I suppose software development also has other factors. Some products depends upon experienced developers (e.g. anything considered mission critical) while other products depend upon fresh ideas (e.g. most software targetted at consumers).
I've watched a dozen, or so, "new, cool" methodologies, languages, and tools come and go over the years, mostly because some screwball "consultants" or publishers needed to sell books and training and managers who need to look useful to their organizational superiors. If a person has actual programming skills (understand a problem to be solved, state a solution in a form that a computer can understand and a human can maintain, choose an appropriate language/tool set in which to implement her specific component, work with others providing various components of the solution, give reasonable estimates of the amount of time it will really take to implement), then the current fad is an afternoon's adaptation by the programmer. Of course, "choosing a language/toolset" requires some familiarity with what the languages/tool sets provide, but that also means knowing when they're NOT useful, and not just hopping on each bandwagon as it passes.
To just tell the perspective employer that you have the skill, and learn it if you get the job.
That is tech. It takes a lot of time and effort to get good at programming; No one can know all languages, but it only takes about a week to be moderately proficient at any single one. When you are hiring a new programmer, do you really want to hire some JS code monkey (even if that is the only language you currently need developers for), or do you want to hire an experienced software developer who has the ability to rapidly learn any language.
Troll is not a replacement for I disagree.
Employers want kids fresh out of school because young programmers want to prove themselves and have no problem working 80+ hours of unpaid overtime per week to do so. For older programmers - little league, home improvements, and work experience get in the way of such exploitation. It's really this simple. No need to write any more circle-jerky, head-scratchy fluff pieces that are divorced from reality.
Doctors have been doing it for decades if not longer.
Doctors get paid a hell of a lot more and can get meaningful amounts of paid time off to do such things in.
Back in the 1980s, I had the good fortune to work with a man who had started at IBM the same year I was born. He not only knew the current landscape of development tools, he also had a vast knowledge of how we got here, what things had been tried and abandoned along the way, and he was very good at spotting tasks that people hadn't realized were necessary. I learned a lot from him.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
the experienced developer invalidated the plans and processes of the manager, exposed him for the fool he is, and convinced the manager that if he hires him, everyone will know this too.
Interview questions are minefields for experienced, competent individuals, because one never knows the relevance of an answer.
Yeah, those crazy employees, wanting to have a family life and all.
One of the best developers I know is over 50 years old, the second best programmer I know ( not me ), is 25 years old, age means nothing. What matters is natural talent, some programmers can sit down and write a great firmware in a night and some can't write one in a year, ( substitute firmware for program ).
As programmers get older they simply get less excited about the idea of pulling all nighters and doing "code sprints" because they have spouses and families they enjoy, responsibilities to others outside of work, and they know that this isn't a good process for long-term success. All nighters are fun and adventurous when you're in college or just out of school, but after a few decades in the working world you're seen it all before and simply refuse to get caught up in another "emergency" caused by poor planning, unrealistic expectations, and marketing promises.
I'm not saying that programming is a young person's game--far from it. However, inexperienced workers are not only cheaper, but also far more likely to put up with bullshit and bad management.
Who is a friend of mine that said to me casually, "Yea I wanted to build a team of young people that I could hang out with so I didn't hire anyone old". Old here being over 35!
In IT, age discrimination is blatant. It starts at 45. You should always keep your skillset up- but it probably won't help much because many young 28 year old managers are just flat out not going to hire an "old geezer" who is 45 unless they are the only viable candidate.
She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
Problem is convincing a PHB that the seasoned veteran who knows the codebase extremely well is worth the cost compared to a H-1B that will be happy with $10/hour or just offshoring the whole dev team altogether and showing how much he saved on the next quarterly financial report.
That becomes a toughie because in virtually every facet of development and IT, outsourcing seems to solve every single business problem they have in a lot of firms.
most of the programmers that I've met are in their 50s and 60s. They have Masters degrees in computer science and Information systems. They know COBOL, C, Fortran, ADA, Microsoft assembler. Some even worked with puch-card computers that ran with vacuum tubes. I must be living in a different place than Nemo the Magnificent.
Problem is convincing a PHB that the seasoned veteran who knows the codebase extremely well is worth the cost compared to a H-1B
The the companies problem though, not the seasoned veteran - because the seasoned veteran is already considering several job offers from people who do realize that value.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Actually for me, keeping up would be learning Java. Most things newer than that are irrelevant for most things I do. I used to know Java, then the language changed, then it changed again, and now knowing the language is irrelevant as you have to know the frameworks instead.
Keeping up with skills is sort of irrelevant when all the skills you learn are learned on your own. If someone can and has written their own language or OS, is it really necessary for them to know some temporarily fashionable language? Although maybe that makes people overqualified for the most common programming jobs.
Everybody knows software development is a "young man's game"? Did you seriously say that?
HELLS no, man.
First off: I've been programming since I was 8, but I was never a man, and I will never be a man, and I have never suffered under the idiotic delusion that this was ever exclusively a man's game -- young or otherwise. This is my game.
I am still programming at 40, and I assure you that youth offers no advantages over experience, either.
But, that doesn't stop me from mentoring. My interns may not be able to program like I do, but I'll give 'em every advantage I can. It's great to teach them some of those intrinsics that they don't get in school. That gives them some of the advantages an experienced developer, even if they're younger. This isn't a zero sum game. We all need good devs, so we should try to make everyone who is working with us better -- whether they are young or old. We all get better software, that way.
like knowing about boolean algebra & bit setting (a | 14) bit resetting (a & ~(14)) etc. I notice with myself at 44 that I stop giving a shit about new stuff like smartphones and java and apps and building websites. I graduated technical school just before the internet became a thing. And I stopped gaming in the 80486 era. Now get off my lawn.
You think Software Development is bad for this? At least the equipment is inexpensive and the material accessible.
In aviation, you'll pay > $60,0000 of your own money to get your ATPL all to start on a wage of $25,000.
What about medical school or law school? That's pretty expensive and comes out of your pocket.
Many serious professions require you to spend money on your training. It just comes with the territory.
My advice is: train your analytic skills and understand where thing go right, wrong, or just different. This can only be done by experience. While i learn programming languages slower than with 25, i learned to analyze code. Having seen code written by many very different people (everything from physics professors to psychologists), i understand the idea of most code better than the authors (since i see the limitations the author is placed under). If you apply your analytic experience and skills to the problem, you will be welcome to any team.
From a fair challenge like a chickenshit blowhard http://slashdot.org/comments.p...
From a fair challenge like a chickenshit blowhard http://slashdot.org/comments.p...
Any commercially sold code to YOUR credit? No. Then STFU asshole.
Not sure if this was figured into the equation: Another thing that happens to some people (perhaps mostly male) when they get into their 40's or so, is the serious introspection along the lines of: "is this really what I wanted to do with my life when I grew up?" or "do I still want to do this until I retire in a decade or two?" "Heck, a decade is nothing, I've seen a couple already!". Now I'm not talking about programming per se, but all the stuff that goes around it: the corporate money mill, the rampant Dunning-Kruger effect, the short-sightedness, "OMG look a shiny new framework/other tool or tech", etc.
I'm pretty certain, purely from personal experience, that older devs have had their fair share of "I cordially invite you to enjoy some vigorous intercourse with this excrement"(*)-type moments.
(* = "F*ck this Sh*t")
"Grow Up"? Seriously? Some of us started coding at single digit ages. I "grew up" at age 17, when I was homeless and fending for myself on the streets. Patronize someone else, moron, you don't even know what life is. Ever seen someone's skull stomped in? You learn real quick what's actually important in life once yours is on the line. I learned real quick to have a plan B: Always have a contingency plan. Idiots without one are not, "grown up."
I've forgotten more languages than most have learned, but I'd be fine with folks not being considered programmer material at age 40 if they would hire from within for management positions. Instead of employing middle management drones with unrelated "business" (Secretary++) degrees give the folks with actual hands-on experience the job of managing the people in the job they actually know how to do. Face it: Those HR goons are morons, they can't tell good from evil, or else explain how the odd Napoleon-complexes and Micro-dictators in management even got there? If HR wasn't dumb as rocks they'd require demonstrations of skill, a coding test, not accreditations: Degree mills exist, fools; This is especially true overseas. Ah, but the that's getting to the real issue: Skill sets aren't what's really important to upper management... TFA's author isn't as "grown up" as they think.
The new platforms will keep coming, but the solutions will largely be the same. Now I can undercut competition via barging onto any new platform with my whole codebase faster than the other guy can tell you why the new language is "More Expressive". I just have to implement a new "platform runtime" for my meta compiler and then I can check off that platform as a capability and deploy ALL of my existing solutions on the platform since they're written in an even higher level language, and compile down into other languages. Sometimes this means we have to implement features the language doesn't have in the target language -- If I need a coroutine in C: When returning to the trampoline record the exit point. When calling into the coroutine specify the entry point to resume at. I generate a switch with GOTOs to resume from the next point of the operations (GOTO is very valuable, only idiots say otherwise; Look at any VM). Lambda lifting mutable persistent state out of the function scope has the benefit of thread safety. Since I treat comments as first class lexical tokens the compiler-compiler's output is fully readable and commented code in the target output language and following whatever style guide you want. (LOL @ brace placement arguments, what noobs)
See, experienced coders understand languages so well they aren't even languages to us, they're just problem solving APIs: The problem-space is independent of the implementation's solution-space. When we pick up new languages or platforms we're looking for, "How does this language let me solve problem $X?", but more importantly our experience lets us identify what solutions the platform lends itself to solving. Just because a new platform comes out doesn't mean it's more capable of solving every problem. Do this long enough and you'll get tired of re-inventing all your wheels in each new platform and just create a meta compiler, as I've done.
Fortunately I've always crossed off (and initialed) that employment contract paragraph that said everything I would create (even off the clock) would belong to the company: "I don't watch TV. I have several hobby projects I do instead and they need to remain mine. If you want me to give up my hobbies while working here you're going to have to pay me a lot more. Would you sign a contract to work somewhere that said you couldn't ever watch TV?" Protip: Most places have another employment contract without that clause, just tell them you make indie games or have a robotics / embedded systems project, contribute to open source in your spare time, etc. Make your hobby profitable. That way you can always have a plan B, and you'll have more leverage in any salary negotiations: "
I am a Teniard R&D developer, multimedia specialist and controller. This article is a big joke and sure made me smile! The new trends are usually media induced and are not really worth the effort. Back in the 1990's we did javascript with xml using DOM communication... in 2004 a new catchword made everyone want to use this incredible "hybrid" method of development.. ajax and also AJAX. So what's the point. That fad was a big break in modernizing the web and it was well worth the money and effort to update the knowledge of your staff for this.... billions were to be made and that's exactly what happened. Now comes along cell phone apps... they go and spend all this time effort and dough on developing these apps that when the R&D guy comes along and shows hi studies and reports and data...that management ignores. Well, this data clearly showed that 1 in 1000 apps actually make any money and that you have a better chance of making dough playing craps. What this caused in many companies is people giving up, burnt out, sick of seeing their knowledge go to waste and feeling like being in a McDonald no matter which company you end up in.... I have seen it by the dozens. Management rarely listen to anyone that could actually know something about his best interest, so he'll go with the catchword of the day and ignore any common sense or foreknowledge of bugs and issues that will cost them lots of dough. I did retire from the field because I was always made to relearn the same thing in a different way while facing discrimination from management that the young guys "knew" more..... you get the picture. Employers don't care about what works, is tried tested and true, load tested, etc... They just want their shit to look and feel like the other guy's shit. and this we see in all aspect of our society. look at car models, computers, cell phones, houses.... We see the same thing happening in many fields, not just in development. The only real question is, is it really worth it, for you?
If a fellow gets married, *then* his creativity and productivity plummets. His time is no longer his own. When I regard the fellows I work with, the guys over 40 who avoided marriage, or have been divorced for a while, are the "top guns" to put in U.S. terms. They have both creativity *and* a lot of experience, which makes them almost impossible to beat over the course of many months.
The basic assumption that programming is a young man's game is simply being pulled out of the author's ass wholesale and in one piece.
When you base assumption is invalid, the rest of your argument is moot.
This is an obvious attempt to start a flame war. A company that doesn't invest in tech including the developer will be saddled with the leftovers. just like a car if you do nothing to boost the capabilities of the engine you will be left behind. so bottom line if you don't invest money to train you people then you to will be left behind
I constantly see memes like "It's often because the older candidates haven't successfully modernized their developer skills." but I have never found that to be even remotely true. I have worked in IT over 30 years. I have worked for several companies, big companies, and small companies.
Nobody claims that sort of crap about doctors, lawyers, accountants, even most engineers, or scientists.
If all of those professionals can keep up with changes in their field of work, and study, then why not software developers? It makes not sense at all. These memes defy all real logic, and evidence.
You are tagging a group of people based on no logic, and grossly insufficient evidence. This is not different that racial discrimination.
On on hand, many companies pigeon-hole people into specific areas. If someone is designated a J2EE developer, and that's all the tasks a company makes available to them, how will they learn The Next Big Thing?? After doing this for 10-15 years, people get left behind. On the plus side, top notch COBOL programmers make pretty good money. On the down side, it's only the top notch ones that get hired and the opportunities are few and far between.
If companies took the time to allow development staff to try new things, more people would become cross-trained and the end result is a larger talent pool for the company. Most developers can pick up The Next Big Thing quickly if given the opportunity, and since they already know the company processes and products, should be more valuable in 3-6 months than hiring someone with the experience.
On the other hand, if a company does offer the ability the move around, and someone that is comfortable in their space isn't willing to take the plunge, it's their own fault. I've known plenty of people that when asked 'can you code in the Next Big Thing', simply reply 'No, I can't do that'. If they would add the words 'but I can learn it' afterward, as far as I can remember, every company I have ever worked in would let them. Instead, they move onto the next employee or hire from outside the company.
And the employee that always says 'I can't do that' stops getting get offered new opportunities.
I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
https://en.m.wikipedia.org/wik...
Casteism
My boss and I routinely look at new tools and technology with an eye to solving our company's problems and build cool new stuff. Our goal is not to embrace flavour-of-the-month technology. It's to identify better solutions to old problems, or find good solutions to new problems. Tools have to work, or they serve no purpose. Everything else follows from there.
We do most of our development in C on Linux, but have incorporated virtualization and cloud computing, new technologies that provide better solutions to old problems. The jury is still out on other goodies. I like python, while my boss prefers perl. I like Django, while he prefers PHP. He's the boss, so I write lots of perl and PHP... :-}
...laura
I'd suggest if you want older geeks to keep up with new tech more then give them a later start in the morning. Most of my good hacking time for personal projects happens between 12am and 4am, and that's great when my work hours are somewhere around 10-5. When I need to be at work by 8 every day I find myself in bed by 11:30 or 12 every night, with a more limited ability to stay up late even when interested in a project.
It's often because the older candidates haven't successfully modernized their developer skills.
Another bullcrap excuse for the massive offshoring of jobs, and importing of foreign visa scab workers. Been hearing this excuse for decades, and still recall how, when I was at my true peak both knowledge-wise and skills-wise, just couldn't even get an interview if they had an inkling as to my age. Anyone wish to bet this clown is not affiliated with ITAA or whatever their latest name is?
Try again, sonny, it begins in one's thirties, at least. . .
That cheaper nonsense is a National Association of Manufacturers (NAM --- first president and one of the founding members was George W. Bush's great-grandfather) and US Chamber of Commerce (USCoC) talking point forever, just doesn't cut it. Makes as much sense as hiring data entry operators to be sys admins, a common practise when I was much younger, and then the douchetards wonder why their companies go in the toilet. Too many programmers will work cheaper and cheaper (until, of course, a threshold has been reached whereupon there is no ROI in taking such jobs or going to work at such places), just to be able to program, etc.
This entire charade began when Seymour Cray put out a video throughout the industry, promoting the idea that it was best to hire newly minted college grads as they had no idea what was possible or impossible, and too many doucheys ate that stuff up.
Which is why Microsoft turned out such crap early on: the crappiest word processing software, the crappiest spreadsheet software, etc., 'cause their 20-somethings had zero experience in the workplace. Had they not had the DOS monopoly, things would have been entirely different.
Well articulated, Ms. P., very well articulated, but /.'s parent company has been offshoring jobs for quite some time, no doubt the agenda behind this repitition!
Well stated and spot on, jafac!
http://www.politico.com/story/...
Josh On (creator of theyrule.net and exxonsecrets.org, and a highly intelligent activist or hacktivist) stated the agenda behind the cloud, and i-pad, smart cellphones, etc., tech: to reduce the potential for user hacking and intellectual empowerment, and as you stated, wresting control.
Big companies age discriminate. Google, apple, etc won't hire people over 35 to write code. They want young kids. It's nice to pontificate and explain why this practice is retarded, but it won't stop them from doing it. Same with h1b. You're wasting your time.
If idiots are telling developers what to do and how to do it, then maybe the next question is what tasks the idiots and their investors think is so important to do? I have become profoundly skeptical about the whole business model process and the people who drive it. If you think that the Peter Principal applies then your development manager does his job because he can't do your job, and so on up the chain. And if you think that planning and conception of the business model is done up the chain, then the competence of those people decreases up the chain until the only wisdom in the process is that the CEO can read quarterly accounting reports. he has no further insight than that, and that of the board is even less, they are even more beholden to the myths of accounting and the bottom line, which is where the analysts who evaluate the public equities sit, they are even less informed. I worked at a major computer company years ago where the CEO and board paid too much attention to the whims of the Wall-Street Analysts and the financial industry clients the company had. This company, who is a name you would recognize is no more, it was bought out, and when you realize that the growth and fall of technology companies is due in part to flim-flam, and to decisions by people who know nothing, then get ready for another bubble. I knew back in 2006 that tech would blow another bubble when the rage was monetizing click counts, and I laughed, and I continue to laugh because that is what all this brilliance in computer science comes to, Google. So as in 2000 we may yet hear the woosh as capital flees from tech companies, and this time I rooting for the bust.
From a fair challenge like a chickenshit blowhard http://slashdot.org/comments.p...
A company that actively works to offer all employees the chance to learn and to engage with modern technologies is a company that good people are going to work for, and to stay at.
Our company actively offers all employees the chance to learn and to engage with modern technologies... they just refuse to allow you to do anything about it during normal office hours. "No, sorry, we've got all this dev ops stuff for you to do. Here, we'll pay for any of these courses for you to do with SkillSoft or whoever, you've just got to do it on your own time." ...when you're supposed to be relaxing and engaging with friends and family, or just sleeping. Who needs sleep, right?
K.S. Kyosuke doesn't know much about networking either since he ran.
From a fair challenge like a chickenshit blowhard http://slashdot.org/comments.p... THAT is the REAL "K.S. Kyosucky" to a tee.
"As a result, we do find that we face a shortage of older, more seasoned developers. And it's not because we don't want older candidates. It's often because the older candidates haven't successfully modernized their developer skills.' "
I think us older developers bring a lot to the table young padawan.
First of all, development isn't just about coding and what languages/skills you know. How you USE those skills is important and comes with experience. Countless times I start a new job or contract and see younger developers making the same mistakes with the following:
Insufficient or non-existant logging.
Bogus error messages ( HTTP 500 anyone? ) or no error handling at all
Bad SQL and File system I/O leading to performance issue.
Over reliance on tools to generate code/in-ability to understand generated code.
No bug tracking.
Poor source control or no source control.
Lack of testing methodology/skills - nobody wants to QA, only unit testing.
Poor change management - things thrown into production.
Secondly, Wow, really? We don't learn new skills? I am in my 40's and I frequently encounter developers in their 60's and 70's still out there coding with modern languages. As for myself, I'm in my mid 40's and I've only managed to learn and use and put into production code written with the following languages: ( Note I still like to work in the yard and do things outside of work. )
Cobol,
C,
C#
C++
Java,
Java Script
Python
Visual Basic
Various Unix shell scripts ( SH, KSH, Bash )
I also know HTML/CSS well enough to build a web site, I just don't really like web side programming - I'm more of a server side developer.
I have also done some coding in the following languages and tools but decided not to use them either because I didn't like them, they are obsolete, or they were not very relevant to the work I am currently doing:
Assembly
Basic
Perl
Ruby/Rails
TCK/TK
Visual Basic
Third, why is being a Google or Facebook considered a sign of success these days? Yes, the salary and benefits might be good, but experience has taught me that usually the only people that really benefit are the founders and the first or second wave of developers. Then everyone "jumps" on and the stock equity gets diluted. Besides, not everyone wants to live on the West coast and spend 1 million for a house and pay some of the highest state taxes in the nation.