Live data from Hacker News

I Don't Agree That There Really Is a Tech Worker Shortage

news.ycombinator.com

81–90 of 153 posts

Re: I Don't Agree That There Really Is a Tech Worker Shortage

#81
post #31
post #23

Earlier quoted context omitted.

Not parent, but I've sat though way too many interviews where the candidate failed the "FizzBuzz" test, either through super convoluted code that barely works or with complete failure to produce the expected results. And that is while sitting at a desktop computer, full internet access and no one eyeing behind them.

So you are saying that many people failed to type "FizzBuzz code" in Google? I do not really buy that.

I've interviewed at Google a few times. They don't ask the fizzbuzz test. Actually I was totally stymied.

I regard it as poor form to post the questions I've been asked online. However I could describe them reasonably by saying that I was asked to design algorithms that would efficiently perform some computational task, with a very large input set, given a distributed system with a specific number of computers, disk drives and ethernet cards.

By the time one is actually called in for an onsite at google, one has been through at least two, maybe three phone interviews.

During one such interview, I was asked by Google's engineer what actually happened after the user clicked a certain button in a popular GUI program. I went on for twenty solid minutes - "Well there's a system call, which is typically implemented by calling some manner of illegal instruction, so there's a trap into the exception handling mechanism. The registers are saved on the stack, the CPU sets a flag to indicate that it is in supervisor mode, then a table is consulted to find the address of the function that actually implements the system call..." and then I went on about what happens in the kernel.

Someone who didn't know how computers actually worked might say "When you click that button, the program saves your document."

Re: I Don't Agree That There Really Is a Tech Worker Shortage

#82
post #61

Earlier quoted context omitted.

Such a lottery would give priority to areas of the country where the cost of living is highest. While I believe that the "apparent shortage" is artificial propaganda, and used as a strategy to keep wages low, if it does exist, what evidence is there that the shortage isn't most severe in Alabama, South Carolina, and New Mexico, which are some of the poorest states in the US? If it were the case that those states were…

The Canadian Province of Nova Scotia "bet the farm" when it built a really well-equipped Computer Science facility at Dalhousie University in Halifax. It's really easy to get financial aid in Canada as well. Of course the province was hoping to build a robust software industry. What actually happened is that most of Dalhousie's CS grads get jobs in the US. I lived in Nova Scotia for several years, I was only able to…

You wrote: "I speculate that the reasons for the perceived - and ONLY perceived - shortage is that it's far more difficult for employers and potential employees to find each other.", and follow it up with an example of how most of Dalhousie's CS grads are able to find work in another country?

How is it meaningful to say that it's hard for the students and their potential US employers to find each other when apparently it's quite easy?

Re: I Don't Agree That There Really Is a Tech Worker Shortage

#83

Earlier quoted context omitted.

For the specific reason that resumes are often, if not actually outright faked, at least "enhanced", I've been contemplating starting a business in which I would perform resume screening for folks like you, for a fee. I don't really know how to structure it yet. I don't want to be a recruiter or headhunter. What I would like to do is to offer folks such as yourself, who already have resumes, my opinion as to the qual…

The only concrete things that you've suggested you would do is call colleges and previous employers' HR departments. That's both pretty trivial, and there are lots of companies that already provide that service. They're usually marketed as background checks to do just before the offer, as you say, but I'm sure they could also do it up front as you're proposing.

I would do more than just verify employment, but I don't want to go into a whole lot of detail, not in public anyway.

However I will say that I've been a manager, and even when I wasn't a manager I participated in hiring. I've also been working full-time as a coder since 1987. I wrote my first program in 1976.

I can smell bullshit when I find it on a coder's resume.

Re: I Don't Agree That There Really Is a Tech Worker Shortage

#84
post #23

Earlier quoted context omitted.

Could you provide an example of your definition of a simple program and the resources they had to write it?

Not parent, but I've sat though way too many interviews where the candidate failed the "FizzBuzz" test, either through super convoluted code that barely works or with complete failure to produce the expected results. And that is while sitting at a desktop computer, full internet access and no one eyeing behind them.

Quite a serious problem I myself have - at least I'm willing to admit to it - is that when presented with any coding task at all, I start looking for ways to optimize it. That's lost me more than a few jobs.

It's not that I can't write fizzbuzz. It's that I won't write anything at all because I'm trying to figure out a faster way to implement it than the obvious way.

Here's a little exercise for you: give your candidates what you call the "fizzbuzz test", but instead of 2 and 3, use, say, 4 and 7.

