Wednesday, October 20, 2004

Search Hints

It is becoming increasingly difficult to find entry level jobs in today's marketplace. I have been asking around, especially about Silicon Alley, a New York City state of mind for entrepreneur's popular during the .com era. A friend of mine Doug Blewett gave me these leads: check out the "gigs" section here and check out this place to post your resume.

If anyone else has suggestions for sources of entry level jobs in software engineering, development or related fields, posting the information in a comment would be appreciated. There are a lot of fine fledling software engineers at Stevens and other schools in the New York/Philadelphia/Boston area that would appreciate their first break. I will continue to post leads as I uncover them. Thanks and later!

Monday, October 18, 2004

Test This Site

A motif in my lectures is the lack of appreciation for testing and testers. In addition, especially in the era of outsourcing, there is simply not enough research done on testing. Since my lecture this week in the Software Engineering class is on testing, I was rummaging through my testing resources. A gem is this site, The Testing Standards Working Party, hosted by the British Computer Society's Special Interest Group in Software Testing. The site offers everything from a glossary to How To's to Papers on testing. Highly recommended!

Do you have any suggestions for testing resources? If so, add a comment mentioning them. Thanks and later!

Wednesday, October 13, 2004

Q Quest

Striving for quality in products and process must be measured quantitatively so that you know you are making progress an must be attended to daily so that you do make progress. However quality does not end there, it begins there. Continuous improvement is not a slogan, a work principle or a technique, it is a life style. Striving for quality in all aspects of your life is something we all aspire to, although it is difficult and requires focus. However even after writing those sentences the words seem hollow and do not convey an appreciation of the quest for understanding and achieving quality.

So the best I can do is recommend an author, Robert Pirsig, and his books that do a great job of exploring quality. Zen and the Art of Motorcylce Maintenance was his first book and was popular when I began graduate school and still is today. A web version of Pirsig's book can be found here, but if you find you like the book, buy the paperback to support this kind of work. His second book, Lila: An Inquiry Into Morals, continues his exploration. Both books are written as novels and take some work, but at the end you will have a better appreciation for the quest.

Any other recommended Quality books out there or any opinions on the Pirsig books. I would appreciate your comments. Later!

Tuesday, October 12, 2004

Figure to Configure

One of the simplest and most valuable software engineering methodologies/processes to implement is software configuration. It pays off time and again when you need a convenient way to reverse a change made to software, backup an entire project (since it is all in one place) or to find a file relevant to a specific project. I have a cvs repository on my notebook and all of my software code and documentation are stashed there.

Unfortunately most do not appreciate the value of configuration management until they are burned badly. In the past five years I know of two sizeable software projects that had to do substantial rework and recoding because they did not use a software configuration mechanism. Several others had problems reassembling files of projects where employees left and did not have a software configuration mechanism. All of the projects that I manage must use a software configuration mechanism and I use it for my personal software. Our current favorite is cvs, an open source solution, but there are other popular commercial and open source options available. A great place to get the latest information on configuration management tools is CM crossroads. It provides information. pointers and advice on all the latest configuration management tools. In addition, if you use cvs, the pdf of Open Source Development with CVS, third edition by Fogel and Bar is here.

If you have experience with configuration management tools or resources or question about their use, share it with the community by adding a comment. Later!

Tuesday, October 5, 2004

We have met the enemy and they are us!

An article at states that software disasters are often people problems. The direct link to the MSNBC article can be found here. I was referred to the article by a posting in slashdot. Quoting the article:

Such disasters are often blamed on bad software, but the cause is rarely bad programming. As systems growm more complicated, failures instead have far less technical explanations: bad management, communication or training.

Although the article confuses what software is and is not (the SAP system is software, the application software added to it is not), the points it makes are still relevant. It refers to issues with requirements, stakeholder participation, operations, testing, end user training and inhomogeneity of technical understanding. Inhomogeneity of technical understanding is a multics term for a horrible project scenario which exists when managers do not understand software technology and developers do not understand the big picture, the context in which their software would run. Unfortunately this occurs all too frequently.

The article cites a National Institute of Standards and Technology study that software bugs cost $59.5 billon each year and a third of that can be attributed to inadequate testing. The pdf for the 300+ page report,"The Economic Impacts of Inadequate Infrastructure for Software Testing," can be downloaded here.

The title of this post was a quote from the comic strip, Pogo, penned by Walt Kelly which was an adaption of an Admiral Oliver Hazard Perry quote after a naval battle. You can find more information about the context of his quote here.

As always commenst are appreciated. Later!