The Web Development Skills Crisis 471
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."
Really? (Score:2, Interesting)
Re:Really? (Score:5, Funny)
Re: (Score:2)
Re:Really? (Score:5, Insightful)
Re:Really? (Score:5, Insightful)
I think it's a shortage of companies willing to take the effort and risk to train. I had this conversation with my father, who was bemoaning the lack of skilled mechanical engineers. If your requirements are specific, don't expect a huge pile of people (without jobs, mind you!) to be waiting in the wings for your spot to open up. You need someone who might take a year or two to get up to speed, but once there will be good.
THEN - and this is important - you have to be a good place to work and... raise compensation when the person is now the highly trained mythical creature that you would have given your right arm for the year before. Your goal should be to keep his resume un-updated and off monster.
So yeah, there is a definite shortage of people pre-trained for your job opening. There's also a shortage of gold at the end of rainbows and fountains of youth. I think this is a matter of unreasonable expectations.
Re:Really? (Score:5, Insightful)
That's the entire problem. Companies love to whine about shortages of employees, while it's their own fault. It was always easier when companies treated skilled employees like assets, now they treat them like disposable labor and are paying dearly for it.
The list:
pensions
training
raises
bonuses
perks
All gone except a 3% cost of living raise that is just compensating for inflation. They complain and bitch and moan about turnover and no "loyalty" when they're the ones at fault. They took away all of the reasons to be loyal to cut costs, so employees jump for a new job with higher salary because salary is the only benefit left.
Re:Really? (Score:5, Interesting)
Tell me about it. I kept my programming and web development skills up to date, but I was fired for being sick and being there for four and a half years. If I had been there for five years or more, they would be paying me more for pension, bonuses, more vacation time, raises, more perks, and bonuses.
So it is better to get rid of people like me who get sick on the job from the stress, and hire someone who will work for peanuts and be disposable in a few years and keep their 90% IT turn-a-round time for getting rid of old employees and keep hiring on new ones at cheaper rates.
Re:Really? (Score:5, Funny)
You seem a little....
Re:Really? (Score:4, Interesting)
He seems a little like the former management and former coworkers who created the stress in the first place by name calling, having unrealistic work schedules, ignoring civil rights employment acts like the ADA (like telling a person with schzioaffective disorder to just "snap out of it, or be fired"), and lastly not being able to do what I do and somehow thinking they know more about it than I do.
Re:Really? (Score:4, Insightful)
Some of us aren't fortunate enough to get sick.
Try being the responsible party for 18 radio towers in 3 Texas counties, a dozen Cisco routers and switches, a few dozen servers, hundreds of websites, a few thousand customers and a few tens-of-thousands of email accounts, on-call 24/7/365 with no vacations and no benefits and not wish you could get sick just to have a day off. Employers, these days, want your blood in exchange for a milk-bone. "We recognize your value to the company, so we're giving you a $.50 raise, a manager title and moving you to salary." (hint, that's PHB speak for "bend over and prepare for double the hours with no overtime, now squeel!")
I almost wish I would get fired so I could take unemployment for a while and get a day off - but unemployment is for, as you said, "fucking pussies."
I would get another job doing what I enjoy (web development), but every job requirement that I read wants a Masters Degree and fluency in every language since COBOL (which I am fluent in)
The good jobs with good benefits are usually doled out to the candidates with the longest list of credentials, least experience and best ass kissing lips. And those guys are generally rabidly defending their positions against any up-and-comer who might pose a threat to their gravy train. Everyone else has to claw their way up to the bottom rung before getting kicked off the ladder to make way for someone who will work for less money, fewer benefits, and more heartache.
It started as a reply to a troll, but turned into a rant.
Re:Really? (Score:4, Insightful)
At-will employment is also part of the problem. Because I can just jump ship if I want to (many parts of employee contracts are unenforceable) the company has little incentive to train me. Why spend the money to train me when another company can then hire me for slightly higher wages and reap the benefits of the other guys sending me to school?
Re:Really? (Score:4, Insightful)
At will employment works both ways.
Companies can, and will, drop you at any moment without a reason given if it serves their needs.
Loyalty is earned. If a company doesn't value me and pay me/train me accordingly of course I will jump ship if I find what looks to be a better opportunity.
Re:Really? (Score:5, Interesting)
Well, I'm not so sure about all this whining about I can be fired at any moment because this kind of behavior has been around for far more decades than the internet. And the article isn't about people getting fired/hired.
What I do see is a growing problem of new software development becoming full of bad practices.
Old code example. Perl CGI. It's ancient and by modern terms considered a has-been. But it has some advantages: It's very well documented and it works very well. But it's not easy to write big fancy applications using CGI. So people say it sucks.
Moderate code example. Perl HTML::Mason. It's a better application platform than CGI that allows for people to start using real software to write real applications that do real things. It's very well documented and works.
Modern code example. Ruby on Rails. This is a fantastic platform for making applications very quickly with a lot of bells and whistles. But there is little documentation compared to prior platforms and precious little documentation for what it does.
So where is the crisis? When you use Rails you only know Rails. But you don't have good exposure to how to do Ruby, CSS, JavaScript. Case in point: Rails uses prototype and scriptolicious for JavaScript. These libraries are dependent upon Oject JavaScript, which is not trivial. But sooner or later, you get into a jam with Rails where you have to know now only JavaScript, but Objective JavaScript, and then prototype, and finally Rails. So in order to use any javascript that Rails is based on you have to be a pretty proficient user of JavaScript.
Multiply this by Ruby, HTML, CSS and you have a high investment in four core languages just to write a real application. So you have this entry barrier problem where some guy buys a book on Rails and becomes good enough to do something. But not something that can have any functional extension beyond what Rails can present.
The crisis is that you get a long ways in a few lines of code. And if something goes awry -- you have to know a hell of a lot about all the underlying languages. Each one of them can become a nearly full time job trying to keep up with.
Specialization will continue on the Rails level of focus. But you can't get an effective development team (can it be done alone anymore?) unless you keep a few core members who have great skills at one or maybe two of the underlying core components.
I don't think there is a solution to this until we can eliminate all the junk in these core components (HTML, CSS, JavaScript) so that writing code isn't such a complete pain in the butt. There's some evolution that has to happen out there.
Re:Really? (Score:5, Insightful)
The bitch, in my opinion, is that the guy who knows Perl::CGI and Perl::Mason can probably learn Ruby on Rails and have a better understanding of the underlying concepts (having been doing this sort of thing for years), but most companies would rather higher the guy who read the Ruby on Rails book. He has the "right skill set" (meaning he has a vague understanding of the language we're working with right now). The other guy has a conceptual grasp of the whole pie, and could easily learn the specific skill, but his lack of experience with "whatever we happen to be using at the moment" makes him somehow unsuitable.
Re:Really? (Score:4, Insightful)
Re:Really? (Score:5, Insightful)
It's the curse of HR. Human resource people have no idea what we do or how to hire us so they go by the buzz word of the week (usually spelled wrong - looking for Pearl programmers?). Companies that let engineers hire engineers get a much better quality of employee I think. If they then offer a good work environment then they'll probably have an awesome crew that can kick serious ass.
Re:Really? (Score:5, Insightful)
Long working hours, no compensation
6-day work weeks
I am in the Casino/Sports Betting industry and good enough to tell them 7-15 5days a week or bye-bye .. but most of my colleagues are working for shit, 6 days a week 2 shifts ... That is in Costa Rica....
Moral of the story : learn stuff, do not count on training, have an attitude, and be good. ...
We just lost a support guy who was answering phones (software developer engineer), and a designer, because he was sick of answering the phone on sunday afternoons - yes, designers make nice pix 9-5, then they wanna go home and be with their family or smoke pot .... they are artists, just like programmers ....
BOSSES DO NOT UNDERSTAND THAT. Period. But they will learn, as all you IT people stop being pussies and tell that what you want, then do not make exclusions.
I can do it, you can do it ...
OK, terrible week, 8+ 4-5 hours a week of coding at work + coding at home (for other clients).... so I had my Friday night drinks before shooting some people on PS3 ...
Anyways, everyone stop whining, start downloading ebooks from pirate bay, learn how to use prototpype, PHP and get a job and have an attitude.
Problem is: people (especially in the US) want free (mostly useless) training. Elsewhere (esp, Europe and Asia) people download/buy a book on whatever, and then write a program just to learn it. They end up in a good job where they perfect.... Problem solved.
Ok that is the drunk version, but I went to all kinds of trainings, and 99% was useless. Just write an app that does .SOMETHING. in language @#$%, then you learn something. Then read a book about it, and you will be better than any certified monkey.
For the record: I am a software engineer with many years in unix/net administration, and I coded PHP/MYSQL before landing in a full time coding MSSQL ASP (!!!JSCRIPT!!), and JS.
I am working on a sportsbook software, and have 3x the assignments I can do. I am a healty nerd who rides bikes, exercises and scuba dives I do not live in my grandma's basement. In other words; I am a normal person and can learn enough technologies and sustain+save well enough, because I care and want to train.
Can you do it? Yes. Just want it?
No I am not the writer of "Oprah you can do it" or "Chicken soup for the soul" ... I am jsut a slightly drunk (now) programmer/IT admin/tech geek who thinks that instead of all the wining, all these people can make a very nice living without ripping people off, and without learning things day by day.
ahmm.... I go and watch some chick-flick my wife wants to watch .... life is not perfect
Just my 2c ..
Re: (Score:3, Funny)
I really like this post.
Although I'm afraid your drunken language might have blurred some of your points, you do have some very good ideas here.
The best part:
.SOMETHING. in language @#$%, then you learn something. Then read a book about it, and you will be better than any certified monkey.
Ok that is the drunk version, but I went to all kinds of trainings, and 99% was useless. Just write an app that does
I love it--learn by doing.
The worst part:
Re: (Score:3, Interesting)
Out of curiosity, how do not feel like a scumbag for using one person's "imaginary property" without paying for it, then turning around and using the knowledge you got from it to sell more "imaginary property" to other people at great profit? They're giving you the knowledge you need to make your living and put food in your mouth, the least you could do is buy thei
Re: (Score:3, Insightful)
Well, for starters, if they paid to retain the employee, they wouldn't have a position to fill, right? Second, when they do get that opening, they can't as easily convince another good programmer to come on board to fill that position.
That was the point of this thread. The perceived shortage isn't really an actual shortage. It's like a high school dropout complaining that there is a shortage of companies paying more than minimum wage. There is likely more than enough programmers with the required expertise.
As an steam turbine engineer... (Score:5, Interesting)
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.
Re:Really? (Score:5, Interesting)
You're right, but that flies in the face of contemporary management theory.
The way companies do it now is they "buy" the skills they want: they demand outrageous skill combinations, and don't settle until they get them. Then they offer the person the bare minimum they think they'll take, and plan to never promote them. At a management job I had a few years ago, I got told by senior management that my staff would never get promotions, because that would cost money, and that the employer didn't care if they left because of it, because we'd just replace them. (I started looking for a new job the next day. I didn't want a promotion, but I figured if they're that stupid I didn't want to be there.) I told them I preferred to hire junior people, who were cheaper and more malleable, train them up and them promote them to mid-level. They basically told me I was amusing.
Meanwhile, these employers who don't care if their people leave and will lay them off at the drop of a poor earnings report are the first to complain about "lack of company loyalty" among their employees. I've reached the point that if an employer complains to me about lack of company loyalty, I tell them outright that I have no more loyalty to them than they have to me, and explain to them that I base that assessment on how I've seen them treat their other people, and give examples.
Surprisingly, they've actually tried to keep me after that.
Re:Really? (Score:5, Funny)
They were offering something like $40K a year.
Re:Really? (Score:4, Insightful)
It's not a shortage of web developers, it's a shortage of web developers with skills.
Correction:
It's not a shortage of web developers, it's a shortage of web developers with currently in-demand/what's hot now skills.
Re:Really? (Score:4, Insightful)
Dude, it's a shortage of people. It's caused by decades of birth control and a philosophy that you should wait till you're 30 before you start a family. It's in every field of endeavor. It has nothing to do with education, or loyalty, or any of that shite. It has to do with demographics, and it's going to keep getting worse, most likely for the rest of your life.
Re:Really? (Score:4, Interesting)
There's a shortage of web developers with the skill of learning new skills. There are plenty of one-trick ponies that will be flipping burgers in 5 years when their "skill du jour" expires and they can no longer operate a computer with any meaningful capacity. For example, if you are great with flash but you refuse to believe that a large MB flash app on the index page may cause a drop in traffic, then better practice up your "would you like fries with that?"
Re: (Score:3, Insightful)
There's also a lack of jobs from companies that recognise that people can learn skills if they're halfway decent...
Re:Really? (Score:5, Insightful)
That's what java developers said about PHP guys 5 years ago.
Re:Really? (Score:5, Funny)
Re:Really? (Score:5, Insightful)
True story: I just interviewed at a very small company. I already had another job offer on the table, mind you, and just went for the interview because a friend/former coworker had just gotten hired there. So it wasn't a big deal to me if I got the job or not. But I really did want to work with my friend again.
The job was a LAMP dev position. I have been a web developer for 8 years and have loads of experience with some very hot skill sets, lots of successes under my belt, plus the all important aptitude and desire to learn new things all the time. Don't have a lot of PHP experience, though the consulting firm made me take an online test and I scored 80% on it. Why? Because I know how to program, and PHP is just another language that lets you write web pages. So I used my existing programming knowledge to do well on a PHP test. I scored perfectly on another test given me by the firm.
I disclosed all of this to the interviewer because I don't want to get a job on false pretenses. The tool proceeded to ask me reference manual questions like "What does function x do?"
This isn't sour grapes about not getting the job; I had another one waiting (ironically using another technology I don't have much experience with, got it on the strength of other skills) and I don't know if I would have taken it anyhow after seeing the place. I laughed afterwards that this guy's idea of an interview was to ask me ref manual questions as a way of determining my programming aptitude. I hope he gets someone who knows every PHP function and still doesn't know how to write decent code. That'd serve him right. You get what you ask for.
Re: (Score:2)
Anyone can claim to be a plumber, too.* That doesn't mean you should let them fix your sink.
* = in some jurisdictions
change emphasis away from specifics (Score:5, Insightful)
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.
Re: (Score:2, Insightful)
On the other hand, if you are a project manager looking for contractors, you really do need someone who is not going to spend 6 months learning the tools (not syntax, but the libraries)
While problem solving skills are important in any programming candidate, they are terribly insufficient to choose an employee for any type of job, other than perhaps Winston the Wolf [imdb.com].
A good tech can always and easily adapt to new and different ways to do things.
This appea
Not exactly. (Score:2)
#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.
Re: (Score:3, Insightful)
#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.
I can't even imagine how to learn (to the level required of a professional developer) any large subset of, for example, the java, python, C++ standard libraries in less than a month, and I'm already at least passingly familiar with all of them. I will stick with my gardening for a career path, I guess. While I have no doubt any high-schooler could learn the basic language syntax of the above examples in less than a day, the libraries are typically the real value in any application development language.
#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.
Or
Re: (Score:3, Interesting)
No problem; I've never run into a contracting agency which wouldn't swear up and down that their people had 10 years of experience in any skill you could come up with.
Re:change emphasis away from specifics (Score:5, Funny)
I know what he means! I've put this job offer through our HR folks literally WEEKS ago and have not seen a SINGLE candidate's resume!
Wanted to hire, Jr. Web Developer.
Required Skills, minimum 10 years experience in the following:
Silverlight .NET
Microsoft(tm) AJAX(tm)
C-pound
SQL Server 2005
MySQL 5.0
ColdFusion
ATOM
IBM(tm) SOA
MS-Groovy
PRISM
Compensation: $14K/yr
Re:change emphasis away from specifics (Score:5, Funny)
Re:change emphasis away from specifics (Score:5, Interesting)
Don't laugh. A couple of years ago I saw a very similar job ad. They ran it for months. Nobody with the skill set they wanted would have taken the job at the offered rate (less than $10/hour). I don't remember if I emailed them asking if they were out of their fucking minds.
Re:change emphasis away from specifics (Score:5, Interesting)
You'd be surprised how often people run ridiculous ads because the people doing the hiring already know who they want to hire, but corporate policy requires that they advertise the position.
I've done it.
Fortunately, these days I work at a much saner employer.
Re: (Score:3, Informative)
I suppose it depends on the company. We always put something like "competitive compensation" or something similar.
Generally speaking, everyone even somewhat likely to care was part of the sharade. We had a spot we needed to fill, we had a person that we wanted to put in the slot, and we really didn't want to waste time interviewing a pile of random strangers. Advertising the job was just a formality. Hiring random strangers is a lot of work, and it's too easy to spend months interviewing and still end
Re: (Score:2)
I saw one the other day that was a basic webmonkey job; they wanted VB.Net and Access and some basic ms-centric crap like that...And seven years of college.
I had more coke in my sinuses than Paris Hilton; a masters for that? Talk about your degree inflation. 3 years of highschool and a fricking MCAD would have been overkill for that gig.
Re:change emphasis away from specifics (Score:5, Informative)
Those types of jobs ( especially if they include only a PO Box) are written in order to show that no US Citizens are interested/qualified for the job. The are called Labor Market Tests. The job can then be given to an employee that requires company based sponsorship (eg H1-B Visa).
To see an example of such a job ad (for a job at Cisco) click here: http://www.jobdestruction.info/ShameH1B/Library/Archives/FragomenCiscoJobAd.htm/ [jobdestruction.info]
Re:change emphasis away from specifics (Score:5, Funny)
We had no problem finding junior devs with those skills, but finding people with PhDs and 20 years of experience in Silverlight and AJAX proved problematic for the senior positions.
Re:change emphasis away from specifics (Score:5, Interesting)
You're obviously joking, but I've had it happen to me. I actually had an incident in which the employer was requesting, for a mid level position, 2 years more experience in Java than were possible except for its creators: the JDK had been out for about 4 years at the time and they were asking for 6. I decided it was a simple error on their part and applied anyway. 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. At first I thought it was a joke and laughed, but it became clear they were serious. I tried to explain to them that there were perhaps 7 people on earth with what they were asking for because the JDK had only been out for 4 years, but they were having none of it, and with some parting insults, hung up on me.
In all I'm glad I don't work for them, any company that stupid and unprofessional would not be good for my reputation to have on my resume.
Re: (Score:3, Insightful)
HR is in a worse situation than IT. I have met exactly one HR professional whom I consider serious. The rest have no clue about how to select and keep good professionals.
Re:change emphasis away from specifics (Score:5, Insightful)
Yes, it does happen. I think Java was one of the most common offenders in during the dot-com era. From what I hear, it happens because the hiring manager asks for a middle or senior-level person who "knows Java" or whatever. To HR drones, the definition of junior/middle/senior pretty much boils down to # of years experience with the skillset requested, they don't follow the tech enough to know.
The sad thing is, companies with good HR people that work with the hiring manager are relatively few. At most companies HR exists as a gatekeeper to the hiring process, and good hiring managers learn to work around them. Of course, once HR realizes people are bypassing them, they find ways to expand to the rules to block it, which of course makes it even harder for hiring managers to find people.
In the end, companies with clueless, controlling, and inflexible HR departments get exactly the kind of workforce they deserve.
Re: (Score:3, Insightful)
You don't get it. Business is a bullshitting game. Those who master the art of bullshit get the position. The person who got the job probably set up a phony phone reference who happily said, "Sure, Bob has been doing Java at our shop since
I smell a rat (Score:3, Interesting)
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.
Re: (Score:3, Insightful)
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.
If his story sounds fishy to you, a simpler explanation would be that his story was inaccurate. Don't forget occam's razor.
Re: (Score:3, Interesting)
Sort of on the flip side of that, there was an ad back in the mid-70's from CSC. They had been contracted by the FAA to design and build the next-gen Air Traffic Control system. The ad listed a couple of must-have's and a bunch of nice-to-have's.
I was interested and called. As the woman was running through her check list she was getting more and more excited as she realized that not only did I have all of their technical wish list, I was actually a former Army Air Traffic Controller. She said something like
Re:change emphasis away from specifics (Score:4, Funny)
During the dot-com boom, I got my first job by answering a silly ad like that.
I just put the huge list of skills into the application email, and next to them just noted "yes, yes, no, no, sorta, yes, a little, yes, no, no, no, yes".
Turned out what they wanted was greatly different from that list, but the sheer fact I responded meant I was more or less the only applicant :)
Re: (Score:3, Insightful)
You missed off:
Educated to PhD level.
Under 22 years of age.
Must be left handed, a qualified pilot and able to speak fluent Lavaturian.
Ideally an Aries or Pisces, grade 3 or higher at piano and flute. Black belt in judo/karate a bonus.
Re: (Score:2)
the problem with a lot of "Web Developers" is that a lot of them are from the graphics arts background. Especially in the flash arena. Most of my work these days is going in and putting out fires and fixing messes when graphics designers get over their heads. Typically I can come in with the right people and fix the situation.
That being said, I know plenty of programmers who are technically competent, but couldn't design their way out of a cardboard box when it comes to UI design or layout of a page. I c
Honest question (Score:5, Insightful)
Is the state of the art really changing that fast or is it all a problem of "buzzword turbulence", if you will?
Re:Honest question (Score:5, Informative)
Exactly.
I would add, the real problem isn't even the buzzwords. It's the incompetence in HR departments.
I see this in my own company when I try to hire developers.
I've learned how to navigate this bureacracy now, but it was tough at first. I had candidates with 10 years experience with JavaScript who were given phone screens. They explained they'd used hidden iFrames and tags to retreive server-side interaction since the late 90s, but their resumes were never handed off to me because they never specifically used the XMLHttpRequest object so it wasn't precicely "AJAX" as its currently defined.
This kind of madness just takes so much energy to overcome, for both candidates and hiring managers.
Now, when I create a Req for a new hire, I keep it simple. If we're hiring a web developer, I look for self-described proficiency in Java, ASP.Net, Python, Ruby or PHP. Any will do.
When I hire a windows developer, I look for the same with Java, C#, or C++.
I'm of the belief that if you're been developing web apps with C# for 3 years, you can be an expert in Python and PHP inside 6 months.
So far, this has worked great.
What's the crisis? (Score:5, Funny)
Real programmers don't care what language they need to write applications in. They write them in C.
Re: (Score:2)
Re:What's the crisis? (Score:5, Funny)
Re:What's the crisis? (Score:4, Funny)
Excuse me, but REAL programmers use butterflies.
Re: (Score:2)
What site do you think you're on? I think you mean Bruce Schneier.
My Problem With Web Development (Score:3, Interesting)
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.
Not really, honestly (Score:3, Funny)
Real engineers can work in any language. ... except Java.
Re: (Score:3, Funny)
I'd rather code in beach sand with sticks than Java.
The Real Problem (Score:2)
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.
Re:The Real Problem (Score:4, Insightful)
Re: (Score:2)
your technical requirements eliminate candidates (Score:5, Insightful)
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.
Re: (Score:2)
MOD PARENT UP
5 4 3 2 1 POST!
Re: (Score:3, Interesting)
Re:your technical requirements eliminate candidate (Score:4, Funny)
Re: (Score:3, Insightful)
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.
Sillyness (Score:3, Interesting)
Re:Sillyness (Score:4, Informative)
My very recent experience in hiring a web dev (Score:5, Interesting)
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 [wikipedia.org]". 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.
Re:My very recent experience in hiring a web dev (Score:4, Interesting)
I wish I'd met you in some of my job interviews. I've found that in general, admitting to an employer that I don't already know everything about the language and have 20 Fortune 500 sites to show for it is the kiss of death.
When I hire technical people, I look for them to have some knowledge relationship to what we're doing (for example, when I was hiring a DBA to manage a sybase system, I didn't care if we got Oracle applicants, as long as they knew a little SQL), and I look for relatively junior people. I find when I hire senior people they tend to tell me everything will be fine, but then when they actually start work they want to throw out all my work so they can redo it with their pet technologies, while junior people will let me train them up to do it my way. And my way works for me. And junior people cost less.
There are relatively few programmers (or, for that matter, managers) who understand that a good programmer can just pick up the required technologies and deal with it, rather than having to hire specialists for every stupid language and format.
I've long since understood that the way to make money as a web developer is to get certified on the latest drivel that comes out of Microsoft, no matter how bad it is, and get jobs doing it. If you instead determine what is the best technology for each client/employer and use it, you'll get marginalized.
My secret... (Score:3, Funny)
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
Crikey - Big Discounts (Score:5, Insightful)
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.
Re: (Score:2, Insightful)
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.
Also, the next time you see an old person, do yourself a favor and check out at how fragile and weak they are!
If it is dark or you are wearing a hoodie, and if you want to "earn" a few bucks, you just might think of a way to do that
Old people are stupid for carrying money when they have such feeble self-defense skills.
This is nothing new. (Score:2)
The same thing has been happening in the general software development world for 20+ years. :-(
Too much to keep track of (Score:4, Insightful)
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.
Re:Too much to keep track of (Score:4, Interesting)
Ouch (Score:3, Insightful)
.NET, J2EE, LAMP (Score:3, Insightful)
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.
Partly self-fulfilling problem (Score:2)
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 sa
Web developer here. (Score:2)
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
The problem is even worse when you add HR people (Score:4, Insightful)
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
Huh? (Score:5, Insightful)
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!
Re: (Score:3, Interesting)
Going from PHP to multi-threated C#/Java apps is also not trivial since you have to pick up locking/etc...
It's true that a lot of stuff is irrelevant, but some stuff matters. I know C/Java/etc.. However J2EE has enough libraries/new stuff that I would probably take a non trivial amount of time to wrap my
I.T. people have been dealing with that for years (Score:2)
Suck it up.
There's a shortage, and it's bad (Score:5, Interesting)
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.
Re:There's a shortage, and it's bad (Score:4, Insightful)
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.
Large company or small, that's it right there. If you want good people, you have to know how to interview for good people. This is one reason why, in new companies or even new teams in big companies, a top-1% "rock star programmer" is so damn valuable as a "seed engineer". Get one really smart guy, teach him how to interview properly, and you'll have a team of highly qualified engineers down the road.
you can only really hire someone better than you are by luck
The reverse is quite important too: really good people can easily detect when they're bing interviewed by a dumbass, and won't work for that company. Bright people who ask obviously good and on-target interview questions attract other bright people, more than any salary you can probably afford to pay.
Heinlein said it best (Score:3, Interesting)
"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."
Have Geeks hire more Geeks! (Score:3, Insightful)
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.
"Computer Science" My Ass (Score:3, Insightful)
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.
old dude (Score:3, Insightful)
Python & Django (Score:3, Informative)
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 [wikipedia.org]? What major company rolled out GoogleAppEngine (based on Django)? Ruby's pretty hot right now but so is Python.
Re:I gave up (Score:5, Funny)
Re: (Score:2)
those might be buzz words, but they are real things companies use. I know my company uses change management and project management tools but the major open source CMS web technologies would not fit nicely into those schemes. Because too many things change too quickly.
Who decides we use "all PHP" from this point forward? Who decides PHPnuke over PostNuke or even Media Wiki. Who decides to use PEAR this week or CakePHP next week. What happens when we want to try Ruby on Rails? More important how do we docu
Re: (Score:2)
They don't. But just because somebody's getting paid to code web pages doesn't make them a professional web designer. There's a lot of one-trick-pony webmonkeys out there calling themselves "professional web designers," and it sounds as if whoever wrote TFA ran across most of them.