The Pragmatic Craftsman :: Simplicity from complexity : by Stanley Kubasek ::

Soft-Eng World in June 2005

I’ve been saving a lot of links in my Bloglines account. It’s time to share some of the best reads of the last couple of weeks. Enjoy.

Learning

This is an article from the Pragmatic Programmers that is dear to me. It is about learning. A great article.[Hunt and Thomas] Designing Learning

(There is also a very good article by the authors, Cook Until Done, which explains why software development isn’t as easy as it seems.)

Java

Sun changed its naming conventions with the upcoming releases of Java.[Hamilton] Goodbye “J2SE”, Hello “Java SE”

Spring

Spring is in full swing lately. Development swing, that is. Spring framework is gaining popularity. Why? Because it is flexible, because it lets you do J2EE-type services without the J2EE weight.[Tate] Five Things I Love About Spring

SOA

There is a lot of ambiguity when you hear about Service Oriented Architectures. Some people mean Web Services, some people mean component-based architecture, etc. There is not a uniform definition of SOA. Martin Fowler agrees. He also shares his views on SOA.[Fowler] Service Oriented Ambiguity

Managing Time

Johanna Rothman writes up a very good article on managing your time. If you’re used to creating to-do lists, get used to not-to-do lists, she argues. Very good article.[Rothman] What痴 on Your Not-to-do List?

Also, if you are involved in creating schedules, the Schedule Games series by Rothman is just great. Jeff Atwood created a list of the author’s posts on the subject.[Rothman] Schedule Games

Tools

Eclipse 3.1 is out. Download it here.

JDeveloper is now FREE! I think that’s big news. I hear that it is going to put pressure on other App Servers providers (IBM, BEA), to release their versions for free. That would be great. I downloaded JDeveloper – it looks sleek, and feels quick. I have not tried anything on it yet, but it looks good so far.

Brooks on Good Judgement

Good judgement comes from experience, and experience comes from bad judgement.
–Frederick P. Brooks

Rapid J2EE Development by Monnox


Rapid J2EE Development
by Alan Monnox
ISBN 0131472208
Date Read 6/2005

My Rating


In one sentence, this book is an overview of Java open-source projects that complement the development cycle. It is a very good overview, actually. Alan Mannox packs a lot of good advice on good development techniques. He mixes it up with a good pragmatic approach.

The author has a very good way of writing. He’s very pragmatic. The book is easy to read. He tells you why you should use a tool or technology, how to use it (by giving a short example), and why you should not use it.

I got a feeling that the author is a detail oriented, good-practices driven developer. I got that feeling throughout the book.

What are the areas covered in the book? Overview of development processes, modeling, code generation, MDA, scripting, AOP, builds, testing, and quality assurance. As you can see, the spectrum is fairly broad, and that’s why I think he did not go into too much detail — it would have been a huge book.

Should you get it? If you’re a senior Java programmer, or if you just not sure what the hype about open-source projects is, or if you are like me, who wants to know the whole development scoop, then you’ll like this book. Just remember (how many times am I saying that?), this is just an overview. I don’t think this is a good book for starters (less than 3 years of experience). A very good book for managers, though. Overall, a good J2EE book. A good reference to open-source projects.

Tate on Developers

You can be a good developer by studying successful patterns and best practices, but if you want to become a great developer, you’ve got to know a technology’s limits.
–Bruce Tate
in preface of BitterEJB, 2003

2005 InfoWorld Compensation Survey

We’re making more money in 2005 than in 2004. A quarter of us are unhappy with our jobs. We are scared of offshoring. But overall, things have turned around for the better: more opportunities, rising pay, less competition. You’ll find this and other details in this well-written report on InfoWorld.

2005 Compensation Survey by InfoWorld

Shortage of IT Workers?

Not now, of course. But in a couple of years, will there be a shortage of IT professionals? It’s hard to say. It definetely doesn’t look (and feel) like that right now. There are still a lot of IT guys unemployed. And even though there’s been a pickup in jobs recently, it is still fairly hard to find a good job. But things are changing…

Things are changing because there’s been a significant drop in number of students enrolling in the Computer Science major. That’s actually a big concern, especially for companies as IBM and Microsoft.

What’s the problem? The problem is, they say (see articles, below) is that there will not be enough students to fill the positions. Companies are either going to have to look overseas to bring people, or to offshore projects.

This is my take on the situation: if the situation improves — it is easy to find a good job — students will come. And we’ll be happy as well. :-)

Related Articles[1] IBM, Colleges: More Top Students Needed[2] Fewer students major in computer

Monnox on Software Engineer

A software engineer understands that self-improvement and continous learning are fundemental activities for an IT professional.
–Alan Monnox
in preface of Rapid J2EE Development, 2005

