Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

Re: Uses and Abuses of PERL

by Phemur (Beadle)
on Oct 05, 2002 at 13:17 UTC ( #203029=note: print w/replies, xml ) Need Help??

in reply to Uses and Abuses of PERL

I work with an awful lot of talented (and real crappy) programmers, and I've been observing them to try to learn what makes them so good (and so bad). I've come to the conclusion that there is no magic answer. It's a combination of things, and different programmers have different combinations. Here are three examples of gifted programmers, with very different skill sets.

Programmer A
This first programmer is only a few years out of school, but he's quickly become one of the company's top engineers (and we have about 800 of them). He has an incredible ability to research and learn (he's like a sponge), but what sets him apart is his creativity in applying what he's learned.

Programmer B
He's a more senior engineer. He's an "old-school" C programmer, and so his C++ code has a lot of globals and pointer arithmetic, but he doesn't make many mistakes (if any). In addition, he has a lot of vision and an uncanny ability to predict the future. His code reflects this, by leaving a lot of flexibility for future development.

Programmer C
In terms of experience, he sits somewhere between programmer A and B. His key to success is simplicity. He doesn't use fancy code or technologies to get work done. He relies on tools he knows well, always picks the right tool for the right job, and makes sure his code is as simple as possible. It may not be flexible or fancy, but it's so easy to read that anyone can understand it. It's quickly modified, and there are rarely any bugs in the code.

Each of these programmers has his own strengths, and I could go on for a while about what makes them so good.

Documentation, efficiency, and all of the other traits you mentioned are all good qualities for a programmer to have, but in the end, knowledge, and the ability to apply it, is what sets them apart. You can be the most organized, efficient, creative person on the planet, but if you don't know the tools and technologies you're using, and you don't know what problem you're trying to solve, your code will be crap.

Read, learn, apply. Often. That's the key to becoming a wicked engineer (IMHO).


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://203029]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (5)
As of 2017-12-16 13:21 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (453 votes). Check out past polls.