I bet quite a few candidates will write out the code for 2 and 3, because that's what they memorized before the interview, without understanding what the code actually does. Source code for fizzbuzz is all over the series of tubes these days, you see.

Re: I Don't Agree That There Really Is a Tech Worker Shortage

#85

Earlier quoted context omitted.

I live in Vancouver, Washington (the "Original Vancouver", not Vancouver, British Columbia), but am looking for work in Portland, Oregon. However I have also lived in Vancouver BC, Truro, Nova Scotia, St. John's, Newfoundland, Santa Cruz, California and Silicon Valley. The claim that there was a tech worker shortage started to appear during the dot-com boom, but never really went away, even when the economy contracte…

Seriously, you claim it only cost the company a book and a week to get you up to speed in a new languages, but you can't be arsed to make that small investment in yourself before applying for a new job? That inertia and lack of motivation is the reason I wouldn't hire you. Because besides languages, your job as an engineer entails constantly learning and trying new things in order to find the best solution for any gi…

While I can understand your confusion, my gripe is that just having read a book won't get me a job, even if reading just one book is all I really require to do the job.

What I am always asked is how many YEARS of PAID experience I have with a given technology. No one ever asks what I actually accomplished during those years - whether the product was well received, whether the code I wrote crashed, whether I got any raises or positive performance reviews, what the reviews in the press had to say about the products I wrote.

Experience for which I was not paid also does not count. Especially galling, not long ago a recruiter was convinced that I had been unemployed for several years. "No, I own my own corporation. I'm self-employed. I develop products for retail sale." "Who pays you to do this?" "No one. I write applications that I sell myself." "So you've been unemployed for three years?"

At that point I just hung up on him.

Actually I invest roughly $1,500.00 per year on technical books, and deduct that money as a business expense, specifically so I can stay competitive. That really is all I require to do the work I'm asked to do.

What gets me down is that I can do all kinds of stuff a lot better than those who have many years of experience. Just because you were paid to write code for several years, does not mean you write code well. I've worked with many colleagues who were really quite clueless.

Re: I Don't Agree That There Really Is a Tech Worker Shortage

#86
post #46
post #31

Earlier quoted context omitted.

So you are saying that many people failed to type "FizzBuzz code" in Google? I do not really buy that.

How many interviews have you conducted? If the answer is more than 0, I feel you have gotten lucky in the candidates you interview or are far more selective on who you actually interview. If the answer is 0, then you would be incredibly surprised. It isn't quite as simple as this dialog is making it sound, but essentially, yes, a not-insignificant number of candidates cannot solve problems with a fizzbuzz level of di…

Caltech didn't offer any programming language courses at all when I majored in Physics there in the early eighties. One was expected to learn any required languages completely on one's own.

I have only taken one CS class in my entire life, Caltech's CS 10, which is commonly taken by first year CS majors; I took it my second year.

I found it quite puzzling that the CS majors were often stymied by the final project, which required us to write a full-featured GUI vector graphic editor. That was a tough project but I aced it. Many of the CS majors would go totally out of their minds trying to get their editors to work, but were unable to.

When I entered the workforce after dropping out of school, I was quite concerned that the folks with CS degrees would eat my lunch, so I worked very, very hard to perfect my craft. However it was not long at all that I found that recent CS grads often knew very little about writing the kind of code that was required of coders in private industry.

Consider that an algorithms class would teach all the common ways of sorting - quicksort, mergesort and so on. One is then expected to write a program that sorts an array of integers using quicksort, a second program that sorts the same array using mergesort, a third that uses insertion sort.

None of these programs are very large. They're easy to debug. You're not expected to handle edge cases, like what would happen if someone unplugged the network cable while your program was running.

In the kind of code that's sold for retail sale, or for eCommerce websites or what have you, you wouldn't be expected to implement quicksort, someone else would already have done that so you'd call a library function like the standard C library's qsort(). However what your code WOULD have to do, is handle all that nastiness like unplugged network cables.

It's not that Computer Science schools could not teach that stuff. It's that they don't.

Also, it's quite uncommon for CS students to collaborate on large projects. While I do know of it being done, it's uncommon. It would be very helpful, were CS students - at least occasionally - required to collaborate.

Finally, many of the technologies which are of crucial importance to private industry, are of very, very little interest to CS professors. I learned all about what most refer to as "Game Physics" in my upper-division physics studies, but I can't imagine a CS instructor wanting to teach her class about how to do, say, ad syndication.

Re: I Don't Agree That There Really Is a Tech Worker Shortage

