Hi there. I was wondering if I could have some advice on developing my skills as a programmer. I find it hard to think of interesting projects to dig my teeth into, and so never really get anywhere, although I really want to. I have been advised to join open source projects, but I don't know if I have much to offer at the moment as I havn't really had any experience. What are some of the ways you guys developed your skills?
I have read Teach Yourself Programming in Ten Years, and while it is a great guide, I just can't get my brain to think of fun, interesting projects to try. Any advice would be appreciated, thanks.
ive also heard many people recommend to new programmers to join an open-source project, which i disagree with as you do because their level of skill and experience usually wont be up to par with the rest of the project team.
you dont have to do anything crazy and big like some serious project. just write small little text-based games if you want practice on a useful program. for example, try and write a one player blackjack--you versus the 'ai'. or maybe a hangman game, use a text file for your word list, to get practice on file IO. for a two player game maybe try a simple tic tac toe.
as you know, the possibilities are endless. try and incorporate a hobby of yours into a program. or if your too busy to have hobbies, try and write a scheduling program for your appointments, etc.
> but I don't know if I have much to offer at the moment as I havn't really had any experience.
Research a few, find out what kinds of people they're looking for. Join a few developer mailing lists and lurk for a while.
Most projects would only expect you to start small, say fix a relatively trivial and non-critical bug. It gets you familiar with the code, and you make a contribution. Then expand from there.
> What are some of the ways you guys developed your skills?
Having a job as a programmer, plus lots of practice on all sorts of trivial things.
OK, thanks for the replies guys, much appreciated. I am interested in socket programming and have written a few things, nothing of significance. I find the idea of emulating a machine cool and would ultimately like to do something to that affect. I guess I'll just have to try and think of interesting things to do, and keep practicing. Thanks
How about writing a generic library to simplify socket programming? Seems obvious but I think you'd learn a lot.
Also, you can't go wrong writing data structures, btree, linked list, and sorting etc.. All very useful, later in your career.
Make sure its something you enjoy as well.