Learn Basic Programming So You Aren't At the Mercy of Programmers
An anonymous reader writes "Derek Sivers, creator of online indie music store CD Baby, has a post about why he thinks basic programming is a useful skill for everybody. He quotes a line from a musician he took guitar lessons from as a kid: "You need to learn to sing. Because if you don't, you're always going to be at the mercy of some a****** singer." Sivers recommends translating that to other areas of life. He says, 'The most common thing I hear from aspiring entrepreneurs is, "I have this idea for an app or site. But I'm not technical, so I need to find someone who can make it for me." I point them to my advice about how to hire a programmer, but as most of the good ones are already booked solid, it's a pretty helpless position to be in. If you heard someone say, "I have this idea for a song. But I'm not musical, so I need to find someone who will write, perform, and record it for me." — you'd probably advise them to just take some time to sit down with a guitar or piano and learn enough to turn their ideas into reality. And so comes my advice: Yes, learn some programming basics. Just some HTML, CSS, and JavaScript should be enough to start. ... You don't need to become an expert, just know the basics, so you're not helpless.'"
... just askin'
Muchas Gracias, Señor Edward Snowden !
"I have an idea for an app" is exactly what riles up programmers. Ideas are a dime a dozen. If you, the "nontechnical person", do your job right, then you'll find a competent and cooperative programmer. If, on the other hand, and this is is much too common, you expect the programmer to do your work (requirements engineering, reading your mind for what you want, correcting your conceptual mistakes, graphics design, business planning to get the scale right, etc.) on top of the actual programming in return for a one-time payment while you expect to sell "your" startup for millions, then you'll get asshole programmers - and you deserve them.
Sure, learn enough client side tech and you can fumble through putting together an interface - but what then? What about storing state or any number of instances where you need to talk with a DB or do some type of server side magic? And another thing to consider, it's not just learn some HTML, JavaScript and CSS - it's also figure out how the different browsers handle the quirks of each of those technologies. It's one thing to be an informed consumer, and an entirely different thing to be a backseat driver who does not actually know how to drive.
A clear conscience is usually the sign of a bad memory.
No training, no knowledge of computer science, algorithms - nothing. Just some HTML, some JS, and you're developing rocking apps and sites! What can possibly go wrong with that stellar advise...
If I understand his paper on 'the cruelty of really teaching computer science', at least Edsger Dijkstra would have said "no". I'm not sure that applies to the scale and type of software projects since his time, though.
> 'The most common thing I hear from aspiring entrepreneurs is, "I have this idea for an app or site. But I'm not technical, so I need to find someone who can make it for me."
He should be telling them: "Ideas are a dime a dozen. The value is in the execution. If you cant execute your idea, then what are you bringing to the table?"
Thanks captain obvious!
Yes, everyone should get to it right after they learn carpentry, blacksmithy, masonry etc. Then they will never be at the mercy of others when they get ideas.
If you're going to drive a car, learn basic vehicle maintenance, so you at least know when to involve a mechanic. If your very survival depends on you eating food, learn where it comes from so you know how to get it. If your big idea depends on programming, learn enough to be able to effectively communicate with the programmer you're expecting to make it happen. If you can't do these basic, simple things, don't be surprised if your car breaks down and you starve to death on your way to chew out your programmer for not including some feature or process you never actually discussed because you weren't willing to put forth the effort to not fuck yourself over.
APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
Programming? Yes, just like learning to play the piano requires a piano.
Computer science? Strictly speaking, no.
DATABASE WOW WOW
so you aren't at the mercy of vulture capitalists.
if the entrepreneurs learned programming, maybe they'd realize what many programmers already do: that most of these "entrepreneurial" ideas are really stupid and obvious, and that a lot of the game is just convincing people dumber than you that you're a genius and the idea you came up with on the john a few days ago is going to replace google and facebook and blah blah blah.
looking at the converse question is rather illuminating: why aren't more programmers entrepreneurs? a meritocratic mindset is very inefficient if what you want is to make money in a society which does not directly appreciate merit.
a lot of the challenge of entrepreneurship is realizing that the market really does want fairly obvious, warmed-over ideas packaged extremely fucking well*. pursuing technical training can serve to, paradoxically, blind one to this.
*: of course a truly novel insight packaged extremely fucking well is necessary to be a great success, it's hardly necessary if all you want is, say, to have a decent chance at bagging a few $million.
"They were pure niggers." – Noam Chomsky
Knowing that your oil needs to be changed (NOT just topped off, as your post implies -- perhaps you fall into the group I'm talking about) would put you head and shoulders above most of the morons out there. Performing an oil change does require some (very minimal, but nonzero) amount of mechanical knowledge. If you had any concept of the sheer number of vehicles on the road whose drivers don't even realize the oil is a maintenance item, you'd never want to drive; in fact, you'd wish there were underground tunnels for pedestrians so you never had to go near a road again.
Thank you for helping make my point, tho.
APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
No more, and not less. Astronomers started by being fascinated looking through telescopes.
And while programming can be abstract logic and algorithms, the fun is that it actually makes computers do stuff. A computer scientist may not need a computer, but he certainly started to get interested in the field by having fun playing with one.
(And conversely, programmers also benefit greatly from learning some basics of business to avoid being at the mercy of managers.)
I'd like to create an Alan Turing! Now if I can just find a hot babe to make him for me
You should learn basic gestation so you aren't at the mercy of hot babes.
I don't care if it's 90,000 hectares. That lake was not my doing.