Joel's Blog

I have no idea what im doing

11/04/2005

 
Its not building software that is hard and time consuming, its building software that is scalable, maintainable, stable, operational, secure, multithreaded, extendable and reliable thats takes time and is hard. One of the BIGGEST problems today in software engineering is that at first glance to a business person they cant tell the differnce between a hack and a well engineering piece of software. The bigger problem is the Software Engineers (not sure they are worthy of the title) that propagate this notion. I dont know how many times I have heard (and even said myself), well I could crank that out in a good weekend. Lets take a little monitoring program that I wrote today as an example. The requirements are simple, take a list of urls and check them every so often and see if they have changed. Well I cranked this bit of code out in about 40 minutes (I dont code much, I suspect it would have taken 10 a few years back). Then I started thinking about all the error conditions, the logging, the scaling, what would I do if I want to make ports configurable, how I am going to have it run, how it will alert, but not too many times, what if I get a 1000 urls, will this little program work anymore, will the machine run out of disk space if I leave it running for 100 days. I think I could spend another 20 hours on this to get it where I want. The point is something that could take 10 minutes to write, could take 20+ hours to get right for production. Anyway, the next time you think about how long it takes to code something, think through all the things above and make sure you are clear in your answer....

Comments: Post a Comment

<< Home

Archives

This page is powered by Blogger. Isn't yours?