Slashdot Mirror


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

81 of 313 comments (clear)

  1. He describes how he learned to sing, too by Krishnoid · · Score: 5, Informative

    It's in one of the comments, 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 is the closest example I can find.

    1. Re:He describes how he learned to sing, too by Deideldorfer · · Score: 2, Informative

      Rosetta Code is a wiki composed of the same problems solved with many different computer languages. Rosetta Code currently has 626 tasks, 101 draft tasks, and is aware of 486 languages. http://rosettacode.org/

      --

      Power off before disconnecting connecting connector. Seen on a cash register
  2. Does programming necessitate the use of a computer by Taco+Cowboy · · Score: 2, Insightful

    ... just askin'

    --
    Muchas Gracias, Señor Edward Snowden !
  3. HTML, CSS, and JavaScript by MichaelSmith · · Score: 2

    But not Basic?

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

    1. Re:HTML, CSS, and JavaScript by Anonymous Coward · · Score: 4, Funny

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

    2. Re:HTML, CSS, and JavaScript by yasuodancez · · Score: 2, Informative

      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.

    3. Re:HTML, CSS, and JavaScript by maxwell+demon · · Score: 2

      I can't see a dereference in his sig.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    4. Re:HTML, CSS, and JavaScript by Dwedit · · Score: 2

      It's from an episode of CSI. Clip here: http://youtu.be/hkDD03yeLnU

    5. Re:HTML, CSS, and JavaScript by luke923 · · Score: 2
      --
      "Good, Fast, Cheap: Pick any two" -- RFC 1925
    6. Re:HTML, CSS, and JavaScript by demonlapin · · Score: 2

      These comments aren't getting modded up. Perls before swine, I suppose.

    7. Re:HTML, CSS, and JavaScript by Guignol · · Score: 2

      After perl comes ruby ;)

    8. Re:HTML, CSS, and JavaScript by BotnetZombie · · Score: 4, Informative

      JavaScript is Turing complete AFAIK. What do you mean it's not a full blown language?

    9. Re:HTML, CSS, and JavaScript by ProzacPatient · · Score: 2

      Can someone post how to trace a killer's IP address in Java?

    10. Re:HTML, CSS, and JavaScript by lennier · · Score: 2

      The past is prolog; now we each go forth to write our own sequel.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    11. Re:HTML, CSS, and JavaScript by readin · · Score: 2

      Just like everyone is required to learn some basic chemistry, physics, math and biology, everyone ought to learn how to do some simple programming. They don't need to be experts. They don't need to learn fancy algorithms, data structures, numerical analysis, or NP-Completeness, but anyone interested in STEM ought to be able to write fizzbuzz in at least one language such as pascal, C, or even the old fashioned BASIC.

      That way, when someone has an idea for a wonderful app, they'll have some idea of whether it is likely to be possible and how difficult it would be to write (first decision-try to learn programming and write it myself, or should I hire professionals (and how many professionals)). If the decision is to hire programmers, the boss won't be completely in the dark about what needs to be done or completely clueless when the programmer is talking.

      But even if you don't have a wonderful new app that you want to get rich on, you may just be doing or managing some work and wonder "could this task be automated"? Having a basic idea of what a program is will help you there.

      When someone talks about how computers are used to track your activities, understanding what they can do is important.

      Computers are a pretty important part of our lives these days. They are so central to our society that no one should be considered educated if they don't have a basic understand of what a computer program is or if they can't write a simple program. This is true just like it is true that everyone should understand things like the theory of evolution, the idea that physics is based on math, that everything is made of atoms containing electrons and protons, and that life is made of cells.

      --
      I often don't like the choices people make, but I like the fact that people make choices. That's why I'm a conservative.
  4. I'm going to be the asshole programmer by Anonymous Coward · · Score: 5, Insightful

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

    1. Re:I'm going to be the asshole programmer by Anonymous Coward · · Score: 4, Insightful

      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.

    2. Re:I'm going to be the asshole programmer by Anonymous Coward · · Score: 4, Insightful

      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.

    3. Re:I'm going to be the asshole programmer by PolygamousRanchKid+ · · Score: 2

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

      --
      Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
    4. Re:I'm going to be the asshole programmer by aaarrrgggh · · Score: 4, Insightful

      I'm an engineer. I want to remodel my home. I come up with ideas, document them, and give them to an architect to build into a complete design that conveys scope to the general contractor and trades. Me being educated about the process helps me to manage scope and hopefully get the product I want in the most efficient manner possible, while also taking advantage of the expertise of others. A prima donna architect that only wants to create something they find to be beautiful might not solve my problems.

      Programming is no different. If I convey something in pseudo code or user interface, I would expect a skilled programmer to be able to provide a critical evaluation of my idea and guide me into the best direction. I might not be able to break down the functions for security the right way, but I would at least be highlighting the need for security as an example.

    5. Re:I'm going to be the asshole programmer by DarwinSurvivor · · Score: 3, Informative

      If I convey something in pseudo code or user interface.

      And right there you have far exceeded the competency of 99.99% of the "I have an idea, all you have to do is program it" people out there.

    6. Re:I'm going to be the asshole programmer by Hognoxious · · Score: 2

      when someone who has no idea about programming, states confidently, "It can't be too difficult to program this . . . "

      Experienced programmers do that too. It's one of the reasons they usually give low estimates.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  5. What about the server side? by G3CK0 · · Score: 5, Insightful

    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.
    1. Re:What about the server side? by c0lo · · Score: 3, Insightful

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

      --
      Questions raise, answers kill. Raise questions to stay alive.
  6. Sure because that's all is needed... by Anonymous Coward · · Score: 5, Insightful

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

  7. Re:Does programming necessitate the use of a compu by Krishnoid · · Score: 3, Insightful

    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.

  8. Funny what some people think of as programming by Anonymous Coward · · Score: 2, Interesting

    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.

    1. Re:Funny what some people think of as programming by luke923 · · Score: 2

      Some people still think XML is a language...

      --
      "Good, Fast, Cheap: Pick any two" -- RFC 1925
  9. I'm writing this slashdot comment... by tangent3 · · Score: 5, Funny

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

  10. Also works for drawing by Tagged_84 · · Score: 5, Interesting

    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.

    1. Re:Also works for drawing by LMariachi · · Score: 2

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

    2. Re:Also works for drawing by Tagged_84 · · Score: 4, Insightful

      Thanks captain obvious!

  11. No.. just no... by Anonymous Coward · · Score: 5, Insightful

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

    1. Re:No.. just no... by Kjella · · Score: 4, Interesting

      If it's an idea that is scribbled down on the back of a napkin, maybe not. But I'm reminded of the founding story of one software company I heard, the initiator was an electrician but he couldn't code worth shit. So he found a tech-savvy friend and said "I've been an electrician for 20 years now, I worked with most the software tools out there and think there's a market for something better and more streamlined to an electricians daily life with these and those features. I have many contacts in the business we could sell to and I know what the competition is charging because they've been selling to me and there's good money in this. I have done some layouts of how I'd like this to look and work and I can continue to work on that if you can write code to make it work."

      Long story short, friend take a look at it and decides the ideas are implementable, they start a company together, huge success. Of course you could say he brought a lot more than an idea, he bought domain knowledge, proper requirements, specific key features that could sell the product, market contacts and so on but he had absolutely no execution ability on his own. Should he have gone back to school for learn to do it himself? Yeah right. That would have taken years and you can bet that if the first version was made as a newbie's first "real" solo coding project it would have been horrible and flopped. So what do you do if you have all of the above, but no tech-savvy friend? Of course by Sturgeon's law 90% of everything will be crap, but to dismiss everything just because they "need to find someone who can make it for me" is silly.

      --
      Live today, because you never know what tomorrow brings
    2. Re:No.. just no... by zAPPzAPP · · Score: 2

      "If you cant execute your idea, then what are you bringing to the table?"

      Money...maybe?
      Isn't that how it usually works when someone employs you?

      I don't get why everyone is so against doing the actual work. That's what you get paid for after all.
      The guy with the idea should just know enough, to be able to assess how reasonable his idea is. If he then pays me to do the rest of the work for him, all is well.

  12. Re:NEWS FLASH! by Anonymous Coward · · Score: 5, Funny

    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

  13. Re:Does programming necessitate the use of a compu by jhoegl · · Score: 3, Interesting

    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.

  14. A little knowledge by hughbar · · Score: 2

    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

    --
    On y va, qui mal y pense!
  15. I think I disagree... by seebs · · Score: 3, Interesting

    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.

    --
    My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
  16. True by Frankie70 · · Score: 4, Insightful

    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.

    1. Re:True by Shimbo · · Score: 3, Insightful

        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.

  17. Re:Incredibly stupid by BronsCon · · Score: 4, Insightful

    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.
  18. broaden your horizons :P by chilvence · · Score: 2

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

    1. Re:broaden your horizons :P by smellotron · · Score: 2

      how's you knowledge about creating and maintaining fish ponds or basic elevator maintenance?

      Fish pond maintenance is probably one step further than necessary in order to make a better-than-average decision on fish purchases. For the environmentally-conscious, it would be useful just knowing (1) which fish are local, (2) which fish are farmed vs. caught wild, and (3) which fish are amenable to sustainable farming/hunting. For the health-conscious, it would probably also be useful knowing (1) toxicity information (e.g. mercury in apex predators) and (2) nutritional information.

      I fail to see the economic benefit for elevator maintenance for most people. Owners of larger buildings probably do know a thing or two about elevator maintenance, since they have to be certified and inspected by municipalities.

      it seems that your snide over-the-top responses match the "fundamentalism" of your original position:

      In todays society we need to specialize and not everyone can learn a little of everything.

      It is true that in "today's society" there is more specialization due to the economic benefit of efficiency and the capabilities of automation. However, most specialization occurs in the workplace, and most of us end up using generalist knowledge regularly in the other 1/2 of our waking lives. But that doesn't mean that everyone needs to learn a little of everything. Many people will see benefits by learning a little bit about a handful of topics: home and car owners learning about basic maintenance and repairs to save money, consumers learning about product differences while comparison-shopping, family heads learning about cooking and efficient/healthy menu planning, etc.

  19. Re:Does programming necessitate the use of a compu by Z34107 · · Score: 4, Insightful

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

    Computer science? Strictly speaking, no.

    --
    DATABASE WOW WOW
  20. Thank you for not singing by LucidBeast · · Score: 2

    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.

    1. Re:Thank you for not singing by jnm11 · · Score: 2

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

    2. Re:Thank you for not singing by LucidBeast · · Score: 2

      For the record: I wasn't putting down Fortran or Mary had a little lamb.

    3. Re:Thank you for not singing by Zero__Kelvin · · Score: 2

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

      One's dead, and we merely wish the other one was?

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    4. Re:Thank you for not singing by ColdWetDog · · Score: 2

      Mr. Shatner! Nice to see you on Slashdot. You should login!

      --
      Faster! Faster! Faster would be better!
    5. Re:Thank you for not singing by Mikkeles · · Score: 2

      If by "scientific computing" you mean number crunching, then all of the above. Not that no other language is up to snuff (Sisal, e.g., or even c, if you have the expertise).

      Fortran gives about the biggest bang for the buck for high performance numerical computing especially when used by non-programmers (e.g., biologists or physicists).

      --
      Great minds think alike; fools seldom differ.
  21. If you want to learn basic programming... by williamyf · · Score: 2

    You could start as follows:

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

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

    --
    *** Suerte a todos y Feliz dia!
  22. Re:Does programming necessitate the use of a compu by NoNeeeed · · Score: 4, Interesting

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

  23. Wrong: GOOD Programming is HARD by RotateLeftByte · · Score: 2

    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.

    --
    I'd rather be riding my '63 Triumph T120.
  24. learn basic entrepreneurship... by retchdog · · Score: 4, Insightful

    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
    1. Re:learn basic entrepreneurship... by rastilin · · Score: 2

      Self reported merit is not the best guideline. It's easier to say "the world doesn't appreciate my genius" than to admit that there are skills that an excellent programmer might lack. Like anything else, being entrepreneurial is it's own skill that improves with practice and people can expect to fail over and over before they finally succeed. I suspect that the entrepreneurs that have actually had a few working projects aren't the ones coming up with the silly ideas since they have a better working knowledge of what works.

      It probably also has a lot to do with there being no shortage of half-assed implementations of ideas, it's the extremely well part of the implementation that sells anything. If people get a product off you and then have to spend forever getting it to do what they want then you haven't actually done them any kind of favor.

      --
      How do you kill that which has no life?
    2. Re:learn basic entrepreneurship... by drinkypoo · · Score: 2

      This is much of what is wrong with America.

      Business school teaches you to become a mercantilist to compete with the other mercantilists. Which, in fact, is how we get shit like MMOs designed to trap the player. It's not a brilliant or unique idea, it's how modern society works. Keep you scared so you keep working at an output level which will pay for that third yacht... but not for you.

      The rest of what's wrong with America is that you have to become a lawyer so that you're not at the mercy of some asshole lawyer. A world full of lawyers is my personal vision of hell, but that's the direction in which we're headed. If you're too dumb or disorganized to become one, life is harder and more dangerous and you're always going to need one.

      We have become a society of law, which leads to a society of lawyers, which leads to a society without happiness as it will rapidly become illegal.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  25. Re:Incredibly stupid by BronsCon · · Score: 3, Insightful

    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.
  26. Re:Does programming necessitate the use of a compu by rduke15 · · Score: 4, Insightful

    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.

  27. Re:Does programming necessitate the use of a compu by kestasjk · · Score: 2

    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.

    --
    // MD_Update(&m,buf,j);
  28. Not sure it would help by Moraelin · · Score: 4, Interesting

    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

    --
    A polar bear is a cartesian bear after a coordinate transform.
    1. Re:Not sure it would help by RabidReindeer · · Score: 2

      tl;dr short version: "A little knowledge is a dangerous thing."

      People who think they know what the job entails start out saying "It's Easy! All You Have To Do Is..." and the whole thing swiftly descends into Hell.

  29. Pretty much by Arancaytar · · Score: 4, Insightful

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

  30. Re:Does programming necessitate the use of a compu by maxwell+demon · · Score: 2, Informative

    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.

    --
    The Tao of math: The numbers you can count are not the real numbers.
  31. Re:Does programming necessitate the use of a compu by philip.paradis · · Score: 2

    Even if they're intended to eventually run on something that isn't a computer, such as wired into hardware.

    That hardware you speak of would be a computer.

    --
    Write failed: Broken pipe
  32. Re:Incredibly stupid by luke923 · · Score: 2

    If you hire any of them, tell that African prince (they're all princes over there apparently) he still owes me $80,000,000.

    --
    "Good, Fast, Cheap: Pick any two" -- RFC 1925
  33. I think I have a better idea... by pamar · · Score: 2

    The suggestion in the original article is (IMHO) completely and utterly wrong, for a mix of reasons explained in other comments.

    So let me offer an alternative: instead of learning a smattering of markup language and how to copy JS fragments and trying to modify these for you purpose... learn the basics of being a competent SW TESTER instead.

    So when you get a good idea for an app, before looking for a non-asshole programmer, draft a test plan. The more detailed, the better (because tests may also serve as specifications, as TDD teaches us).

    When it's done you will have a better idea of the "technical complexity" of your idea, and you don't have to learn any specific programming language for it.

  34. Sounds like what he needs is a software architect by mendred · · Score: 2

    In the olden days patrons or kings would hire composers to create a bit of music. The patron wasn't knowledgeable but had an idea. The composer would create the score and the arrangement and present it to an orchestra. the orchestra would execute the composers vision and thus there would be music played back to the patron. The patron then provides his feedback (applause or derision :) ) The entrepreneur is a patron. The programmer (violin player for e.g.) the project manager (the conductor) are all part of the orchestra. The missing bit is the composer who is the software architect. Of course it doesn't hurt for the patron to also understand music as it lets him present his ideas in a way that's more understandable to the composer and the orchestra i.e. removing a layer of intrepretation and also let's him appreciate the complexity of what they are doing but the reality is that he is paying for it and shouldn't need to. The architect should intrepet his idea and present it back to the team in a manner that they understand. That's the theory atleast :).

  35. Good Advice by trydk · · Score: 2

    Yes sir, I have done a full service on your car, changed the indicator fluid and greased your brake pads so they do not squeak anymore.

  36. Re:Does programming necessitate the use of a compu by BrokenHalo · · Score: 5, Interesting

    Well, no reason why it should. Just about anyone should be able to write some form of pseudocode, however incomplete, for whatever task they want to accomplish with or without the assistance of a computer.

    That said, when I first started working with computers back in the '70s, programmers mostly didn't have access to the actual computer hardware, so if the chunk of code was large, we simply wrote out our FORTRAN, Assembly or COBOL programs on a cellulose-fibre "paper" substance called a Coding Sheet with a graphite-filled wooden stick known as a pencil. These were then transcribed on to mag tape by a platoon of very pretty but otherwise non-human keypunch ops who were universally capable of typing at a rate of 6.02 x 10^23 words per minute. (If the program or patch happened to be small or trivial, we used one of those metal card-punch contraptions with an 029 keypad, thus allowing the office door to slam with nothing to restrain it.)

    This leisurely approach led to a very different and IMHO more creative attitude to coding, and it was probably no coincidence that many programmers back then were pipe-smokers.

  37. Yes, don't expose your livelihood to script kidd by raymorris · · Score: 2

    I agree with his basic concept. It's good for a person to be versatile. There's a famous quote asking the lines of "a man should be able to jump start a car, build a fire, change a diaper, change a faucet washer ...". The idea being, not everyone is a mechanic, but it's good to at least be able to change a tire or jump start a car when needed - to have basic skills in a variety of areas.

    By that line of thinking, it's good to be somewhat familiar with shell scripting or Office macros or something similar. HOWEVER, he describes writing web apps for his BUSINESS web site. Rudimentary programming knowledge should include knowing that you shouldn't expose your livelihood to every script kiddie on the planet by writing business web apps without knowing what you are doing. Basic skills in any field include knowing when to get professional assistance. Unfortunately, these days, many coder wannabes learn the very basics by writing web applications, exposing themselves or their employer to significant risks that any competent programer would avoid. That's exactly backwards. Learn on your own desktop first, then let others around you use your programs. Then learn security before exposing your business databases on public internet.

    * There's also the whole left brain / right brain thing. I coud never learn to play music, as I simply have no aesthetic sense. Calculus comes easy to me, though. Half of people can never learn programing. They just aren't wired for it.

  38. I don't think that's enough by Moraelin · · Score: 2

    I don't think that's enough.

    Most of the problems with programming aren't writing the code. Anyone can do a write-only program. You can even deliberately go the wrong way about it (I used to do program flow with ONLY goto statements just to annoy a professor who hated goto religiously) and still bend it to do what you wanted.

    IMHO to really understand why you need all those patterns, and refactoring, and unit tests, and why you don't just put a connection as a public variable in class X and directly assign it in classes Y and Z (true story, saw that done verbatim), you need to really be thrown into a team and be given a million lines of code written by someone else and be told to make it do something that goes against every assumption that was made at design time. Again, it's not a particularly large system these days, but it will serve to illustrate the point that it's different from immediately finding everything in your own 1000-line test program.

    So, no, I don't think just a little BASIC experience will make them understand the real problems better. In fact, it might just make it worse IMHO.

    IMHO part of being a good leader is knowing how to delegate. If you're an MBA with no real skills in programming, GUI design, database management, etc, IMHO the solution isn't to learn just enough of ALL of those as to move from "outsider" to "taking decision based on being dangerously incompetent in that field." The solution is to find some people who know that and delegate.

    If you don't have anyone you can possibly trust, or, like in TFA, you've actually gotten to the point where you think you're at the mercy of the programmers... well, the first step would be to ask yourself WTH went wrong. But that's ok. You can ask a second opinion. You can get a consultant to eyeball the design and tell you what's wrong or right about it. Or, you know, whatever.

    But delegate to those who are the experts. Don't think you've become an expert by learning just a little BASIC. In fact, the latter is the worst possible thing you could do. Or close enough to the worst.

    (Of course, in all above it's a generic "you", not, you know, you personally.)

    --
    A polar bear is a cartesian bear after a coordinate transform.
  39. Re:Does programming necessitate the use of a compu by maxwell+demon · · Score: 5, Informative

    Someone on Slashdot pointed me to the Greasemonkey script Moderatrix. It works great.

    --
    The Tao of math: The numbers you can count are not the real numbers.
  40. Half-Truth: It's The Perspective, Dummy! by Rie+Beam · · Score: 2

    I think the author may have stumbled over his analogy a bit; rather than suggesting "Learn to sing, or else you'll be at the mercy of an asshole", it's more along the lines of "Learn to sing, so you know what to look for in a good singer". Big Idea People (henceforth referred to as BIPs) are not necessarily a bad thing -- sometimes they do genuinely come up with something good that would benefit the market -- but BIPs have an issue: they tend to have absolutely no concept of what is required to execute their idea.

    People on here are imagining CEOs trying to do their jobs and having a good chuckle, but they're missing the point. Your boss, unless he himself used to be a lowly programmer, isn't going to be executing his ideas in any form that could be marketable. I don't believe the author was intentionally arguing this; rather, I think the more important point deals with being able to bring their vision down to a realistic level -- less "My boss is coding our new Android app" and more "My boss now understands why we can't duplicate the functionality of Google in two weeks time". The more he or she codes, the more they begin to understand the work involved.

    I've never really considered myself much of a programmer, but having learned to code, I can respect the word involved and that a simple line count doesn't tell the whole story. The same basic principle applies here, too. Not only can it shoot down unrealistic ideas but it can keep them from getting proposed in the first place; they die at his desk, never having left the room, because he figured out long before opening his mouth that, under the current circumstances, it was unreasonable. At the same time, knowing what is possible can potentially give him new ideas about the direction of a project that not only work, but actually might make sense. This is not a bad thing.

    Ultimately, there's only so much you can do and there will be limits to what the person in charge of your project knows. Be happy; you're not redundant.

  41. Re:C++ for 8 year olds by Hatta · · Score: 2

    Indeed. Computer literacy should be taught along with english literacy and mathematical literacy. Not everyone is going to be an author or engineer or programmer, but we all benefit from having these basic skills.

    --
    Give me Classic Slashdot or give me death!
  42. Re:NO, OMG NO by jsepeta · · Score: 2

    that's the problem with these damned computers nowadays. nothing uses BASIC. or HyperTalk.

    --
    Remember kids, if you're not paying for the service, YOU ARE THE PRODUCT THAT IS BEING SOLD.
  43. Re:The Good Ones Are Taken? by Jmc23 · · Score: 2

    Understanding tcp/ip is less about understanding algorithms and more about understanding somewhat arbitrary design decisions. It is, in fact, not required at all for algorithmic thinking, nor for programming.

    --
    Don't complain about syntax, grammar, or spelling. There is no.hell like input on android.
  44. Software patents by tepples · · Score: 2

    Ideas are a dime a dozen.

    Tell that to anyone who's been advised by counsel to apply for a broad patent.

  45. Re:Does programming necessitate the use of a compu by Jeremi · · Score: 3, Insightful

    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.
  46. Re:Programming don't work that way. by aaarrrgggh · · Score: 2

    I am a crap programmer. I am at peace with that. However, when I realized that the equipment I bought output data in a way that could not be used (instantaneous values rather than RMS), it didn't take too long to cobble together a perl script that could take the raw data, do RMS calculations for an adjustable window, and reduce the data to something that could be further analyzed in Excel.

    Sure, the program was slow ant processing something around 1MB of input data, but it did the job until we could get the right tool... and by slow it took a few minutes rather than a few seconds. These things happen often enough that some quick and dirty programming capability is often useful.

  47. Re:Does programming necessitate the use of a compu by Hognoxious · · Score: 2

    Astronomers started by being fascinated looking through telescopes.

    You obviously didn't think before you wrote that. I suggest you do so now.

    And while programming can be abstract logic and algorithms, the fun is that it actually makes computers do stuff.

    The fun in chemistry is blowing things up. That doesn't make explosions a necessary nor a sufficient condition for the study of chemistry.

    A computer scientist may not need a computer, but he certainly started to get interested in the field by having fun playing with one.

    I suppose Charles Babbage, Ada Lovelace, Alan Turing and John von Neumann weren't computer scientists then.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."