![]() | |
![]() | |
![]() |
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: Siemens acquires Dotmatics Siemens Digital Industries Software Newsroom Software Engineer Dassault Systèmes Devin 2.0 is here: Cognition slashes price of AI software engineer to $20 per month from $500 VentureBeat The software engineers willing to pay $10,000 to anyone who helps them land a 6-figure coding job Business Insider Portland hears polarizing testimony on policy to ban rent pricing software Oregon Public Broadcasting - OPB Software company helped Washington landlords fix prices, artificially raising rent for thousands KING5.com Washington AG takes software company to court over rental price-fixing allegations Oregon Capital Chronicle City of South Lake Tahoe unveils new development permit processing software TahoeDailyTribune.com 5 Best Accounts Receivable Software of 2024 TechRepublic Washington AG sues rental software firm over alleged price fixing Nonstop Local News City agrees to purchase software to simplify permitting process News Radio KMAN Hexagon acquires Geomagic software business from 3D Systems Engineering.com Vertosoft Named Illumio's Newest Software Distributor for the Public Sector, Enhancing Cybersecurity Capabilities Yahoo Finance LCG launches new public records request software KADN News 15 Data Center Cooling: PFCC and ENEOS Collaborate on Materials R&D with NVIDIA ALCHEMI Software insideAI News Atlassian: A High-Quality Software Company With AI Tailwinds The Motley Fool RealPage software allegedly conspired with landlords to inflate rent prices, WA AG claims MyNorthwest.com Programmers are Reportedly 3x’ing their Workloads Using SoftMine’s AI Software Developer HackerNoon Design Firms Leveraging Software in Key Areas: Survey Kitchen & Bath Design News Simerics, Tech Soft 3D announce Simerics-CAD software Engineering.com Emerson's Asset Management Software Unifies Equipment Reliability Data From: Emerson Manufacturing Business Technology CyberArk Software (NasdaqGS:CYBR) Gains SOC 2 Compliance For Secure Browser Innovation Yahoo Finance Microsoft CTO breaks down how he sees software developer jobs evolving in the next 5 years Business Insider Details Flowers Software Celebrates 10 Years of Business Perishable News Intersolar Europe 2025: Valentin Software with new program versions of PV*SOL premium and GeoT*SOL AltEnergyMag From Software Unveils Multiplayer-Focused Switch 2 Exclusive Soulslike 'The Duskbloods' [Trailer] Bloody Disgusting Lucid Software Expands Visual Collaboration with First Work Acceleration Platform for Business Transformation Longview News-Journal Critical vulnerability in CrushFTP file transfer software under attack Cybersecurity Dive Crow Canyon Software Hosts Free Webinar on Forms & Workflow Automation Software in Microsoft 365 & Teams The Victoria Advocate Hexagon finalizes acquisition of Geomagic software Canadian Metalworking As EdTech growth continues, this enterprise is doubling down on tailored software solutions for teachers StartUp Beat Reap the Rewards of Open-Source Software Electronic Design Hexagon Supercharges Design, Manufacturing Productivity with Geomagic Software Acquisition Quality Magazine State seeks vendor to update decades-old financial software Hawaii News Now Enterprise software stocks sink, led by Atlassian, as new tariffs could prompt spending slowdown (PLTR:NASDAQ) Seeking Alpha Remembering Microsoft’s other co-founder: How Paul Allen’s vision sparked a software revolution GeekWire 3D Systems completes sale of Geomagic software portfolio to Hexagon for $123 million Metal Additive Manufacturing magazine 3 Leading Computer Monitoring Software for Schools Security Boulevard Insight Partners seals $5.1bn exit from Dotmatics in Siemens software acquisition Private Equity Insights Durst announces acquisition of callas software Label and Narrow Web Website Monitoring Software Market Is Booming Worldwide with SolarWinds, Datadog, UptimeRobot openPR.com Synthetic Media Software Market Size Trends and Forecast by Application, Type, and Geography openPR.com |
![]() |
![]() |
![]() |
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 I¡¦ll 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 |