Help coderanch get a
new server
by contributing to the fundraiser
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Devaka Cooray
  • Liutauras Vilda
Sheriffs:
  • Jeanne Boyarsky
  • paul wheaton
  • Henry Wong
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Tim Moores
  • Carey Brown
  • Mikalai Zaikin
Bartenders:
  • Lou Hamers
  • Piet Souris
  • Frits Walraven

Share your secret!

 
Ranch Hand
Posts: 365
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Folks,
What makes a good programmer? WHat do you think that keeps one there in the job! Something that you have known by your own experience.
Tina
 
Ranch Hand
Posts: 82
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
A good 'programmer' has to like coding and not be an aspiring designer/manager with excellent attention to detail. It almost seems to be an innate skill. I have meet hundreds of coders and only a hand full of 'good' programmers. What keeps them on the job is well laid out in McConnel's Rapid Development bu t I have never seen a company treat them like the invaluable resource they are and I suspect that is getting worse.
 
Ranch Hand
Posts: 121
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

What makes a good programmer?


Someone who can code intelligently AND comment just the same. Nothing like looking at a piece of code someone wrote months/years earlier and trying to decipher what it means. If the person had done a good job of commenting, it would alleviate much of the understanding. Note: Not just comment, but comment well. I came across an assembly language book written in the early 90's where the author makes the point of writing at least one comment line for every line of assembly code.

WHat do you think that keeps one there in the job!


Like in most jobs, knowing the "why" as to your job is paramount. If you cannot understand why your job exists, then you will soon not have it. One other key that "keeps one in the job" - and I'll get a lot of evil stares, I'm sure - is to focus on networking with those in favorable positions. IOW, a lot of times its not so much what you know, but who you know that can be the deciding factor on down the road.
 
Ranch Hand
Posts: 167
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The real secret is to ensure you look like a great employee, i.e more of form over substance. If you keep yourself with the right power group in any organization you will survive and thrive regardless of your competence level; as long as you can keep up to an average level with other employees
 
Ranch Hand
Posts: 3404
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

focus on networking with those in favorable positions. IOW, a lot of times its not so much what you know, but who you know that can be the deciding factor on down the road.


What you are also saying is to make their goals , your goals.
Is that an easy thing to do ? What if they are not professionals ?
Would this "herd" mentality see you through long term ?

regards
 
Saloon Keeper
Posts: 28062
198
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I think we have two different versions of "good programmer" here:
Version 1 - �ber-geek who can design and deliver incredibly wonderful software to the adoring masses (well, something like that, anyway ).
Version 2 - Someone who can find and keep a job programming.
I went to new employee orientation the other day and one of the people there was a new LAN tech who'd had about 5 jobs over the last 3 years. His comment to the group when was "I learned that the smarter you get, the harder it is to get a job".
Sad, ain't it?
 
Greenhorn
Posts: 19
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Shay and Tim,
You were so right!
Over the many years, I have been changing and trying to find the right ass(es) to kiss whereever I worked.
Paul
 
Ranch Hand
Posts: 2596
Android Firefox Browser Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
A basic curiosity - How things work and why they work the way they work!
- Manish
 
Ranch Hand
Posts: 716
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Tim Holloway:
I think we have two different versions of "good programmer" here:
Version 1 - �ber-geek who can design and deliver incredibly wonderful software to the adoring masses (well, something like that, anyway ).
Version 2 - Someone who can find and keep a job programming.
I went to new employee orientation the other day and one of the people there was a new LAN tech who'd had about 5 jobs over the last 3 years. His comment to the group when was "I learned that the smarter you get, the harder it is to get a job".
Sad, ain't it?


