Thursday, June 28, 2007

Business Logic

It's been running thru my head lately that I heard this word more than once in my work experience.

"I have learnt enough business logic; it's time to move on."

"This company offers me a lot of business logic experience."

Many people would agree that being a programmer, you need to learn as much as the business logic/knowledge as you can take. Therefore, on your next job, you can tell you interviewer that you have working with this, this and this industry with a lot of business logic experience.

Having a lot of business logic experience, nevertheless, it's good. But I think it's not the key point for a programmer. In my view, I think a programmer/analyst job is to change the business logic/requirement from the client into a IT solution that would able to help them. Furthermore, I bet the client has an expert or people who has more business logic experience than any programmer has.

So, does more business logic experience helps a programmer?

I have switched for several jobs and no any business logic from the first have any similarity to the current one. Unless you're moving the end user position such a factory manager, where you can work in a factory IT solution and change jobs once you're bored with the software industry. Until then, having the skill of turning the user requirement/specification into software solution has far more advantage than simply just learning the business logic.

Then again, people would argue that you can use your business logic experience to your new company in the same industry. This, I wouldn't agree more except you want to stick with same industry for the rest of your life. Of course, the chances of getting new job will be shrank since the job scope is limited to one industry. Not to mention that the employment contract usually stated you can't work with the same industry for a period of 1 to 2 years after your resignation. Does having more business logic helps a programmer? I don't think so.

Next time, if some programmer told me that they work in a company just to learn the business logic, I will have myself a really good laugh, quietly.

Thursday, June 21, 2007

Asshole driven development

Yup. There is a new software development methodology. Plus another 15 more if you read the comments on the site. :D

read more | digg story

Thursday, June 7, 2007

Funny facts about SCRUM

I never pay much attention on software development cycle until I saw this video. It sparks me to search for more information regarding this methodology. So here, I will highlight two features that I found interesting and seldom apply to my working experience; but it's good to consider them as part of software development cycle.

1. Standup Meeting
Straight forward. Meeting with no chairs. :D This brief meeting will hold on daily basis after lunch. Since after lunch will cause fatigue in work, standing up meeting will keep you awake by answer the following question as in wikipedia.
  • What did you done yesterday?
  • What are you planning to do tomorrow?
  • What are the problems prevent you from reaching your goals?
2. Chickens and pigs
There is no dairy farm animal involved here but categorized roles. Roles that are committed to the project will grouped as pig (e.g. programmers, dba). On the other hands, roles that are involved but not committed to the project will grouped as chicken (e.g. project manager or owner). You can read the interesting stories here why these 2 animals comes into the picture. The idea is to not let the chicken get into the project's way but only get their feedback since they are part of the system.

Is waterfall methodology working for you? If not, SCRUM may be one of management practice tool you may want to considered.

Scrum (management)
Scrum for team system

Wednesday, June 6, 2007

Book review: The Pragmatic Programmer

So, this is my second book review (you can check out the first one here) and I'm going to use the same format as in my first one. The title of this book is (if you're unable to read it from the left picture):

The Pragmatic Programmer: From Journeyman to Master (Paperback) by Andrew Hunt and David Thomas

1. Who should read it?
The title tells it all. A programmer. Interestingly, the book is more focus on the desktop programming and nothing on the web development. However, this does not mean it is not suitable for web developer because it contains a lot of habits/career tips that any programmer should have.

The exercises given in the book most of them are C++ or Java. I could understand this because most programmers learned C++ or Java earlier than other language (First program I wrote in college was using Java with notepad; and I hate it). If you don't know about C++ or Java, perhaps it's about time to pick up the basic, just for fun.

2. What is it all about?
It more than just habits and career advice. It covers some on coding design, editor tools, testing, maintaining, requirement gathering, communication, code generators and team building. It offers a lot of stories or scenarios, which most of them reflect to my past experience and current situations.

The book is written in lively manner plus there isn't anything about syntax or code. The exercises is just to show how the principle or idea can be applied. So, it's easy to read and learn from it.

3. What so special about it?
It offers timeless principle. It gives a general idea on what a programming can be; not just plain write better codes. There is time where I thought I have master a programming language and there is no more way I can improve it more within my career. This book changed my perspective and somehow, the world wasn't so small that I thought it would be.

Finally, if you come to a point where you find your programming skill unable advance further, give this book a try, it will guide you to the next level.