Wednesday, November 24, 2004

No Honor!

In most of my Software Engineering courses this time in the semester is devoted to Human Computer Interaction.  I mentioned in class this site that discusses poorly designed web pages.  Vincent Flanders hands out a daily award for really bad web sites and he is usually on the mark and he has been doing this since 1996.



Another source for web site critiques and advice is the book by Jakob Nielsen, Designing Web Usability: The practice of simplicity, New Riders Publishing, 2000, isbn:156205810X. 



Don Norman's books are always worthwhile and great reads.  Check out his web site here.    Note the web site url, www.jnd.org.  Those that have taken my courses should know what the abbreviation means, for those of you that do not it refers to just noticable differences.  Later!



Wednesday, November 17, 2004

Search Hints 2

PJM Interconnection, a utilities company (electric power) outside of Philadelphia is looking for software folks.   They are located at this web site.  I will continue to alert you to companies I know are hiring.  Soon there will be a web page associated with my homepage where you can browse the most recent entries.  (I realize that blog entries aren't the most efficient way to alert you of openings.)
Later.




Thursday, November 11, 2004

European Vacation


No, not the National Lampoon movie!  This post is a vacation from the predominant way developers view Object Oriented design and development, that is, not only as a design methodology but also as a vehicle for reuse.  After a slow start in generating reusable artifacts, the patterns movement has certainly provided a great deal of success in reuse and has greatly influenced, if not dominated,  the teaching of Object Oriented design and development.



In the European School of programming, also known as the Scandinavian School of programming design and development is considered to be modeling and simulating a real or imaginary part of the world through objects and classes. The focus was on developing this model, not on reuse.  You can find a description of the thought behind it here.  Kristen Nygaard is considered to be the founder of the Scandinavian School of programming.  His site is fascinating and it is particularly interesting how during his life he combined his work in Object Oriented research and computer science (which he preferred to call Informatics) with his interest in social issues.  An example of this unique combination can be found in this paper by Nygaard.



Nygaard along with Ole-Johan Dahl developed the first family of OO languages, Simula.  For those of you who are programming language mavens, beta is a more recent effort. 



There is much more to say about Nygaard, Dahl and the entire Scandinavian school of programming.  In fact I am considering it as a potential book (or at least long paper) project.  This will not be the last post on the school in this blog.  If you have other links, papers or experience with the Scandinavian/European school of Object Oriented programming and design, share them in a comment.  Later!



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!