The problem can be addressed by removing the "employee mindset" from potential programmers.
If you do it for the money, well, you will neither get very good, nor will you enjoy the money, assuming you become good enough to get any.
Companies that have rubbish HR practices eventually lose out to firms that appreciate that the Japanese hiring system: hire someone who has shown excellence in any field, and they are bound to repeat it.
Simply fishing for talent in existing companies is a failed and flawed strategy. Yes, you will end up with a senior developer doing 5 juniors' work, for less than half of their pay--until another firm offers him more money and he leaves, leaving you out in the open again.
By contrast, hiring a junior and teaching them the ropes on condition of their not leaving for n years is a better and an all around win strategy.
Another word: I have seen most CS program curriculums and with certain exceptions, most are not teaching what would make them marketable employees.
For instance, SICP should be a must in any CS program, but in some, it is not. How can they afford not to teach from the best CS text in the world?
You get a developer with a resume. And a degree. Big deal. How about one with a remarkable portfolio of projects demonstrating real understanding and passion?
I doubt if a company would bin the resumes of someone with interesting projects to their credit. Simply a degree with a few nominal github repos is not going to cut it.
> The problem can be addressed by removing the "employee mindset" from potential programmers.
This is very true and a nice way of explaining it. Also the people who got hired 5-10 years ago with no college degree are the ones who taught themselves PHP in high school and built sites with it. Then they taught themselves Java/Ruby/Python/Javascript etc. Most coders like that think "I want to learn coding to built X" and they go ahead and do that, employers can see that kind of initiative and drive.
Which is a very different mindset from "I want to pay $X amount to get trained to be a web dev because I want a job as a web dev".
Thank you. There is a well-known sociological theory that things that matter cannot be gotten directly because you think they matter; rather because you want them, aside from their importance, then you can get them. Say you want to date a hot girl. You cannot say: "I want to be your boyfriend, because you are hot."
You acquire something important because you like it, you want it for intrinsic reasons.
You will go far in any field if you like it and want to excel in it. The ugliest man with the right amount of passion and intrinsic liking, and enough preparation can melt a beautiful girl's heart.
Taken to a logical extreme, someone very good at nothing, is notable, because he is "very good" first. In other words, the most boring person can also be interesting because of being "most boring".
The future of CS work increasingly looks like truly passionate programmers building things (like at YC). Companies have a shortage because of this, in the main, since the pay and conditions for real programmers is not good enough, and a real programmer can earn (by building stuff) even without doing a 9to5.
Although, if Racket is for educational uses only, if you see their main website you will notice that it is actively preparing itself to become the next Python.
Thanks, :)
the English language has serious limitations in how meaning can be molded to convey multiple-entendres, unlike some Asian/Oriental languages where one line can have at least 4 to 5 differing, contradictory-yet-supporting senses, which in the end causes an intellectual high that makes one stop--you cannot digest more than one line a day--and even so it makes you think about it all day long. :)
If you do it for the money, well, you will neither get very good, nor will you enjoy the money, assuming you become good enough to get any.
Companies that have rubbish HR practices eventually lose out to firms that appreciate that the Japanese hiring system: hire someone who has shown excellence in any field, and they are bound to repeat it.
Simply fishing for talent in existing companies is a failed and flawed strategy. Yes, you will end up with a senior developer doing 5 juniors' work, for less than half of their pay--until another firm offers him more money and he leaves, leaving you out in the open again.
By contrast, hiring a junior and teaching them the ropes on condition of their not leaving for n years is a better and an all around win strategy.
Another word: I have seen most CS program curriculums and with certain exceptions, most are not teaching what would make them marketable employees.
For instance, SICP should be a must in any CS program, but in some, it is not. How can they afford not to teach from the best CS text in the world?
You get a developer with a resume. And a degree. Big deal. How about one with a remarkable portfolio of projects demonstrating real understanding and passion?
I doubt if a company would bin the resumes of someone with interesting projects to their credit. Simply a degree with a few nominal github repos is not going to cut it.