Live data from Hacker News

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

news.ycombinator.com

91–100 of 153 posts

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

#91
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.

I am commonly asked to reverse a C string. The first time I did that, I wrote out what I regarded as the obvious solution. The owner of the company pointed out that I had paid attention to performance. That had me puzzled - while I could see that there are lots of really slow ways to reverse C strings, I found it hard to believe that anyone would provide slow solutions to such a simple problem in a job interview. I g…

I found it hard to believe that anyone would provide slow solutions to such a simple problem in a job interview.

These sorts of overly complex solutions usually indicate someone who doesn't actually know how C strings work/how they're stored in memory. Reversing a string is one of the instances where these weaknesses show up. I've seen various people with degrees in CS who claim to have worked with lots of C do this problem, and it's almost amusing the volume and variety of code they can produce for such a simple problem. What should only involve two array indices or pointers in a loop can turn into something containing numerous malloc()s (often with no free()s), copious copying and moving of data around, recursion (this one isn't so bad), and I've even seen sprintf() make an appearance.

However, none of this compares to one individual whose quite memorable solution involved creating a temporary file, writing the string into it, then executing an external command to reverse that file, and reading it back in. His reasoning was "because I don't want to reinvent the wheel."

(Related article about std::string in C++: https://news.ycombinator.com/item?id=8704318)

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

#92
post #13

Earlier quoted context omitted.

I'll pick some at that nit. In the link, the author contrasts it to the quote from Zuckerberg: "Our policy is literally to hire as many talented engineers as we can find. The whole limit in the system is just that there aren’t enough people who are trained and have these skills today." The example is to point out how this quote is not true, as two such engineers were not hired by Facebook. You point out that it depen…

In the US, Federal Law, and the law of all the US states that I know about, forbid discriminating for reasons of age against people over forty. I'm puzzled as to how Zuckerberg could have been so ignorant as to say such a thing. All I would have to do is to apply to Facebook and I'd have a good case - it's pretty obvious from my resume that I'm olde and greyye. That's not to say such discrimination does not happen, a…

When you are worth a bajillion dollars you tend to think your opinions are right.

You would have to show that your rejection from Facebook was due to age bias. Just because the head of a company makes a statement like that doesn't mean that the company carries out those actions. So no, you would not have a good case.

Did you even read the first link I gave? It explains the situation; absurd requirements are used to reject people based on hidden criteria, in addition for being a strategy for lowering pay.

> Technology companies can probably solve their “shortage” by discarding hidden and/or unconscious non-technical criteria as well as discarding excessively narrow “purple squirrel” technical requirements in hiring software engineers and other STEM professionals. Doing this will save them time and money (possibly $19 billion in Facebook’s case) and even make the world a better, fairer place at the same time. :-)

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

#93

"I know lots of engineers who are unable to find work." I don't. Probably your definition of "engineer" is different from mine. "Another problem is that us engineers are expected to have real-world, paid experience in whatever technology the hiring company uses" Generalization and obviously not true. I have a company, I don't care about paid experience, in fact we hired lots of people from open source projects, or di…

Actually my definition of "engineer" is much the same as what the United States requires of Civil Engineers. They call themselves "P.E.'s" - Professional Engineers. A PE is required to do Civil Engineering as a result of an incompetently-designed gas pipe rupturing, and killing three hundred people.

In the entire nation of Canada, one cannot publicly denote oneself as an "engineer" of any sort, unless one is the Canadian equivalent of a PE. In my own case, it was flatly illegal that I did so, as I did not have a professional software engineering license, had not served an apprenticeship, and had a physics rather than a software engineering degree, however I was completely prepared to defend myself in court, as I regard myself as a far, far more competent engineer than the vast majority of "engineers" that I have ever personally met.

(Note that a "software engineering" degree is quite a different thing than a "computer science" degree.)

I'm completely cool with just about anyone calling themselves a "Computer Programmer", but I'm not cool with just anyone calling themselves a "Software Engineer".

Consider that I'm damn near clueless about computer science.

What I can do is write code that is completely flawless, runs fast and uses very little memory. I can also take a total rat's nest that someone else wrote, and get all the bugs out of it.

   > During the dotcom bubble anyone that could click a button was hired. But it was a bubble.
I got my first private-industry coding job in 1986.

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

#94
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…

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, wh…

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

Yes, this is the classic Academics v. Industry gap you see everywhere.

Teachers in an accredited program that leads to certification spend most of their time studying theory on psychology, child development, learning, and (now more than often) special education. When they get to the point where they actually have to go student teach, they have lots of knowledge but lack practical experience. As someone who has tried teaching and knows lots of teachers, classroom management is the foundation for everything that happens in a classroom.

In the whole 'teaching more people to code' momentum, the problem is usually that there is some perverse incentive to give the impression that coding is 'easy'. Coding, as most of us know, is by far, 'not easy'. In fact, for many of us, that fractal difficulty is the draw.

The whole movement of teaching CS in high schools baffles me because, again, CS does not teach one how to code. I would much rather see AP CS go away and be replaced by something that teaches Scratch and other tools as a stepping stone to teaching youth to think computationally.

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

#95
post #92

Earlier quoted context omitted.

In the US, Federal Law, and the law of all the US states that I know about, forbid discriminating for reasons of age against people over forty. I'm puzzled as to how Zuckerberg could have been so ignorant as to say such a thing. All I would have to do is to apply to Facebook and I'd have a good case - it's pretty obvious from my resume that I'm olde and greyye. That's not to say such discrimination does not happen, a…

When you are worth a bajillion dollars you tend to think your opinions are right. You would have to show that your rejection from Facebook was due to age bias. Just because the head of a company makes a statement like that doesn't mean that the company carries out those actions. So no, you would not have a good case. Did you even read the first link I gave? It explains the situation; absurd requirements are used to r…

That's what "Discovery" and "Deposition" are for.

In the United States - specifically the US, I don't know about other countries - the Constitutional right to not incriminate oneself only applies to criminal procedures, not to civil ones.

So all I would have to do is put Zuckerberg - or whoever I think may have made the decision not to hire me - under oath in a deposition, then ask them directly whether the didn't hire me as a result of my age. If they perjure themselves, they would do hard time in prison.

Now there are people who will lie in depositions, or on the witness stand before a jury, so we have discovery. I would just say "Give me all of your email" and they would have to - or again, they would go to prison.

I myself have Amazon cold for violating the Americans with Disabilities Act. I have two very prominent links at the top of every single page on my website, to essays about my mental illness. Amazon's HR was all over me like a cheap suit until I asked them to have a look at my site. Within the hour I received an email that informed me I would not be getting an interview.

I myself am reluctant to file an ADA complaint, what I would rather do is to address the problem by writing more essays. However, were my writing to have any effect, that would only happen very slowly.

I might file that complaint, as it would help other mentally ill people get work.

The reason I work as a coder, and not a physicist, is for the specific reason that computer programming "accomodates" my mental illness in a way that academia does not.

That is, I can be floridly paranoid, even hallucinating - and I do hallucinate from time to time - yet I can still write really good software.

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

#96

Earlier quoted context omitted.

I am commonly asked to reverse a C string. The first time I did that, I wrote out what I regarded as the obvious solution. The owner of the company pointed out that I had paid attention to performance. That had me puzzled - while I could see that there are lots of really slow ways to reverse C strings, I found it hard to believe that anyone would provide slow solutions to such a simple problem in a job interview. I g…

I found it hard to believe that anyone would provide slow solutions to such a simple problem in a job interview. These sorts of overly complex solutions usually indicate someone who doesn't actually know how C strings work/how they're stored in memory. Reversing a string is one of the instances where these weaknesses show up. I've seen various people with degrees in CS who claim to have worked with lots of C do this…

For C++ std::string, I might well code up an iterator adapter. :-D

A while back I mentioned this on Kuro5hin. "K5" members are reknowned for being total jackasses. Some kuron told me that the correct solution was to call the C standard library function that reverses strings - "strrev()" or some such. His point was that one should never implement code from scratch, if one could use a library call.

I pointed out that I was required to implement strrev() myself. My interviewer wasn't asking me to call a library function.

This set off a flame war that lasted for hours. This compleat gentleman flatly refused to accept that there was any other correct solution than to call a library routine, despite that it was quite clear to me, when I interviewed, that I was not permited to.

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

#97
post #82

Earlier quoted context omitted.

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 apparentl…

You're using anecdotal evidence to argue against the general case.

Consider the book "Laughter is the Best Medicine". Some guy's cancer went into remission when he watched a whole bunch of really funny movies.

Given that, would you suggest that we should do away with chemotherapy, radiation and oncology surgeons?

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

#98
From time to time I'll see a job posted on Craigslist or the like that says "We only want applicants with Computer Science degrees from Berkeley, MIT or Stanford".

I myself have a Physics degree from the University of California Santa Cruz - "Uncle Charlie's Summer Camp".

Despite that, I quite commonly find that I'm a better, or more productive coder than colleagues with CS degrees from those schools.

Just because you have a degree, it doesn't mean that you have a clue.

And just because your degree is from a school that no one has ever heard of, it doesn't mean that you're ignorant.

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

#99
post #56

Earlier quoted context omitted.

Such exists between many countries in the EU. It's not so simple though. Free movement of labor also requires a correspondence in the national health care and retirement programs, so for example totalization agreements to eliminate dual Social Security coverage. The US has such agreements with only a score or so countries (see http://www.ssa.gov/international/agreements_overview.html ). It gives an example of a 66% t…

The North American Free Trade Agreement (NAFTA) established such a free labor market under the TN-1 visa, which is extremely easy to get, however it only applies to twenty different occupations. It's commonly thought that Computer Programming or Software Engineering qualify, but they don't - the TN-1 provides for Systems Analysts, who are commonly programmers as well, but Systems Analysis is really quite a different…

I'm a TN-1 visa holder and you've got some misinformation in your post. Nothing major but some of the details can be important when talking about working in another country. First you're correct that computer programmer is not on the list of approved occupations. However, both systems analyst and software engineer are listed. Most people view software engineer and programmer as being the same but you have to make sure you use the correct terms.

The length of the visa is up to three years. It also can't go past when your passport expires and may be shorter depending on your job offer. It can be renewed many times (I think up to twenty years but could be wrong).

Application and renewal is normally pretty easy. If you're doing a border crossing it takes a little time and a $50 fee. If you're doing it through the mail it takes about 2 months and a larger fee (several hundred dollars).

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

#100

Earlier quoted context omitted.

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, wh…

> It's not that Computer Science schools could not teach that stuff. It's that they don't. Yes, this is the classic Academics v. Industry gap you see everywhere. Teachers in an accredited program that leads to certification spend most of their time studying theory on psychology, child development, learning, and (now more than often) special education. When they get to the point where they actually have to go student…

This is a problem in other occupations, not just computer programming.

I have a friend who is a clinical psychotherapist. After she successfully defended her PhD dissertation, she had to complete a residency. That's typically done by working in an inpatient psychiatric hospital.

By contrast, attorneys are not expected to know how to argue actual court cases until they are taught to do so by working in a law firm - AFTER they pass the bar exam.

What really had me puzzled was that I once quite successfully defended myself - "Acted Pro Per" - in a felony case. I picked up a few legal textbooks at Powells City of Books in Portland, Oregon.

One of the books was entitled "The First Trial: Where Do I Sit? What Do I Say?"

While it is quite a good book, what I remain puzzled about is that the book addresses attorneys who have already passed the bar exam, and have been working for some time at a law firm before they even start to learn about arguing a case before a jury.

I would have thought that would be taught in law school, starting one's very first semester, but it's not. I've asked a couple of attorneys about this, and they said that yes indeed, that's they way it works in their profession.

Post reply on HN