×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Learn Basic Programming So You Aren't At the Mercy of Programmers

Soulskill posted about a year ago | from the they-are-occasionally-benevolent-dictators dept.

Programming 313

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.'"

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

313 comments

He describes how he learned to sing, too (5, Informative)

Krishnoid (984597) | about a year ago | (#42572845)

It's in one of the comments [sivers.org] , and a pointer from that linked page shows some exercises his instructor had him perform -- singing at different speeds and pitches. I myself wonder why software engineering never tries to teach solving the same problem in a variety of paradigms or languages; 99 bottles [99-bottles-of-beer.net] is the closest example I can find.

Does programming necessitate the use of a computer (2, Insightful)

Taco Cowboy (5327) | about a year ago | (#42572859)

... just askin'

Re:Does programming necessitate the use of a compu (3, Interesting)

jhoegl (638955) | about a year ago | (#42572979)

Not really, the basics can be learned through books.
Like loops, variable types, arrays, etc.
Computers are just used to compile code so you understand what you are doing, learn mistakes, learn proper methods, and how to debug.

Re:Does programming necessitate the use of a compu (0)

Anonymous Coward | about a year ago | (#42572999)

Nitpick: The question was "does programming necessitate the use of a computer", not "does learning to program necessitate the use of a computer". Even the theoretical computer science guys have their abstract machines, so yes, programming necessitates the use of a (real or virtual) computer.

Re:Does programming necessitate the use of a compu (4, Insightful)

Z34107 (925136) | about a year ago | (#42573047)

Programming? Yes, just like learning to play the piano requires a piano.

Computer science? Strictly speaking, no.

Re:Does programming necessitate the use of a compu (4, Interesting)

NoNeeeed (157503) | about a year ago | (#42573183)

As Dijkstra once said - "computer science is no more about computers than astronomy is about telescopes"

Re:Does programming necessitate the use of a compu (4, Insightful)

rduke15 (721841) | about a year ago | (#42573351)

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.

Re:Does programming necessitate the use of a compu (2)

kestasjk (933987) | about a year ago | (#42573369)

Smart people can (evidently) be wrong sometimes.

Computer science to computers is more like human biology to surgery, than telescopes to astronomy. You can be an expert telescope maker / maintainer, and use a telescope, without knowing a thing about astronomy. You cannot be an expert computer maker / maintainer / programmer without knowing computer science.

Re:Does programming necessitate the use of a compu (2, Informative)

maxwell demon (590494) | about a year ago | (#42573511)

You certainly can be an expert computer maker without knowing computer science. You should know a bit about electrical engineering, though. To program those computers, you can then safely let to the programmers.

Re:Does programming necessitate the use of a compu (1)

ais523 (1172701) | about a year ago | (#42573519)

No, but a computer is probably the most efficient way to actually test your programs. (Even if they're intended to eventually run on something that isn't a computer, such as wired into hardware.)

Thank you for not singing (2)

LucidBeast (601749) | about a year ago | (#42573153)

Singing and programming takes time to learn. If you can't sing, sing only in your shower. If you can't code, thank you not for pretending that you do. How often have you heard somebody mention that Fortran lab they did back in their college days to get street credibility among a software development team. That's like telling Pavarotti that since I know words to "Mary had a little lamb" I'm just like you.

Re:Thank you for not singing (0)

Anonymous Coward | about a year ago | (#42573199)

It's good to learn enough so that you can tell the difference between Pavarotti and Justin Bieber. And know the difficulties involved.

You're not supposed to pretend you're either.

Same goes for programming.

Re:Thank you for not singing (2)

jnm11 (1342437) | about a year ago | (#42573327)

You should know that modern Fortran is till by far the best language for many types of scientific computing.

Re:He describes how he learned to sing, too (0)

Anonymous Coward | about a year ago | (#42573167)

>solving the same problem in a variety of paradigms or languages
You might be interested in http://rosettacode.org/wiki/Rosetta_Code
An example:
http://rosettacode.org/wiki/Gray_code

HTML, CSS, and JavaScript (2)

MichaelSmith (789609) | about a year ago | (#42572865)

But not Basic?

You might need to whip up a Visual Basic GUI one day...

Re:HTML, CSS, and JavaScript (4, Funny)

Anonymous Coward | about a year ago | (#42572885)

It's the only legit way to trace the killer's IP address.

Re:HTML, CSS, and JavaScript (1)

mfnickster (182520) | about a year ago | (#42572981)

Then you can catch him in a dot-net (but only if you see sharp).

Re:HTML, CSS, and JavaScript (1)

Anonymous Coward | about a year ago | (#42573163)

See, we identified him due to his lisp.

Re:HTML, CSS, and JavaScript (-1, Troll)

Noughmad (1044096) | about a year ago | (#42572949)

But not Basic?

You might need to whip up a Visual Basic graphical GUI interface one day...

FTFY

Re:HTML, CSS, and JavaScript (0)

Anonymous Coward | about a year ago | (#42573309)

While we're FTFY, that would be "GUI user interface"

Re:HTML, CSS, and JavaScript (0)

HJED (1304957) | about a year ago | (#42573181)

HTML, CSS and Javascript isn't program it is web design, your not going to be developing much of anything with those anyway.

Re:HTML, CSS, and JavaScript (2, Informative)

yasuodancez (1896758) | about a year ago | (#42573225)

This is exactly what I was thinking., HTML is a markup language. JavaScript is a scripting language. There are some basics to learn from it such as control variables, statements, and loops, but it is not a full blown language. Of course CSS is not a language. I guess if they don't know the difference between these, then they really do need to learn some basics.

I'm going to be the asshole programmer (5, Insightful)

Anonymous Coward | about a year ago | (#42572877)

"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.

Re:I'm going to be the asshole programmer (1)

TubeSteak (669689) | about a year ago | (#42573119)

correcting your conceptual mistakes

What's wrong with this?
Don't we all bounce ideas and thoughts, in every aspect of our lives, off of knowledgeable people?
Or am I a statistical outlier that asks first and designs second?

Re:I'm going to be the asshole programmer (4, Insightful)

Anonymous Coward | about a year ago | (#42573147)

A programmer's job is to implement a specification. People who "have an idea for an app" only want to pay a programmer (I'm being generous here, often they don't even want to pay a programmer, see the article), but expect to get a business analyst, graphics artist, software architect, marketer, programmer and system administrator rolled into one, so that they don't have to give away too much of the money they expect to earn with their creative idea. Someone who thinks you can learn a little programming to avoid being at the mercy of programmers isn't looking for a partner, isn't willing to share with a partner and doesn't deserve the input from a partner.

Re:I'm going to be the asshole programmer (0)

Anonymous Coward | about a year ago | (#42573483)

back-and-fourth and brainstorming is great - with a business partner who will receive a reasonable part of the money the idea will generate.
If it's a one-time payment programmer you hired to do the "simple work" for you - don't expect him to develop your idea into usable form, implement it, and then be satisfied with (nearly) minimal wage.

Re:I'm going to be the asshole programmer (4, Insightful)

Anonymous Coward | about a year ago | (#42573237)

The thing is, if you have no concept of programming, it is just black magic to you, and you want to create this app or whatever (btw, an app is not written in HTML/CSS, but I digress), you have no idea where to start, you have no idea what a programmer would need to do it. You don't even have a "language" in which to express your demands. The reason why there are so many of these half baked ideas that we have to pretty much mind read out of people is, they have this problem. If you cannot program, you cannot write pseudocode, and you don't know how or why to write down the demands you have in a correct form. If however this guy were to learn enough programming that he would have a chance to write this app himself given a lot of time, he might much more easily understand the problems of the programmer he wants to give the task to. And even if he does try to do it himself, this is not such a bad thing, cause then he will not bother any programmers and he will either learn to do it properly, or he will end up with a mess and understand that this is not something trivial he is asking of programmers. Maybe at that point it will be possible to explain to him that it is not just about writing the thing either, it's about maintenance when he has made his 32414.th request for a major change without regard for the overall design of the thing that is being made. If your code becomes a big mess because of change requests from the user it is really hard for the user to really understand this before he has learned some basic programming and seen how easily a program becomes a big mess.

Re:I'm going to be the asshole programmer (1)

Anonymous Coward | about a year ago | (#42573289)

A programmer who isn't just a code monkey will figure it out. It is much more important for the entrepreneur to figure out the stuff that isn't in the programmer's domain. Changing requirements mid-game is the result of insufficient market research and business planning. Not having hands-on experience with how disastrous implementation-phase design changes are has nothing to do with it. You don't have to be a programmer to understand that you can't keep changing your product. In fact that's pure business knowledge, because programmers will rebuild the application if you ask them to, give them the time and resources and pay them for it. The business will tank though.

Not sure it would help (4, Interesting)

Moraelin (679338) | about a year ago | (#42573383)

I'm not sure that learning some superficial idea of a language is going to help. And I'll give you a couple of reasons why:

1. Dunning-Kruger. The people with the least knowledge on the domain are those who overrate their knowledge the most.

Now I really wish to believe that some management or marketing guy is willing to sink 10,000 hours into becoming good at programming, and have a good idea of exactly what he's asking for. I really do. But we both know that even if he does a decent amount overtime, that's about 3 years of doing NOTHING BUT programming, i.e., he'd have to not do his real job at all any more. Or more like 15 years if he does some two-hours a day of hobby-style programming in the afternoon. And he probably won't even do that.

What is actually going to happen, if at all, is that he'll plod through it up to first peak of his own sense of how much it knows, i.e., the Dunning-Kruger sweet spot. The point where he thinks he knows it all, except, you know, maybe some minor esoteric stuff that doesn't matter anyway. But is actually the point where he doesn't know jack.

2. And from my experience, those are the worst problem bosses. The kind which is an illustration of Russell's, "The trouble with the world is that the stupid are cocksure and the intelligent are full of doubt." The kind who is cock-sure that he probably is better at programming than you anyway, he just, you know, doesn't have the time to actually do it. (Read: to actually get experience.)

That's the kind who's just moved from just a paranoid suspicion that your making a fuss about the 32414'th change request is taking advantage of him, to the kind who "knows" that you're just an unreasonable asshole. After all, he has no problem making changes to the 1000 line JSP or PHP page he did for practice (half of which being just HTML mixed in with the business code.) If he wants to add a button to that one, hey, his editor even lets him drag and drop it in 5 seconds. Why, he can even change it from displaying a fictive list of widgets to a fictive list of employees. So your wanting to redo a part of the design to accommodate his request to change the whole functionality of a 1,000,000 line program (which is actually quite small) must be some kind of trying to shaft him.

It's the kind who thinks that if he did a simple example program in Visual Fox Pro, a single-user "database", placed the database files on a file server, and then accessed them from another workstation, that makes him qualified to decide he doesn't need MySQL or Oracle for his enterprise system, he can just demand to have it done in Visual Fox Pro. In fact, he "knows" it can be done that way. No, really, this is an actual example that happened to me. Verbatim. I'm not making it up.

3. Well, it doesn't work on other domains either, so I don't see why programming would be any different. People can have a superficial understanding of how a map editor for Skyrim works, and it won't prevent them from coming with some unreasonable idea like that someone should make him every outfit from [insert Anime series] and not just do it for free, but credit him, because, hey, he had the idea. No, seriously, just about every other idiot thinks that the reason someone hasn't done a total conversion from Skyrim to Star Wars is that they didn't have the precious idea.

Basically it's Dunning-Kruger all over again.

I think more than understanding programming, what people need is understanding that ideas are a dime a dozen. What matters is the execution.

What they need to understand is that, no, you're probably not the next Edison or Ford or Steve Jobs or whatever. There are probably a thousand other guys who had the same idea, some may have even tried it, and there might actually be a reason why you never heard of it being actually finished. And even those are remembered for actually having the management skills to make those ideas work, not just for having an idea.

Ford didn't just make it for having the idea of making a cheap car, nor for being a mechanic himself. Why it worked was managing to sort things out like managing to hire and hold onto some good subordinates, reduce the turnover that previously had some departments literally hire 300 people a year to fill 100 positions, etc. It's the execution that mattered, not just having an idea.

Once they get disabused of the idea all that matters is that their brain farted a vague idea, I think it will go a longer way towards less frustration both for them and their employees.

Re:I'm going to be the asshole programmer (2)

PolygamousRanchKid (1290638) | about a year ago | (#42573313)

"I have an idea for an app" is exactly what riles up programmers.

Actually, what really riles me up, is when someone who has no idea about programming, states confidently, "It can't be too difficult to program this . . . "

This guy might as well save trips to the dentist, as well. All he needs is a Black & Decker power drill, a can of spackle and a mirror.

Even worse are folks who have just a little bit of computer knowledge, and start playing armchair system quarterback architect with it. Then you hear bizarre statements, like: "Well, all you need to do, is grep a yacc by the tail. It can't be too difficult to program this . . ."

However, I do encourage all people to try some programming. Then when they find it so frustrating, they have more appreciation and understanding for what programmers really do. But most ordinary people can't even grasp the concept of an algorithm or basic logic. When I explain, "IF you have no milk, THEN go to the supermarket, ELSE watch TV, they are lost already.

Re:I'm going to be the asshole programmer (1)

dunkelfalke (91624) | about a year ago | (#42573493)

Exactly. And most of these "I have an idea for an app" sound like "should be like facebook, but with x"

What about the server side? (5, Insightful)

G3CK0 (708703) | about a year ago | (#42572881)

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.

Re:What about the server side? (3, Insightful)

c0lo (1497653) | about a year ago | (#42572961)

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?

Possible solution:
1. first, you learn enough JavaScript to mock the interaction with a server (which is quite a lot of Javascript, honestly) and develop a fully fledged standalone client - yes, you can do it.
2. next, if you already learnt in this process this heck of a lot (not only enough JavaScript, but also SW engineering), learning a server-side flavour is a piece of cake.
(yes, you're quite observant, there's not "step 3. ???" and no "step 4. profit")

And suddenly, you discover yourself transforming from a guy with disruptive ideas into a guy that sends his CV left and right and hope someone will hire him as an... a****** programmer.
And... hold on... this is called "growing up" (as in "coming of age in software").

Re:What about the server side? (1)

HJED (1304957) | about a year ago | (#42573193)

More importantly what recent succesfull apps have been developed purley with any of those three as the primary languge, most websites will use at least PHP and the big market at the moment is phone apps wich tend to use some derivative of java.

NEWS FLASH! (-1)

Frosty Piss (770223) | about a year ago | (#42572883)

Ãoeber nerds think Ãoeber Nerdiness is the greatest thing since, well, I was going to say "sliced bread", but probably they really mean masturbation to tentacle porn.

Re:NEWS FLASH! (5, Funny)

Anonymous Coward | about a year ago | (#42572965)

G'day, Frosty!

Did you mean "Übernerds" and "Übernerdliness"?

ProTip: The best trolls all use Windows-1252. Unicode is vastly overrated.

Yours in Umeå,
Roald Engelbregt Gravning Amundsen

Sure because that's all is needed... (5, Insightful)

Anonymous Coward | about a year ago | (#42572891)

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

NO, OMG NO (0, Offtopic)

Osgeld (1900440) | about a year ago | (#42572907)

I AM a basic programmer, learned when I was a kid in the 80's, writing a applesoft program now for a retro compo, wrote a qbasic program the other day to half ass something at work.

did the VB scene, do the VB.net scene... I can puke basic out faster than a college freshman that just discovered that jagermeister and goldschlager dont mix well... and I can say

NO, FUCKING STOP

you want to write stuff, fine, but seriously there are so many languages out there now that are not only better, but can easily morph into each-other if you decide to expand your skills. dont waste your time with basic in this day and age.

Re:NO, OMG NO (0)

Anonymous Coward | about a year ago | (#42572971)

basic, not BASIC.

Re:NO, OMG NO (1)

phantomfive (622387) | about a year ago | (#42573061)

Just so you know, he was talking about " learning some programming basics. Just some HTML, CSS, and JavaScript should be enough to start." He wasn't talking about Beginners All Purpose Symbolic Instruction Code.

Re:NO, OMG NO (0)

Anonymous Coward | about a year ago | (#42573139)

He wasn't talking about Beginners All Purpose Symbolic Instruction Code.

BAPSIC...??

Funny what some people think of as programming (2, Interesting)

Anonymous Coward | about a year ago | (#42572915)

Using HTML, JavaScript and CSS is more like designing.Next thing you know someone thinks of using TeX and LaTeX as programming instead of writing a book or article.

Re:Funny what some people think of as programming (1)

Anonymous Coward | about a year ago | (#42572951)

HTML and CSS are not programming languages, but Javascript is. With Javascript you can write servers, (I did one myself a few months ago using node.js) and also client applications, like games, Firefox addons etc.

I'm writing this slashdot comment... (5, Funny)

tangent3 (449222) | about a year ago | (#42572927)

...because if I don't, I'm always going to be at the mercy of some a****** slashdot comment writer.

Incredibly stupid (1, Interesting)

logru (909550) | about a year ago | (#42572935)

By the same token you should also know a little about raising pigs as you won't be held a****** farmer, or mechanic, and lets not forget those a****** astrophysicists, clearly everybody should be able to calculate the amount of redshift from a distant star. In todays society we need to specialize and not everyone can learn a little of everything.

Re:Incredibly stupid (4, Insightful)

BronsCon (927697) | about a year ago | (#42573033)

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.

Re:Incredibly stupid (1)

Osgeld (1900440) | about a year ago | (#42573065)

nothing drives me nuts more than "some dude" that shows up with the best idea ever! but knows nothing on how to make it, may it be electrical, mechanical, software, or in general

they almost always have an idea so generic its pethetic, with a disposition that they are so smart that they are the only ones to ever think of it, but never give a second thought of how much work no one wants to give to their idea

its like the 10 year old that wants to make thhttp://developers.slashdot.org/story/13/01/13/0455234/learn-basic-programming-so-you-arent-at-the-mercy-of-programmers#e biggests epic RPG, and the entire input is "save the princess", make it mind blowing awesome, I will just kick back now!

Re:Incredibly stupid (1)

logru (909550) | about a year ago | (#42573319)

I'm sorry, but being able to put air in my tires and refill the oil on my car does not mean that I know anything about mechanics. And that's pretty much all that I need to know to be able to own a car. If I don't even own a car, just operate one occasionally I probably need to know even less.

Re:Incredibly stupid (3, Insightful)

BronsCon (927697) | about a year ago | (#42573345)

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.

broaden your horizons :P (2)

chilvence (1210312) | about a year ago | (#42573039)

Meh, I completely disagree with everything you said. The advice is not 'become a world class expert', the advice is 'know enough to be able to do what you want, which is probably easier than you would expect. There is currently no such thing in the computer world, it is all an absolute of 'us programmers' and 'them users', which is spastic.

For example, I would probably find it hard to build a bike from a bunch of steel tubes and scrap aluminum and rubber, even if I have a rough understanding of the process. But I do know enough to not have to limp pathetically to a bike service shop if I break a derailleur or bend my wheels or break a spoke, and an appreciation of exactly how all its parts operate means I am not stupid enough think wasting 3 grand on a flashy toy is going to make me ride better. Extrapolate that logic to whatever field you choose.

PS. I also grow nice veg.... but last time I checked I am not on a farm...

Re:broaden your horizons :P (1)

logru (909550) | about a year ago | (#42573317)

Well it's a good thing I did not say that you had to become a world class expert then. Knowing enough to being able to do what you want in every field may be a little more than you think then. There is a lot of difference between basic fields and sciences. Would you say that all fields of knowledge have the same level of requirements to understand them? PS: Good for you. how's you knowledge about creating and maintaining fish ponds or basic elevator maintenance?

Re:Incredibly stupid (1)

ruir (2709173) | about a year ago | (#42573227)

It is a question of culture. Apparently in Japan they take pride into their job and be very focused and *very* specialized in the niche they work on, always striving to improve all their life, while for instance in Africa they dont know jackass about most things, but think or try to do most of them, including applying for jobs which they arent qualified for.

Also works for drawing (5, Interesting)

Tagged_84 (1144281) | about a year ago | (#42572937)

While I have no problem with programming I am at the mercy of an artist for my games. So the last couple months I've been practising drawing with Vectors (I've actually found InkScape to be easier than Illustrator) so that I no longer have to find a willing graphics artist for my games. I've been drawing the assets for my next project as I figured that's the best way to learn, never have to stop and think of what to practice drawing next as I have the list in front of me.

It also means if I end up with sub-par results at least I've improved my art skills and have a strong list of assets for the artist! Plus it's another step that forces me to consider each asset before throwing it in there as not only do I need to design and code but now I need to spend the time drawing it, the end result being a cheaper contract rate from fewer art assets.

Re:Also works for drawing (2)

_Ludwig (86077) | about a year ago | (#42572957)

There's a lot more to art (and coding, for that matter) than knowing how to use the tools.

Re:Also works for drawing (0)

Anonymous Coward | about a year ago | (#42573017)

Some things you must learn before doing. Other things you may learn by doing. Still other things you will only learn by studying what others do.

Meditate upon this wisdom, class. Ohmmmmmmm....

(captcha: stooge)

Go ahead, make my day. (1)

Anonymous Coward | about a year ago | (#42572943)

Go on, get started on learning some programming skills. Your programming language of choice will give you all the rope to hang yourself, and then just a bit more to be sure. Once you know enough about programming not to be at the mercy of programmers, maybe you'll finally start to appreciate the ones that have been doing it for a living for ten years or more, and you'll gladly surrender.

No.. just no... (5, Insightful)

Anonymous Coward | about a year ago | (#42572959)

> '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?"

Re:No.. just no... (-1)

Anonymous Coward | about a year ago | (#42573265)

Most programmers -- the folk who can execute ideas -- are not worth millions.
The value of execution isn't that much (especially with all the free apps out there -- far cheaper than a dime a dozen).
Actual (repeated, sustained) sale of the execution makes it valuable.

Case in point: Rovio entertainment. Idea isn't that new (it's not too different from Gorillas [wikipedia.org] , which is from '91). Execution is not slicker than Ye Olde Average Flashgame.
So why is that company worth millions? Because they managed to turn a simple idea and into a money-making execution -- by selling. Up-selling, merchandise sales, selling ad-space, you name it, they're making money off of it.

That's where their value originates. Not in the programming of that game.

A little knowledge (2)

hughbar (579555) | about a year ago | (#42572993)

As one used to say, a little knowledge is a dangerous thing, so this argument isn't really convincing.

I've worked for people in the past who knew a little basic and then believed that they knew how some large, multi-tiered thing could be re-architected in a few lines, as in a Hollywood film [or Dilbert].

A little technical knowledge [rather than just knowing buzzwords, another common trap] may at least help filter some of the more hopeless potential 'programmers' for your project but it needs to be combined with a healthy dose of reality and knowing ones limits: http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect [wikipedia.org]

Not the best kind (1)

sparrowcz3 (1982618) | about a year ago | (#42573015)

I'm sure it would be a delight to listen to an MBA who took some lessons in Python as he gives valuable advice to engineers. We sure need more pointy hair experts..

I think I disagree... (3, Interesting)

seebs (15766) | about a year ago | (#42573021)

Plauger's essay, many years ago, about programmer types struck me as better advice: If you enjoy programming, do it. If you don't mind it, but don't really enjoy it, feel free to do it, but have other things available. If you hate it, don't do it, because you will be dramatically worse off than if you did something you enjoyed and were probably good at.

It's a great thought to "not be at the mercy of some programmer". Makes sense for singing, for musicians. Thing is, you don't have to sing particularly well to sing adequately to get stuff recorded. Might not make a lot of money, but you can do pretty well if you can carry a tune at all. Or even if you can't, if you're charismatic. But a bad programmer doesn't just produce tolerable but sort of flawed programs; a bad programmer produces programs that are frequently worse than not having a program at all.

Re:I think I disagree... (0)

Anonymous Coward | about a year ago | (#42573291)

I agree, but for a different reason, the premise.

Programming should never be about making a big buck, that's how we get disasterware and crapware. If you want to sell your program that's fine, but if you go into it with the only motivation being to sell it your not going to make all that great of a program.

Instead I think the learn basic programming argument should be more about learning to eliminate stupid repetitive task from your life. For example awhile back I ripped a series from a bunch of DVDs which was in a foreign language but had subtitle tracks. The ripping software screwed up the time offset on every 4th episode. This was a pretty large series, adjusting the subtitles for every last episode it messed up, even using some of the best subtitle editing software out there, would have been an all day job. However after a few minutes of research I learned the subtitles were simply a plain text format, each line was on entry, with various parameters to control the appearance of that entry separated by delimiter. In those parameters was the time offset for when to play it and duration for how long it should stay on screen. Using this information combined with my knowledge of C# and a command line tool I found to split the subtitle out and merge them back in, I wrote a tool that did the time adjustments. All-together it took roughly a half hour, that's counting research, writing the code, fixing a couple bugs, and then letting it run on every episode that needed it.

I tend to use my programming knowledge for stuff like that more than actual software. Mind you I write a lot of software (particularly video games and tools), but having the ability to tell the computer to do what you want, in what order you want, and to your exact specifications is incredibly useful.

True (4, Insightful)

Frankie70 (803801) | about a year ago | (#42573029)

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.

Re:True (0)

Anonymous Coward | about a year ago | (#42573137)

"right after they learn carpentry, blacksmithy, masonry "

      If they know all that, what do they need computers for?

Re:True (3, Insightful)

Shimbo (100005) | about a year ago | (#42573177)

  If they know all that, what do they need computers for?

That's kind of the point. There's always some things you will have no idea about, and risk getting ripped off by asshole 'experts'. 'Zen and the Art of Motorcycle Maintenance' covers that pretty well though.

Sure, being able to have the basics of a range of things can be satisfying. However, if you're going to be an entrepreneur you're going to need to learn the ability to manage people with skills you don't have.

The Good Ones Are Taken? (1)

neoshroom (324937) | about a year ago | (#42573043)

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

As a good coder who writes applications for aspiring entrepreneurs for a living, I can tell you we aren't all booked up. I can also tell you that even if your hypothetical newbie learned how to code a basic application, it's not going to help them one iota when they wants to get that app made. Now he or she can make a basic app...great.

But their real app is nothing like their learn-to-code app. It's going to have to have TCP/IP in-out, a server, mess with the registry, a installer, low-level optimizations, QT bindings, API calls, assembly, links to command-line programs, cross-platform code, multithreading or the thousand other things that consumer-grade have, but a newly minted coder isn't going to know how to do or know how to do well. So what does the person get for their time? A slightly better appreciation of what that coder they still need to hire is going to have to do perhaps.

You are also forgetting about opportunity costs. Your advice is like telling a strait women she should try being a lesbian for a while, because all the good men are already married. You lose time and unless you actually are a lesbian want to be one or find it interesting for its own sake, there isn't much point.

Re:The Good Ones Are Taken? (0)

Anonymous Coward | about a year ago | (#42573101)

"As a good coder"

flag #1

"I can tell you we aren't all booked up"

flag #2, if you were as good as you think you were, you would be busy enough to not take on random ideas from the peanut gallery

"It's going to have to have TCP/IP in-out"
oh no, that might take a .net example or two

"or the thousand other things that consumer-grade have"
which all uses the same libraries that every one else has ... you may be fast, but you think of yourself a bit dont you?

"Your advice is like telling a strait women she should try being a lesbian for a while"
Sign of a true pro, making a silent bob film with the lead females role reversed, awesome, would you like to work in FAA embedded design? you truly showed your talent

Re:The Good Ones Are Taken? (1)

Anonymous Coward | about a year ago | (#42573141)

No kidding... "Good programmer"? Who the fuck says "TCP/IP" in-out? Assembly? For your standard Jo Blow
"entrepreneur's" app? I bet that there's not much assembly doing down in 99% of even embedded code these days.

Re:The Good Ones Are Taken? (-1)

Anonymous Coward | about a year ago | (#42573381)

Ok ok, where do I start with this? I can't resist. TCP/IP in-out and a server..."php://input" look I just wrote your TCP/IP in-out in 11 characters and its a server too! I got your basic programming on tap man!! Mess with the registry? Registry.CurrentUser.CreateSubKey("SOFTWARE\\Microsoft\\TestApp\\1.0") there ya go straight from the MSDN- I know insane!! an installer? for YOUR program turn your zip file into an exe file..ok done with that one. Low level optimizations? check off "optimize" in your IDE. QT bindings huh?

using com.trolltech.qt.gui;
QApplication.initialize(args);

Well that was two lines of code but enough to get you started. The following was an API call too btw so that was a 2 for 1. Assembly? Programs inherently "have" assembly so check that one off. Hmm...links to command-line programs?

string command = @"C:\My Dir\MyFile.exe";
string args = "MyParam1 MyParam2";

Process process = new Process();
process.StartInfo.FileName = command;
process.StartInfo.Arguments = args;
process.Start();

That gem was from a site us programmers use called stackoverflow- its really useful. Cross-platform code? Compile in Monodevelop. Multithreading? Add a couple pragmas from OpenMP which is like two or three lines of code. There you go some basic programming and tips that do all the things that are "consumer grade" and I'm just giving it away for free so hopefully all the newly minted programmers that read this are in the know. See that wasn't so hard, unfortunately I am fully booked ATM.

C++ for 8 year olds (1)

Anonymous Coward | about a year ago | (#42573045)

I'm learning C++ along with my 8 year old daughter. I think people underestimate what kids can do. If everyone started learning programming at an early age, I truly believe the world would be a far better place.

Hmm (1)

drolli (522659) | about a year ago | (#42573049)

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.'"

As we didnt have enough badly written, insecure and slow web applications which were not designed by somebody whose description fits to the above.....

Re:Hmm (1)

MichaelSmith (789609) | about a year ago | (#42573053)

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.'"

As we didnt have enough badly written, insecure and slow web applications which were not designed by somebody whose description fits to the above.....

Our professional software engineers are going a good enough job of creating those.

Ridiculous (1)

GodfatherofSoul (174979) | about a year ago | (#42573063)

Programming is HARD. Maybe not for people posting here, but for everyone else. Very few people are going to have the time or ability at their disposal to get to a high enough competence level that they'll gain the insight he's talking about. In fact, I bet that a little knowledge is even worse as that might inspire a false level of competence; e.g. "here's my idea, should be easy since it only took me 2 hours to figure out 'Hello World' in C#" BTW, I saw plenty of these kinds of posts on work posting site.

Re:Ridiculous (0)

Anonymous Coward | about a year ago | (#42573157)

Excellent. The more people trying it the more we'll get rid of the "but it'll only take you 5 minutes" idiots.

Wrong: GOOD Programming is HARD (2)

RotateLeftByte (797477) | about a year ago | (#42573213)

There is code written by a newbie and there is code written by someone with years of experience. Now which is going to be

1) more usable
2) more maintainable

etc etc etc

If you are a programmer and you doubt this then you are clearly in the wrong profession. Like a Surgeon, Mechanic, Photographer, your skills develop over time and your success rate goes up.
If it does not then you are a hacker IMHO should not be let anywhere near a computer. I picked up a project last May from someone who had worked on it for some time. They called themselves a professional and were charging appropriate rates as a contractor for it. I took one look at his code and wept. It was pure and utter crap. Not a comment in sight. One great monolithic block including repeated lumps of error handling. Needless to say, that person's contract was terminated on the spot and legal moves were taken to reclaim most if not all of the fees paid to him.
Since then I have re-written the whole thing and brought some structure to the project. I could have done better if I'd had more time but it needed to go live by a certain date.
Yes Coding is hard. Good coding is even harder.

Frankly I do not want to see more people develp apps past the prototype stage. There is a huge cavernous gap the size of the Grany Canyon between cobbling together a prototype and making some worthy of being put into production..
And yes I have quit a job where the boss said, 'Use the prototype. It works doesn't it?'. That company went bust less than a year later.

A little learning can be a dangerous thing (1)

aNonnyMouseCowered (2693969) | about a year ago | (#42573103)

His advice is sane as long as you remember never to micromanage the guys who'll implement your vision. Knowing CPR is a good thing, but forcing it on a person with a bullet in his chest could do more harm than good. Other examples: an accomplished writer would not necessarily make a good editor if he chooses to rewrite a novel to suit his own writing style. An art critic who paints on the side might be tempted to show off his technical knowledge of a medium instead of writing a general review that the public can understand.

Knowing good design is better than knowing just a little HTML.

If you want to learn basic programming... (2)

williamyf (227051) | about a year ago | (#42573171)

You could start as follows:

10 Print "Hello World"
20 goto 10
30 ???
40 rem profit

[said with nick burns tone] you're welcome!!

learn how to (1)

ruir (2709173) | about a year ago | (#42573217)

sing, so you dont need justin bieber...oh wait.. do some basic plumbing do give money to the state, so IRS doesnt rob you print money, so the state doesnt tax you how to do it yourself, so women dont screw you... how to care of yourself, so doctors dont cheat you. how to build a notebook, so wallmart doesnt sell you crap. how to build clothes... how to grow your own food... meh, why is it that people think they can do others people job has long they own a computer? I can buy a stethoscope, or powertools, or a cutting hair machine but that doesn't turn me into a MD, or a plumbing man, or into an hairdresser.

Learn programming too early not too late (0)

Anonymous Coward | about a year ago | (#42573239)

Most good programmers I know started early..really early in life. I started programming when I was 8 years old and most of my friends that do it started when they were 12 at the oldest. I've found most people that try to take it on during their college years or later are just lost in the code. IME that's a good way to make it stick because for the most part learning a programming language is a lot like learning an actual language along with a heaping side of mathematics. I have respect for older programmers because a lot of them started out on punch cards and calculators you had to plug into the wall while going to college. Learning a little basic programming is about as useful as taking a community ed class in basic Spanish and then moving to mexico assuming that you aren't at the mercy of the cartels because of it. In the world of development things can be cut-throat and just knowing how to program isn't all there is to it. When it comes to being at the mercy of programmers- no tears please its a waste of good suffering.

learn basic entrepreneurship... (4, Insightful)

retchdog (1319261) | about a year ago | (#42573281)

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.

Idiotic (0)

Anonymous Coward | about a year ago | (#42573303)

Why does everything think "programming" is something that doesn't require educated, skilled and talented people? To bring in the (in)famous car/computer analogy. When was the last time you heard someone say "you should take shop class in high school to make sure when you have an idea for a new car you aren't at the mercy of the damned mechanical engineers!"?

If all you have is an idea and no ability to realize that idea, you have exactly nothing. For every Steve Jobs there is a Woz doing the real work behind the scenes and, sadly, often getting screwed in the process.

The real story here is: If you're actually someone capable of realizing an idea, make sure you educate yourself in how people will try to fuck you over to exploit your abilities.

I agree, but for different reasons (1)

s7uar7 (746699) | about a year ago | (#42573343)

To suggest that a few evenings learning from a book will mean you're able to do the work itself is laughable, but it does mean you would have a better idea of when you're being spun bullshit by the asshole programmer.

I know nothing about cars, so if I take mine to a mechanic to fix I'm at his mercy - if he bullshits me I have no way of knowing. If I contract a programmer I'm in a position to know whether the work I'm asking for is likely to take a day or a week and whether it really needs the latest fashionable framework.

Pretty much (4, Insightful)

Arancaytar (966377) | about a year ago | (#42573447)

(And conversely, programmers also benefit greatly from learning some basics of business to avoid being at the mercy of managers.)

Confusing title (0)

Anonymous Coward | about a year ago | (#42573469)

How about "Learn Programming Basics So You Aren't At the Mercy of Programmers" instead? Having "Basic Programming" in the title kind of makes you think that this is about BASIC programming.

Programming don't work that way. (1)

Tei (520358) | about a year ago | (#42573503)

If you know a littel of medicine, or mechanic. And you have a accident in the forest, that stuff will help you to repair the engine if is easy, and heal your wounds or stop bleeding.

A small course in programming will not help you "stop bleeding". To even being to create something worthwhile, or repair something complex in software, you must much more information and experience.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...