Five critical success factors for top-notch developers

NEWS
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.

Post your comment

In order to post a comment you need to be registered and logged in.

You can also log in with Facebook. Log in or create your ZDNet UK account below

  • Login

Will not be displayed with your comment

By signing up for this service, you indicate that you agree to our Terms and Conditions and have read and understood our Privacy Policy. Questions about membership? Find the answers in the Community FAQ

Get ZDNet UK's daily newsletter

Enter your email address to sign up

ZDNet UK Live

TerryRK

Well it seems there is something a number of us agree on. Why is the Ubuntu Unity launcher so ugly? I thought perhaps it was something to do with...

3 hours ago by TerryRK on A tale of two distros: Ubuntu and Linux Mint
Freebies202

Duplicate comments are not made intentionally. Its very good to know that now you are keeping check on this problem because sometimes a commenter...

13 hours ago by Freebies202 on Microsoft fixes blog comments, speeds up blogs with open source
kevinmchapman

"the very significant number of users" and "many (most) of us" - you have no evidence for these statements. It is a fact that most users are saying...

21 hours ago by kevinmchapman on A tale of two distros: Ubuntu and Linux Mint
Marg Menzies Harrison

Another grammar faux pas is the improper use of "you". When sitting down down in a restaurant, for example, I get cringe when the waitress...

22 hours ago by Marg Menzies Harrison via Facebook on 10 flagrant grammar mistakes that make you look stupid
zdnetukuser

And NOW, folks, for Canonical's next trick... Kubuntu is late. Here's a pencil. Draw your own conclusions. cf.:...

23 hours ago by zdnetukuser on Linux Minterface
Moley

@kevinmchapman. The discussion here reflects the very significant number of users who really do like the traditional menu system and who wish to...

1 day ago by Moley on A tale of two distros: Ubuntu and Linux Mint
kevinmchapman

Er, no... It is an efficient means of finding the application/file/setting you need in one place. The icons are a simply a fallback for when you...

1 day ago by kevinmchapman on A tale of two distros: Ubuntu and Linux Mint
TerryRK

Isn't the provision of a text based search an admission by the developers that the mass of icons approach does not work? I don't need to use a...

1 day ago by TerryRK on A tale of two distros: Ubuntu and Linux Mint
kevinmchapman

"Unity and GNOME 3 both abandon the old text-based cascading menus in favour of a graphical icon-driven system." Point truly missed. Both use a...

1 day ago by kevinmchapman on A tale of two distros: Ubuntu and Linux Mint
TerryRK

whs001 - Thank you, I'm glad you liked the article. I absolutely agree with you on your first point. I should perhaps have made it clearer that...

1 day ago by TerryRK on A tale of two distros: Ubuntu and Linux Mint
Dennis Nilsson

If we allow corporate interest to dictate the way our government circumvents due process against foreign entities then we should accept the same...

1 day ago by Dennis Nilsson via Facebook on ACTA stumbles in Germany
GHar123

I totally dislike pirating of works, I fear that artists will be deterred from creating works if they think that they are going to get ripped off....

1 day ago by GHar123 on ACTA stumbles in Germany
JCB33

How dare film makers, artists or anybody that invests in creativity stop us pirating their works for free. I want to be able to walk into my local...

2 days ago by JCB33 on ACTA stumbles in Germany
Moley

@GrueMaster. I prefer horses for courses rather than one size fits all. I, and I suspect most other computer users, do not really wish to have...

2 days ago by Moley on A tale of two distros: Ubuntu and Linux Mint
greycynic

The product that scares me every time I have to use it is the Office 2007 version of Excel. The first bug that I found was applying the median...

2 days ago by greycynic on Ten flawed products that derail productivity
GrueMaster

Nice review and very informative. One thing I'd like to add (in reply to whs001's 1st question), the main reason to have the same interface from...

2 days ago by GrueMaster on A tale of two distros: Ubuntu and Linux Mint
Frederick Wrigley

I'be been using Mint 12 since the RC came out, and I am far more happy with the Cinnamon, the Mate, and, yes (with extensions), theGnome 3...

2 days ago by Frederick Wrigley via Facebook on A tale of two distros: Ubuntu and Linux Mint
bdantas

Excellent article. One small correction, though--although a fresh installation of Linux Mint 12 will, indeed, provide the user with a version of...

2 days ago by bdantas on A tale of two distros: Ubuntu and Linux Mint
Alan Ralph

In related news, the ISPs club together to get the members of the Home Affairs Select Committee (ya goofed on that part, ZDNet UK) copies of "The...

2 days ago by Alan Ralph via Facebook on MPs urge ISPs to take down terrorist material
Alan Ralph

In related news, the ISPs club together to get the members of the Home Affairs Select Committee (ya goofed on that part, ZDNet UK) copies of "The...

2 days ago by Alan Ralph via Facebook on MPs urge ISPs to take down terrorist material