The '�ber-geek' can be a difficult employee and colleague. This is a discipline in which the team and the product of the team is paramount, and �ber-geeks tend to have �ber-egos, and need to stand out and be the star.
Sometimes this can result in software built to gratify someone's ego rather than a system built to satisfy requirements.
I maintain that a core virtue of a good programmer is humility. Possibly the core virtue. Djkstra wrote an essay in 1987 titled The Humble Programmer which makes this point very well.
"Someone who can find and keep a job programming.", on the other hand, seems to hold the matter of professional competence to be irrelevant. Something which unfortunately seems to hold in a number of organizations.
One thing which the recession taught me is that careful selection of one's employer and role is critically important. Even a 'good' programmer cannot do everything, and an attempt to do so can be professionally disasterous. The worst career move I have made was into a professional services role where I was constrained by relative lack of information. I followed that with a move back into development (the right move) but with an employer who did not understand development and development work and valued appearance above accomplishment and individual stardom above solid team achievement. That ultimately proved unrewarding as well.
[ September 10, 2003: Message edited by: Alfred Neumann ]
 
Tina Desai
Ranch Hand
Posts: 365
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I feel in the initial years you need to put in lots of efforts and hours to be valuable. The bad thing about programming I feel is that u need to be on your toes even after u are sufficiently experienced in this field.
Professionalism is a great thing. And it sure makes your position stable if not strong.
Tina
 
Al Newman
Ranch Hand
Posts: 716
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Tina Desai:
I feel in the initial years you need to put in lots of efforts and hours to be valuable. The bad thing about programming I feel is that u need to be on your toes even after u are sufficiently experienced in this field.
Professionalism is a great thing. And it sure makes your position stable if not strong.
Tina


And in the subsequent years you need to put in lots of effort and time to be employable. There is no such thing as 'sufficiently experienced' except perhaps as a transient state. Nor is there such a thing as stability except as a transient state.
[ September 10, 2003: Message edited by: Alfred Neumann ]
 
"The Hood"
Posts: 8521
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
In this day and age, what companies are looking for is less someone who knows how to code well, there are LOTS of those around. They need someone who knows alot of technologies and can learn a new technology on a moments notice, preferrably without formal training (can buy a book and learn on their own).
In addition, good programmers need to be able to conform to structured processes in the development cycle - which most programmers hate to do because of the paperwork involved, but is a MUST as the industry becomes more mature.
As for ass-kissing, I have managed to survive and advance for 20 years without ever sinking to this level. I just do NOT do politics, and everyone knows that. I will probably never become an upper management person because of that, but that is fine with me. Just pay me the bucks and leave me down here in the trenches. I have not managed to completely escape the project management responsibilities, however that just requires that I interact with other techies alot.
 
Al Newman
Ranch Hand
Posts: 716
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Cindy Glass:
In this day and age, what companies are looking for is less someone who knows how to code well, there are LOTS of those around. They need someone who knows alot of technologies and can learn a new technology on a moments notice, preferrably without formal training (can buy a book and learn on their own).


It's kind of a weird time now, so perhaps we shouldn't be making too many judgements on what the world is going to be like based upon what it's like now.
I flatter myself that I'm exactly the kind of person whom Cindy describes here, yet I spent 8 months between positions. Admittedly I landed two contracts during that period which fell through last-minute, and toward the end of that time was getting into the final round 3 times a month, but still....
I found that explaining how I was such an adaptable dude didn't get me very far in interviews. I had to get a lot of details in my head and be able to spout them(which is one reason I did my certifications). Once I got past the filters then my adaptability did me some good!

Originally posted by Cindy Glass:
In addition, good programmers need to be able to conform to structured processes in the development cycle - which most programmers hate to do because of the paperwork involved, but is a MUST as the industry becomes more mature.


Yes. Maybe. Certainly most programmers will have to be able to grok RUP artifacts such as Use Cases, State diagrams, and Class diagrams. They may not have to produce them, particularly if they are contractors. OTOH, if the programmers work in Xp, they will have to be able to read the backs of envelopes and cocktail napkins, eh?

Originally posted by Cindy Glass:
As for ass-kissing, I have managed to survive and advance for 20 years without ever sinking to this level. I just do NOT do politics, and everyone knows that. I will probably never become an upper management person because of that, but that is fine with me. Just pay me the bucks and leave me down here in the trenches. I have not managed to completely escape the project management responsibilities, however that just requires that I interact with other techies alot.


I tend to think that tuft-hunting may help in certain situations, but as a career strategy it's a very bad move. I'm very much like you in that respect, Cindy. But let me tell you, I paid heavily for not having the brown-nose skills in my last two jobs, Cindy. I was well-pocked in both situations whilst the brown-nosers were raised high....
 
