I Give Up…Time to learn to program - what should I learn?

Surprisingly, I may be the only person in affiliate marketing who does not know how to program, write scripts, do HTML or even graphic design. I am pretty much just an ideas guy, but I do have lots of ideas.

I have literally tons of ideas that may or may not have huge potential, but I dont have the programming skills to make them work. I have money to invest in projects, but often times I want to run a trial balloon before I start spending money hiring people.

In the past I have worked with various programmers, but for a variety of reasons that has just not worked very well.

I was hoping for some feedback from you guys - what languages, books, websites should I hit to learn to program. I have particular interest in running scripts - scraping websites, manipulating data and then doing something new with that data.

Eventually I would want to do APIs and dynamic web pages, but I just want to start with some baby steps.

My goal is not to be a programming expert - but to understand a little bit more about what my IT guys are doing at the office and maybe to be able to spec out more complex projects for some outsourced projects and then be able to understand what I am paying to have built so I can tweak it without totally breaking it.

Ideas? Thoughts? Suggestions on where to get started?

Tell others about this post:
  • StumbleUpon
  • del.icio.us
  • Digg
  • Sphinn
  • Facebook
  • Google
  • Reddit
  • Slashdot
  • TwitThis

22 Responses to “I Give Up…Time to learn to program - what should I learn?”

  1. Michael Says:

    Learn PHP, for sure!

    There are a bunch of great resources available for the PHP language. You’ll also find most web engines and suites (including Wordpress) are based pretty much just on PHP. Most API’s are based on PHP, too.

    (If you have even more time, I’d learn Javascript next.)

    The best place to get started is the documentation site:

    http://www.php.net/

    You’ll find examples, forums, and very detailed documentation on every PHP script command.

    I’d also take a look at some of the really well-done PHP books over at Amazon that I’ve searched for

    http://tinyurl.com/php-amazon

    I’ve been learning it here and there… it really does help to know a bit more of the behind-the-scenes info when talking with programmers and other outsourced web-design folks.

    Good luck and have fun with it! Let me know how it goes, as I am learning as much as I can, as well.

    Michael

    Halfhourworkweek.com

  2. brian Says:

    I outsource like you. Dont give up. There are TONS of people looking for work right now. (see craigslist, FYI)
    You know you WONT get affiliate marketing pros who can code,….obviously they are the ones making money…if not, theyre idiots (IMHO). Right now, I can get USA based web devs for 10-$15/hr…php/perl coders etc for $12-20/hr, and these people are GOOD.
    You can do alot better pricewise overseas, but I like to deal with locals..I even prefer to have people come to my office at least once a week because emailing projects and that level of comm wastes money..face to face is the best. Costs a bit more, but in reality it is cheaper with projects created much quicker, and the way you intended, instead of some hybrid of what you orig wanted.
    With programming …php there are shortcuts and secrets that will take anyone months to learn ….. Im too expensive to dedicate that amount of time to learn to code. Ill outsource and get it done. I just want to know what tool i need, then I go to those who ive found know what is the best way to get there…
    And as far as scraping et al..the best guys out there know exactly how and what to scrape and what to do with it- theyve tested it over the years against the major SE indexes and know exactly what tool to use and where etc. I;d rather pay for that learning curve instead of learn it myself..I guess Im lazy! SEO blackhat forum has some great info, and there are some of those guys that also frequent WF alot too…

  3. Steffen Says:

    Hi,

    it depends what you want to do. If you want to start from the ground you need to learn from the start: First HTML, CSS, JavaScript (User interface) and then Scripting languages like PHP, Perl oder Ruby (logic behind the user interface). HTML and CSS are easy in my eyes and you can get a lot of infos about on the web (like http://www.htmlcodetutorial.com/). For scripting I would say learn PHP, because it is the most used scripting language and if you want to program some scripts I would recommend to use a framework like CakePHP (my favorite one) or Zend Framework. These frameworks helps you with setting up applications A LOT.

  4. Andreas Says:

    I’d suggest ASP.NET. It’s not as easy as PHP, but its productivity output is way higher once you learned it. Furthermore it’s way more comfortable as you can use the best IDE out there - Visual Studio. Learn C# and be able to code Web Applications (ASP.NET/C#) + Desktop Applications (C#) with one Language, within the .NET Framework.

    I wrote an own, comprehensive Affiliate Tracking Solution in ASP.NET which busts every PHP Tracking Software out there - and I’m sure I spent less time in developing it as a PHP Dev would have spent for the same application.

    My biggest flaw is, I got my roots in programming, I did consulting etc. in the past. These days I do fulltime Affiliate Marketing. Due to the fact that I am an Expert Programmer, I tend to do too much stuff myself. Sometimes I code a whole weekend instead of optimizing my campaigns, it’s hard for me to outsource, but I should probably do more outsourcing.

  5. Tony Says:

    I personally would learn the very basics of html / css first and then go on to php… If you go straight to php before you know how to render content to the page it would be like learning to run before you can walk… Any half intelligent man can learn the essentials of html in a couple of days and it would give you better grounding to move on to php. Its funny reading you have ideas but cannot program because often I get exactly the opposite… I can code but often run out of ideas… Its a funny old world.

  6. john w Says:

    For XHTMl/CSS hit up w3schools.com for sure. You can also check out my site for some beginner stuff. I would co with html/css fist as the other have said and I am also a php fan. Or maybe I could teach you in exchange for some marketing tips, lol.

  7. David Says:

    HTML->PHP & SQL (google xammp and install that - then follow guides)
    Javascript will finish off that skillset

    ASP is good but really only a more corporate freindly alternative to php, which proper web people use.

  8. expressionengine Says:

    PHP ftw! :-) .. http://www.codeigniter.com or Zend Framework are two great frameworks that will help you write stuff faster.

  9. vijay Says:

    I also have lots of ideas. I’m not big (yet) into affiliate marketing (just learning the ropes). I hope to make some good sites with my programming skills. What I found is this - programming can be learned easily, but business sense - finding out niches, finding out what works and what doesn’t, that is a VERY prized skill. You have that skill in abundance already.

    I think its better to start with PHP. Its very easy to learn, and unless you are building very complicated sites, PHP is more than enough to get the job done. Some of the biggest sites on the internet - Facebook, Flickr, Wikipedia etc run on PHP (though FB uses other technologies too). Some of the most widely used tools like wordpress, drupal, joomla etc are also written in PHP. Its not as “big” as Java or .NET, but its good enough.

  10. Darken Says:

    Here’s my opinion (I’m a professional programmer, >8 years of experience):

    Don’t learn PHP. PHP is the C of web development. It’s powerful, but you’re going to be spending 80% of your time re-inventing the wheel and coding standard libs instead of working just on your main app’s logic.

    The language itself also isn’t that great. I don’t wanna get technical but it’s not a true OO language (doesn’t support multiple inheritance, for example), it’s naturally insecure (though that might not be a prob if you use the right framework), and there aren’t many good frameworks available for it. From my experience, each one has pros and cons, and in my projects I usually settle for using a combination of 2-3 frameworks together. I.e., I take some things from cakePHP, some from Zend, etc.

    ASP.net really has no advantages over any of the other languages. The only clients that really ask for it are ones who are very technically illiterate - those that Microsoft was able to sell to. *.NET usually accompanies 100 other Microsoft technologies like Exchange Server, IIS, etc.

    Learn that and then you’ll have to re-learn everything when you leave the Microsoft world. Not recommended. It’s like being a professor CSS developer for IE. (Though, C#.NET is a great language, learn it eventually.. not for web dev though).

    There seems to be a negative stigma attached to Ruby/Rails and sometimes Python in the SEO/AM scene, but they’re nearly all based on false data. I highly recommend starting with Ruby. You don’t need to learn Rails, there are other frameworks like Merb, but Ruby is VERY simple to learn and read, and the language itself is very advanced.

    When you get into more advanced fields like DSLs and metaprogramming, Ruby stomps on the competition. Ruby’s metaprogramming features let you basically turn it into different languages. It’s completely customizable, and it’s the reason Rails/Merb/etc are so great. It also has a great community, it scales REALLY well (don’t believe rumors, Ruby Enterprise, mod_rails, etc..), and it’s easy to install and use on most servers these days (mod_rails, it’s like installing a PHP app.).

    I think everyone in the SEO/AM scene should learn Python (w/ Django) or Rails because it’s extremely quick to develop in. I can go from blank slate to a Wordpress clone in a few days, for example. it’s great when you wake up in the middle of a night with a unique idea that can’t be accomplished by any existing framework. you can sit down and code a beta in days. This is because all the internal stuff exists.. you just call logic. And it’s readable:

    If you want to get the date for 1 week from today, for example, you can do this:
    Time.today + 7.days
    or .. Time.today + 1.week
    or even, 1.week.from_now

    Also look into scRUBYt (Hpricot and Mechanize). Those making scrapping really simple. I can write a scraper for nearly any site in 20-30 mins. No messing with regex (though you can if you want to).

  11. Darken Says:

    For AJAX, look into jQuery and http://www.sproutcore.com/ - SproutCore is what me.com (Apple) uses I think. Both are great for AJAX/special effects/most JS related work. There’s also prototype. You don’t really need to learn raw JS anymore.. but it helps.

    For Databases, learn SQL. Get “Head First: SQL” - excellent book.

    If you wanna design really big sites that you’d like to scale, Java or C are probably the way to go. I don’t think most people would need to scale beyond ruby/php, but if you really need to, you can write some of the processing code in Java or in Ruby Inline (lets you embed C in Ruby - way faster than PHP or any other scripting language, but you’d need to know C of course).

  12. vijay Says:

    All “Head First” books are VERY VERY good. Worth every penny.

    All points with respect to Ruby and Python are valid. Still I’d suggest to go with PHP, to begin with. Within a few hours you could be up and running. Other languages can be picked up later, if you have time and interest.

    Just my two cents :-)

  13. big jim Says:

    Dude. Be a real man and learn lisp. Then you can be like paul graham and tell us why the languages are inferior to lisp and ramble on about first class functions and whatnot.

  14. chris risenhoover Says:

    My first job was as a software developer for Texas Instruments back in 1996. My degree was in mathematics, and I had very little coding experience. I learned to write code by spending time each day analyzing the software of others. The great thing about SEO/SEM is there are some really good scripts available that you can analyze. check out http://www.perkiset.org/forum/ - some of the best coders hit that forum in terms of internet marketing.

    Which Language? My suggestion is Ruby or Python. I have coded in C, C++, Java, PHP, Perl, Fortran, Cobol, Scheme, BASIC, and Lisp. I find those two languages very easy to read code and understand what is going on.

    Now, you can write clean code in any language, its just those two languages are set up to in ways that encourage it.

    PHP is hands down the volume winner in terms of total lines of code for internet marketing, so it would be my second choice.

    In terms of what to read, I find any of the O’Reily books helpful. Start with a nutshell book, a cookbook, and if they have it algorithms (you will see what I mean as you puruse the O’reily titles)

    These will get you started on your way to being a good hack / coder. If you ever want to make the jump to full software developer, then there are other issues to consider - like understanding data structures, user interface, etc.

    Just get out their and write some code!

    As far as the HTML and CSS is concerned, I would work on languages first. After that HTML is a breeze.

  15. vijay Says:

    The prob with “what language should I learn” is that people quickly start taking sides with languages. Obviously, we all have our preferences. End of the day, whatever language gets the job done, for the person, is good. For some PHP is untouchable, for some Microsoft technologies is untouchable. Its a very tricky question to answer.

  16. PPC.bz Says:

    I recommend BASIC

  17. Berko Says:

    PHP and once you are familiar with the basics start building with the CakePHP framework.

    I highly recommend CakePHP because the tutorials are easy to follow (even a monkey could do it) and whatever function you need chances are someone has already done it and blogged about it so all you have to do is follow along.

    Have fun

  18. Svakanda Says:

    in my experiences…trying to direct and manage others into coding for you…you’d do better off to learn basic ‘protocols & practices’, as well as the ’spaces of different languages’.

    Just an example…but if you need to manage a group of people programming a script to snipe auctions on ebay. You would be in a much better position to faciliate smooth and constant progress with a few basic ’spaces’ knowings. For example…

    knowing that ebay is a series of forms, beginning with some form of session based authentication.(html)

    and knowing that php + cURL is the most common combination for automating form submissions(php)

    and knowing that network speeds across the internet are variable, and due to be held up(infrastructure)

    and knowing that a snipe on ebay is an extremely time sensitive action(ebay experience)

    and knowing that users are attracted to sturdy, fluid, & reliable interfaces(ui design)

    chances are…if you were going to building this(and it’s not a difficult project)…you’d probably be using a handful of technologies / languages…

    linux
    apache
    php
    sql
    html
    css
    javascript
    cron
    bash scripts

    to say the least…quite possibly more. my point is just that as a technical executive you need to learn what everything does/and is capable of doing when, rather then specific knowledge of every language. ie the ’spaces they fill’

  19. seonmwando Says:

    honestly dont waste time trying to learn how to program. From the non bullshit way that you talk, trying to be a half assed programmer wont make you any more money than you are making right now.

    From what we have come to love about you, you are in the business of being rich - not trying to learn how to write scripts and be diorexmoney.

    Cheers Nick.

  20. Supergeek Says:

    Are you joking with this “I should learn to program” bull? Your blog talks about how your company won’t look at a project unless it has a potential to make high 5-figures a month, but you want to stumble through programming or scripting to do what thousands of out of work, starving people can do much faster and better?

    Either you’re high, or you’re a liar.

  21. Diorex Says:

    @Supergeek not knowing how to program and not understanding what is easy and what is hard when I request something from my tech team is a significant constraint. Like any good internet marketer, I also have some side projects for which I think programming knowledge would be useful.

    My experience is those out of work, starving people all of the sudden value their time enormously when it is time to start talking about a job or project for what is essentially a commodity product.

    I also want to learn PhD level math because that is another area of weakness for me - I dont have time for that, but wanting to learn should not be viewed as me not knowing quite a bit about other areas.

  22. Smaxor Says:

    I’d suggest learning what you team and commuity speak in. If you have a ton of in hour Ruby guys then learn Ruby. But honestly the marjority of people in our industry speak PHP. So from a technical and form stand point something like Ruby or Python may be the best but I’d guess you’d be much better served by spending your time learning PHP.

    If you haven’t seen it I have a list of books I like on my blog. Also have some simple tutorials for learning php for things like web scraping, posting and automation.

    http://oooff.com/php-suggestions/php-learning-suggestions-menu.php

Leave a Reply