{"id":144,"date":"2006-02-08T11:35:33","date_gmt":"2006-02-08T11:35:33","guid":{"rendered":"http:\/\/kubasek.com\/blog\/pragmatic_craftsman\/?p=144"},"modified":"2006-02-08T11:35:33","modified_gmt":"2006-02-08T11:35:33","slug":"10-books-every-java-software-engineer-must-own","status":"publish","type":"post","link":"https:\/\/pragmaticcraftsman.kubasek.com\/?p=144","title":{"rendered":"10 Books Every Java Software Engineer Must Own"},"content":{"rendered":"<p>I came across a list of <a href=\"http:\/\/www.robsanheim.com\/2006\/02\/06\/five-books-every-java-developer-must-own\/\">Five books every Java developer must own<\/a> by Rob Sanheim. I commented on the list. But the list got me thinking. What are the books that I consider the &#8220;must have&#8221; books? Today&#8217;s Javalobby newsletter just added to the fire. I had to create the list. So here it is.<\/p>\n<p>1) <a href=\"http:\/\/www.amazon.com\/gp\/product\/0201310058\/\">Effective Java<\/a>, Joshua Bloch<br \/>\nA lot of people just code in Java, without being aware of the implications. This book clears out those implications.<\/p>\n<p>2) <a href=\"http:\/\/www.amazon.com\/gp\/product\/0735619670\/\">Code Complete 2<\/a>, Steve McConnell<br \/>\nThis book will make you a better programmer. Enough said. My favorite.<\/p>\n<p>3) <a href=\"http:\/\/www.amazon.com\/gp\/product\/0201485672\/\">Refactoring<\/a>, Martin Fowler<br \/>\nIt is getting a little old, but it contains invaluable information on good design, code smells, and more.<\/p>\n<p>4) <a href=\"http:\/\/www.amazon.com\/gp\/product\/0201633612\/\">Design Patterns<\/a>, GoF<br \/>\nThe best book on patterns, though not an easy one. Might want to get the Head First Design Patterns to help you.<\/p>\n<p>5) <a href=\"http:\/\/www.amazon.com\/gp\/product\/0131422464\/\">Core J2EE Patterns<\/a>, Deepak Alur, Dan Malks, John Crupi<br \/>\nYou have to know GoF patterns if you call yourself a good programmer. You have to know Core J2EE patterns if you want to be a good Java programmer.<\/p>\n<p>6) <a href=\"http:\/\/www.amazon.com\/gp\/product\/0135974445\/\">Agile Software Development: Principles, Patterns, and Practices<\/a>, Robert Martin<br \/>\nNot an easy book, but a best book on Agile, good Object Oriented programming, and patterns.<\/p>\n<p>7) <a href=\"http:\/\/www.amazon.com\/gp\/product\/0131489062\/\">Applying UML and Patterns<\/a>, Craig Larman<br \/>\nJava is an Object Oriented language, but a lot of people still treat classes as data structures. Learn what an object, and OO programming is all about.<\/p>\n<p>8) <a href=\"http:\/\/www.amazon.com\/gp\/product\/020161622X\/\">Pragmatic Programmer<\/a>, Andrew Hunt, David Thomas<br \/>\nContains sound practices, good advice. It will make you a better programmer.<\/p>\n<p>9) <a href=\"http:\/\/www.amazon.com\/gp\/product\/0321117425\/\">Facts and Fallacies of Software Engineering<\/a>, Bob Glass<br \/>\nSee what works in software engineering, and what doesn&#8217;t. Bob Glass explains it best.<\/p>\n<p>10) <a href=\"http:\/\/www.amazon.com\/gp\/product\/0321344758\/\">Don&#8217;t Make Me Think<\/a>, Steve Krug<br \/>\nA great little book, great when you&#8217;re involved in UI.<\/p>\n<p><strong>Wait List<\/strong><br \/>\nI have not read these, and that&#8217;s why I have not put them in my original list, but the books below should be on your must-read list.<\/p>\n<p><a href=\"http:\/\/www.amazon.com\/gp\/product\/0932633439\/\">Peopleware<\/a>, Tom Demarco, Timothy Lister<\/p>\n<p><a href=\"http:\/\/www.amazon.com\/gp\/product\/0321125215\/\">Domain Driven Design<\/a>,  Eric Evans<\/p>\n<p><a href=\"http:\/\/www.amazon.com\/gp\/product\/0195024028\/\">The Timeless Way of Building<\/a>, Christopher Alexander<\/p>\n<p><a href=\"http:\/\/www.amazon.com\/gp\/product\/0321127420\/\">Patterns of Enterprise Application Architecture<\/a>, Martin Fowler<\/p>\n<p><strong>Reference<\/strong><br \/>\n<a href=\"http:\/\/www.robsanheim.com\/2006\/02\/06\/five-books-every-java-developer-must-own\/\">Five books every Java developer must own<\/a>, Panasonic Youth blog<\/p>\n<p><a href=\"http:\/\/www.javalobby.org\/java\/forums\/t63330.html\">Javalobby discussion<\/a>, my list on the bottom<a href=\"http:\/\/www.javalobby.org\/nl\/index.jsp\">Javalobby Newsletter<\/a>: archives (great newsletter, btw)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I came across a list of Five books every Java developer must own by Rob Sanheim. I commented on the list. But the list got me thinking. What are the books that I consider the &#8220;must have&#8221; books? Today&#8217;s Javalobby newsletter just added to the fire. I had to create the list. So here it [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,7],"tags":[54,33],"class_list":["post-144","post","type-post","status-publish","format-standard","hentry","category-books","category-books-i-recommend","tag-books","tag-recommended"],"_links":{"self":[{"href":"https:\/\/pragmaticcraftsman.kubasek.com\/index.php?rest_route=\/wp\/v2\/posts\/144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pragmaticcraftsman.kubasek.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pragmaticcraftsman.kubasek.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pragmaticcraftsman.kubasek.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pragmaticcraftsman.kubasek.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=144"}],"version-history":[{"count":0,"href":"https:\/\/pragmaticcraftsman.kubasek.com\/index.php?rest_route=\/wp\/v2\/posts\/144\/revisions"}],"wp:attachment":[{"href":"https:\/\/pragmaticcraftsman.kubasek.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pragmaticcraftsman.kubasek.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pragmaticcraftsman.kubasek.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}