Stephen Pride
Ranch Hand
Posts: 121
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by HS Thomas:
What you are also saying is to make their goals , your goals.
Is that an easy thing to do ? What if they are not professionals ?
Would this "herd" mentality see you through long term ?


No, not quite.
No, not quite.
Various options exist.
Evidentally, you misunderstood me.

Originally posted by Cindy Glass:
As for ass-kissing, I have managed to survive and advance for 20 years without ever sinking to this level. I just do NOT do politics, and everyone knows that. I will probably never become an upper management person because of that, but that is fine with me. Just pay me the bucks and leave me down here in the trenches. I have not managed to completely escape the project management responsibilities, however that just requires that I interact with other techies alot.


If you were referring to my response, you - like Thomas - misunderstood what I was saying. I am was not advocating "ass-kissing" in order to make gains in your job/employment - (unless, of course, our definitions of "ass-kissing" are different).
I am not advocating that everyone quit what they are doing, go to their bosses office, socialize with her/him, agree to whatever they say, agree to lick their shoes, and so on. What I am saying is to make your voice heard more in the ranks instead of hiding in your cubicle doing the 8-5 zombie routine day-after-day (unless this is what you really want in life). If you lack public speaking skills, join a local Toastmasters, and use the skills by making more presentations at work. And, yes, try to mingle more with those in favorable positions on a professional level. As I said in my closing sentence, one such person could very well be the difference between you being employed/promoted or not down the road - like it or not.
 
Al Newman
Ranch Hand
Posts: 716
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

One other key that "keeps one in the job" - and I'll get a lot of evil stares, I'm sure - is to focus on networking with those in favorable positions. IOW, a lot of times its not so much what you know, but who you know that can be the deciding factor on down the road.



If you were referring to my response, you - like Thomas - misunderstood what I was saying. I am was not advocating "ass-kissing" in order to make gains in your job/employment - (unless, of course, our definitions of "ass-kissing" are different).


Stephen, I suppose this could be interpreted as meaning butt-kissing - if one has an evil mind. But also not.
For example whomever is directing my current efforts at the moment gets a shortish 'status report' each day via email summarizing my efforts, results, and mistakes (if I trust them) for the day. They get it 'if you want it or not'! Last thing I do before leaving.
Usually the manager finds this useful, as do I. For me it's a form of discipline (avoiding the "get a round tuit" syndrome). It keeps the manager in touch with what is going on. And it makes my results visible, as I've noticed that it gets transmitted upward as appropriate. Yet I doubt anyone could call this butt-kissing as it has a clear functional value.
Maintaining friendly links with those around you (obviously useful and those less obviously useful), going to company do's and networking, and being visible are all legit ways of improving one's position.
 
Tina Desai
Ranch Hand
Posts: 365
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Also, we have to keep the job plus keep updating our own knowledge. How much attention to give to each of these and how to divide the time?
Tina
 
Cindy Glass
"The Hood"
Posts: 8521
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Alfred Neumann:

I flatter myself that I'm exactly the kind of person whom Cindy describes here, yet I spent 8 months between positions. Admittedly I landed two contracts during that period which fell through last-minute, and toward the end of that time was getting into the final round 3 times a month, but still....


I will agree that the parameters for GETTING a job are probably different from those for KEEPING a job. It is very difficult to show how adaptable you are in an interview. However if you are on the job, and show that you can NOT adapt or are not willing to constantly be studying and learning, in this market your career will probably be short.

Originally posted by Alfred Neumann:

Yes. Maybe. Certainly most programmers will have to be able to grok RUP artifacts such as Use Cases, State diagrams, and Class diagrams. They may not have to produce them, particularly if they are contractors. OTOH, if the programmers work in Xp, they will have to be able to read the backs of envelopes and cocktail napkins, eh?



Well, I work in corporate America, and XP is not in much favor here. I am sure that there are shops out there that use it, but if you want to live in Corporate America, you had better plan on following a lot of strict formal processes. Most Corporations have either implemented ISO 9002 programming standards or CMM (Capability Maturity Model) processes. There are Requirements processes, change request processes, review processes, Change control processes, maintenance processes, configuration management processes, etc etc each detailing a laundry list of documentation that must be completed. By the programmer. And that does not even count program documentation. Those that squeal TOO loud are the first to be discarded in a cutback.
[ September 12, 2003: Message edited by: Cindy Glass ]
 
