This is a common misconception. Gates is and was an excellent programmer.

In his sophomore year, Gates devised an algorithm for pancake sorting as a solution to one of a series of unsolved problems presented in a combinatorics class by Harry Lewis, one of his professors. Gates's solution held the record as the fastest version for over thirty years; its successor is faster by only one percent. His solution was later formalized in a published paper in collaboration with Harvard computer scientist Christos Papadimitriou.

...

During Microsoft's early years, all employees had broad responsibility for the company's business. Gates oversaw the business details, but continued to write code as well. In the first five years, Gates personally reviewed every line of code the company shipped, and often rewrote parts of it as he saw fit.http://en.wikipedia.org/wiki/Bill_Gates

"Gates doesn't know anything about programming, lel" is usually based on the fact that he made his empire by buying and enhancing existing code rather than building his OS from scratch -- which just means that he was also an astute businessman.

Wasn't there a big swing back a few years ago in outsourcing because of all of the bad experiences?If business folks all began to articulate their requirements correctly and in enough detail there might be reason to be worried, but I can't see that happening any time soon.

If business folks all began to articulate their requirements correctly and in enough detail there might be reason to be worried, but I can't see that happening any time soon.

Even with that we have had major issues with Indian developers. Asked some of our Indian support to create a check box on a page so people can acknowledge that they considered the safety aspects. Came back and they created a category for purchasable items marked as fireworks.

For most of the stuff we have reviewed, they just grab something else that sounds vaguely familiar that they wrote for someone else and deliver that as the product.

If I could go back I'd replace my high GPA Science Degree with becoming a Sparky. Then with that behind me, upgrade my skills quickly to cash in on the Photovoltic fad as soon as I heard the government was going to subsidize it.

O well, instead I'll be well trained in a highly technical and extremely expensive skill-set that is just awesome to have in a time of fiscal issues. Could be worse, I could be a physicist.

I've an IT background but recently switched into digital media/software, and am starting a SaaS business. So I'm learning to code as a result, I'm using Treehouse and it's ace if anyone's looking to get started.

Strongly disagree with the video because you know, it's full of lies...There are more kids programming today than there ever was, and we don't need more programmers on minimum wage or jumping month to month between contracts as things get outsourced to India.Employers hate programmers, will make your life difficult, and tell you every day that there are a million d*******s out there just like you itching to replace you.

Isn't the point of the video that nowadays a programmer is something that people need?

If your employer thinks you're replaceable then you just aren't that great at your job, no matter what skillset you have.

If you have a foresight into figuring out "what people need" then you are infinitely better off not coding it yourself but hire someone else to do it for you. Ironically you'd probably end up with those suckers that learn to code for the sake of "knowing to code" - don't hire them, hire pro. Then you won't be a code monkey but an owner / operator of a successful business.

Being an excellent programmer alone didn't get Gates (nor Zuckerburg I would argue) to where he is today, it's his abilities to figure out the market. They don't tech you that at school let alone "Computer science" courses. Cognitive skills alone will not make you succeed unless you are planning to become an academic.

I thought that this video had a point, but that it would be better to teach people better decision making skills than to teach them code. They're pointing out that coding helps you problem solve, but honestly half the coders i know can't solve their way out of a paper bag with tangible things. Show them a car which doesn't start and if they can't solve it with jumpercables or a battery they give up. Same with around the house things.. or even just solving a problem which requires them to figure out an efficient way to pickup people at different locations who need to be dropped at other locations.

Of course i'm being a bit dramatic, but i think there's potentially a bigger case with the same logic for forcing everyone to do some business decision classes.