My Book List

I modified my book lists a little…

First, I created a new category: Book List. I’ll post each book that I finished reading in there. If it is a book I recommend, I’ll post it in both categories.

My Book List

The books that I recommend, a subset of this list, are located here.

In addition, I buy (and read) books off of my Wish list at Amazon.com. The list is sorted by priority – how bad I want them. You can have a peek. (Books read do not appear on the list by default, you have to change the view.)

My Wish List at Amazon.com

Refactoring To Patterns by Kerievsky


Refactoring to Patterns
by Joshua Kerievsky
ISBN 0321213351
Date Read 5/2005

My Rating


This book had such a potential…

I thought this was going to be another classic (check Amazon.com reviews). But because of the flows it contains, it is just an OK book. The over-complicated code just ruins this superb piece of work (as another Amazon.com reviewer puts it).

This book is a lot better than Holub on Patterns, which is in the same category: learn patterns by looking at code. However, it has the same type of problems. Mainly, the author wants to illustrate how he is refactoring to patterns using real-life examples. But the examples are not easy to understand! I don’t like that approach. If I cannot understand the code easily (without too much effort), then I get lost, lose interest in the refactoring, and the potential benefit is lost.

This book is not in the same league as Core J2EE Patterns, Refactoring, Agile Software Development, and Design Patterns (GoF). (If you haven’t read them, read them before this one.) First, as I said, the code is out of context (too hard; what’s with the obsession with XML/HTML parsing?). The code is a lot simpler in Refactoring, Core J2EE Patterns, Agile Software Development. Second, the UML diagrams are not that easy to understand (you’ll find clear diagrams in Core J2EE Patterns, Agile Software Development, GoF). Third, the style of writing is OK, but not catchy. So, this book is far away from being a classic…

But this is not a bad book. You’ll get the most value out of it if you have other pattern books by your side, and if you are willing to jump into them while you are reading this one. I did that, and my knowledge about patterns deepened as a result. This book actually forces you to do that. :-) Yeah, really. You cannot learn patterns from this book. So if you want to make sense out of what he’s saying through his code, you have to look at the other books. What other books? Other pattern books, as well as Refactoring (those mentioned above).

This book has some good advice, though. The first couple of chapters are classic. There he explains refactoring, patterns, and code smells. Just excellent. He puts a lot of good advice in the motivation section of each refactoring. We can learn a lot from them. If only the code was easy…

Overall, a decent book, filled with good advice. Based on good practices, good designs. Could have been a classic! But the flaws I mentioned take away too much out of it. There is not much this book needs to get there: leave the comments, replace the code and the UML. Maybe somebody else will do it.

Agile Software Development by Martin


Agile Software Development, Principles, Patterns, and Practices
by Robert C Martin
ISBN 0135974445
Date Read 2004

My Rating


This book is simple. This book is complex. This book covers a lot of relevant information. This book is practical. This book is written in an easy to read, concise way. This book has become one of my favorite books. All in all, this is a great book.

First, the simplicity. Martin covers quite a few design patterns in this book. And the patterns examples are the best you’ll find anywhere else. If you’ve read the GoF book, you know the examples there are not so easy to understand. Right now, I’m reading Refactoring to Patterns and some of the examples there are not easy to understand as well. But when I turn to this book, and a pattern is explained, it is simple, easy to read, easy to understand. That’s exactly what I’m looking for! I didn’t realize this on my first read of the book last year, but after reading other books on patterns, I see this very clearly. Uncle Bob (that’s what they call the author), does an excellent job in explaining difficult material.

Second, the complexity. Some of the examples are in C++. And they’re long. I like C++, but it is a lot harder to understand than Java. It is just not as elegant. If the examples were in Java, I would be a lot happier.

Third, the breadth of information. There is a lot of material covered in this book. Martin covers Agile processes (XP), testing, refactoring, class design principles, package design principles, patterns, and UML. All in one book! No wonder the book gets a little complex at times. However, the way the information is presented by Martin in a clear, pragmatic way is one of a kind.

Martin has become one of my favorite authors (along with Steve McConnell and Martin Fowler) by reading this book. His style of writing is excellent. He will tell you why you should do something, he will also tell you why you should avoid it. Simple. Clear. Filled with advice. Excellent. He is a true craftsman.

Get this book, read it, and have it by your side because you’ll use it often. After a while, re-read it. You’ll be a better developer, a better designer. A classic book.

Favorite Quote

Topics

Tags

Archive

Currently Reading

Info

© 2001-2025 Stanley Kubasek About me :: Contact me

Me on Twitter

»see more

Recent Entries