reading software design principles book is just one thing, most important thing is find a good way to practice what you learned from book, I suggest you following a open software project, or create your own, when your project become bigger, you will face more challenge, and you will learn more.
:) just for your reference, fix me if you have better idea