Oddly, i might be biased, my fathers thesis was on making it mandatory that all engineers in DoD should undertake a minimum amount of business study so they can find solutions weighted with logic in the real world not just engineering logic. (He's worked on defence contracts now for over 30 years, 20 of which have been reviewing engineer submissions).

Definately knowing the basic fundamentals to code help give you skills to break problems down and then solve things though. I don't regret the time i wasted at griffith doing an IT degree i gave up instead changing to Business at UQ.

then you are infinitely better off not coding it yourself but hire someone else to do it for you.

Not everyone wants to run a business; many just want to code.

I can't see any harm in random people learning how to code for self development. Many DIYers learn all sorts of things because they enjoy the process and being able to do what they want at home themselves. They may never intend to be a painter, builder, landscape gardener but doesn't mean they can't learn how to do enough for their own projects.

not sure if serious considering that most furniture consumed in the word is cheap flat pack s*** made by automation or sweatshop labour in asia.

not sure if serious - cabinet maker is the name of the trade title, doesn't mean they sit in a workshop building cabinets all day.

learning a trade.. if its such a bad idea how come these days tradies tend to make more than 100k/year across the board ? taking all that money that coders are making because most of gen y doesn't know to drive a drill or change a car battery or any of the simple s*** that was a given 10 years ago, generally.

like my air con installer guy said, why would he go to the mines to make 200k when he can make more working 4 days a week in perth and sleep in his own bed every night. not bad for a refrigeration 'mechanic'

I can't see any harm in random people learning how to code for self development. Many DIYers learn all sorts of things because they enjoy the process and being able to do what they want at home themselves. They may never intend to be a painter, builder, landscape gardener but doesn't mean they can't learn how to do enough for their own projects.

Yes I take your point but you said in your original post "figure out what people want and write that". What I'm saying that you will most definitely not learn those skills by just being a code monkey which this vid is somehow pitching i.e. learn to problem solve, be determine blah blah.

They are character traits which are definitely not a cognitive skill. To learn to be "more determine" you'd need a different kind of lessons that they don't tech at normal school (too long to write about).

Of course it doesn't hurt to learn new things I agree but, linking the correlation between "learning to code" to being able to be more determine and thus somehow will be a success like those people in the vids is plain wrong - none of those people that are successful have just pure coding abilities that get them there nor did they learn those non-cognitive skills from programming.

Which leads me back to my original point that "if you are able to figure out what people want", you are clearly not a coder, you have a far better non-cognitive skills than your average code monkeys and thus you would be better off managing the said group of code monkeys.

My point really is that the campaigning to learn something for the sake of learning never succeeds. It's far too generic.

Here's someone that is good at coding but really not loving this idea:

Sorry I never said or meant "figure out what people want and write that" so not sure if you were referring to me or misunderstood what I said.

By saying that programmers are needed I meant that more and more industries require programmers to operate - not that they know what customers need. I agree with everything you've said about that though.

I was suprised at what industries actually needed programmers (engineers/designers/developers - people that can create solutions - not code monkeys) when I started looking for jobs and I'm sure its growing all the time. Maybe some education that programming isn't restricted to a traditional desktop/mobile application.

Learning to code is deep, dark sorcery that should only be done by the initiated under the guidance of an adept. Alone, once you complete your hobby project you find yourself unerringly seduced by glittering threads of logic and the potential of your imagined army of binary automatons. Your worldview will change as you see opportunities to conjure blind, soulless agents to do your bidding.

You gain brash confidence and inevitably pitch your new skills to your boring day job's organisation to grease some clunky, arcane business process. Excited at your fresh start, you will watch in absolute horror as burning complexity is poured into your straining system at a rate you cannot possibly keep up with, until finally it collapses like a beautiful but tragically, fundamentally flawed puzzle that can never be solved.

Two years on and you are left dripping with shame as the virtuosos are called in, and with scathing ridicule your frankencode is discarded, never to see the light of main() again. You had best be gone, moved on, with lesson learned at this point, curio.

The problem is that a high proportion of "programmers" are rote learners who never get to the deeper understanding and conceptual problem solving + exploration.

Tell me about it - I despair when other developers come to me with simple problems without bothering to try to get a deeper understanding about their environment, tools and the goal they're trying to accomplish. Think for yourself, ffs.

- Why would the florb sprocket give error code 42?- Have you checked A, B, C? What about X, Y, Z? The florb sprocket documentation says 42 is a connection problem - this might sound stupid, but is the network cable plugged in?- Uh, no I just googled "florb sprocket error code 42" and the first result didn't work so now I don't know what to do.

I love the open lounge style graffiti wall drink all you want Espresso while playing pin ball machines.. but where is all that at 4am after a 36 hour coding marathon because some sales guy promised a feature that didnt exist.

I love the open lounge style graffiti wall drink all you want Espresso while playing pin ball machines.. but where is all that at 4am after a 36 hour coding marathon because some sales guy promised a feature that didnt exist.

The problem is that a high proportion of "programmers" are rote learners

It's worse when they don't understand the context of what they're about to work on.

A recent conversation with a chinese* colleague:

"Our project needs someone to write an ethernet driver and tcp/ip stack for a bare-metal system. Do you have any experience with that?""Yes, I have done Network Programming""No, I mean you have an CPU/MCU with no operating system or base code, and you have to talk to an ethernet PHY and support tcp/ip on your own, from scratch.""Yes, I have worked with sockets"."..."

(* = born and grew up in china. our other chinese workmate who grew up in the west has excellent situational awareness and social skills, and does not require baby-sitting)

haha good point, though maybe that's why it's so hard to get a good cabinet maker, not a chippie - mind you - a fine craftsman like this:

I've spent 12+ months looking for a new TV cabinet and finally bought one last weekend from a business that specialises in building things from scratch. All the flat pack models at Ikea, Freedom, Harvey Norman, Dare, etc were way off the mark for price and what I wanted.

Cost a small fortune but the thing will last for decades (unless toddler gets to it).