![]() | |
![]() | |
![]() |
Software Information |
|
![]() |
When is a Software Engineer Not a Software Engineer?
The title of "software engineer" has got to be among the most highly abused in the corporate high-tech world. It's also one of the most popular. And why not? It sounds a lot better than "computer programmer," and it looks much better on one's business card. Unfortunately, it's often inaccurate. Engineering is, after all, the application of sound technical principles to develop systems that are robust, efficient and elegant. I've found that a great many software engineers can develop working programs, but do little or no real engineering design. Does this sound harsh? Perhaps, but I've also found it hard to deny. I've encountered very few software engineers, for example, who have clean, crisp and readable coding styles-an essential element of elegant software design. I've also encountered a preponderance of cryptically written functions, clumsy software abstractions and bizarre spaghetti code. To my dismay, I've discovered that even among computer science graduates, many reduce object-oriented programming to the mere use of private data, public functions and object instantiations. It's enough to break a teacher's heart. Now, I won't go so far as to say that most programmers write spaghetti code. That would not be fair. However, I do think that relatively few programmers have a deep appreciation for the artistry of software development. That's not to say that they're ignorant of such things; not at all. Rather, it's more that the engineering aspects of elegant code design are all too often neglected. I think this happens because modern programming tools have made proper code design seem like a nuisance. In the early years of computing, people were forced to write out their software designs, pondering many fine details before they ever sat down in front of the computer. Nowadays, with our fast compilers and interactive debugging systems, programmers often find it more convenient to simply sit down and start coding, with just a modicum of software design. Mind you, I do understand that this is sometimes more efficient-when the programming task is fairly routine, for example. However, when such design-as-you-go software development becomes standard practice, then you have the makings of utter chaos. In part, this problem is also rooted in the malleable nature of computer software. No self-respecting civil engineer would design a bridge by slapping girders together until he has something that works; after all, if the bridge collapses, it could take months to rebuild it. Similarly, no sensible architect would want to build a house without blueprints and floor plans. Yet it is commonplace for programmers to develop software using poorly chosen functions and only the sketchiest of designs. After all, if the software doesn't work, they can always find the bug and fix it-at least, in theory. In practice, these bugs are often difficult to detect, and fixing them can require extensive surgery. The consequences of an ill-designed software program can be disastrous indeed. For this reason, I believe that high-tech companies need to give software engineering the respect that it deserves. They need to develop a true culture of systematic software design, instead of merely settling for "whatever works." A company that's looking toward the future must pay proper devotion to the principles of software maintainability, proper documentation and elegant, robust design. It must also inculcate a culture of true software engineering among its employees. The failure to do so may work in the short-term, but it is a recipe for long-term disaster. V. Berba Velasco Jr., Ph.D. takes great pride in working at Cellular Technology Ltd (http://www.immunospot.com, http://www.elispot-analyzers.de, http://www.elispot.cn) where he serves as a senior electrical and software engineer. He is pleased to work in an environment where excellence is valued.
MORE RESOURCES: Why These 15 Software Stocks Are Skyrocketing So Far in 2025 Insider Monkey What OpenAI’s Sales Automation Software Can Do—and What It Can’t The Information DMV rolls out new 605Drive software Dakota News Now Replit and Anthropic’s AI just helped Zillow build production software—without a single engineer VentureBeat DARPA Gets Word Out on Secure Software for Military National Defense Magazine Chip design software maker Cadence forecasts annual profit below estimate, shares down - Reuters.com FTC settlement requires disconnection of hardware from all no longer supported software Data Protection Report Iodine Software Launches Appeals Management Workspace Supporting Denials Management, Alongside GenAI Platform Enhancements Business Wire Telos Alliance Announces Axia Quasar V3.2 Software Update Sports Video Group Iodine Software Launches Appeals Management Workspace - HIT Consultant Commissioners approve new software for Lebanon Justice Court lebanonlocalnews.com CobbleStone Software Offers CobbleStone Contract Insight® CLM Solution Via Texas DIR Contract PR Web Regula Software Now Supports the Latest Standard for Biometric Passport Verification - Business Wire Terma to supply C2 software for Slovakia’s Barak MX Airforce Technology The Impending Disruption That Will Transform IT and the Workforce: “Service-as-Software” Logistics Viewpoints FSF Opens Nominations For Free Software Awards iProgrammer 10 Hot Software Stocks with High Upside Potential Insider Monkey ECI Software Solutions Appoints Hildebrand CIO Quality Magazine Regula Software prend désormais en charge la dernière norme de vérification biométrique des passeports The Hastings Tribune Researchers approach industry for commercial software dashboard to link legacy databases for decision-making Military & Aerospace Electronics Regula Software unterstützt jetzt den neuesten Standard zur biometrischen Reisepassprüfung The Hastings Tribune Regula Software unterstützt jetzt den neuesten Standard zur biometrischen Reisepassprüfung The Bakersfield Californian Lucid Dream Software details benefits of new consumables platform Label & Narrow Web Blaize Holdings: Why I Am Betting On This AI Hardware And Software Small Cap (NASDAQ:BZAI) Seeking Alpha ezPaycheck Payroll Software Eliminates the Daunting Task of Tax Calculations for Business Owners Longview News-Journal Accenture: SDV requires transformational software mindset Automotive World Robot Software Market Hits New High | Major Giants Universal Robots, Yaskawa Motoman, Siemens openPR Electronic Signature Software Market Is Booming Across the Globe:: DocuSign, Adobe Sign, HelloSign openPR France’s Cycloid gets €5M to promote efficient software delivery along with digital sobriety Silicon Canals ezPaycheck Payroll Software Eliminates the Daunting Task of Tax Calculations for Business Owners WV News AIDA64 now supports Radeon RX 9070 series, software drops support for Windows 95/98 - VideoCardz.com Creator Of New Open-Source Game Boy Disagrees That FPGA Is Superior To Software Emulation Time Extension 2025.2.6 Official Tesla Release Notes - Software Updates Not a Tesla App |
![]() |
![]() |
![]() |
RELATED ARTICLES
Change Your Word Docs in Record Time! Anyone who has ever used Microsoft Word knows that it is a powerful word processing package. It's loaded with dozens of features designed to make creating documents a breeze. Instant Messenger Clients If you have been using the Internet for any amount of time you have probably used an instant messenger at some time or another. They allow you to talk to your friends, family and co-workers with the click of a button. Crystal Reports - Microsoft SQL Server Microsoft SQL Server is the leader for inexpensive and middle size SQL solutions. Plus it is now capable to serve large enterprise on Microsoft Windows platform. Off The Record - Tips For Picking Recording Software Need software to record your voice, streaming audio or musical instruments? There are dozens of great products on the market. Some cost up to five hundred dollars, but here are some of the low cost alternatives you might want to consider. Corporate ERP: Standard vs. Rich functionality - Microsoft Great Plains Traditionally we were considering functionally rich systems, such as SAP, Oracle Financials, PeopleSoft, JDEdwards as the fit for large publicly traded corporation. There might be multiple opinions for the future corporate ERP/MRP systems. eConnect: eCommerce Development for Microsoft Great Plains Microsoft Business Solutions Great Plains has several options to enable web ordering. Traditionally Great Plains Dynamics/eEnterprise had eOrder - this is ASP pages based ordering application, enabling you to place or retrieve your Sales Order Processing (SOP) Sales Orders over the web. The Hidden Power of Online Manual Writing software manuals is boring, isn't it? We often think: "My software is easy to use. The user interface is intuitive. 5 Easy File Management Tips in Microsoft Word How many steps does it take you to locate and open your Word documents? Try these tricks to streamline how you find and open the files you use most often:Opening DocumentsWith a variety of choices, how do you open a file? Here are the standards plus several keyboard shortcuts:? File > Open? Open toolbar button (usually 2nd from the left on the Standard toolbar)? [Ctrl] + O? [Ctrl] + F12? [Ctrl] + [Alt] + F2Selecting More Than One FileOnce you are in the Open dialog box, select more than one file to open:? To select nonadjacent files in the Open dialog box, click one file, and then hold down [Ctrl] and click each additional file.? To select adjacent files in the Open dialog box, click the first file in the sequence, and then hold down [Shift] and click the last file. Microsoft Great Plains: Getting New Users Licenses - Annual Service Plan FAQ Microsoft Business Solutions Great Plains, Solomon, Navision, Axapta, Microsoft CRM require existing customer to be on active service contract: enhancement program. Minimal maintenance plan gives you free new software version (however upgrade itself, if it is done by your MBS partner is not free). Begun, The Browser Wars Have As Mozilla Firefox nears 10% market share, with well over 25 million downloads direct from the makers website, and goodness knows how many through other sources, Microsoft announces that it will be releasing IE 7 ahead of schedule. Originally scheduled for release with Microsoft's new Longhorn operating system in 2006, it seems that Microsoft are reacting to the run away success that Firefox has had over the last few months. The Tools and Features of Adobe Photoshop Adobe Photoshop is one of the world's leading graphics editing programs, developed by Adobe Systems. Available on Mac OS or PC, Photoshop is used as one of the leading image design programs for the World Wide Web. SpyBot - Search and Destroy versus Microsoft AntiSpyware (Beta).... My personal experiences... Ok.. Screenshots Vista Windows FeaturesAdditionally, Vista will include many other new features.AeroVista will include a completely re-designed user interface, code-named Aero. Removing Incoming Email in MS Exchange, C# Example The purpose of one of our projects was MS Exchange handler for processing incoming email.The basic source of knowledge was this article "Developing Managed Event Sinks/Hooks for Exchange Server Store using C#" by Logu Krishnan, published to the address http://www. Fundraising Software - How Can That Help Me? Fundraising software lets you connect with donors in a way that is unlike any communication you've ever had before. You can diversify your fund raising efforts with software and manage all of your day-to-day activities. Looking for an Alternative to Microsoft Office? You Should Be! Now is the time to look at an alternative to Microsoft Office.Are you locked into using Microsoft Word, Excel, and PowerPoint? Are you spending extra because you need a database, and Access does not come with the basic Office package?Well, the time has come to look at alternatives, or at least the one Ill discuss here in a few moments. Microsoft Great Plains Furniture & Fixtures - Implementation & Customization Highlights Microsoft Great Plains, former Great Plains Software Dynamics / eEnterprise was introduced in 1993 as first Microsoft Windows and Macintosh based graphical accounting/ERP application for Mid-Size businesses. Considering the history of furniture retailer and custom assembly lines - they showed up on the market about five decades ago and they have automated their business operations with Unix-based businesses in the late 1960th and earlier 1970th. Making The Decision To Automate Your Software Testing Not every software testing project can or should be automated. Before your department accepts a new test automation project, you should establish a process by which projects are reviewed and either accepted or rejected. Microsoft Great Plains Integration Manager: Using Continuum - Overview for Developer Microsoft Business Solutions Great Plains has I'd say end user integration tool - Great Plains Integration manager. Integration Manager itself uses OLE functionality to validate text or ODBC integration files data through Great Plains forms behind the scenes. Intro to UNIX Shells A UNIX Shell is in simplest terms, a command line interpreter, that takes the users input and gives it to the Kernel. If you are familiar with DOS, you will remember the 'command. ![]() |
home | site map |
© 2006 |