views:

557

answers:

10

These days ,there are not enough coding works everyday, and I feel that it is not a good thing to a newbie like me, What should I do to improve my coding ability??

A: 

try odesk.com. You can get paid too.

cbrulak
From what I've seen the jobs on odesk pays pennies but I suppose it's work;-)
JoshBerke
That is very questionable if he wants to improve his skill at work.
daub815
Maybe it's just me, but I think if you are getting paid by an organization you should find something to do that contributes value to that organization; not do side-contracting work in your "spare time".
Software Monkey
+5  A: 

I'm assuming you mean that you're full time job isn't giving you a lot of tasks to work on. One thing you can try to keep testing out your programming abilities is try out Project Euler questions.

Agent_9191
Project Euler is fascinating stuff. I love it.
abelenky
awesome! thanks so much for posting this!
cbrulak
But I think Project Euler gets mainly to do with the ability to solve problems and algo skills. Does it helps to improve one's software developing ability?
MainID
It can lead to ugly code just to get something done, which does not help programming skill in general. But they're neat challenges, so at least you think.
Rob Elsner
I had no idea such a site existed. I've started working on the problems to hone my programming skills....thanks for sharing that!
mezoid
Sometimes it does lead to ugly code, but it shows you that not every answer can be "brute forced". When you have no other programming task in mind, solving algorithm problems can do wonders.
Agent_9191
+10  A: 

I suggest you to read good software development books, read blogs, do some code kata's and have fun experimenting with new technologies, languages or paradigms.

Check also these related questions:

CMS
+4  A: 

Answer questions on SO.

DavGarcia
I try to research answers, even if I'm a bit slow. It's a good learning process.
cbrulak
I agree, the best way to learn is to teach. It shows you what you don't know.
DavGarcia
+6  A: 

This is what I do:

  • Ask my team lead and/or manager for more work
  • Read programming books and blogs about programming best practices
  • Refactor and unit test legacy code
  • Answer questions on SO
  • And finally if there is a severe shortage of work with no hope in sight then I start searching for a new job
mezoid
+3  A: 

This is going to sound a bit mean, but if you're being paid to work a set number of hours then you should work that set number of hours, regardless of whether there is much programming work going on. I'm sure there's plenty of other work that needs to be done.

Failing that, read some books! All self-respecting Bloggers out there have their own "Undergraduate Computer Science Reading List" or "Top 10 Programming Books" or whatever. Go out, get those books (library if possible) and read them cover-to-cover. Once you've read a couple of books you'll be itching to try new things and get programming.

EnderMB
+2  A: 

One of the questions that I believe all knowledge workers should ask themselves is the following one, proposed by Peter Drucker in "The Effective Executive". What can I do that will significantly affect the performance and results of the institution I serve? This question leads us to being truly productive employees. The task may be large or small, a programming task or something else, but once you start asking this question, you won't spend time on 'pet projects' unrelated to your company's goals.

Leonard
A: 

If there is absolutely NOTHING officially that needs to be worked on at your organization you could:

  • See if you can find something that needs to be done. Maybe you can automate a process that will save time and or reduce a cost. Either way its more $ toward the bottom line.
  • Improve your own skills in such a fashion that will add value to your organization.
  • Contribute to an open source project. The whole community, including possibly your organization, may benefit.
  • Answer questions on Stack Overflow.
Andy Webb
A: 

If your projects are often in some kind of blocking transitional phase (i.e. you are waiting for the design team to finish before you can do anything else), find some free/open source software project that would challenge your abilities and ask your boss for permission to work on it during idle time.

For instance, if your company uses some kind of open source CRM, or VPN gateway, or OS, or whatever .. they would benefit by giving a little of your time back to those projects and you'd become more intimately familiar with them.

If your self employed, then do the same, just forget the whole asking for permission bit. It helps boost your verifiable resume with actual code that potential employers/customers can see, keeps you sharp, exposes you to a larger peer review and you might even make some friends.

I agree, your paid to be there .. so contributing to open source helps your skills and your employer's image. Everyone wins.

Tim Post
A: 

Things I would do (in no particular order):

  • Improve legacy code
  • Write unit tests
  • Watch some screencast
  • Look at your software development process, is there room for improvement and how?
    • now is the time to implement, because now you have time to do so.
  • update documentation
  • Improve my knowledge about the used technologies
  • Learn new technologies and see how they can improve business
Tomh