'Effective coding' is writing code that serves its purpose well. This means code should do what you set out to make it do; if you set out to make a script to pull some webpages, and accidentally deleted your home directory in the process, something clearly went wrong. Effective coding involves making good use of your time as a code-writer, and also not (intentionally) wasting the time of those (including you) who want to read your code.
Broadly speaking, a significant portion of coding effectively comes from having "clean code"; this means code that is easy to read, follow, and understand. There is an art to writing nice code, and there's no need for it to remain a mystery. Anyone who can write code, can also write clean code.
Another portion of coding effectively stems from writing code that does what it is supposed to, where possible. This means error detection and handling, something often left out or neglected. This is relatively easy to correct. However, it also means setting out knowing what you want to accomplish, something that is sometimes much harder. It's very important though, because if you don't know what you want to do, how will you know when you've done it?
This series, then, is largely about the process of writing code. Other series will cover how to rework code after it's been written, or how to figure out why code doesn't do what you think it should do.