ZDNet UK


Skip to Main Content

ZDNet.co.uk - Winner of Best Business Website 2007
  1. Home
  2. News
  3. Blogs
  4. Reviews
  5. Prices
  6. Resources
  7. Community
  8. My ZDNet

 

ZDNet UK RSS Feeds


IT Jobs

Training Toolkit

Five critical success factors for top-notch developers

Jonathan Lurie Builder.com

Published: 15 Jul 2002 14:11 BST

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

Builder.Com

A friend of mine in his second year at the university asked me what it takes to be a great programmer. He had built a few Web sites and some simple VB6 applications and was interested in pursuing "something in computer science" as a career. My first reaction was to ramble off a quick list of the usual must-haves: C++/Java, networking, database design, and so on.

But a couple days later, I started reconsidering my advice. My first round of suggestions were "the basics," and knowing the basics is essential to any developer, top-notch or otherwise. So I came up with what I think are the critical success factors for truly outstanding software engineers.

Constantly up your IT IQ
Remember that no matter how much natural ability you have, unless your IT IQ is up to par then you will never realise your potential. Choose skills updates carefully. For example, while it's important to have a well-rounded IT education, every developer doesn't need an MCSE 2000. Join a user group or take a class to keep on top of emerging technologies, such as XML or .Net.

Adopt a reuse mindset
Top developers have both a firm understanding of Object-Oriented Programming (OOP) and a strategic approach to solving development problems. An effective programmer can separate root problems from their symptoms; complex problems should be broken down to individual areas. The best programmers break problems down step-by-step. This approach is conducive to individual code reuse and sharing vital resources with peers. The same problem should never be solved twice.

Develop a strong grasp of OOP principles, such as inheritance. Inheritance, which allows subclasses to utilise already defined classes, is a cornerstone of software reuse. You should be up to speed with all the latest theories on software development.

Understand underlying business principles
A good programmer recognises that no solution is effective unless it meets business objectives. Budgets, resources, and schedules play an integral role in the development of the solution. If a solution is not viable when weighed against these constraints, the solution must be revisited until it is viable. Selectively use the mantra "Cheaper, faster, better" -- in the real world, you'll end up picking two and moving on.

Have a mentor, be a mentor
The role of a mentor is integral in a top programmer's development. A mentor motivates, directs, commends, and chastises the programmer throughout his career. Think about a boxer who goes back to his corner between rounds. The boxer is counselled, healed, and motivated by his team. This team acts as a mentor to the boxer. A good developer has a network of mentors. While you should have mentors within your organisation, it's often more important to have mentors outside of your current company.

Be your own worst critic
The idea that you must divest yourself of your ego is absolutely preposterous. Ego is not a problem, egotism is. To many, this may seem like splitting hairs, but the difference is as great as the difference between marginality and excellence. Ego drives us to be excellent; the egoless are content with being marginal.

Have you ever gone to someone for candid criticism, only to repudiate the feedback as it's given? If so, then go back and ask for more candid feedback. You'll find that the criticism is less candid. If you ask for candor, don't argue with it. Contemplate it and thank the person for the help.

It's always easier to accept criticism from others when you are your own worst critic; you'll find that others' criticisms are less severe than your own. If you are able to criticise your own work, you'll find others more receptive to helping you find ways to improve.

Created by developers, for developers, Builder.com brings software developers fresh, real-world perspective on topics from programming to architecture to management. Builder.com will improve the way developers work with the information, tools, and services to help them conquer the challenges they face everyday in real-world development.

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

Did you find this article useful?
22 out of 48 people found this useful


Full Talkback thread

0 comments

Company/Topic Alerts

Create a new alert from the list below:














Loading Video Player ....

Discussions

1000262163 1000262163

Time the law was applied!

Thursday 21 August 2008, 9:51 PM

1 comment
Yellowcave Yellowcave

Goes against their current position.

Thursday 21 August 2008, 5:42 PM

1 comment