All my softwares end being a total mess. In summary, they become just a bunch of code. They work, but you know... something is missing because it's really hard to come back to them and add more features.<p>Please help me with the list below with suggestions, because I really want to invest in being a good software engineere, devoted to web development mainly.<p>1) Refactor (by Martin Flowler)<p>2) Domain Driven Design (by Eric Evans)<p>3) JavaScript Patterns (by Stoyan Stefanov)<p>4) Refactoring to Pattern (by Joshua Kerievsky)<p>5) Patterns of Enterprise Application Architecture (Martin Fowler)<p>What do you thing of this sequence?
1) Gang of Four (Gamma, Helm, Johnson, Vlissides).<p>2) A good algorithms book, besides being useful in its own right, might help you learn how to isolate units of functionality that can be reused. Maybe CLRS (Cormen, Leiserson, Rivest, Stein) if you like theory, Sedgewick if you're more into a hands-on approach.