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: 30 Largest Software Companies in the World by Market Cap Yahoo Finance Google lays off US Python programmers FierceWireless Reddit Asks the Question: 'What Free Software is So Good You Can't Believe It's Actually Free?' Pajiba Entertainment News Marin Software Launches AI-powered Anomaly Detector to Unlock Growth in Performance Marketing Campaigns Yahoo Finance GitHub Shows Off Copilot Workspace for Building Software from Scratch With Generative AI Voicebot.ai MS-DOS 4.0 Is Now Open Source Software WebProNews Spectrum and Hermes Medical Solutions to offer vendor-neutral software Medical Device Network Germany approves software development of NH90 Naval Technology 2024.14.3 Official Tesla Release Notes - Software Updates Not a Tesla App Virtual Surveyor upgrades UAV surveying software GPS World magazine Are Check Point Software Technologies Ltd.'s (NASDAQ:CHKP) Fundamentals Good Enough to Warrant Buying Given ... Yahoo Finance Software group Benner eyeing health, logistics M&As in Brazil BNamericas English Vistar Media Acquires ADstruc, Adding Traditional OOH Planning and Buying Software to Complete ... The Bakersfield Californian Tempo Software Launches New Integrated PPM Platform to Enhance Strategic Alignment Across the Enterprise Business Wire Unity Software's Options: A Look at What the Big Money is Thinking - Unity Software (NYSE:U) Benzinga Carbon Accounting Software Market Analysis Report 2024: Growing Investor Interest in Sustainability and Integration of ... GlobeNewswire Telstra Partners Cognizant to Strengthen Software Engineering & Boost Customer Satisfaction The Fast Mode UK software sales for the week ending April 27, 2024 Nintendo Everything Quinn Emanuel and Clifford Chance advise as IBM's high-stakes court battle with Swiss software company begins The Global Legal Post Software support chap survived breaking his customer The Register Severe Flaws Disclosed in Brocade SANnav SAN Management Software The Hacker News Software supply chain risks for AI and ML models CyberNews.com Certhon launches lettuce yield forecasting software with 95% accuracy Verticalfarmdaily.com: global indoor farming news A Thinking Ape lays off staff across game design, software engineering, art teams and more Pocket Gamer.Biz GitHub previews Copilot Workspace, an AI developer environment to turn ideas into software VentureBeat Down Payment Resource brings its award-winning homebuyer assistance software to The Mortgage Collaborative as a ... El Paso Inc. Best architecture software of 2024 TechRadar Medical Terminology Software Market to Surpass USD 5.5 Billion by 2030 Driven by Increased Demand for Accurate ... StreetInsider.com The 10 Best Accounting Software of 2024 The Motley Fool Check Point Software Reports 2024 First Quarter Financial Results Check Point Software Top 5 Software Development Companies in Mexico The Yucatan Times d&b group unveils cloud-based sustainability software - Installation Installation and AV Technology Europe Generative AI Software Sales Could Soar 6,260%: My Pick for the Best AI Stock to Buy Now (Hint: Not Nvidia) The Motley Fool IBM in court bid to shut down Software-Defined Mainframe threat to its 'big iron' gravy train Computing 2024.3.25 Official Tesla Release Notes - Software Updates Not a Tesla App Should Weakness in Sonata Software Limited's (NSE:SONATSOFTW) Stock Be Seen As A Sign That Market Will ... Simply Wall St Exclusive | IBM Nears Deal for Cloud-Software Provider The Wall Street Journal Best talent management software in 2024 CNN Underscored The Top 3 Software Stocks to Buy in April 2024 InvestorPlace 5 Most Crucial Accounting Software Features TechRepublic The Best Business Accounting Software Services of 2024 Business News Daily Scopio Labs gains De Novo clearance for AI bone marrow analysis software and more FDA clearances Mobihealth News Isar Aerospace improves 3D printing quality with nebumind software 3D Printing Industry |
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 |