Jurgen Appelo recently posted a list of Top 100 Best Software Engineering Books. I am not sure if I agree with the author on all the ratings of books in the list, but most of my favorites are in top 30. I am just not happy that Eric Evans' book "Domain Driven Design" (which is my top 10 book) is 89 on the list :)
Check out the list. Top 100 Best Software Engineering Books, Ever:
http://knol.google.com/k/jurgen-appelo/top-100-best-software-engineering-books/
How does this compare to your own list of favorite books?
Monday, January 19, 2009
Top 100 Best Software Engineering Books - Good List
Posted by
srinip
at
8:13 PM
4
comments
CodeMash 2009 Conference - Venkat's Keynote Presentation
I attended a keynote presentation by Venkat Subamaniam at the recent CodeMash 2009 conference. He talked about the facts and fallacies of every day software development and what developers & project managers should watch out for to ensure the success of the projects. It was an excellent presentation, Venkat touched on several agile development and project management techniques such as dynamic languages, off-shoring, innovation-before-standardization, and unit testing. He has a unique way of explaining every day problems that we, the programmers, run into in our projects and never even realize that we are in the midst of a problem.
The keynote session drew great response from the audience because of the practical nature of the fallacies mentioned by the speaker. I have published a news item on InfoQ summarizing Venkat's keynote presentation. Check it out.
Posted by
srinip
at
2:49 PM
0
comments
Labels: CodeMash 2009
Sunday, December 28, 2008
CodeMash 2009 Conference Next Month

