News for hackers. Stuff that matters.
Re:Chinese authorities say overtime '996' policy is illegal by simonh on Friday August 27, 2021 @07:43AM (#28326554)
There are vanishingly few good programmers in China, proportionally. I have a friend that heads a computer science department at a regional university in China. He's an old friend of my wife. The vast majority of graduates from his department have never run a single line of code on an actual computer. The teaching and assessment is 100% theoretical on paper, and this is typical.

Now I'm sure there are colleges and universities where this isn't true, and there are lots of Chinese programmers that do it for fun and love it just as much as any 'westerner'. I've actually met some shit hot C and C++ coders in china professionally and these people absolutely knew their stuff. However the base level education system is woefully unfit for purpose and the vast majority of computer science graduates cannot be assumed to have any practical knowledge of the subject.

This was as of about 5 years ago, so maybe things are changing.

Re:Chinese authorities say overtime '996' policy is illegal by dasil003 on Friday August 27, 2021 @09:55AM (#28327835)
There are vanishingly few good programmers anywhere. SV has more because it attracted them from around the world.

In my experience college education has nothing to do with who is really a good programmer. Sure MIT grads are better than average, but that's because they have a reputation to attract the people that are the most interested in it. CS fundamentals definitely make you a better programmer and able to solve harder problems, but it's somewhat orthogonal to the daily grind of keeping a mental model of a large obtuse system in your head while solving hundred arcane micro-hurdles one after another.

Re:Chinese authorities say overtime '996' policy is illegal by 908B64B197 on Friday August 27, 2021 @01:24PM (#28330542)
> SV has more because it attracted them from around the world.

There's also a filter here: To immigrate to the US as a dev you need to be able to secure a job as a dev, and the employer must be willing to sponsor you.

That puts the bar way higher.

Re:Chinese authorities say overtime '996' policy is illegal by golergka on Friday August 27, 2021 @10:41AM (#28328426)
Eastern Europe and Israel seem to have a decent proportion.
Re:Chinese authorities say overtime '996' policy is illegal by dasil003 on Friday August 27, 2021 @11:00AM (#28328718)
My hypothesis there would be cultural factors drawing out a greater percentage of those with the potential.
Re:Chinese authorities say overtime '996' policy is illegal by rory on Friday August 27, 2021 @11:59AM (#28329450)
In eastern europe it's pretty simple. The collapse of the soviet union left a strong education system and also poverty. Learning to program is one of the most straightforward and doable ways to a good income, so lots of people do it.

Israel is probably a knock-on effect of that, since most (jewish) israelis are (or descend from) eastern european migrants.

Re:Chinese authorities say overtime '996' policy is illegal by golergka on Saturday August 28, 2021 @02:31AM (#28336071)
> most (jewish) israelis are (or descend from) eastern european

That's a popular, but unfortunate misconception. Majority of Jewish Israelis are Mizrahim that immigrated from middle eastern countries, running from persecution by Muslims.

Re:Chinese authorities say overtime '996' policy is illegal by rory on Monday August 30, 2021 @08:05AM (#28354801)
Huh, thanks. Wiki says it's about 50/50, fwiw.
Re:Chinese authorities say overtime '996' policy is illegal by chbloss on Friday August 27, 2021 @11:00PM (#28335249)
I hear this often and I realize that there are not enough programmers to meet the demand, however I have seen estimates of at least 500,000 software engineers working for large tech companies in the United States. It seems like that is a large number of people that presumably passed difficult algorithm-based interviews. Are programmers really that rare in this day and age?
Re:Chinese authorities say overtime '996' policy is illegal by naniwaduni on Friday August 27, 2021 @08:01AM (#28326710)
Honestly, this genre of venting about new grads has long been applied to new grads here in the West too. It's a long-standing complaint of the industry that academia isn't willing to serve as vocational training.
Re:Chinese authorities say overtime '996' policy is illegal by nicolas_t on Friday August 27, 2021 @08:41AM (#28327052)
Having interviewed new grads from the west and new grads in China, I can guarantee you that a lot of the new grads in China had had exactly the education the OP described and were completely unable to do anything. It's not just venting, it's the reality.

There are some great universities in China and there are definitely some who know their stuff but the average mid level university in China? Nope, completely useless.

To be fair, this was in 2009 to 2014. I have left China since.

Re:Chinese authorities say overtime '996' policy is illegal by thaumasiotes on Friday August 27, 2021 @09:52AM (#28327806)
> I can guarantee you that a lot of the new grads in China had had exactly the education the OP described and were completely unable to do anything. It's not just venting, it's the reality.

Isn't it the foundational concept of fizzbuzz that a lot of applicants to programming jobs are "completely unable to do anything"?

Re:Chinese authorities say overtime '996' policy is illegal by simonh on Friday August 27, 2021 @10:46AM (#28328499)
We're not talking about graduates not able to solve theoretical exercises. These graduates might well be able to solve an on-paper algorithms exercise like that, after all their teaching and assessment was all theoretical.

The problem is they don't know how to actually compile and run a "Hello World" program, or write and run any kind of program on a physical computer, because they never had to do it as part of their computer science education.

Re:Chinese authorities say overtime '996' policy is illegal by edgyquant on Friday August 27, 2021 @12:01PM (#28329473)
I've never really done traditional interviews, but is this true? I've been able to do a fizzbuzz since I was like 14 years old :/
Re:Chinese authorities say overtime '996' policy is illegal by thaumasiotes on Friday August 27, 2021 @12:55PM (#28330164)
Re:Chinese authorities say overtime '996' policy is illegal by burnished on Friday August 27, 2021 @10:19AM (#28328103)
FizzBuzz isn't a programming challenge for interviews anymore, that was like ten years ago. Now its more like a data structures and algorithms exam.
Re:Chinese authorities say overtime '996' policy is illegal by dbt00 on Friday August 27, 2021 @12:44PM (#28329995)
FizzBuzz was never a programming challenge, it was just a very quick filter before getting to real challenges.

Real tech interviews have always been about understanding and applying data structures and algorithms, with some emphasis on problem solving with those tools.

A really long time ago, there used to be questions that were more like "do you know some very common C/hacker idioms", like write a one line strlen or reverse a linked list in place. I used to get asked stuff like that in the late 90s.

(There were also the brainteaser style things, like how many golf balls fit in a 747, but those were often for non-programming roles where people were looking for your ability to problem solve in a vacuum with little information. Those were rarely aimed at engineers, but at engineer adjacent non-technical roles.)

Re:Chinese authorities say overtime '996' policy is illegal by thaumasiotes on Friday August 27, 2021 @10:28AM (#28328233)
Did the observation that "hey, a lot of our applicants can't even do anything" become less true?
Re:Chinese authorities say overtime '996' policy is illegal by burnished on Friday August 27, 2021 @12:29PM (#28329776)
Hell if I know, if I'm going to be frank I responded more from stress and wishing FizzBuzz was still a common test than anything.
Re:Chinese authorities say overtime '996' policy is illegal by Apocryphon on Friday August 27, 2021 @02:50PM (#28331596)
If it's still true, then why do the tests get harder and harder?
Re:Chinese authorities say overtime '996' policy is illegal by obmelvin on Friday August 27, 2021 @12:09PM (#28329546)
I realize this may have changed, but at least at the time, was this partially due to access to computers at the university (i.e. lack of funds for computer labs)? Or just prioritizing the theoretical side?
Re:Chinese authorities say overtime '996' policy is illegal by gommm on Thursday September 02, 2021 @05:10AM (#28390007)
I think it was both of the factors you mentioned but also due to the fact that in early/mid 2000s, China increased the number of university student by an order of magnitude (almost ten fold). This caused some growing pains in universities in the late 2000s beginning 2010s which means that in the race to hire enough teacher to fill demand, not every teacher was competent (I've met some remarkably incompetent CS teachers when visiting universities) and there weren't necessarily enough funds to handle the influx of students.

It was common knowledge that people who had graduated before 2004-2005 tended to be much better candidate and had received a better education. In the end, it was necessary for the country but any big systemic changes like this cause growing pains. I do not know what the current landscape in China is nowadays, I would assume that this is much less of a problem since time probably helped with those growing pains, on the other hand, as the PRC starts creating tighter and tighter restrictions, the best elements might be more likely to want to study abroad.

Re:Chinese authorities say overtime '996' policy is illegal by marcus_holmes on Friday August 27, 2021 @10:22AM (#28328141)
Which is crazy. No University can teach the kind of skills needed to be a good commercial developer.

The best approach would be apprenticeships; learning the craft while doing the job. But the industry has always been ridiculously opposed to training its own staff - echoing your point that this is seen as something that the education system should do (why?).

I've heard managers say crap like "but if we train them then they'll leave us when they finish the training and go somewhere else - we'll have paid for their training and get no benefit". This is a staff retention problem, not a training problem.

Re:Chinese authorities say overtime '996' policy is illegal by blippage on Friday August 27, 2021 @04:14PM (#28332505)
> I've heard managers say crap like "but if we train them then they'll leave us when they finish the training and go somewhere else - we'll have paid for their training and get no benefit".

The clever response to that is: but what if we don't train them and they stay?

I'll say this: programming isn't a profession. If I was being particularly unkind, it's more like a collection of wild west gunslingers.

It probably won't be a profession either until we've settled the whole C++ vs Rust vs Lisp vs JavaScript vs $LANGUAGE_DU_JOUR debate, and stopped acting like egotists. "Rockstar programmer" is a problematical phrase. What it tells us is that programming is one big dick-measuring contest.

I trained as a UK chartered accountant, having graduated in mathematics. I had to go through a set of professional exams. I was under a training contract, started as a junior. I couldn't sign audit reports. That was for the partners. My work was reviewed, and as I moved up through the ranks, I reviewed others. When I was a senior, the juniors asked me for advice. When I finished my work, I spoke to a partner, he reviewed my work, and I reworked whatever was necessary.

There was also "calling and casting". After the accounts were typed up, a more junior clerk would have an old copy of the accounts with corrections, and the more senior clerk would have the revised copy. The junior clerk then read aloud what was on the accounts, and the senior checked it against his copy.

See that? Professional. I imagine lawyers, engineers and manifold other professions have similar appropriate procedures.

What do us programmers do? Release our shit onto the world and fix it later via patches. And issue licences that say we take no responsibility for the fitness of our programs.

That's why I call what we do gunslinging.

Maybe one day the queen will create an Institute of Chartered Programmers, but that day is not only far over the horizon, it's not even in the same solar system.

Re:Chinese authorities say overtime '996' policy is illegal by marcus_holmes on Saturday August 28, 2021 @06:14PM (#28341989)
Accountancy has been around for a few hundred years. Lawyers longer. Eventually what you wish for will be true.

But I'm not sure I'd want to work in that industry. I like that I can just start hacking away at something that I think will work and create value.

> The clever response to that is: but what if we don't train them and they stay?

Not really. I mean, I get the reference and it is smart. But we're talking about why most tech companies don't hire juniors and train them up. Instead they prefer to hire seniors, not provide any training, and lose them after two years because they can't give pay rises over 5%.

And my impression of "professionals" is not nearly as good as yours. I've seen "professional" managers behave like egotistical idiots way more often than devs. My first startup was destroyed by a "professional" accountant behaving wildly inappropriately. The last time I was a CEO I was quietly informed that I should get a new desk because the previous CEO (an accountant) had a habit of humping hookers on it during his lunch breaks.

Re:Chinese authorities say overtime '996' policy is illegal by 908B64B197 on Friday August 27, 2021 @06:17PM (#28333557)
> It probably won't be a profession either until we've settled the whole C++ vs Rust vs Lisp vs JavaScript vs $LANGUAGE_DU_JOUR debate

I don't see how it's a debate. Different languages have strengths and weaknesses.

> and stopped acting like egotists. "Rockstar programmer" is a problematical phrase. What it tells us is that programming is one big dick-measuring contest.

And yet law is extremely bi-modal. It's not surprising software is similar; you can't argue the average offshored programmer is in any way similar to John Carmack for instance.

> See that? Professional. I imagine lawyers, engineers and manifold other professions have similar appropriate procedures. What do us programmers do? Release our shit onto the world and fix it later via patches. And issue licences that say we take no responsibility for the fitness of our programs.

Sounds like you are hiring wrong. You are hiring programmers and then whine they aren't acting like engineers. Software Engineers have code review, proper release pipelines and methodologies. The bargain-bin programmers don't, of course.

Re:Chinese authorities say overtime '996' policy is illegal by 908B64B197 on Friday August 27, 2021 @01:31PM (#28330647)
> Which is crazy. No University can teach the kind of skills needed to be a good commercial developer.

You sorta can.

https://missing.csail.mit.edu/

I've also met grads that basically had a dedicated software engineering class where they learned: What's a package manager, build system, how to compile C++ code (linking and compilation), makefiles, agile, waterfall and source control and a few quality metrics to look out for.

Re:Chinese authorities say overtime '996' policy is illegal by hakfoo on Sunday August 29, 2021 @12:17AM (#28344070)
I almost feel like this is a place for a corporate onboarding/training process.

I'm mentoring a new developer at my firm. He's fresh out of college. His code works on a basic level. The things he's stubbed his toes on:

* Naming conventions. We have probably more rules about this than some, but things like branch and commit names matter because we tie them into our issue tracking process.

* Strictly reading specifications. We had a couple days rework because he used a different suggested name for something, and it ended up propagating into dozens of class names.

* Knowing when and what can be cleaned up. This I can forgive, as it normally waits towards the end of the project and he isn't quite there yet, but when we paired to work on it, there was a lot of leftover baggage.

* Bulletproofing/exhaustive coverage. I suspect there's a lot of university projects where "what if the remote server hands us HTTP 418" is answered by "the test service doesn't".

* Multiplayer and advanced Git. "The main branch is going to update without you, and eventually there's going to be merge conflicts" and you'll need to merge/rebase was a problem for him, as was dealing with a feature branch with multiple task sub-branches (keeping too many of them open at once is a huge risk for weird merge conflicts and hideous histories when they're finally resolved).

Re:Chinese authorities say overtime '996' policy is illegal by marcus_holmes on Saturday August 28, 2021 @06:02PM (#28341899)
The tech skills, maybe. But does the course cover stuff like "How to deal with a project manager who has no clue what they're doing", or "How to manage expectations in a customer who is way overenthusiastic about their new idea for a feature", or even "How to deal with Aspy Dave who thinks he's a rockstar 10x coder but actually churns out buggy crap that the rest of the team have to fix".

The non-tech skills of how commercial software development actually works in an actual organisation are really important, and the only way of learning them is on the job.

Re:Chinese authorities say overtime '996' policy is illegal by enkid on Friday August 27, 2021 @08:09AM (#28326772)
I mean sure, but most of the time Comp Sci degrees have Freshman compiling code on day one. This is a pretty be qualitative difference if the above comment is true.
Re:Chinese authorities say overtime '996' policy is illegal by thaumasiotes on Friday August 27, 2021 @09:47AM (#28327752)
My mother's friend's husband is a math professor at a university in Kansas. A major complaint of his is students coming in who aren't able to add fractions.

So I don't see the big qualitative difference between complaints about bottom-end Chinese college students and complaints about bottom-end American college students, no.

If it's of interest, I looked into gaokao test scores a while ago and the cutoff for being admitted to a Chinese university lies around the 40th percentile. The schools are officially divided into two tiers (obviously, there are finer distinctions you can make), and the cutoff for the higher tier is around the 80th percentile. So a large number of Chinese universities should have almost the entire student body within what you might think of as an IQ range from 96 to 112.

Re:Chinese authorities say overtime '996' policy is illegal by enkid on Friday August 27, 2021 @10:48PM (#28335194)
Your mother's friend's husband is a math professor who complains about the quality of Freshmen entering into a math course, therefore the quality of computer science students in the United States are on par with the one's in China. Do you see a problem with this logic?
Re:Chinese authorities say overtime '996' policy is illegal by lapetitejort on Friday August 27, 2021 @09:40AM (#28327683)
I took a freshmen level C/C++ class in community college as a requirement to get an Associates in Science. All we did was compile. We didn't learn any high level CS theory.
Re:Chinese authorities say overtime '996' policy is illegal by simonh on Friday August 27, 2021 @08:45AM (#28327085)
The Chinese attitude to academia is very different to that in the West. This distinction you draw between the academic and vocational goals of institutions just isn't really a thing over there in the same way.
Re:Chinese authorities say overtime '996' policy is illegal by ChrisMarshallNY on Friday August 27, 2021 @11:36AM (#28329182)
I have been told, anecdotally, that German college curricula are very "vocation-based," with students being quite well-versed in the needs of the workplace upon graduation.

I've been fairly impressed with the Germans that I've worked with, but that may be sample bias.

Re:Chinese authorities say overtime '996' policy is illegal by solaarphunk on Friday August 27, 2021 @07:57AM (#28326680)
5 years in china is equivalent to 15 years in the outside world. Things have definitely changed.
Re:Chinese authorities say overtime '996' policy is illegal by FooBarWidget on Friday August 27, 2021 @08:06AM (#28326750)
So China is the heavenly palace and the rest of the world is earth? What will Sun Wukong think?
Re:Chinese authorities say overtime '996' policy is illegal by thesz on Friday August 27, 2021 @08:48AM (#28327122)
It is the other way around. "Year for three" is a staple of hard work in harsh conditions, such as foundry work.
Re:Chinese authorities say overtime '996' policy is illegal by 908B64B197 on Friday August 27, 2021 @01:33PM (#28330669)
> I have a friend that heads a computer science department at a regional university in China. He's an old friend of my wife. The vast majority of graduates from his department have never run a single line of code on an actual computer. The teaching and assessment is 100% theoretical on paper, and this is typical.

At a regional Chinese university you are basically looking at those who couldn't go abroad and to the tier one institutions. And same thing for the TAs and teachers there.