#87
post #23

Earlier quoted context omitted.

Could you provide an example of your definition of a simple program and the resources they had to write it?

Not parent, but I've sat though way too many interviews where the candidate failed the "FizzBuzz" test, either through super convoluted code that barely works or with complete failure to produce the expected results. And that is while sitting at a desktop computer, full internet access and no one eyeing behind them.

A couple of times I've had written tests, where I was given a pencil and paper, then left alone while I wrote out my answers.

That worked really well both for me and for the interviewer. But I can only recall just two interviews that were conducted that way.

In one of the tests, I was given the source to a C++ program and was asked to debug it. Note that I did not have a computer, only a hardcopy of the program source. That same test also gave me a hex dump of a network packet; I was required to reverse-engineer as much of the network protocol as I could.

Another interviewer gave me a hardcopy that explained the assembly code of a hypothetical microprocessor - not one that actually existed, so I could not draw on previous knowledge of any specific processors. I was also supplied with the source of a program that was written in that same mythical CPU's assembler, with my requirement being to write down what it's output was.

This last was actually quite difficult - I required several hours to come up with the program's output. I don't know whether I got the output correct, but I did get the job.

Re: I Don't Agree That There Really Is a Tech Worker Shortage

#88
post #80
post #46

Earlier quoted context omitted.

How many interviews have you conducted? If the answer is more than 0, I feel you have gotten lucky in the candidates you interview or are far more selective on who you actually interview. If the answer is 0, then you would be incredibly surprised. It isn't quite as simple as this dialog is making it sound, but essentially, yes, a not-insignificant number of candidates cannot solve problems with a fizzbuzz level of di…

I have done about a dozen or so interviews. I can totally imagine some people not being able to do a simple fizz buzz from scratch. But when they have full internet access and no one is watching them. "Solving" fizz buzz is then as simple as performing a search and copying the results. I'll probably get down voted because it seems people on HN are incredibly attached to the FizzBuzz story. Possibly I am totally wrong…

Some people don't even know how to do Google searches.

This suggests a productive interview question: ask your candidate a question that they could not possibly answer on their own, then provide them with an internet-connected box, and see whether it even occurs to them to use web search.

It's not just programmers; I devoted twenty years to asking medical professionals why I have a constant, raging, unquenchable thirst. That's a symptom of the very worst kind of diabetes, so of course they'd order a fasting blood sugar test. "No doctor, it could not possibly be diabetes. If I had diabetes, I would have been dead twenty years ago." When the tests came back normal, the doctor would lose all interest in talking to me, then refuse to investigate further.

Just a few years ago an emergency room resident who I never personally met, but was a member of one of the other websites I frequent, diagnosed it as Psychogenic Polydipsia - "Thirst of the Mind" - which is an uncommon side effect of the medicine I take for my schizoaffective disorder.

Re: I Don't Agree That There Really Is a Tech Worker Shortage

#89
post #66
post #63

Earlier quoted context omitted.

Yeah, that's called experience.

Right, but that is different than paid experience, which is what the OP was talking about.

Among my specific gripes is that most employers don't regard open source projects as experience, because I'm not paid to contribute to them.

I'm not saying that there aren't ANY employers who respect unpaid experience, just that they are uncommon.

Quite commonly I offer to provide sample source for programs I've actually written. No one ever wants to look at my source - they only want to know that someone else has paid me.

Re: I Don't Agree That There Really Is a Tech Worker Shortage

#90

Earlier quoted context omitted.

>Well, what did you geek about then? Parsers, grammars, computability and complexity, source-tree optimizations, intermediate representations, intuitionistic logic, type theory, PL design, microkernels, macrokernels, message-passing, locking and semaphores, scheduling algorithms, the x86 kernel-level instruction set, interactive theorem proving, functional programming, game-type vector graphics and raster graphics. N…

Impressive, but you probably see it as well as everyone else that every problem domain on your list is connected with particular set of well-known algorighms. There are no 'algorithms in the wild' - they always solve some problem.. So, i don't see any clear difference between geeking about a hashtable vs geeking about some compilation step. The key word here is 'geeking' vs 'not being interested at all how that stuff…

>There are no 'algorithms in the wild' - they always solve some problem..

Interestingly, this isn't true. I have done worse than I can in interview cycles because I tend to go into them without having studied "Cracking the Coding Interview" or my old algorithms textbook, and thus do strictly worse at the algorithms-and-data-structures hey-let's-talk-about-asymptotic-performance-bounds quiz questions given in interviews.

Post reply on HN