Advertisement
Promo

Application development Toolkit

Seven habits of effective developers

Eileen Yu ZDNet Asia

Published: 22 Aug 2007 11:08 BST

  • Email
  • Trackback
  • Clip Link
  • Print friendly
  • Post Comment

Keep it clean, and keep it simple — that is the maxim software developers should adhere to.

According to Lee Chuk Munn, a staff engineer at Sun Asia-Pacific, writing applications is like writing a book.

"I've learned various programming languages [but] it doesn't matter what language you write in, the story [you write] has to be good," Lee said, in a phone interview with ZDNet Asia. A 27-year veteran in software programming, Lee sits in Sun's software department where he guides the company's developers and network of independent software developers in using Java and Solaris.

"Programming is just an expression to a solution. A lot of it is about understanding and recognising the problem and getting help. This [concept] is generic across all programming languages, it doesn't matter what you use — whether it's C+ or Java. The approach is still the same," he said.

Lee noted: "What irks me is developers today are churning out applications without any regard or love for it. That's my number one pet peeve. So, it's like they're doing it for the money, which is good, if you're a project lead, but you need to put in some concern and care into what you're building and not just in shipping [the application]."

Lee listed seven habits that all software developers should possess to be effective in their job:

1. Understand the problem
Before you can deal with the problem, you need to first understand the problem you are trying to solve.

"From my observations, I find that developers aren't keeping to the point," Lee said. "When you write a program, you're trying to express the solution to a problem, [but] sometimes people approach a problem without even first thinking about it. So there may be times when there may already be a solution to a similar problem that can be adopted for the one you're trying to resolve."

For instance, Lee said, there are different algorithms engineers can use to write a sorting program.

To select the right one to use, developers need to first understand the size of the data that the sorting program will be administered on, in order to decide which is the right algorithm to use. "Choosing the wrong one would put your application in jeopardy in future," he said.

Lee also highlighted the need to do the necessary research before starting development work, and to think about how people will go about using the application, so elements such as user interface and design should not be neglected.

2. Use appropriate tools
Study various programming concepts and data structures, and start building a reservoir of software design patterns, Lee said.

While reference books are a good source of information, he cautioned that technology evolves too quickly to rely solely on static text-based recommendations.

It doesn't matter what language you write in, the story [you write] has to be good

Lee Chuk Munn, Sun

"Have a general idea of what is available," he said, adding that developers can then use this as a foundation on which to build more complex applications.

He also urged software engineers to become well-versed in a variety of tools, and develop their own if there is nothing appropriate for the problem they are trying to solve.

Quoting American psychologist Abraham Maslow, Lee read: "If the only tool you have is a hammer, you will see every problem as a nail."

This Maslow concept has become so popular among software developers that it has been dubbed the "Golden Hammer" rule. It cautions engineers with limited knowledge or training of solutions that they run the risk of using only tools they are familiar with, but which may not be the most appropriate, when they develop a new program.

3. Strive for simplicity
Programmers should develop applications that are:

  • easy to understand;
  • easy to explain;
  • easy to maintain; and
  • easy to document.

Lee noted that simplicity is not only associated with purity or clarity, it also reflects the engineer's understanding of the problem. "Anybody can come up with a convoluted solution," he said.

Noting that debugging is twice as difficult as writing a program, Lee said software developers will have an easier time patching bugs if their applications are clear and uncomplicated.

4. Keep your code clear
Only incorporate code that you understand, and make sure others understand it too.

Lee explained that software developers are like novelists, each with their own writing style. "Whatever style you adopt [doesn't matter]; just make sure you write clearly," he said. "When you write codes...

Next

Previous

1 2


  • Email
  • Trackback
  • Clip Link
  • Print friendlyPrint with EPSON

Did you find this article useful?
32 out of 34 people found this useful


Full Talkback thread

0 comments

Video icon

Video

Discussions

roxyrohit roxyrohit

reply

Saturday 7 November 2009, 6:35 PM

37 comments
roxyrohit roxyrohit

reply

Saturday 7 November 2009, 6:35 PM

37 comments
roxyrohit roxyrohit

reply

Saturday 7 November 2009, 6:35 PM

37 comments
roxyrohit roxyrohit

reply

Saturday 7 November 2009, 6:34 PM

37 comments

Featured Talkback

In association with Network Liberation Movement
The fact is: Software developers today are really designers and not coders. The reason that business anlaysts exist today to model solutions is because they understand the value of designing software before writing it. All too often developers create code that has little value because they do not understand that business classes interact with other classes within the confines of a working model or pattern.

By: 1000165269

Read full story:
Making sense of agile modelling


Skip Sub Navigation Links to CNET Brand Links

Help

Become part of the ZDNet community.

Newsletters