Coding: In Search of Imperfection - InformationWeek

InformationWeek is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

IoT
IoT
DevOps
Commentary
2/13/2017
02:00 PM
John Edwards
John Edwards
Commentary
Connect Directly
Twitter
RSS
50%
50%

Coding: In Search of Imperfection

Learn why bad code is generally much better than no code all, except maybe in matters of life and death.

Pete Lumbis, a systems engineer with Cumulus Networks, doesn't like bad code. Yet he still believes that lousy code, despite its faults, is often better than having no code at all.

The reason is simple, Lumbis says. "In networking, or anywhere in computer science, we sometimes place a priority on perfection over getting things done," he explains. Yet poorly written code that still manages to accomplish its basic mission is always far superior to a coding project that drags on and on as its creator strives to develop an elegant masterpiece.

Lumbis acknowledges that perfection is critical in many projects, such when developing code for a heart monitor or a missile defense system. "But if I’m just trying to move a group of files around for some users, or I’m trying to create a bunch of descriptions on interfaces throughout my network, it doesn’t need to be perfect," he says.

Credit: Pixabay
Credit: Pixabay

There are many variations of bad yet generally functional code. Most often, crummy code is clumsy and hopelessly long. That's okay, Lumis says. "So what if it’s 200 lines, which somebody with better skills could have done in 10," he observes. "At the end of the day, if it’s saving you time and making your job better and easier, then the fact that the code is bad doesn’t really matter."

A Hard Habit to Break

Perfectionism is ingrained into many IT and network professionals from the moment they touch their first keyboard. "Most people who go into a technical discipline have at least a little bit of a perfectionist streak somewhere inside," Lumbis says. "It doesn’t mean that we always produce perfect work, but a lot of us take pride in ownership and so it’s hard to come to terms with the idea of doing something that’s bad."

Yet network professionals in particular are beginning to come around to the idea of settling for code that's sub par, but delivered quickly and fully functional. With software-defined networking (SDN) rapidly becoming a technology mainstay, network engineers are now finding themselves in the position of performing coding tasks they were never trained to handle. Yet Lumbis believes that network experts shouldn't feel bad when they create code that's rough and unpolished but still meets a project's basic requirements. "Software development is a completely unique and different discipline from network engineering," he says. "Yet even if we write some bad code, we can make our lives a lot better as network engineers."

Developing a New Skillset

Lumbis notes that fast and rough programming is simply a means toward reaching a goal. "We’re not going to create bad programming as a job with a salary range posted on Glassdoor," he says. "It’s about creating a new skillset, just as virtualization was a new skillset--it doesn’t mean that you need to be an expert."

Lumbis believes that network engineers are beginning to realize that programming -- even if it's not at an expert level -- is now a necessary job requirement. "You can see a growing community of network engineers trying to figure the situation out, being willing to take a stab at programming," he says. "Over the next three to five years, we’ll see network engineers not as software developers by any means, but as professionals with the ability to cobble together some bad programming code to accomplish a task."

Lumbis will explore the benefits of bad code in depth when he leads the session Imposter Syndrome: Bad Code Can Be Better Than No Code at Interop ITX on May 17 in Las Vegas.

John Edwards is a veteran business technology journalist. His work has appeared in The New York Times, The Washington Post, and numerous business and technology publications, including Computerworld, CFO Magazine, IBM Data Management Magazine, RFID Journal, and Electronic ... View Full Bio
We welcome your comments on this topic on our social media channels, or [contact us directly] with questions about the site.
Comment  | 
Print  | 
More Insights
InformationWeek Is Getting an Upgrade!

Find out more about our plans to improve the look, functionality, and performance of the InformationWeek site in the coming months.

Slideshows
11 Things IT Professionals Wish They Knew Earlier in Their Careers
Lisa Morgan, Freelance Writer,  4/6/2021
News
Time to Shift Your Job Search Out of Neutral
Jessica Davis, Senior Editor, Enterprise Apps,  3/31/2021
Commentary
Does Identity Hinder Hybrid-Cloud and Multi-Cloud Adoption?
Joao-Pierre S. Ruth, Senior Writer,  4/1/2021
White Papers
Register for InformationWeek Newsletters
The State of Cloud Computing - Fall 2020
The State of Cloud Computing - Fall 2020
Download this report to compare how cloud usage and spending patterns have changed in 2020, and how respondents think they'll evolve over the next two years.
Video
Current Issue
Successful Strategies for Digital Transformation
Download this report to learn about the latest technologies and best practices or ensuring a successful transition from outdated business transformation tactics.
Slideshows
Flash Poll