A post on slashdot.com points out an outline for managing geeks by Eric Schmidt. If Schmidt still carries these management beliefs, then Google’s success at wooing technologists should be expected. This guideline suggests that any tech company that intends to benefit from innovation requires in-house developers. He also restates the widely accepted software engineering observation that bigger development teams result in less productivity overall. Schmidt is direct in his analysis of geeks, and he prescribes sound practices to take advantage of their characteristics for the maximization of their productivity and manageability.
An item on eweek.com references a supposed Microsoft developer’s blog entry, which conveys frustration with the decision to ship a product that is not ready for release. This developer’s sentiments are definitely shared among many developers in other software development pursuits. The developer’s attachment to the product and the dedication to minimize its faults is admirable, but due to market pressure, certain companies are forced into ignoring requests for delays that are intended to fix possible showstoppers.
From a theoretical standpoint, the development process should be iterative and include some form of testing and risk management. Microsoft developers cannot be blamed for its faulty software, because the company as a mature development house certainly has such quality controls in its software development lifecycle. Implementing good software and coordinating teams responsible for their components require time that Microsoft did not have. In a less competitive world, developers may possibly use as much time as needed to deliver robust applications, however, Microsoft is battling rival companies on several fronts in the computing industry’s hypercompetitive landscape. MySQL, an open-source database from MySQL AB, was released recently and has matured to a level that makes it competitive to Oracle and SQL Server. Microsoft needed to make SQL Server and the development tools that support it available before companies are able to plan and implement a transition to MySQL. Blame for the release of faulty SQL Server 2005 and Visual Studio implementations, if present, should be placed on the people who are responsible for Microsoft’s corporate strategy.
This article is a great mini-howto on getting Xen deployed quickly on Fedora Core 3. Testing changes in server configuration is one useful application of virtual machines like those provided by Xen. Unlike VMWare, the operating systems on the host and guest machines must support or be modified to support the Xen architecture. In other words, existing operating systems without support for the Xen architecture cannot be used on guest machines under Xen. This seems to be the result of a decision to sacrifice true virtualization for increased performance, and the results from performance comparisons of applications running on guest machines and those running in native environments are very exciting.
According to this article, a system administrator at PricewaterhouseCoopers adopted OpenBSD to resolve network computing problems. PricewaterhouseCoopers is allegedly a Windows shop, but fulfilling business needs without spending more money forced the system administrator to adopt open source solutions. “My experience is that if something has to be done, just do it – don’t ask! They will thank you later,” Mark Uemura says.
I was reading through slashdot.org, and I found a post that asks members of the slashdot community how they “reverse engineer” large software. Numerous replies did not agree with the original poster’s use of the term, “reverse engineering.” Many people held the incorrect notion that reverse engineering is an illegal or unethical practice. I have always believed that “reverse engineering” is the best phrase that describes the practice of taking a given solution and discovering the design decisions that influenced the given solution’s implementation to better understand the solution’s structure. There is a negative perception on reverse engineering, because it has been popularized as the central activity in certain kinds of software theft: algorithm theft and software piracy. Among the uninformative posts, I was able to find a response that had a better understanding of what is reverse engineering and provided reading material that may interest software engineers who join a major software project after a significant portion of the project has been implemented.