Beginner advice

I would strongly recommend that you do not go for books as your main source of knowledge and learning, but instead attempt to code and develop in WordPress itself, then use the internet to research when you have a gap in your knowledge.

Take apart plugins and themes that do what you want, or look interesting, and read the codex.

Of particular note for understanding WordPress and development are the following subjects:

  • WP_Query
  • Custom post types and taxonomies
  • Hooks and filters
  • The template heirarchy
  • The main loop
  • The Query variables ( an excellent resource for this is the WP_Query page in the wordpress codex
  • wp_enqueue_style and wp_enqueue_script

Any books you buy will very very likely be outdated.

Also keep in mind the wordpress.com theme guidelines. There is a theme checker plugin you can install that can scan your theme and make suggestions and point out any flaws or bad practices it finds

Articles by Otto and Justin Tadlock are also very enlightening, and they crosslink to the posts of many other people of similar or greater experience.

And above all I cannot stress how important it is that you know what is in this talk by Nacin:

http://www.slideshare.net/andrewnacin/you-dont-know-query-wordcamp-portland-2011

If something baffles you don’t be afraid to ask for help, and you can always come here or the WordPress.org support forums. Also keep in mind that there are a lot fo APIs in WordPress that most people aren’t aware of, like the upload APIs, the HTTP remote APIs etc