The Web Development Skills Crisis
snydeq writes "Fatal Exception's Neil McAllister raises questions regarding Web development skills in an era of constant innovation. Sure, low barriers to entry give underdog technologies ample opportunity to thrive without the backing of name-brand vendors. But doesn't this fragmentation of the Web development market put undue pressure on developers to specialize? Choosing one tool to be your bread and butter from a field this broad is one thing, McAllister writes. Recruiting talent for a Web project when your technology requirements eliminate most of the applicants is another. The result is a crisis, McAllister concludes, one in which maintaining a marketable skill set gets more and more difficult as the so-called state of the art changes on an almost daily basis."
Everybody and their cousin seems to be calling themselves Web Developers...
There's no place like localhost
I think the emphasis needs to be less on specific and proprietary technologies and more on how a candidate thinks. While the task and platform/architecture at hand is important, picking someone because they know flash, and you're "doing" flash may be the wrong reasoning. Instead, focus on picking someone who has some proven background, strong in at least a couple of areas. Verify they really are strong, but then ask them questions that make them think. Give them problems to solve. Give them something unsolvable to solve. See how the react.
Getting a sense of how they maneuver in problem-solving situations is going to be a much better indicator of their eventual worth than some credential (certificate, etc.) in the chosen technology du jour. A good tech can always and easily adapt to new and different ways to do things.
Is the state of the art really changing that fast or is it all a problem of "buzzword turbulence", if you will?
Slashdot, fix your code or at least hire someone who is competent at it to do it for you.
Real programmers don't care what language they need to write applications in. They write them in C.
Increasingly, ad hoc projects and cobbled-together tools will give way to those that emphasize the values and methods of traditional software development, such as design patterns, code reuse, and refactorability
Buzz words.
HTML PROGRAMMERS WANTED
Recently, I had the opportunity to get back into doing some internal web development after years of not doing much web work.
My issue is sorting out all the new technologies that have come out since then. I don't have time to learn them all before I pick one.
I think I'm going with Ruby on Rails, but I have no idea if this is the best choice. I hear good things. You go by word of mouth.
Except for ending slavery, the Nazis, communism, & securing American independence, war has never solved anything.
Funny... I was just about to submit this to the Firehose. (PR-Speak Warning; skip to this if need be.)
Real engineers can work in any language. ... except Java.
StoneCypher is Full of BS
The real problem is that OS technology has remained relatively stagnant for the past ~25 years, not that web development is showing "too much" innovation.
Take a look at all the new websites that have become so popular. Sites such as MySpace, Facebook, Flickr, etc. (in many ways) combine traditional "applications" into one UI that is more fluid, integrated, and responsive to its users' needs than any traditional UI/OS.
Web development has been like this from the beginning. Or at least since 1996 when I started paying attention. There were hundreds of competing technologies, programming languages (both interpreted and compiled), APIs, IDEs, protocols, and plugin frameworks back then, and there are hundreds if not thousands now.
Of course no team can master, support, or manage more than a small fraction of those, so there is a continuous shakeout. Then the battlefield clears up some, until the next fad or wave comes along, with dozens of new startups in its wake.
how is this a new observation? The web has always been a mess. It's forever in some sort of alpha/experimental state with no real standard as to what technologies to use. There are security holes all the time that need to be fixed, bugs in browsers that make developers split their resources to handle multiple browsers.
And that's how we likes it. The web's craziness is also it's strength. It's really quite amazing what has been done on the web, considering that it works pretty much the same whether you are on a Windows, Mac, BeOS, Amiga, x86, PowerPC, ARM, or what have you. You can even fire up an old version of netscape and have lots of the web still work.
I don't think that less choice in technologies is a good thing for anyone, it won't reduce cost of development. It won't make it easier to learn how to program for the web. It won't increase the number of good web programmers. The more ways that we have to build web applications the better.
because you are a moron.
if someone was building a house, they would hire carpenters.
if someone was building a gigantic stadium, they would hire welders.
they wouldnt hire somebody 'who has experience with ryobi chop saws and drills' or 'must have 10 years experience with fiberglass hammers'. you would assume the person could figure out that a fiber glass hammer is not a big deal compared to a wooden hammer or a plastic hammer, and a ryobi chop saw works pretty much like every other damn chop saw.
then again, if you were in the building trades, you wouldnt call yourself an 'engineer' just because you can do amazing things with a crane or a nail gun.
As many libraries there are for the web, there are still ten times as many GUI toolkits for traditional GUI's. Oh, then operating systems, platforms, virtual machines, etc, etc. The whole blog is silly. As complicated as web programming has become, it's still many times simpler than trying to create a gui in almost any other language (without an IDE).
If an officer ever threatens to taze you, say you have a pacemaker.
Boo Whaa, I only know how to work on horse drawn wagons. How will I ever keep up with bicycles, automobiles, motorcycles, aeroplanes, jets, rockets, ram jets, scram jets, what every the next weeks propulsion choice is.
There is fragmentation because there is choice possible. There is fragmentation because people want to use this or that new thing. It is a lot better than stagnation. We are testing new ideas constantly. Good ideas get adopted by the originating community, and even by competing projects. Eventually you will be able to do the same things in most the environments.
Better salary. Personally I live in an area where average programmer's salary is ca. 2500 euros/month. It's very little, and the companies are whining about being unable to find workers. Duh. Offer 10 000 euros/month and I'll start actually working too :-D
It's all about demand and supply, and how much companies are willing to pay.
MOD PARENT UP
5 4 3 2 1 POST!
My organization just started a unique online system, which was custom written by a vendor. The software is all PHP with a Linux/MySQL backend, and uses OSS software throughout. I took the reins to get the system up and running, but now, for the first time, we started looking for a dedicated web developer to publish works to this site, work on troubleshooting, and work with the vendor to design modifications to it. We went through over a dozen interviews over the past few weeks. It was bloody awful.
My (admittedly high) goals was a web developer that new PHP, could work with Linux (SSH), and had very basic client-side programming (C, Perl, whatever) to develop more tools for us down the road. Oh, and someone that could do some graphic art work would be a definite value-add.
Every single person that came in was an mainly ASP or ASP.NET programmer. Only two had Linux experience. Three or four had Photoshop experience. As a programmer myself, I ventured to the hopeful candidates on what languages they would like to learn next, or what skills they want to improve upon. Across the board, they were all happy staying with ASP, didn't want to learn PHP, and some inquired into when we would want to move from PHP to ASP. I had intentionally kept the field open to non-PHP people to try and find a true programmer that just didn't have those letters on their resume, but the majority were sticking themselves to a single language.
When all was said and done, we hired someone. He didn't know Linux, and didn't know PHP, but he was a definite "Active Learner". He was self-taught in nearly everything he knew, and was willing to learn any language we needed him to learn. He was one of the two candidates that had expressively mentioned that programming was just picking up a language and using it; all the rest were ASP specialists and thought that using another language wasn't worth their investment.
So you're equating A fiberglass hammer vs a wooden hammer with Ruby on Rails vs Django? Maybe if using the fiberglass hammer required that the user speak English while the wooden one required Spanish. A better analogy would be asking Kanye West to write you a hit rap song in Sanskrit. Not. Gonna. Happen.
I open up MS-Word. Type things in, move things around, paint borders, etc. etc.
then I...
File-->Save As...
web page
Ta Da! I'm a web designer
OK, I admit I didn't RTFA, but going off the fine /. summary, this seems silly.
Web programming is not that hard, and there isn't that much difference between the various tools. You've basically got html/css/javascript (common to all browsers), a scripting language for the webserver, and usually a database backend. Either one can perform this type of programming, or one can't. It really shouldn't matter what toolset is specified, once the basic skills are acquired, migrating to an unfamiliar toolset should be trivial. If "technology requirements eliminate most of the applicants", then I say those applicants were not very good to begin with, and you're probably better off.
I've never been a professional software developer, it's a hobby for me. I taught myself LAMP programming from web tutorials in no time. I was amazed at how easy and powerful it is. I can't believe professionals who do this every day would have such a hard time adapting to toolsets.
they're what's for dinner!!
Web development is such a dead-end job. Most web sites are by kids, imbeciles and graphic designers who fancy themselves as coders. Trying to maintain or develop their code is soul-destroying.
The next time you try to use a small business web site to buy something, do yourself a favour and look at the page source.
If your details aren't being sent out over the intartubes unecrypted, and if you still want to make the "purchase" you might see a way to pay nothing, or bare minimum with a discount.
Scotland is a good place to start looking.
Stick Men
#1. If they're taking 6 months, you've got the wrong person. Anyone who is decently qualified would be able to pick up the new tool in less than a month.
#2. You'd have to be a damn good project manager to be able to spec out the requirements sufficiently that you could hire a contractor like that.
Which is why you want to hire people who can learn new approaches quickly. And the goods ones can. They know the technology, not the tool. So it becomes an issue of learning the idiosyncrasies of the tool as opposed to other tools that you have used.
The same thing has been happening in the general software development world for 20+ years. :-(
Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
The Theorem Theorem: If If, Then Then.
I've run into this very thing before in trying to decide what to study. There are so many different web languages, each of which come with their own toolsets and frameworks. How are we expected to keep up with it all? I don't want to commit to a language or technology that might easily be eclipsed within 2-3 years.
My biggest concern is the amount of time required just to keep up with the Jonses. How much time can I siphon away from paying work on php to learn about rails or django? What about the X number of new Ajax toolkits that have recently emerged, or some supposedly fantastic deployment set? I think of how fast javascript has accelerated since 2005 from digraceful reject to shining star, and it truly terrifies me how little I know of it. I'm used to mastering a language, understanding its uses and differences from others, then applying it towards the future. Do I have time to do that any more?
In the end, I came to the conclusion that I would just study Java and its ilk, because it seems to have made major inroads in enterprise applications and it's free-ish. That's good enough for me, and it bodes well for long term stability.
checking for libvirus... no
ERROR, libvirus.so not found, terminating
If you lower the hurdle that much then raise it suddenly, more than a few people are going to bash their faces in. The barrier to entry being so low is what causes the lack of good developers, people plateau too quickly, few excel.
Excuse me while I gather the virgin sacrifice and assemble the pentagram required to solve your problem
I can't agree more that the low bar for entry into the web development world allows for much fragmentation. There's a lot of crappy code out there by ppl who should not be coding. However a lot of more creative minds have been able to contribute in recent years, I think your ruby on rails type frameworks and whatnot have demonstrated that. I think we need to rally around more existing technology and rely less on trying to create the next new thing from scratch. And I think we're going that way.
Right now .NET, J2EE, LAMP seem to be the key 3 divisions in the field. Whats really pissing me off is I was recently interviewing, and I was getting people wanting 1 years experience in .NET 3.5 which has only be released for a few months, and I was getting all these interview questions about brand new stuff that no one has done. J2EE is basically Weblogic jobs. LAMP doesn't seem to have much steam in the Enterprise, but mostly for small companies or small applications. Also I've been getting all kinds of screenings from people who don't know what they are talking about. Nowadays the trend seems to be how fancy of an AJAX UI can you create, barring the obvious difficulties of cross platform development and support for older browsers. I can see whats going to happen: many projects are going to fail because AJAX applications are very difficult to develop for a huge audience and reliably and requires much more skill than just html.
This is true for web and software and anything else tech related. I see it all the time. We try to aim for a mix of must have skills so that we can maintain the clients/projects that we already have but also try to find new ideas and people willing to do something other than dream up crap that is impossible to build effectively. What we find is often one or the other. Either the candidate is great at the older web development criteria or they don't know shit about the basics and want to just into only the new cool stuff. The result: half of a team that is hardcore old school and half that is only about new- and it blows.
I am a firm believer that people in the field must try to embrace both. For example, if you are new to the industry, you can no longer expect to just pick one code base and use that for the rest of your career. It doesn't work that way - it never has. The best of the best diversify, understand the concept and can use that across any language. They know that the language of choice today is not going to be the language of choice in a few years.
They know that the hot language today will work its way into the mainstream at some point and something else will take its place for the buzz of the day...
Experienced developers are just as bad sometimes. "Give me .asp or give me death" is a great way to paint yourself into a corner and out of a job. The best of the best know a few primary languages deeply, understand the working ins and outs of a lot more, and have just enough of everything else. They don't lock themselves in a closet and refuse to work unless it's in some obsolete language.
Now if you will excuse me, I have Fortran guys to coax out of the closet and Flex guys to push off of a roof.
This is partly a self-fulfilling problem. The developers and low-level management always have to keep their next job in mind, so they have an incentive to pad their resume with skills that their competition won't have. So they embrace new technology for the sake of embracing new technology, and that in turn brings in candidates who might not be very strong in the fundamentals but have/want these skills. Lather, rinse, repeat, and you have an explosion of "just because it's different" technology.
At the same time, there -is- legitimate change. It just takes longer and is only revolutionary in one aspect. With small/mid-scale J2EE, it was introduction of parameterized classes in Java 1.5, the introduction of Spring (dependency injection!), the widespread adoptation of maven for dependency management. A lot of us wouldn't have recognized our current environment three years ago, even though it's the same language and (mostly) the same libraries.
A good question is what's different in the two worlds. I think it's partly the environment, whether your user base is in the thousands or hundreds of thousands. The latter makes you a bit more conservative.
For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
full time.
in a flourishing field, the diversification and resulting specialization is inevitable. its not only healthy but also the natural process. happened in every field we invented as mankind.
the problem of finding the 'skillset' to match your needs is a result of vendors. they shove stuff to businesses, businesses get locked in to some new, unestablished, or old and rare, unpopular (on the web) stuff, and finding someone to fit exact set to match it and the web stuff becomes a horror.
and then there are hilarious people who are looking for absurd skillsets like 'expertise in php, ajax, javascript, server side java, html4, css, linux scripting and an understanding of web design'.
thats like looking for a 'gay catholic fetishist astronaut with an mechanical engineering license and fluent in english, german, arabic, icelandic and sanskrit'.
what i see is l.a.m.p. field is flourishing. it is going so well that despite hordes of developers almost constantly come into the scene, most of them (reliability is paramount) finds jobs. this kinda means that the demand is also following the supply i guess. some of the scripts on lamp platform has become their own expertise fields. an example is oscommerce programming (thats a most commonly used job ad). its not unnatural though. most of the i.t. and business software we use were written on C, yet, the programs ended up being expertise fields in themselves in the 90s and they still are.
Read radical news here
Since they only match acronyms and can't discriminate from a person capable of easily assimilating new technologies vs. someone can't can't and/or is very inexperienced.
More acronyms = more HR inefficiency.
-M
This has been a problem of mine as of recently as I have been looking for a web developer/design position. A lot of these so called "requirements" for jobs specifically state that a certain field is required in order to even begin to be considered as for the job.
Anyone worth their weight in gold should be able to pick up and learn a new language very quickly. It shouldn't matter what it is as long as the application has shown applications previously across several languages and willingness to adopt a new language if so needed. I try to explain that I am mostly self taught, and at college we were taught to learn the general concepts of programming THEN apply them to a language but quickly get swept under the rug because I don't already know their language.
While it's certainly not a bad thing to specialize in a language, it should not be a hindering point to learn something new. Now if I could only convince potential employers of that...
unfortunately, it would seem that the 'smart computer geek' people cannot bear the thought of multi-linguistics, be it human or machine language, while jorje with a high school education from guadalajara has been able to learn a few words of english, become a foreman, and probably built the building you are sitting in. why? because he is smart and he picked up the important bits, and whoever is his boss is able to realize that and work around the language barrier.
as for kanye west... if christina aguilera, shakira, celene dione, and dozens of other singers can have hits in multiple languages,, then, yeah, he might be able to do it.
Yeah, he'd just rap on top of some guy reciting the RigVeda or something.
"We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
I hate to sound like an old fart, but the trend seems to be throwing in more and more features to the point that the "nift" value exceeds the actual "content" being presented. In the end, the site becomes so painfully quixotic that no mere mortal could maintain it. Now when it breaks, you need a complete overhaul, and of course the "vision guy" in marketing wants everything including the kitchen sink installed on the site. For some odd reason, I wouldn't want to work for a jerk like that, and I'm not sure anyone else would either.
Of course the other aspect may be that there are a lot of prima donnas out there who believe their "talents" are being wasted on the boring/mundane, and will refuse to take a job that doesn't have a the springboard potential to stardom. Hence, you have a bunch of people out there who are calling themselves "web developers", but somehow always appear somewhat "under-employed".
There's also the "DIY" crowd that later goes on to discover they lack the technical know how to adequately keep up with their projects, only to be horribly abused by charlatans posing as web developers who toss in a bunch of glitter-gifs and JavaScript, then take off leaving the site owner with a the painfully quixotic nightmare mentioned above.
So where does one look to find a reputable freelance web developer anyway?
Blessed with all the brains that God gave a duck's ass, and twice the charisma.
I'm glad my company (Japanese) doesn't have this problem. My last job had about a week of actual training that wasn't very useful. My new company is sending me to external training ($$$) for about 30 days. Then I get about 12 weeks of company training in Japan. And then 5 weeks of on the job training, and back to Japan for another 4 weeks. Its about 6 months of me doing nothing productive, just training heavilly. The company is making a serious investment in me, and from what I have seen from it in the last month, I will hopefully be sticking with them for a long time.
Don't skimp on the training. Its exactly what makes your employees experts in their areas and want to stick around. We also have casual Friday every day, and that doesn't hurt either.
Even those who arrange and design shrubberies are under considerable economic stress at this period in history.
Always kinda blew my mind when people get anal about specific technologies.
Do I know JavaEE? PHP? Ajax?
Doesn't matter.
Why?
Because I know programming. WTF does that mean? It means that language/technology is irrelevant because it takes me a matter of days to pick up on new languages/technologies.
Anyone who touts a single language as some kind of achievement is fucking pathetic.
FLAME ON!
Suck it up.
This argument may be important in a theoretical sense, but not so much a practical one.
I suppose if I had tons of money and needed a state of the art app in record time, I would look for only experienced programmers. But in a competitive environment we need more efficient ways ramping up.
Once you've determined there is no one with your exact qualifications, just make sure you hire smart people who love to code, the experience will come.
In truth you might end up getting some better solutions as you won't have a herd of programmers who all believe the same "givens" about development.
Of course this requires full time employees and a patient approach, since hiring contract workers just means you are paying them to learn and then not reaping the benefits. Many companys don't understand that good code takes time.
As we used to say: "The code can be done well, the code can be done quickly, the code can be done cheaply. Pick any two!"
To an experienced developer, concepts matter, not tools. Sure, there will be a learning curve, but that is the price of getting someone to do the job your way instead of getting someone to do the job.
I'd be willing to bet Kanye West *could* write a hit in Sandskrit. He couldn't on the fly this very second, but I *guarantee* he could write a hit rap song in Sandkrit before any person who has a PhD in it could!
Divide a job requirement into a list of skills necessary to complete it, rate them on their importance, then let that define your latitude when hiring a candidate.
In your example (Kanye West/Sandskrit), the number of people who are capable of putting out a hit, hedging on that if they already have one hit, they might be able to produce another in the area in which they are an expert (perhaps a bad hedge, but I'd bet on Kanye having another rap hit before someone who hasn't had a hit). Now, is it easier to teach Kanye enough Sandskrit or is it easier to teach a person knowledgeable in Sandskrit to rap?
Again, it comes down to what you need. If you need a hit rap song and be able to effectively communicate in Sandskrit, the balance may shift.
Know what you need, know what is fixed and what is flexible and make the right decision.
I hate to ruin the Dilbert mood, but really, a company that is worth working for is able to communicate with HR that there are things to be looking for other than the right number of experience with the correct acronym.
“Good” developers want to work with good managers and will dismiss any job offer that includes unreasonable skill sets. Likewise, a good manager knows how to override HR when a candidate can do the job even though they might not have the specified skill set.
A good professional programmer should be able pick up a new imperative language well enough to get started in a few days. It is almost certainly take longer to learn about the application area then it will take to learn a new programming language.
If Kanye West is a good profession song writer, he should be able to write a decent country music song in a few days, too.
I recently left a company that has high hopes of transforming themselves from the very old school (VBA/Access forms) to the new school (Web based). Firstly no one on the team had any idea of what was involved in creating Web applications, and what's worse, the entire team was comprised of the most amateur of engineering talent in general. Even though two of the members (supposedly) held masters degrees; one from the ever so prestigious Cornell University. When I first started I took control of a project (PHP based) that was partially developed by someone who apparently gained all of his PHP knowledge from Sam's Teach Yourself PHP in 24 Hours, and all of his programming knowledge from "Hello, World!" examples. Before I ever set my eyes on the code I was told that there was a "framework" in place. Well, that framework consisted of spaghetti code at the top of the file, and "Here Doc" at the bottom. Code was duplicated often from file to file, and even the "style" was poor, being obfuscated and difficult to even read much less maintain or extend.
One of the aforementioned "Masters Degrees" programmers was constantly asking me to pick up her slack everyday, pulling me away from my main tasks, simply because she knew nothing of PHP (and yes was attempting to develop a PHP based application!), and was either too lazy, or too stupid to problem solve things herself.
I think the real problem facing Web development these days is the same problem facing any area of software development these days: untalented engineers! People that can talk their way through interviews, maybe even do well in school, but can't problem solve their way through a child's riddle, but cover up their ineptitude with arrogance, and an ability to get the rare qualified developer to do their work for them. Truly capable developers seem to be a scarce resource in America these days.
Next you'll be saying they should have their own schools!
As I see it, the trouble with so-called web development begins with the fact that it encompasses so many diverse fields and ends with the fact that each field and its representation as web-based software is implemented using different standards and languages, each of which comes with its tools and its learning curve. Compare and contrast this with non-web programming endeavors, the vast majority of which rely largely on C and similar languages (C++, Objective-C, and languages with C-like syntax). It would be much less of a skill crisis if there were less tools and languages to learn.
McCain/Palin '08. Now THAT's hope and change!
I think that there are definitely too many tools.
Right now I'm working on making myself look more attractive to a potential employer who works with the LAMP stack. When I asked him what he was looking for, he mentioned Rails, Django, and CakePHP - 3 different frameworks, in 3 different languages. I'm talking to him in about a week, and I aim to have built at least something in all three by then - but I definitely won't be able to achieve specialization.
(Yoda Voice): "Once you start down the dark path, forever will it dominate your desssstiny."
The Ruby crowd is really vocal, but the opportunities aren't really out there for Ruby programmers at this point, and considering the current scaling problems with Rails...Well, I'm not sure they're going to be until they get them ironed out.
If you've got time to invest, Java is always a good skill to have...It's not new and sexy anymore, but it's everywhere. If you don't have the time, Php is at least popular, easy, and widely used.
If you're really into the idea of a deployment framework like Rails, you might want to check out Python and Django.
ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
A good dev can pickup (almost) any language and (good) tool and get the job done. I learned on Pascal with Turbo Pascal. Did C++ and college with Visual Studio and KDevelop. Played With Java with Eclipse. But I used to do PHP for the web with a text editor, now I am leaning towards Python. However, MS's .NET and Visual Studio is what I am paid to work with (full time). Get someone who can use any tool that is necessary and capable.
"Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
they are wanting EXPERTISE in all those fields. not understanding. its not a juniorship.
Read radical news here
This just in: people who can constantly master and excel at new technologies with minimal lead time, constantly changing specs, expectations, tools, and standards, and put them in front of end users in rapid, frequent development bursts are hard to come by.
Wow, who'dathunkit?
I think there's a trifecta of issues that plague the hiring of web developers:
(1) Rapid Technological Change means no OJT via college. Unless you're doing your web tech in Java, there's a decent chance you're not getting college grads trained in your language and tools. The good ones will have adaptable skills of course. You do know how to distinguish between the good just-graduated devs and the bad, right? No? Oh...
(2) Crowd of Pretenders lowers expectations of skill/quality, and salary. Shockingly, unqualified idiots are willing to work for less. Some places hear about these mythical highly skilled web devs willing to work full time (+?) for $32k a year, and generously offer $40k. They get no response, or they get morons. This reflects poorly back on web developers in general, especially those who are skilled programmers.
(3) An incredibly low barrier to entry for many models means talented people start their own companies. If I'm one of the most skilled, and can handle (or partner) to provide design, programming, and business aspects of a web page, there's a decent chance I can find a niche where I can make a run at a real business. Which is why there are a thousand Bantrs and Flickrs and Cheezbrgrs and Meebo Zeebo Zimbra Flumbrs all spun up. The expected value for a buyout by Google or being the next SmugMug is so high, even a small chance makes it worth it, especially if you can get enough funding to put food on the table.
And #3 has an inverse: the low barrier to entry also means that a lot of people get their godaddy hosting, start tossing together web pages with their pirated photoshop, and think they're ready to make 80k a year.
It's so horrifically bad, I've considered going into business as an interviewer. I've had remarkable success getting good devs on my team. I think a major problem with companies hiring web developers is: they don't know how. They don't know which skills out there are transitive to skills they need. They don't know which related skills (security, networking, system administration and integration, database architecture) might be critical for their project.
As a lot of cogent programmer/bloggers have pointed out, you can only really hire someone better than you are by luck. I keep coming across companies who could really, really use some programming/IT experience - in fact, it's so bad, they don't even know WHY they need it. Their knowledge isn't sufficient to even inform them to what good staff could do for them. You start a little project for them and ask, "Well, why not do this?" "Oh, you can do that?" "Sure, and we could also..." "Really? Can you...?"
Ultimately, you also get what you pay for. If people expect "good" web developers to work for way less than skilled programmers in other languages, they're nuts.
OTOH, I think the specialization argument is bunk. How many specialties are there in application programming? Everything from databases to development tools to reporting, 3d software, operating systems, embedded, RTOS, a/v en/decoding - we could go on all day. But web is fragmented? Heck, web isn't *that* fragmented. It's one of the things that makes development so fun, fast, and effective using it as a platform.
I've noticed several people post that HR asks for more years of experience than the technology has exisited. I've seen this happen with Java and .NET, and a liar ends of getting the job. I have been called by people more than 10 times asking for this, and they get mad when I've corrected them.
How is a pension supposed to turn a bad web developer into a good one?
"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects."
ruby on rails will limit your maneuvering space. stick with php.
Read radical news here
I think the colleges/university's are partially to blame as well. It seems that any of the kids I interview know how to use flash, photoshop, dreamweaver, etc, but the schools don't seem to be teaching them the creative process.
It's as if the schools teach them how to hammer nails into a board and then send them out into the world letting them think that they're carpenters.
It would be nice if the schools would force the students to learn nothing but design principles the first year and then start introducing them to the different tool sets. If you have a strong concept of the pre-planning/design phase, then your better suited to choose from the various tools for any particular project or problem.
I'm assuming that the schools need to have the latest and greatest flashy tools to try and wow the potential students. I don't know.
The real Sig captains the Northwestern. This one captains
I can only assume that a "career programmer" or and hr person started this thread as it feels grossly out of scope from reality.
Step 1 - The Posting, as a job poster, are you looking for script developers, or application developers. In general, scripts are loosely types, and applications - being compiled and required a high degree of stability - are strongly typed.
Once you realize this, you will also realize that script languages PHP and Ruby and JavaScript [ Python, Perl, etc ] fall under a very specific easy to find umbrella.
Conversly, C#, Java, ASP... are also very similar and _could_ be found under the same umbrella.
Find out what type of programming you ACTUALLY do. Procedural, Imperative, Event Drive, Prototype, OO.... FIND OUT.
Step 2 - The Interview (More important than step 1) - once you've found the candidate, get one of your true developers into the interview. Time and again a line has been drawn between a "career programmer" and a "developer" or "geek" and a geek should know another geek, because they will share information like mating rabbits, and your "career developers" will get lost in the discussion. It's very possible that while they are catching up, the geeks will have already devised an approach to the company's problem.
Geeks are curious, and smart, and take pride in their work. It's a matter of pride to know why, and if they don't, to find out, and to make it work even if the prescribed methods fail.
In their spare time, geeks are geeking, and becoming better, smarter, stronger, faster. "Career programmers" use their time searching for the next highest salary, shmoozing for a cushy course to attend, and perhaps drinking beer (killing brain cells)
"Career programmers" are only in it for the money. Intelligent or not, I've always found inferior results from someone who doesn't generally care about the problem / logic at hand.
Step 3 - Architecture. Now that you have the tool, apply it to the project. A persons' preference and specialization is still a factor, but the manager hedging that "We do Ruby" is not an excuse.
I would agree that you can't test every framework or library can be tested to fit, but I think you would agree that a framework with a strong, open, and well-documented API is better (aside from bugs). With a true geek, API is all he requires to start laying the foundation on your application, and it doesn't require months.
PS - yes, geeks need sites like this to aggregate their data at the pace they are able to acquire it, but simply posting and reading here is not a clear indicator.
If you want people to head for a field of study, pay more.
That is why all the kiddies today want to be trial lawyers.
Every single person that came in was an mainly ASP or ASP.NET programmer.
in colleges or courses, the 'corporate' types, the 'clerk' types generally go with asp because they think (and kinda rightly so, due to microsoft vendor lock ins) corporations will want asp. there is also the delusion that says 'asp is more professional and corporate'. these guys are of the clerk mindset. they are rarely inclined to venture to anything else, and conservative in that regard. and it generally happens as they think too - a medium business connects a box to the outside world for something, of course it generally happens to be IIS, and they naturally need an asp developer, they ask it, they get one, vendor and language lock goes on.
what you were looking for, php/mysql/linux is a brave new world. there are kinda no limits there. you cant keep a lamp guy in there if you are not paying them enough and keeping them happy. the only thing they need to do to make noticeable amounts of side cash is to post a few bids and ads online in the communities, and make a small reputation for their name. if they bend over it heavily, they can start their own gig even. so its rather rare to find such people for more conservative corporate positions.
Read radical news here
I think one of the harder fields to break into nowadays are "computing professionals". While there's some accreditation involved, there's not much to go on - unlike a doctor, dentist, lawyer. While those professions have specialties within and you can't dig yourself into a new one easily (e.g. IP lawyer to family law), you computer guys are screwed: there's not as much financial incentive to upgrade, a wave of employment/unemployment and no set skill set. There's too many languages to learn and for creative professionals too many software pacakges to learn. I'm a hobbiest computer user and programmer, but as I go through job descriptions recently (DBA, web developer, programmer etc) my jaw drops at the skill requirement vs compensation.
I don't know how you guys/gals do it (all the skills required) but I'm impressed. My hat off to all of you. Its too bad 1) People like me with some apprecaition for the skills needed can't get into HR to give some of you a break 2) employers don't split up jobs more easily.
It certainly is incentive to create your own web-language, stiick it on your resume and say your the only expert in the world. ;)
I'm not being a karma whore with this post either. I think I'm doing pretty well for my self anyways!
It's the same in every software field - for example, there's a UK company advertising on Google - - igence.com - for top class C++ developers. But they're only offering £45k + 10% bonus. All the truly top class C++ devs are earning ~150k + up to 100% bonus in London. It really gets on my nerves when companies mess around like that.
I can see whats going to happen: many projects are going to fail because AJAX applications are very difficult to develop for a huge audience and reliably and requires much more skill than just html.
not only that, but ajax requires much more time due to cross browser compatibility. and even the issues visitors of your site may have due to different anti virus/security vendors due to ajax.
Read radical news here
So where does one look to find a reputable freelance web developer anyway?
its like how you find good plumbers or contractors in real life. word of mouth is the best option. then communities (online tech communities). then places like elance.
Read radical news here
But I just learned it:
http://www.coboloncogs.org/COGS.HTM
cakephp, ruby on rails etc - dont go for any frameworks. because eventually some of your employers will want so absurd stuff that youll have to end up going back to basics, to php itself. start nice with php, become an expert, and employ your own devised routines and code snippets (which you will accumulate eventually) to speed things up without needing to tie yourself to a 'framework'.
Read radical news here
Except that the first pass into HR doesn't even involve people any more. A ton of companies have put their hiring process at the mercy of automatic matching systems. Check this:
By leveraging SmartHire, organizations can deploy job or location-specific hiring templates across the enterprise, allowing rapid, flexible hiring from non-traditional locations while helping to reduce administrative costs and eliminate the need for customization. Additionally, with enhancements to the person model functionality customers may more effectively manage the non-traditional workforce, while an embedded online I-9 processing tool will help to ensure compliance and increase operational efficiency.
I dunno about you, but just the idea of going to work for a company that uses "person model functionality" to "ensure compliance and increase operational efficiency" in hiring sucks a little bit of my soul into my stomach and makes me throw up into my mouth.
[I omitted the word "web" because the question generalizes. Web projects aren't a special case.]
Lose the technology requirements. Assume they don't have any experience with the language or library you're using. Just select good programmers, and they'll pick up what they need to.
Reading this makes me realize that I'm not insane to believe that I'm one skill away from being a legendary web developer. I've got a senior level skill set fluent in front and back-end development and technologies. I'm self taught/learned on the job and can do the whole kit and caboodle except for Flash. I just haven't had the bloody time to sit down and learn it.
But I can definitely assert that there is a massive shortage of even remotely qualified php web developers in SoCal, even entry level.
For one, I'm hounded nonstop by recruiters, to the point I had to get a dedicated voicemail to handle their calls. It doesn't matter that I have a job, they try to buy me out, or beg me to find someone for them. It's not just one or two, I've had at least 50 calls or emails asking me to help them find someone if I wont humor the position myself. Pitiful begging, even.
For two, I myself have been desperately trying to find an entry/mid-level php developer with front-end skills for months now. My HR can't find anyone remotely competent, recruiters have done nothing for us, I've even tried all my social networks. Everyone with the skills has a job.
And don't get me wrong, I would prefer someone entry level, looking to get their feet wet, who can learn and be trained. I'm very clear that our only requirements are a good understanding of PHP5, XHTML, JS, CSS2. That things like MySQL, AJAX/JSON, RSS, Zend Framework, or even an understanding of OOP and MVC are pluses, but not requirements. These are very basic expectations for LAMP development. Still, no luck. We've had two people make it to interview. :\
I mean it's good for me, being an employees market. I've had salary offers for twice my current pay right now (I'm staying because it's a personal favor to the owner for a set amount of time). But it sure sucks in that I can't get any help around here.
All around there's a massive demand and not enough supply. I suspect a lot of it has to do that the college educated kids aren't learning PHP in schools, and the dropouts find that freelancing doesn't pay enough to support the cost of living anymore out here. There's just not enough influx of new PHP developers to support the existing industry. And the industry has been taken very seriously since PHP5 and is growing at a tremendous rate.
For a new project, they client very often doesn't know enough to know what technology a project should be built with. They may think it should be in .Net or Struts or something awful like that when really it could be done just as well or better in Django.
Programmers on new project ought to be given some degree of choice and trust as to what system to build upon.
Hogwash! The problem with web development is knowing the limits and oddities of various sub-tools, such as DOM and specific browser vendors; or even the quirks of something specific like Rails. It's NOT about mastering some magic equation or closures. Those who learn and adjust to this changing swamp of sub-tools are the most successful.
The biggest problem is lack of consistent and usable web GUI engine standards. This is what the industry needs the most.
Table-ized A.I.
That's because all the smart, skilled programmers are out working on the platforms and languages themselves. (Proprietary, Open Source or Otherwise).
http://dev.opera.com/articles/view/1-introduction-to-the-web-standards-cur/
I am 43 years old. I have been programming for over 25 years but just can't keep up with the new "state of the art" programming techniques/APIs and frameworks that seem to come out every year. When I was young and hungry, I would spend my nights reading computer books and newslists. Now that I know I'm mortal, I just don't want to do this anymore. I spent 20 years learning C++, Java and .NET - but just don't want to relearn how to do my job over and over again.
Am I a dinosaur? - perhaps, but I'm also yet another experienced developer who is sick of the constant change and will be soon making the move into "management".
Perhaps, this is the reason why at 43, I'm considered an 'old dude' amoungst my peers!
Uh, they're both just API's for ye olde Model-View-Controller pattern development of RESTful sites. Both using heavily Lisp-inspired languages no less. The only real difference between RoR and Django is that Ruby has an arguably nicer OO system, if your only previous OO experience was in C++ and/or Java.
If you can equate one to English and the other to Spanish with a straight face, you need to take some basic undergrad C.S. classes. Or rather, don't. I don't mind the lack of real competition in the job market.
To my shock, I got an angry call from their HR department, who were actually calling to chew me out for applying even though I was "unqualified" for not having the required 6 years of experience.
The weird thing is that you got a phone call from them. Why would they not just send you a generic rejection letter, but actually make the effort to pick up the phone and take the time to call you personally? Something seems fishy -- like it was posted to satisfy some requirement but could get them in trouble if someone actually found out that it was fake and that they had no intention of filling the position -- if it existed in the first place.
I can't believe that J2EE is still being used. I thought it just turned out to be huge overhead to use session and entity beans, and they don't integrate with anything but a thick J2EE stack. Have they integrated ejb's with web services yet? Can you easily bind ejb's to visual controls? Do ejb's scale? How much is overhead on the container stack vs. actual business logic? How much development do you have to do that is ejb related vs related to the actual business logic?
Once you've gotten past the whitespace thing in Python you'll slap your forehead and say why didn't I use this language before? I do my development in Django and I am far more productive in it than in other web development applications. If you need to work in Java there's Jython. If you need to work in .NET there's IronPython.
There are a lot of other cool Python web technologies out there as well:TurboGears, WSGI, Plone, Zope, Twisted.
What major company hired Guido van Rossum, BDFL? What major company rolled out GoogleAppEngine (based on Django)? Ruby's pretty hot right now but so is Python.
"You'll get nothing, and you'll like it!"
Last week I attend a business conferance that was created to discuss if the current web tech methods being used in house should be upgraded to more current market trends. We brought in some 3rd party .net(asp/c#/vb) developers to show case .net technologies. In the end, I was able to replicate all of the demos and promised show case using classic asp, vb6.0 and visualc++, with little or no impact in speed, size and scalibility.
So, the end result was spend the $100,000s to upgrade our software bases, upgrade over code bases and possible new FTEs, for something shiny and new that would not give much to anything in preformance and functionality.
I'm not going to debate it, Web tech itself was never that complicated to begin with, and with all the stuff that just over complicates an already uncomplicated tech.
Between the toaster and the one with the full computer, usb and wifi toaster, the end result is toast.
Still posting at -1 twitter? After all this time? And all the sockpuppets? Guess that didn't pan out as you thought it would?
What a joke.
Set a bone = what you do after somebody breaks one. I'm apprehensive there as I've neither broken nor set one, but I understand it's pretty painful.
But I've changed a few diapers. Not much to be afraid of.
Designing buildings: Well, looking around, it seems very easy to design a bad one (that covers 99% of them);
And there aren't many good reasons to invade, so we can pretty much put that one aside...
you had me at #!
I have not encountered the situation where H1B people were treated like dirt, but I don't work for Microsoft. Some of my H1B co-workers have been some of the smartest people I've ever met, and our country is much better off overall when everyone else's best and brightest decide to live here instead of there.
By the way, the industrial output of the US is at an all-time high. As a percentage of world manufacturing output, we're the same as we've been since the 80's (in the low 20s). While I don't want to marginalize the very real pain that has been felt by the outsourcing movement, it has not resulted in the gutting of America's manufacturing base as some people imply.
In other words, you'd have to give me a metric to prove that someone has "sold us out".
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
Yes, but there is no appreciation of someone who is capable of learning new skills, development environments, and methods.
Try explaining to a recruiter, that you have done J2EE for 3 years and before that some other technology, etc. and that you could pick up .NET and be useful in less than a month.
Or try explaining that your Certification and extensive experience in database A, make you qualified to move into a position working with database B.
They would laugh at you and the clients wouldn't even want to talk to you.
Just look at Dice.com. Find a position that says anything like "Looking for individuals who can rapidly acquire new skills and work in a variety of environments".
All they want are hired guns that do one thing and do that very very well.
The Generalist is in a strange position. Obsolete, yet needed more than ever with the rapidly changing development tools and methodologies.
When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
Any programmer worth a damn learns multiple languages. I myself know five or six compiled languages and as many web languages. My current job uses Ruby on Rails, a language that I didn't know when I got the job. I simply told my employer that I could learn the language in two weeks and be ready to start. No need to specialize and need to eliminate applications because they don't know your language.
And, to head of those who will claim that you aren't as good if you've just learned a language: it takes a month to really know the finer details of a language, but fresh perspective is also of value so it's good the whole time.
Crack operators of cranes and nail guns are generally following something called a plan, which was made by somebody called an engineer. Surprisingly, programmers often do both.
I call myself a web applications programmer, one that covers C, C++, C#, Java, J#, asp, php, JavaScript, VB, HTML, cfc, SQL, MySQL, and any possible configuration of Windows, Linux, Unix - am I forgetting any?
I'm so glad I know C and C++. 90% of non-web development jobs are open to you. But on the web if you choose the wrong language you're screwed.
"I see here Mr. Jones that you have 10 years of Perl experience, 7 of Python, and 5 of ASP. Unfortunately we are using Ruby on Rails...".
Don't blame me, I didn't vote for either of them!
Oh, I've seen this one before, but not just web developers. THE ENTIRE I.T. INDUSTRY!!! Oh! They say. You haven't got certification for popsnubblepop version 3.052a. You only have certification for popsnubblepop 3.052. YOU ARE UNQUALIFIED DAMN YOU! HOW DARE YOU APPLY FOR THIS JOB! We have called security to remove you from the building, illiterate! You banter and attempt to explain that the 'a' on the designation indicates that they appended the manual with several pages that state 'this page intentionally left blank'. But are quickly apprehended by two giant neanderthals in navy sport jackets and are quickly whisked out the rear door and land somewhere near a dumpster. Their ability to cast your documents out after you results in your documents landing inside the dumpster. You then have to tug it out of the hands of the homeless person within. You are cursed and spat on before making your way home. Back in the office, their outrage over your attempt to gain employment, turns to dismay. "We only put 495 category A needs and about 60 category B needs on the list.", the HR manager stammers, and we only require about 15 years of experience. I really don't want to hire anyone unless I have at least 10 to choose from! ..... and so it goes. I've been long disgusted by the stupidity that goes on in I.T. Its embarrassing. Really dumb people hiring other really dumb people. Stupid decisions made by people who have no business making them, and software in use which is not fit for the waste heap.
Recruiting talent for a Web project when your technology requirements eliminate most of the applicants is another.
Part of your initial design is going to be the selection of a platform and tool set that is maintainable. Part of this means doing some up front market research to find out what sorts of resources there are to support your platform of choice. If you've picked something for which there are no developers available, your project is screwed.
I've been asked to come in on the ground floor of several projects before requirements had been gathered or customers consulted. The senior architect had already selected the system and tools we were going to use with no idea whether they were up to the task or whether anyone else on the team was familiar with them. Projects like that deserve to die.
Have gnu, will travel.
Your ryobi chop saw vs another chop saw is a pure garbage statement that just shows you do not understand the problem. Yes any developer can learn a new language, I have worked in many different in my 30years of code writing BUT and this is the big BUT. You are NEVER productive in a large scale project until you have used language X in anger and have made mistakes. No company in todays world can aford to carry dead wood so first choice is a person that knows all the kinks and problems of the language and can program around them. Anybody can do a small website in any framework. Only a dev experienced in a given language can jump into a 500 object backend and be productive. Hope that helps you understand lol
A better analogy would be asking Kanye West to write you a hit rap song in Sanskrit. Not. Gonna. Happen.
Can you speak Sanskrit? Would you even be able to recognize when he's bullshitting you? If not, now you understand how unqualified people are put in charge of major projects.
Kwisatz Haderach
Sell the spice to CHOAM
This Mahdi took Shaddam's Throne
I wish I could find more people looking for those kind of requirements in my area. I can program beautifully in PHP, XHTML, CSS, and I know MySQL, RSS, and other various langauges(C, VB, LUA, Java). Once you know a programming language, learning the quirks of another language is fairly simple. If you make a mistake, pull out the manual or Google for the answer. I even work in Photoshop and Illustrator along side other graphic design applications. However, every job posting I look at requires some insane set of skills or so many years of experience well over that most have.
I believe in beautiful coding that is easy to manage. http://www.nonamestudios.com/ (Feel free to view the source.) - All the XHTML output by the PHP coding validates as 100% XHTML 1.0 Strict. The XHTML is properly tabbed for readability as is the PHP coding as well. The MySQL database was designed by myself from the ground up.(I actually took a course in database design and I learned tons. I love databases now, before I hated them.) I even purposely built in extra security with extra tables with appropriate user access controls to minimize the chance of compromise or the damage that could be done.
Number of job interviews I have been selected for? Zero. I see plenty of job postings around the country and not as much in my local area, but none of them seem to know what exactly they need.
The difference between say PHP and Javascript is smaller than the difference between English and Spanish. Most computer languages are similar enough you should be able to get up and running on any of them a short period of time if you are well experienced at one of them. That can't be said about English and Spanish.
Part of the problem is the invention or should I say interference of HR in even the smallest company.
HR are not experts in complex skills such as programming. They can't distinguish between the guy that is a one trick pony and the gal that can adapt with the times and be creative.
What HR is best at is writing job descriptions (lists of skills) and match them like a computer. And they are good at head counting. That should tell you something.
If you want to change this culture then remove HR from the hiring process for skilled labor and make the hiring manager responsible for it. May be train the hiring manager in some HR skills.
As a practical matter, don't look for jobs at Monster, because you get sifted through the meaningless HR skills sifter. Instead network your way to a new job.
Busy helping non technical users of OpenOffice.org - http://plan-b-for-openoffice.org/
I see these comments blasting all bosses far too frequently. I have a job opening: pays in the range of 75k, comes with 6% pension that you don't have to match, full PPO, not HMO, flexible hours, training budget and training goals, i.e. you need to do training to get your full raise - which is 3.5% a year not including promotions, three weeks vacation, 9 public holidays, 5 sick days, one personal day. Job requirements are PHP and MySQL, I'd like PHP 5 but I'm willing to train anyone who can demonstrate 5 years of Web development in either PHP 4 or another FOSS environment. I refuse to give tests, and I don't require a degree. I've had the job open for a couple of months.
I don't personally value classroom training, but if that's your thing I'll pay for it. If not, I'll portion out 20% of your week to play with stuff until you understand it. Or I'll buy your books. I send staff to get certified, and occasionally they take their new skills and get a better job. That's cool with me.
I filled it at one point, with a guy who I really wasn't sure about but he showed me work and came with glowing references. Turns out he was IMing his mate who had actually done the work he was showing me and who actually knew PHP, I figured it out in about 4 days and he was gone by the end of the week. I still refuse to test at the interview.
So what's my problem? I need a developer, not a programmer. I need a problem-solver, not someone who follows orders. I need a creative thinker, not someone who grumbles about requirements.
All the resumes I get from online job searches are from Romania or Singapore. Any local talent I get has either a Microsoft background who plays with PHP at home but has the complete wrong mentality for open source development or wants to be VP of something and expects to walk in getting 120k.
I work with maybe a half-dozen contractors who are exactly the kind of people I want working for me, but they make what they perceive to be better money working short contracts with no benefits and no job security.
We're out there, there are good jobs, and in my experience very few people who have value get fired, that really only happens at the large consulting firms. I'm at a medium-sized company with 300 employees total, the Web team is about 8 people.
I have never once in my professional life met anyone who fired someone useful or valuable. If you're getting fired there's a reason. If you're at a company that isn't helping you grow, move on. If you're at a company with a boss that doesn't want you to learn more and stay abreast of technology, move on. But sitting here pissing on everyone because you haven't been coddled into a life of luxury merely demonstrates that you're probably not mature enough to hold a position of responsibility for too long, and therefore we won't put you into the higher-paying jobs and we won't spend 10 grand a year on your training if we think you're gonna jump ship in less than a year.
Good people are incredibly hard to come by, and when I see someone who is "good people" but doesn't have the skillset, I'll take that over the guy with the masters and the fancy job record.
Oh, and the job is real by the way, IPRO.org for applications :-)
-- Religion is not an exact science
I know this is going a little far afield, but I wanted to say that a large percentage of the anti-H1B movement is not based in an anti-immigrant or anti-globalization mindset. Many of us are most concerned about the creation of a second class of workers who lack the rights of freedom of economic movement and the rights of free association.
I believe that the U.S. would stronger if we offered unlimited green cards to every engineer who wanted to enter the country so long as those individuals are not tied, like some sort of indentured servant, to a particular company or job. Freedom makes our country stronger; servitude doesn't.
Waltz, nymph, for quick jigs vex Bud.
It just as successful as any other strategy I have seen in the workplace... there are expert booger flickers, spitters, poop smearers... all are expert techniques for being the employee still in the office there to save the day... In fact at the last few high-turnover jobs I had in SF they were the only workers left.
I understand that it sucks to be asked about trivia which could be looked up in a few minutes. On the other hand, sometimes these questions differentiate people who've actually done something real with the language.
For example, when interviewing or screening a Java or Perl programmer, I might ask how to sort an array or vector by a specific criterion. If you've done any serious programming in one of those languages, you know roughly how this is done. Getting the syntax wrong doesn't matter much. Showing complete unfamiliarity with the concept is fatal.
Is this reference manual trivia? I don't think so. You need to know roughly what tools are available in your preferred language.
I agree with this sentiment, and I think that pre-9/11 it wasn't such a big issue... but now getting any kind of residency status is such a long process. Every one of my immigrant co-workers had a nightmare story with immigration - I think one only got everything resolved when the local congressperson attached his name to a bill (which is apparently a huge percentage of bill amendments).
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
There are a lot of anti-Ruby/Rails memes out there, but I rarely see any evidence to support them. One of the most curious claims is that Rails has scaling problems. The oft-cited example is Twitter, though their scaling problems have nothing to do with Rails. DHH (creator of Rails, so admittedly biased) has a pretty compelling response to this: http://www.loudthinking.com/arc/000479.html My sense is that the Ruby/agile community has made critical insights into the fundamentals of development, which allow them to be substantially more productive then their counterparts in e.g. Java. I actually work at a PHP/XSLT shop, and while I think we've built a really nice platform, I often feel that we make huge fundamental mis-assessments of the relative importance of things like ease-of-development vs. "performance". Whenever I read Ruby/Rails blogs or books, I just feel overcome with the sense that these guys "get it", and understand the the human cost of development is so much larger than the mechanical cost (servers, bandwidth, etc.) I agree there's no magic bullet, and there's no framework or language that can stop developers from implementing bad solutions. But I think the typical warnings against Ruby are badly misinformed.
MOD PARENT UP
Uhhh... YEAH, because doing software development in Java is as easy as using a hammer, right?
Dipshit.
People ask for programmers with N years' experience with their tool set because it takes TIME to become proficient and they don't feel like letting you train up on their dime.
Now, run along, kid, you bother me.
Add to that that some companies are either too cheap to hire good admins to set up web environments properly so the developer has to also be a jack of all trades in that dept.
You can also add the fact that if a client has got some problems internally on their networks
you must be able to bypass this so as to make your app 'work' in their environment...or else you get the old...'well this doesn't work so it's not a good product'.
More like stop being a cheap ass and get web servers configured properly...
If i could just code, I guess i would be much more advanced in my field then I am....
but i would not be able to set up a full domain with webservers and cache servers running
in a multi os environment.
I realize this thread is over, but for anyone following up, now Starbucks is doing it. Go to this site. Noisy, annoying. http://www.starbuckscoffeeonthego.com/
Those psych interviews are so funny and yet annoying. I can't believe they help anything. All they do is weed out people who don't like being asked in 16 different ways if they take money from the register, drown puppies, and smoke crack.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.