July 28, 2006
Oops. Last week seemed to pass in a huge rush, trying to get the Beta version of Gemini4Smarphone ready. For release, so there are 2 books this week. Nothing particularly clever in the selections, I’ve gone for a couple of classics. Every developer needs to understand refactoring these days (especially since most project managers still think that “rewriting” something is bad, but “refactoring” is OK (Not that they are the same thing, I just happen to feel that they are both useful techniques.)) So anyway, Refactoring By Martin Fowler
was the first book on the subject, and is an absolute classic.
At the moment, Amazon will also sell you another classic development book at the same time: Design Patterns by Erich Gamma
I strongly recommend you get over to Amazon and get them both.
Leave a Comment » |
Books, Software, Software Development |
Permalink
Posted by dizzydeveloper
July 14, 2006
My book recommendation for this week is a bit of a classic in my opinion. Unfortunately by the time I read it at the age of 36, there was almost nothing in it which I didn’t already know, but since I have spent the best part of quarter of a century learning about software development, that shouldn’t come as too big a shock. “The Pragmatic Programmer” is now one of those books which I try to make sure anybody who works for or with me has read. If you are just starting out on your software development career, read this and then go back to it often until it is all second nature.
The book covers lots of little gems of wisdom that developers learn over the years, such as the importance of keeping every decision in one place (No Cut’n'paste thank you very much) and having modules which only effect one thing, and not any other orthogonal issues. Often, we are taught these things during our Software Engineering degrees, but the real importance of them does not surface until our projects have 10s of developers, 1,000s of man hours and 1,000,000s of lines of code. None of these things are rocket science and most of them are pretty obvious, but it really helps to have something to point to when you want to spend a few extra hours re-factoring a hopelessly tangled piece of code, but the project manager wants to “save time and money” by just pushing it out there.
Unfortunately, you will most likely often stray from the correct path that you know is right, but each time you get bitten just think of the book and remind yourself, so that next time it is that little bit harder to step onto the verges…
Leave a Comment » |
Books, Software, Software Development |
Permalink
Posted by dizzydeveloper
July 7, 2006
I saw this fascinating post today in TechCrunch. Apparently 37signals are facing free competition from an open source alternative created by a Serbian PHP developer. My question is WHY? For some reason the post discusses what would happen to 37signals business model if someone decided to build a free alternative and give it away. Duh! What would happen to any business model if somebody came in and gave away their product for free? Cars for example. Would Honda survive if a group of un-enterprising students decided to build a high quality free alternative and give it away to everybody? Oh, but wait, they can’t because there is an intrinsic cost to building cars, the parts cost. The only intrinsic cost in software, is the cost of the equipment on which to write it. This always has to be paid for by somebody, but it may be very small, or it may be paid for by educational institutions in an attempt to educate their students. So, unfortunately software CAN be given away for free, especially now that the web is allowing virtually instantaneous virtually free distribution.
I just don’t get this. To quote from the article above: “Is it just me or is it crazy to think that the 37signals business model could be wiped away by one weekend of hard work between a group of developers?”. But why would you do that?
Lets not bandy words. What we are talking about here is stopping the 37signals guys from earning the money to put food in their mouths. That’s not a funny joke. Its not as though 37signals is a huge mega-corp grabbing everything they can, there applications are based around Ruby On Rails a free framework for web development built in Ruby. 37signals developed that framework and then gave it away for free, they also give away free versions of all of their products for people who can’t afford or don’t need to afford the paid for versions. From the outside, this looks like just about as far from a greedy mega-corp that you can get.
So, given that you have a product to compete with Basecamp or any other easily copyable application, why not do that? Don’t give your code away, compete with them. activeCollab could have a niche for the people who want to run their project management apps internally and don’t trust web alternatives. The advantage of paying for something is that you can get upset when it doesn’t work. But maybe this is too much of a challenge. If your open-source application is of low quality, you can just say “OK. So its free. Don’t use it if you don’t like it”.
My advice to everybody out there with the skills to develop software: Don’t take other people’s ideas and throw free alternatives out there. One day you might be relying on the money from similar business models. Let’s stop devaluing our profession by shooting ourselves in the foot. Go out, find your own ideas and feel free to give them away for free, or better still, why not make some money out of it? No need to be greedy, but why work for nothing?
There is much more to say on this subject and I expect to say some of it over the next few days and weeks
19 Comments |
Uncategorized |
Permalink
Posted by dizzydeveloper