It wont write your entire program, and you have to already know enough code to know when it gave you garbage, but.. I find I can have it tackle small chunks and in some cases even glue them together in a usable way. It can often remind me of stratigies I would not have thought to use, good or bad. It can also do some basic debugging, including seeing things my tired eyes often miss. That said, you kinda already need to be able to code or you wont know the wheat from the chaff. It feels a lot like managing a remote esl person you will never meet.