Taking The Time for Software Design

to Development |

Cranking out ho-hum code might not require a lot of thinking. But when you need to design elegant software, you need time and space for creative cogitation. Do your coworkers and bosses recognize it... and give you the freedom to do so?

My coworker Jan had his feet up on his desk. He had leaned his chair all the way back, and was staring out the window, oblivious to the two of us walking past his office. "Oh, good!" exclaimed our boss, Ivan. "Jan is thinking. If he's still in the same position by the end of today, I know I'll see some great code tomorrow."

That incident happened 25 years ago, when I worked as a software developer at a consulting company. Jan was staring out the window at the end of the day; a few days later he had designed a brilliant, efficient and elegant software solution that illuminated why our tiny company was so well-regarded in its corner of the industry. And I'm still friends with our then-boss Ivan to this day, because we continue to share the same priority: get smart people to understand and buy into the project goal, and then leave them alone to accomplish it.

Some companies treat their developers very well, by which I mean "They leave them alone to design software the right way." Anyone who is called upon to be creative (and jeez, aren't we all?) needs the freedom to stare out the window, and to stay quiet enough to hear the voice of her muse. With businesses being what they are—from bullpens to "Be Productive Today!" sweatshops—I worry that it happens all too rarely.

I don't mean to say that we all do our best design work by window-gazing. Some of us design best in other environments, whether that's taking a shower or disappearing into a favorite band's music. But in the standard office environment—where you get an office with a door that closes only if you're lucky, you're scheduled to attend three irritating meetings today and it's unacceptable to turn off instant msssaging—how often can you really indulge in a good creative wallow? You can't get away with looking like you "aren't doing anything"—although you are doing something: you're constructing three layers of indirection in your head and generating an idea that'll let you accomplish in 20 lines of code what other developers might take thousands of lines to accomplish.

I wonder how well the people around you recognize it when you are in DesignMode. Other developers might understand the signs, but do users? Bosses? I fear that software innovation (not to mention software beauty, another topic that's top-of-mind for me these days) is lost because developers have to put effort into "looking busy" or at least covering up their most efficient (for them) creative process with something that appears to be work-related (such as doing lots of Google searches, or anything which requires a lot of keyboard stabbing in front of a web browser).

My guess is: that's why employees are insisting on the ability to work at home more often. If you can't get work done at the office, you can curl up on your couch with a laptop, an inspirational cat and your favorite album turned up on your stereo. Or you stare into space. Or you quilt. But mainly, you grab the opportunity to work in whichever way helps you get inspired... and create the best damned software possible.

What's

Continue Reading

Print

Browse CIO Blogs

See all CIO Blogs »

Cloud computing has emerged as one of the most significant game changers to hit the technology landscape in the past 20 years. With this massive expansion of the cloud, the perception of the IT organization is shifting from a utility player to a change agent. This eBook breaks down five ways progressive organizations are using cloud-based IT Management solutions to help drive innovation and become more strategic, including: adding visibility and analytics, speeding up time-to-value, lowering costs, improving prioritization, and providing a blueprint for future cloud deployments.
Read the white paper to see how IBM helped Citigroup deliver new services and enhancements to their 200 million customers faster.
There are 3 ways to modernize legacy applications: rewrite completely, acquire packaged solutions or migrate existing code. This paper explains why it's best to migrate and how IBM® Rational® software can help.
Accommodating specific lines of business can result in a hybrid ecosystem of applications and servers. The resulting complexity of this architecture makes for an environment that is costly to maintain and difficult to change when addressing new challenges.
This whitepaper will help you to define a mobile device passcode policy. Security managers must attempt to reconcile two opposing goals. They must: 1) create a passcode policy that is strong enough to protect the device if it is lost or stolen, while: 2) not annoying users with needless length or complexity.
This whitepaper, authored by The Radicati Group, looks at the key reasons organizations should consider moving to a cloud-based archiving solution. Email archiving solutions enable organizations to store, monitor, and collect electronic data exchanged by their users to comply with internal policies and regulations.
ATERNITY will showcase a 30-minute demo on how Fortune 500 companies are leveraging its award-winning FPI Platform to deliver a user-centric approach to Proactive IT Management.
For businesses to move forward and tap into the ever-expanding universe of Internet users and network-enabled devices, it's critical to learn how to make the transition to IPv6. Learn the critical steps your organization must take to make a seamless transition-and keep your business world connected.
Learn how IT teams can protect against spear phishing tactics. Harry Sverdlove, chief technology officer of Bit9 offers a frank discussion about spear phishing - the most common technique used in today's advanced attacks.
Learn how to build a solid business case for your migration to Red Hat Enterprise Linux so you can run leaner, innovate faster, be more flexible and own the New Now.
Social media isn't about you; it's about everything around you. As you consider how your customers want to communicate with you, social media is something that can't be ignored. But what should your strategy be? Is social media "just another channel?" What kind of a plan makes sense for your contact center and for your customers? Join our experts as they share their insight and research results.
Hardware tokens were a popular method of strong authentication in past years but the cumbersome provisioning and distribution tasks, high support requirements and replacement costs have limited their growth. The additional log-in steps that hardware tokens require and the resulting user frustrations have limited adoption and make them impractical for larger scale partner and customer applications.

Newsletter Sign-Up »

Receive the latest news test, reviews and trends on your favorite technology topics

Choose a newsletter
  1. View all Newsletters | Privacy Policy