tags:

views:

429

answers:

7

I am a solo freelancer / hobby coder (as in code for fun). I'm really just looking for books that would apply to someone in this situation.

Edit: The kinds of things would be Agile, XP, RAD, and things of that nature. None of these seem to apply to a single developer working on his own. I wonder if there is a methodology or design process that applies to someone in my situation.

See Also

+3  A: 

That's pretty broad. I think a better approach would be to look for books involving programming and what you enjoy.

So if you enjoy games, you're in luck cause there's a wall of books about game programming in your local bookstore. Grab a chair and start flipping through em. RFID? They got that too. So on and soforth.

So what do you enjoy doing?

Tom Ritter
+2  A: 

It isn't a book, just sage advice: try doing things in languages/styles you don't know yet. Pick a task and a language and go at it. You'll learn more doing this than almost any other approach, and have a lot of fun in the process.

MarkusQ
A: 

Joe, I am not really sure what you are asking for. But if you are interested in obtaining knowledge on programming there are a huge amount of web sites that will help with your quest.

Brad
A: 

If you want a book I would suggest going to amazon. I found a good book for £10 , visual basic , step by step (of course , I just program for fun in visual basic) but , if you like to program in another language just go ahead and search...

of course , you could always just use google , its the answer to everything...

You don't really need to spend money however. You could try coding for fun. Those guys helped me a lot.

I found a really good free e-book called "visual basic for really bright kids". Even if you aren't a kid it really is helpful. The book focuses more on the windows forms applications in visual basic. The author of that book made other books for C# and C++ I think. I only know that C# title was called "C# for really sharp kids" . The books come with examples too. It can improve your knowledge but it may just be the stuff you already know being revised , which could help though...

It really all depends on the language and the complexity of the program you are trying to make...

Jimbo8098
A: 

No matter what you do, at least use source control.

There are heaps of online SVN services available around the internet. I find it particularly handy if I move machines often (from desktop to laptop for example)

JSmyth
Agreed. Source control is something that is often overlooked by single developers because "I don't need to worry about anyone stepping on my code." Complete BS. I'm the WORST about stepping on my own code, deleting things that later turn out to be useful, not creating branches for experimental code, etc. Source control will protect you from yourself.
mmc
+1  A: 

Methodologies like XP, or Scrum apply to teams shipping code, if you are coding for fun you don't need those sorts of things.

Things that people talk about that would apply in a general sort of way are more along the lines of (in order of where you should start first):

  1. Source Control (links to SVN tutorial series. If you want to up the ante, you can always learn git)
  2. TDD (test driven development/test first development/behavior driven design, etc)
  3. Design Patterns
  4. SOLID principals (links to a .net centric video series, sorry but I don't know what programming platform you use)
  5. DDD (domain driven design)

To go deeper then that, I would have to know what platform you use.

Matt Briggs
A: 

I personally am looking at the same issues as get sharpen the knives and start coding again. I have checked out some cool books, and have "Pragmatic Programmer" on reserve (my library rocks !). I have finished reading an interesting presentation on Cleanroom Software Engineering; I found out about it by reading a book called "Toward Zero-Defect Programming". Regardless of your opinion of things like this, it requires low management buy-in. The key, for me, is to look for things like that : approaches that do not assume that you have a team to work with, or methods that do not need or assume that there is a manager and/or admin assist available. I am also reading through the Lifehacker books, and while it may not be immediately applicable, it is amazing to me how much you can automate... lots of good stuff to help out any small business owner or power user of tech.

There is also, of course, Personal Software Process - but to mention that may start a holy war, I fear. Remarkable in that, again, it assumes no management buy-in = no management = no need to form a team to get it to work... I think the Trendy New Buzzword (tm) for that quality is "bottom-up". Beyond that, the advice I have seen quoted most often is that of Matt Briggs, etc. Or at least, here on StackOverflow...

Oh, and a word to the wise : comment your code liberally. Because as much as you think you are going to remember what you did and why 5-10 years from now, you won't. Almost all of my code is practically useless, except for the very first programming assignments I did way back in high school under Turbo Pascal 3.0. Go figure.

Damien