How many of you honestly know of a job available for anyone who can crank out some interpreted code and knows HTML? Or even positions open to recent college graduates who "only"[1] have a CS degree?<p>It would seem the actual threshold for a software engineer position, is at least:<p>* CS degree<p>* Good knowledge of algorithms and ability to recall and implement them<p>* GitHub page and some nontrivial tool or open source contributions<p>A typical non-senior-level job description might call for ruby, javascript, SQL, knowledge of algorithms, and personal projects that would (presumably) impress whoever is hiring you.<p>I have seen anecdotes recently of liberal arts people learning one language and getting programming jobs, however I have trouble believing that this is very common at all, because I can't imagine where they are finding these "give 'em a chance" jobs.<p>Let's not confuse competition for mid and senior level software engineers with JOBS FOR EVERYONE.<p>[1] Even at a state university, its more than possible for an engaged person to work with everything from algorithms to Lisp to robots to compilers and many other things HN holds dear, just from classes.
I've always assumed when people said "if you can code" they meant, <i>well</i>.<p>From what I've heard/experienced the thinking is there is an overwhelming percentage of software developers who are mediocre. So all that I take your meme to mean is that if you are better than that majority then yes, a job is waiting for you - I agree.<p>I don't think your average developer knows how to write native, optimized, sql queries. I actually am peeved more and more with rails because you basically spend all your time learning how to be a <i>rails programmer</i>. Your world becomes AR voodoo, and you work toward <i>gem integration</i> mastery. It's kind of weird imo. I doubt most rails devs know how to write a gem!<p>So that's just my take on it from things I've seen and experienced. It's generally good advice to not reinvent the wheel. Well in the rails community I feel they take it too far. How do you expect to get better if you let everyone else program for you? Forcing yourself to build out some of your own components may take a lot more time but those are the things that level you up as a developer.<p>I can't say this approach is common, and therefore, <i>good programmers</i> are rare.
Honestly, I would expect someone with the qualifications you listed to be able to easily get a job at a highly desired company (fb, MS, google, fogcreek, etc).<p>Only having experience with a scripting language can easily land someone a job. I don't know anyone that is good at javascript or PHP that is also out of a job.<p>I don't know anything about algorithms, how to write a bubble sort, and I refuse to do anything open source. Still, I've always had a good job and even now have a decently successful consulting practice.
Anyone who can code, no.<p>Anyone who can code well while remaining sensitive to business concerns and doing some level of networking? Depending on location, it can be far easier for them to find a job versus the average, even normalizing for factors like level of education. But at this point, we may be talking something like the top 5% of the industry, perhaps less.
Less and less web/software development jobs are specifically requiring a CS degree, based on my own observations. The ones that do are typically large companies with codified hiring standards, and governments.
Don't forget about prior work experience. A few of my college classmates did manage to find work after graduation, but that requirement held me back for a long time. I've tried asking companies to offer internships, but most have no concept of hiring below the journeyman level.<p>The bar has also been rising for entry-level experience in the rare cases these jobs are offered. Back in the 1990s, entry-level programmers were not expected to know SQL, HTML+Javascript, the LAMP stack, or how TCP/IP works. Now it is quietly expected that everybody knows all this, and except for SQL these skills are not taught at university. Students who do not pick up these skills on their own time will face an especially difficult time finding work.<p>All of the anecdotes I've heard of someone learning one language and getting a job in it involve hard-science postgrads and professors who already had very good analytical skills and were programming something related to their field of interest. It has been at least a decade since you could get a job by "just knowing HTML" -- which was not true at the time, since you were also expected to be an excellent graphic designer -- and fifteen years since I've heard anyone say you could get a programming job by being fairly smart and "good with computers". As for the presence of job opportunities, journeyman and senior positions each easily outnumber entry-level positions. Most companies do not hire at the entry level at all, and it is getting harder to find jobs that are slightly above the entry level in requiring only 2-4 years of experience rather than 4-6. It's a sign of the times.<p>Employers want experienced coders, and can get them with the economy the way it is, but everybody has to start somewhere. Most people who "can code" could barely code when they got their first jobs, and they got better by facing new challenges and having their code reviewed by more experienced supervisors. The experts-only economy is going to leave a lot of people behind by failing to give them these opportunities.
This meme originates in the tech "hotspots" such as silicon valley, nyc, etc. Outside these insular communities, the job market for developers is not nearly as accomodative.<p>If you live outside these areas, I am guessing you're comparing the kind of things said in the HN echo chamber to your own experiences outside "The Valley", and finding some dissonance as a result.