I'm not a programmer and taught myself D3 last fall. Amelia Wagenbruger (sp?) has a good book too.
edit: https://www.newline.co/fullstack-d3
what you can do pretty easily is use and modify examples that seem to fit your needs.
but synthesizing from scratch isn't something very attainable and has a much steeper learning curve.