Ranch Hand
Posts: 115
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Simple:
1) do your job well
2) make your superior look good by doing 1)
3) only associate with subordinates that do their job well
4) only associate with subordinates that make you look good
underlining theme: NOBODY wants to lose his/her job. NOt the guy above you. The guy above the guy above you, etc.. Not even you!! Work together to build a good team is the best non-zero sum game...

Never go aboard or stay on a sinking ship. These are no win situations. You dont want to be in those. Leave with your dignity and the moral high ground.
-Eleison
ps. after college, I feel that these tips have so far worked for me. YMMV

Originally posted by Cindy Glass:


Well, I work in corporate America, and XP is not in much favor here. I am sure that there are shops out there that use it, but if you want to live in Corporate America, you had better plan on following a lot of strict formal processes. Most Corporations have either implemented ISO 9002 programming standards or CMM (Capability Maturity Model) processes. There are Requirements processes, change request processes, review processes, Change control processes, maintenance processes, configuration management processes, etc etc each detailing a laundry list of documentation that must be completed. By the programmer. And that does not even count program documentation. Those that squeal TOO loud are the first to be discarded in a cutback.
[ September 12, 2003: Message edited by: Cindy Glass ]

 
Tina Desai
Ranch Hand
Posts: 365
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
That's quite right Eleison!
Tina
 
Ranch Hand
Posts: 33
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
One simple rule-
If you can't beat them, join them!
 
HS Thomas
Ranch Hand
Posts: 3404
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Alfred Neumann
For example whomever is directing my current efforts at the moment gets a shortish 'status report' each day via email summarizing my efforts, results, and mistakes (if I trust them) for the day. They get it 'if you want it or not'! Last thing I do before leaving.


Reminds me of a saying:
If they know nothing of what you are doing, they suspect you are doing nothing.
Sound advice!

If they are doing something that's wrong because of short-sightedness , what do you do then ? They cannot see the big picture that a few can (who are not in leadership roles). Do you blindly play "follow the leader "? Perhaps there are other skills one should also develop.
regards
[ September 14, 2003: Message edited by: HS Thomas ]
 
Ranch Hand
Posts: 133
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Cindy Glass:
In this day and age, what companies are looking for is less someone who knows how to code well, there are LOTS of those around.


I don't believe that at all. There are lots of people who know a given language and can spit out code in that language. But my current estimate is that about 10% of the 'profession' can do it well.

Originally posted by Cindy Glass:
They need someone who knows alot of technologies and can learn a new technology on a moments notice, preferrably without formal training (can buy a book and learn on their own).


That's another rare breed. Some years ago I read that the average professional programmer bought and read less than one professional book a year. I don't think that rate has gotten any better.

Originally posted by Cindy Glass:

In addition, good programmers need to be able to conform to structured processes in the development cycle - which most programmers hate to do because of the paperwork involved, but is a MUST as the industry becomes more mature.


If you've got a development process with a lot of paperwork involved then you are probably wasting a lot of time.

Originally posted by Cindy Glass:

As for ass-kissing, I have managed to survive and advance for 20 years without ever sinking to this level. I just do NOT do politics, and everyone knows that. I will probably never become an upper management person because of that, but that is fine with me. Just pay me the bucks and leave me down here in the trenches. I have not managed to completely escape the project management responsibilities, however that just requires that I interact with other techies alot.


I'm pretty sure that the reason I lost my last job, in part, was that I said that the design of a framework we we using was 'inane'. That and the CTO designed the framework.
I don't miss it.
 
HS Thomas
Ranch Hand
Posts: 3404
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Cindy Glass:
Most Corporations have either implemented ISO 9002 programming standards or CMM (Capability Maturity Model) processes.


These are open to interpretation and prescriptive, aren't they ?
Not rigid standards but maybe the minimum.

regards
 
reply
    Bookmark Topic Watch Topic
  • New Topic