The real answer to the question, is that many times they don’t want to hire you at all. “Well we tried to find a qualified US Citizen to fill the position, but golly gee, nobody could meet the requirements! But we just happened to find this fellow in the Punjab who is an expert in everything we require! Never mind that he grew up in a town with open sewers, no electricity and the need to boil water from the town well over a fire of cattle dung to make it potable, he is the IT guy of our dreams! It has NOTHING to do with him being willing to put in twice the hours on half the pay. Can we haz our H1 visa for this guy now?”
I’m running into the same problem. I’m great at PHP, MYSQL, HTML, CSS, and JS/Ajax. With those things you can make a fully functional web application top to bottom. I have, in fact.
But so often I see job listings that also want Java, ASP, C++, and elven magic. Plus a college degree and 19+ years experience.
It’s ridiculous. Anybody who knows all of those things can’t be that good at all of them. And what kind of job requires you to use all of those things? “When you’re done making this website, get started on making a desktop application to calculate the square root of infinity”
And the requirements for a degree are a bit old-fashioned. I know programmers who are self-taught and some who learned in college, and in 100% of the cases, the self-taught ones are much, much better at it. When you require a degree, you’re going to get a lot of “I decided to take computer classes so I could get a good job” people and not “I was born using a computer” people.
See my previous post. To get their H1 visas, they have to make at least a token effort to hire a citizen first. That effort is designed to fail, because what they really want is some guy from India who will work like a slave for pennies on the dollar. Bill Gates led the way…
It’s going to make a difference whether you’re interviewed by the personnel department, the person you’re going to work for, or the president/owner of the company. Only the first one will demand everything advertised and a college degree. The other two will choose you based on their “gut feeling” about you when you’re under interrogation. Every software house has to teach its programmers their own proprietary system and rules. What they’re more interested in than anything else is whether you’re bright, and can work well with the team. Frankly, sometimes it’s the case that the less you’ve been exposed to, the better, because they won’t have to make you “unlearn” the ways you learned to do things. What I’m saying is go for it. Don’t just send out resumes. Go visit. (And a free tip: learn a little bit about the company if at all possible. Just call the receptionist and ask questions, if nothing else. Or call the person who is interviewing, and ask whether you can come in for a face to face. Show some leadership and initiative.)
In some cases what happens is they have a job classification or pay grade that combines a lot of stuff that all of the various Database Manager II (or whatever) jobs entail. For some internal purposes, it makes sense to have that type of a generalized job description. For pay or career ladders or what type of desk you get, one language is much like the other. That job description shouldn’t be what makes it into an individual job ad, but in haste, stupid stuff happens. Plenty of HR folks have been laid off, too, or diverted to work on layoffs. Plus, they are being deluged with resumes, so it’s not like thinning the herd a little dooms the company to an empty inbasket.
If you have a coherent set of skills that would allow you to do the job, put those on your resume and apply. **Liberal’s **advice to get to know something about the company and what kind of server they have is good, although companies vary in how easy it is to get that kind of information as an applicant. Networking (the social kind) is valuable that way.
I would call it invaluable. I got my first job as a programmer by walking into the office of a small shop, and giving a disk to the receptionist. I asked her if she would please give it to the owner or manager. It had a program I had written that was database driven, and helped people choose names for their babies. It had a cool and cute interface, with all kinds of helpful things — like helping people weed out bad monograms, like ASS or FUK. It even had a slot machine option in which names would appear at random, paired with the last name of the couple. I left the place, and got a call a couple days later. Sometimes, you just have to show what you can do. And if it’s very good, then show it off. Like I said before, show some leadership and initiative.
That could very well be. They may have already “preselected” someone (probably the boss’s idiot nephew).
Don’t forget XML. You absolutely need to have XML, because writing code in an efficient language between cooperating systems (say MS Windows, IIS, and SQL Server) would just be too damn hard when you can bloat the hell out of it with some nifty XML.
It’s all the rage.
That was funny.
But XML is also critical when communicating with computers that use a different OS or Internet engine than your own. For example, we own a retail store site that downloads product, count, and pricing data from the wholesale supplier. With XML, the communication is greatly simplified.
The term “XML” itself is kind of broad, since you can use any kind of tags you want. Asking “do you know XML” is kind of like “do you know lines with brackets?”
It would be difficult to argue that programming does not require a natural proclivity to problem solving. Being college educated does not guarantee a good programmer, but requiring college education in a relevant subject can weed out a lot (sometimes as much as 66%) of applicants who think that since they are good at writing emails and browsing web pages, that they should do just fine in a development position. And if you don’t believe that people out there think that way, then look at the attrition rate for freshmen in comp sci programs.
In a visual basic class in high school, there was one kid who was so dense that to solve a few test/homework problems he copied code out of the book, only he copied the pseudocode from the book thinking it was real code. And once I looked at his notes and saw that he’d spelled pseudocode “sudocode”.
Later, by happenstance, I overheard him talking to a guidance counselor about specialties and he said “I’m pretty good at my programming class, maybe I could do that.”
If you’re getting into web programming forget about having a set of knowledge that you can carry from job to job. The nature of the field means that the development environment is highly flexible. You may find you need to learn new tools and languages every 6 months.
Other fields are not like this. You can jump from job to job strictly on your Oracle experience or whatever. But web programming often needs to integrate with constantly changing tools and frameworks. You’ll find that some of the skills they’re asking for today will be obsolete in a year or two.
To be honest, I probably wouldn’t hire you for a web project as a new-hire. Database programming is a small facet of web programming. With web programming it’s more important to have a breadth of knowledge about the web development environment. That’s because it’s easier to get a good DB developer than it is to get a good web developer. The DB dev environment is much more understood and structured. But web development is not like that. The project I’m on right now I have to develop in java, javascript, AJAX, cgi, php, perl, EJB’s, and servlets. The DB stuff was completed done months ago and I access it through a JDBC layer.
So what can you do? Start building up your own web programming experience. Find non-profits and volunteer to setup their database and get it on the web. You need to become a web programmer that just happens to know a lot about databases.
Great post, filmore! You really nailed the heart of the matter.
Well, we had forgotten FoxPro. But you had to go and remind us of it, you heartless bastard.
Hee-hee. I had a vendor tell me just today that somebody at another site had suggested the feed from our application to theirs should be an XML file. The vendor’s specs had the export file as a simple CSV … Fortunately, they happened to talk to the person who will actually build that feed–viz. yours truly–before they started making any changes to their import routines. I assured them that sending over the data (which will have a predefined static list of fields) as a CSV will be no problem whatsoever. (I was talking to a design manager and not the data monkey from their end–I imagine that if the previous conversation had been relayed him, he probably just responded :dubious: .)
XML is a wonderful thing, for what it’s designed for. I do get shocked at the number of round holes people try to pound that square peg into …
Thanks for this link, Liberal. I’m dipping my toes into PHP/mySQL and this looks like a great place to start.
Moved from The BBQ Pit to Mundane Pointless Stuff I Must Share.
Gfactor
Pit Moderator
Yay, good to know the idea works!
I’m trying to build a bunch of skills demonstrations for my resume. For excel I’m putting the finishing touches on a spreadsheet that streamlines the process for picking classes.
See a lot of degrees and certifications share courses. If you plan your electives, and classes to meet requirements right you can get extra certifications with just a few extra classes, throw those in with a suite of industry certifications and it’s good resume filler.
I made a spreadsheet that allows you to select upto 5 degrees/certifications and it shows you which classes overlap, so you can pick your electives for maximum efficiency. The class picking is menu driven. Another sheet in the book also shows you the total amount of classes needed, not counting duplicates (ie com-111, a requirement in 4 certs is only counted once). Also you can select which classes you’ve completed, and it tells you what percentage you are to be done, with pie charts. Another feature is if the student hasn’t picked enough credits to meet a requirement section then that requirements turns red till enough classes are picked.
The spreadsheet it’s self uses a bunch of references to various tables on another sheet to function. It’s all behind the scenes stuff. The user just sees a menu driven application front end. It’s very unspread sheet like in it’s user interface, but is a spreadsheet in it’s guts. It’s coded in pure references with no VB. I didn’t want any security warnings popping up when it’s opened.
It does a real good job of simplifying the information and helping people plan a lot better. It’s even helped me already. I used it to cut out a few unnecessary classes from my plans and get the classes needed for my applied science in business degree, with 4 computer certs (information systems, technician, database, and web design) down to 82 credit hours.
When I showed off a a half finished version people were pretty impressed. I finished all but the polish tonight. Monday when the college is open I’m going to take into the school guidance office and see if they could use it for helping students make their plans.
I figure if I copyleft it with some free distribution, modification, but required attribution license, and it’s as useful to people as I think it’s gonna be then that should get my name out there.
I made it cool looking too with “excell shading”. Basically I gave all the pie charts, tables, and stuff fat black outlines and borders so it looks cell shaded. I came up with idea one bored day in excell class.
Anyway combine a bunch of stuff like that with some industry certifications such as some CompTIA certs likes A+, Network+, Security+, Linux+, etc. and Microsoft ones like MSCA, and CMOS, plus academic certs, and that’s a good portfolio of skills to sell.
I managed databases for Starwood and also did them when I had my own business. The thing is people rarely hire people they should to run them.
You would not believe when I had my own business, I’d get a job inquiry to clean up or improve data to find that the secretary was running it.
Database manager jobs always list “EVERYTHING.” When I worked for Starwood for example, we had we had mySql, Access, dbase, 4D and two other proprietary ones used for sales and payroll. One of my jobs was to make sure all the databases balanced against each other.
When my position was eliminated the company just stop balancing the databases.
The acutal reason you’ll find so many companies want a variety is they are using unlicensed copies. This is why open source things like Linux and PHP are the best to learn. Companies want to not have to deal with licenses so open source is the best to learn.
I have heavy computer skills but my last full time job was as an assistant controller at a hotel. I go to the temp agency and they send me out to do a clerk in accounting job and the first thing I get is the company wanting me to fix their computer.
Obviously these people are trying to get a computer person for the price of a clerk.
Just list your skills and apply. H/R people know what they absoultely need as opposed to what they like. And they may settle for your skills.
Here’s kind of an example. I had an job that wanted Quattro Pro, the H/R lady was not convinced even though I have advanced skill levels in Excel that I’d be able to handle Quattro Pro. For almost all purposes they are the same thing. It’s just the pull down menus and such are in different locations.
But she was bent on only hiring someone she was confident could handle Quattro Pro. So after I lost the interview, I went to the Internet Cafe and used Quattro Pro there. Now if that ever comes up again, I am confident I could talk my way through convincing someone I could use it effectively. At the time of the original interview I hadn’t seen Quattro Pro in over 10 years, so I couldn’t even tell her what it looked like anymore