I will be attending CodeMash 2009 Conference next month on January 7, 8 and 9. On the first day of the conference, there will be PreCompiler sessions with Code Jam sessions and workshops. The main conference schedule and sessions look very interesting. One thing I noticed about the conference sessions and the speakers is that this is one of those no fluff conferences where the speakers and attendees are IT geeks who have practical knowledge and experience of the topics they are presenting on, which should result in a rewarding experience to the attendees.
Some of the sessions I am planning on attending are listed below:
Day 1:
- Value Stream Mapping Workshop (Host: Mary Poppendieck)
- Kanban 101 (David Laribee)
- Programming in Scala (Speaker: Venkat Subramaniam)
- RIAs with Java, Spring, Hibernate, BlazeDS, and Flex (Speaker: James Ward)
- Dynamic Languages and the JVM (Speaker: Nathaniel Schutta)
- Thrashing (Speaker: Mary Poppendieck)
- Functional Concepts for OOP Developers (Speaker: Bryan Weber)
- Grease, a Parallel Systems Architecture (Speaker: Edward Vielmetti)
- Language Oriented DDD (Speaker: David Laribee)
- Executable Documentation with easyb (Speaker: Andrew Glover)
If anyone is attending the conference, let me know. We can get together for a cup of coffee or brew.
Posted by
srinip
at
11:39 AM
1 comments
Sunday, December 21, 2008
Application Architecture Trends presentation at Detroit Java User Group meeting
I recently gave a presentation on Application Architecture Trends at Detroit Java User Group meeting on Wednesday evening. The presentation title is "Application Architectures - Where We Have Been, Where We Are Going". The turnout was pretty good (about 20 people) and the presentation went very well. There were lot of great questions and discussion on the items I talked about in the presentation like AOP, Custom Annotations and OSGi. Here is a list of the new technology trends I covered in the presentation:
- Dependency Injection (includes a demo on a Data Access Object using Spring DI to inject the JEE resources like Data Source, Entity Manager, and Transaction Manager)
- Aspect Oriented Programming (includes 2 demos, one on Architecture Rules Enforcement using AspectJ & AJDT and another on Profiling using Spring AOP)
- Annotations
- Custom Annotations (includes a demo on a Custom Annotation for Object Caching using Spring AOP and EHCache)
- Spring Portfolio
- Spring Core
- Spring AOP
- Spring Security
- Spring MVC/ Spring WebFlow
- Persistence
- JDBC v. Hibernate v. JPA
- Transaction Management
- Spring JTA
- Web Services, Async Messaging & ESB's
- Java As a Platform
- Dynamic Languages (Groovy, JRuby, Scala)
- Domain Specific Languages (DSL's)
- Internal DSLs
- External DSLs
- Deployment
- OSGi
- Distributed Computing
- Concurrent Programming (support in JDK)
- Cloud Computing
- Virtualization
- Database Layer
- Distributed Data Storage Frameworks
- Other Trends
- Web 2.0
- RIA/RCP Applications
- Conversational Web / Batch Frameworks
- What's next for J2EE?
- Java EE 6 (JSR-316)
- - Profiles
- JPA 2.0 (JSR-317)
- - Criteria Expression Support
- EJB 3.1 (JSR-318)
- - Deploy EJB's in WAR files (no need for EAR files any more)
- Spring 3.0
- - REST Support
- - Support for EJB 3.1
The presentation slides are available here.
Erik has blogged about this meeting and my presentation.
This presentation is also accepted for the upcoming No Fluff Just Stuff (NFJS) Symposium in Milwaukee in February (Feb 27 to March 1; checkout out the full conference schedule which has great speakers talking on very interesting topics).
Posted by
srinip
at
3:49 AM
1 comments
Labels: Detroit JUG, Presentations
Thursday, November 27, 2008
QCon San Francisco 2008 Conference - Tutorials
I attended QCon San Francisco conference last week. The conference schedule included tutorial sessions before the main conference. There were several tutorials on topics like:
- SpringSource dm Server by Rob Harrop
- Domain Specific Languages by Neal Ford, Martin Fowler & Rebecca Parsons
- Scala (Bill Venners)
- Erlang (Francesco Cesarini)
- JRuby and JRuby on Rails (Ola Bini & Nick Sieger), and
- Agile Management (David Anderson).
I attended Certified Scrum Master (CSM) hosted by Martine Devos from Object Mentor Project Management team. Martine is an excellent CSM Trainer. The tutorial class was very educational and informative for people who are in technical management to be come Agile Project Managers. The class was interactive that allowed students to discuss with each other and rest of the group in serveral real-world project management scenarios.
Some of my favorite parts of the class are:
- Scrum From Hell
- Estimation Quiz
Martine is a great instructor. I recommend her class for any one who wants to learn how to be an Agile Project Manager.
On day 2 of the conference, I attended an ad hoc presentation by Ralph Johnson (one of GOF Design Patterns authros) on Parallel Computing Design Patterns.
Posted by
srinip
at
6:02 PM
0
comments
Labels: QConSF 2008 Conference
Friday, November 7, 2008
QCon 2008 conference
The second QCon San Francisco (QCon SF 2008) conference is fast approaching us. The conference is held at Westin SF Market Street from November 19 - 21.
The schedule includes tracks on Domain Driven Design (DDD), Domain Specific Languages (DSLs), Service Oriented Architecture (SOA), REST Web Services, Design and Architecture (with several case-studies presentations), Emerging Technologies, and Agile Methodologies.
I was at the conference last year. It was a great experience. I am looking forward this year's conference. With several interesting sessions, most of them conflicting with each other, it will be tough to pick which session to attend.
Posted by
srinip
at
5:32 PM
0
comments
Friday, July 4, 2008
Domain Driven Design and Development In Practice - Article
Domain Driven Design (DDD) is about mapping business domain concepts into software artifacts. Most of the writings and articles on this topic have been based on Eric Evans' book "Domain Driven Design", covering the domain modeling and design aspects mainly from a conceptual and design stand-point.
I recently wrote an article on Infoq to cover the domain modeling and design from a practical stand-point on how one would go about taking a domain model and actually implementing it. It looks at the guidelines, best practices frameworks and tools that technical leads and architects can use in the implementation effort.
Posted by
srinip
at
3:08 PM
1 comments