views:

278

answers:

9

I have no job and just enough money to get by until April or so. While looking for work, I figured I might as well go through with a pet project, a browser based card game. Make it nice and free, collect donations and maybe earn enough for a movie ticket to escape reality for a while.

I have dabbled in web development a bit. I can make simple stuff happen with JS/PHP if I follow tutorials. I designed my own art blog's template - http://luminarious.tumblr.com. I can visualise the game working in my head, flowcharts and everything. But then I tried to go deeper with Javascript and almost had an aneurysm before understanding what a closure is.

Wether I suck at learning, have ADD or fail epically at productivity, I have not got much done. Coming up with ideas, screen mock-ups and so forth was very enjoyable, but actual implementation.. not so much. In fact, I cry a bit every time I think about the time someone competent could have finished this in.

I'd like to excuse myself with my ENTP personality type, but that hardly solves anything. Rather, I'd like to know to get from A (bunch of ideas with little semblance to a web app) to B (something to proudly show others) while being unable to pay anyone?

  • Are there any secret techniques for learning?
  • Is there any way to get mentoring or code review?
  • Is there anyone with too much free time willing to code for me?
  • How to trust someone to not steal my code when I ask for assistance?
  • Is there anything I should have asked instead of any of those?
+2  A: 

Besides the psychological requirements here, your statement

Coming up with ideas, screen mock-ups and so forth was very enjoyable, but actual implementation

Suggests that you could have a career as a web or software UI designer, if indeed you are good at that.

Is there anyone with too much free time willing to code for me?

No

How to trust someone to not steal my code when I ask for assistance?

What!? That is the least of your worries.

Joshua Fox
Spot on with your response to "How to trust someone...". @luminarious: if you admit yourself you can't program your way out of a paper bag, what makes you think others are going to want to steal that??
Sarah Vessels
That wording brings out the irony of the situation in a new light for me. I should have probably said I'm worried about someone profiting from my idea. Although that may be entirely unjustified as well, since there's no way of knowing if anyone's even interested in another card game.
luminarious
There are very few new ideas in this world. It is all in the implementation.
Byron Whitlock
+5  A: 

Are there any secret techniques for learning?

None than are more secret than learning anything else. Programming is a muscle. Find something you're interested in and program the hell out of it. Most programming problems are at least tangentially related, so what you learn on one project will probably be applicable to the next.

When you come across a problem that you can't solve, read on it. Use Google. Read answers on Stack Overflow. Read the Portland Pattern Repository.

Is there any way to get mentoring or code review?

Take a programming course at your local community college. Find some programming buddies at your local user group.

Is there anyone with too much free time willing to code for me?

Nobody has too much free time.

How to trust someone to not steal my code when I ask for assistance?

So what if they do? It's not the lines of code that are valuable, really (the huge amount of open source code proves that), it's the time and expertise of the programmer that's valuable.

Seth
+2  A: 

Cut as many features from your product as you possibly can and reduce complexity to a minimum.

Find a few design pattern that you are able to implement, and stick to them. (i.e. if closures are too complex for you, don't use closures)

Get a simple prototype working. Put it on line. If you are still interested in the project after that, you can add features one a time.

Spike Williams
+3  A: 

I cry a bit every time I think about the time someone competent could have finished this in.

How do you know how long "someone competent" would take? Perhaps you simply have unrealistic expectations?

meriton
+1. The amount of time and effort to make a working program orders of magnitude more than you think. Even for a seasoned developer.
Byron Whitlock
+1  A: 

I went to school for engineering (Mech.) I started by reading books. Now I am a full time web developer.

Get a book on something that interests you, read it cover to cover. That is my best advice.

sberry2A
+2  A: 

OMG, you haven't been able to make a distribution-worthy in-browser game within only a month or two of trying, with little to no previous programming experience? What's wrong with you?!

Let's see ...

ENTPs are basically optimists, but in spite of this (perhaps because of it?), they tend to become extremely petulant about small setbacks and inconveniences.

Oh, right.

Ben M
+4  A: 
  1. You actually get stuff done. That is awesome. Many other people are all talk.
  2. You actually try new things. That is also awesome. Most other people never try new things.

    Are there any secret techniques for learning?

  3. Yes, and you already know the most important one: Just Get On With It.

  4. Oh, and try to consume the information in digestible chunks, making sure to chew thoroughly before moving onto the next piece. Programming is not difficult provided you control the amount of information you have to deal with. Keep it all as simple as possible.

  5. Ok, programming can be pretty difficult. Controlling complexity is the essence of programming (Kernighan?). Keep it all simple! If it is difficult to understand closures with your current example, find a simpler example; and go simpler still, until the essence of the technique is clear. Once understood, nothing is difficult.

  6. And another secret tip for learning is: books are often better than online material, and some books are better than others. A good book can save months, if not years of painful self-tuition.

    Is there any way to get mentoring or code review?

  7. Yes, join an active open-source project. The degree and intensity of code review may be more powerful than you can possibly imagine (or tolerate).

    Is there anyone with too much free time willing to code for me?

  8. That depends on whether the open-source project that you create is interesting enough.

    How to trust someone to not steal my code when I ask for assistance?

  9. This is almost definitely not going to be a problem, and you should be far more wary of trusting someone to give you accurate information, or good advice.

cjrh
+1  A: 

Remember, everyone's learning style may be different.

I started "learning" to program a couple of months ago. I found it rather annoying and frustrating when I was unable to fix an error. Only realizing later on that they were really simple errors and I could have fixed them by thinking more "simply/logically". My suggestion is always take YOUR time and understand a concept thoroughly before putting it to use. If you don't understand something then try to not use it. Because in programming, one needs to know how things work, instead of just second-guessing your way out and hoping something will go well. Understand, and apply by doing "simple" examples until you can do harder ones.

Raj
A: 

"I have no job and just enough money to get by until April or so."

So...

"I figured I might as well go through with a pet project, a browser based card game."

I'm not sure you want to underestimate the task of developing card game. Sounds like you're trying to do too much. We spend weeks designing much simpler things, the difference is we get paid to do that.

Jonathan