Comments on: 4 (+6) Tips for Being a Good Programmer http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/ A look at web development standards, practices, and tips Thu, 13 Nov 2008 03:59:34 +0000 http://wordpress.org/?v=2.1.3 By: jon http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-3 jon Wed, 18 Apr 2007 15:38:51 +0000 http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-3 About #9, what the hell? So you belive that a programmer should work for free? Why does the employer deserve such charity? About #9, what the hell? So you belive that a programmer should work for free? Why does the employer deserve such charity?

]]>
By: Charles http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-4 Charles Wed, 18 Apr 2007 16:44:38 +0000 http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-4 They definitely don't deserve charity. But as a salaried employee, you should be paid more than you would be if you were hired as an hourly employee. You are expected to get the job done. That is the part I want to emphasize. I have seen many new programmers come in with a mentality of "you are only paying me for 75% output. I will increase my productivity if you increase my pay". You give 100% (or more) until you either don't want to, or you are being taken advantage of. Then it is time to renegotiate. The other more simple scenario: You are given a task on Friday at 4:30 which is due on Monday morning. You are going to have to work on the weekend. Sometimes you will get Comp time, and sometimes you won't depending on what the task is. There are a considerable amount of intangible drains on your time which will carry you well outside the realm of a 9 to 5 job. They definitely don’t deserve charity. But as a salaried employee, you should be paid more than you would be if you were hired as an hourly employee. You are expected to get the job done. That is the part I want to emphasize. I have seen many new programmers come in with a mentality of “you are only paying me for 75% output. I will increase my productivity if you increase my pay”. You give 100% (or more) until you either don’t want to, or you are being taken advantage of. Then it is time to renegotiate. The other more simple scenario:
You are given a task on Friday at 4:30 which is due on Monday morning. You are going to have to work on the weekend. Sometimes you will get Comp time, and sometimes you won’t depending on what the task is. There are a considerable amount of intangible drains on your time which will carry you well outside the realm of a 9 to 5 job.

]]>
By: JT http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-5 JT Wed, 18 Apr 2007 16:56:36 +0000 http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-5 The issue here is not working for free. It's really about being flexible and not adhering to a strict 40 hour work week. An employer should expect a bit of flex time... sometimes it will be short, other times long. But the more an employee holds to the "40 hours and I'm outta here" approach, the less management thinks of them being a "get it done" kind of person. This may suck as in general the contract is for 40 hours week, but it's the way life works. Is it right? that's debatable... but it is the way things work at most companies. I've seen promotions awarded for people working "hard"... not "right". Again, it sucks. But to "get ahead" it pays to be aware of the way management views these situations. The issue here is not working for free. It’s really about being flexible and not adhering to a strict 40 hour work week. An employer should expect a bit of flex time… sometimes it will be short, other times long. But the more an employee holds to the “40 hours and I’m outta here” approach, the less management thinks of them being a “get it done” kind of person. This may suck as in general the contract is for 40 hours week, but it’s the way life works. Is it right? that’s debatable… but it is the way things work at most companies. I’ve seen promotions awarded for people working “hard”… not “right”. Again, it sucks. But to “get ahead” it pays to be aware of the way management views these situations.

]]>
By: Chris http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-6 Chris Wed, 18 Apr 2007 19:11:34 +0000 http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-6 Strongly disagree with #9. In my experience developer overtime has always been a direct result of poor management - poor project planning, ludicrously optimistic design, poor problem anticipation and avoidance, poor communication. A new programmer is way better off doing his/her best to avoid the badly mismanaged outfits. Instead opt for the ones that don't treat their developers like an inherently inferior species that can be flogged into working 12 hr days just because developers don't have an MBA. Strongly disagree with #9. In my experience developer overtime has always been a direct result of poor management - poor project planning, ludicrously optimistic design, poor problem anticipation and avoidance, poor communication.

A new programmer is way better off doing his/her best to avoid the badly mismanaged outfits. Instead opt for the ones that don’t treat their developers like an inherently inferior species that can be flogged into working 12 hr days just because developers don’t have an MBA.

]]>
By: Tara http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-7 Tara Wed, 18 Apr 2007 20:34:25 +0000 http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-7 Chris and Jon.... Ok....so you believe you only work 40 hours a week and your done?? I'm not even a programmer and I know that's not true. It has been my experience that working with those people who say it's 5pm and I'm outta here @ 4:59 are not the most productive sorts. You need to put 110% all the time every time. If you want to make a name for yourself within your company you need to be willing to bend over a little. If you company appreciates you...you're gonna see it in your pay check. If they don't...you just need to move on until you find a place that does, and sometimes, you'll never find it and you just need to ask yourself...do I need a career change? Poor management or not the failure of a project is ultimately on you even if you're not really to "blame." So you might as well nut up and get the job done. Chris and Jon….
Ok….so you believe you only work 40 hours a week and your done?? I’m not even a programmer and I know that’s not true. It has been my experience that working with those people who say it’s 5pm and I’m outta here @ 4:59 are not the most productive sorts. You need to put 110% all the time every time. If you want to make a name for yourself within your company you need to be willing to bend over a little. If you company appreciates you…you’re gonna see it in your pay check. If they don’t…you just need to move on until you find a place that does, and sometimes, you’ll never find it and you just need to ask yourself…do I need a career change? Poor management or not the failure of a project is ultimately on you even if you’re not really to “blame.” So you might as well nut up and get the job done.

]]>
By: Robert http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-8 Robert Thu, 19 Apr 2007 16:07:53 +0000 http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-8 Number 9; This is against the law. If developers are willing to do this then they will be taken advantage of. In California, salaried does not mean 'exempt.' A programmer must be making the equivalent of ~40 dollars an hour to be considered exempt or an executive of some type. This is kind of thinking is not 'OK' no matter what your career path is. If you are not exempt and you are working over time you are being taken advantage of. Corporations DO NOT have your best interests at heart and if they had it their way you would work for free. There is a reason why we have labor laws. Number 9; This is against the law. If developers are willing to do this then they will be taken advantage of. In California, salaried does not mean ‘exempt.’ A programmer must be making the equivalent of ~40 dollars an hour to be considered exempt or an executive of some type.
This is kind of thinking is not ‘OK’ no matter what your career path is. If you are not exempt and you are working over time you are being taken advantage of. Corporations DO NOT have your best interests at heart and if they had it their way you would work for free. There is a reason why we have labor laws.

]]>
By: Chris http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-9 Chris Thu, 19 Apr 2007 20:27:56 +0000 http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-9 There are different kinds of overtime. On the point of principle, I am very reluctant to do overtime that involves routine tasks. Working until 9pm to fix yet another bug in the payroll system is not why I joined this field. Of course, things happen once in a while and you have to step in, such as when you are new to the team or the tasks have large visibility and impact, but I believe working overtime should be an exception. However I have no problem staying late to work on innovative projects. The deal is that if I am staying late without extra pay, then at least I get out of it something, such as knowledge of new technology or a valuable experience. My point, and its one based on experience, is that a developer is usually better off resisting overtime than actually embracing it. Once you start routinely doing overtime, management expects you to keep doing the same for the same pay. You just end up raising the bar for yourself. Let me tell you where I come from. I used to work for a large software vendor where everybody was putting in a fair amount of overtime. Management just took it, said "thanks for the great effort, team!" in a lovely email and life moved on. The people that stayed that latest were not necessarily the ones that got the promotions. Now I work for a small company that does Extreme Programming, where I am at least twice as productive as before, yet we never go beyond 40 hr days (which is part of the XP paradigm). My career and pay is so much better for it, and the level of satisfaction with what I do has quadrupled. Of course, developers should always spend extra time staying on top of technologies, reading up on trends and experimenting with languages, and I do a fair amount of stuff like that during evenings and weekends. You will never go far in the field if you don't. Just my experience anyways. There are different kinds of overtime. On the point of principle, I am very reluctant to do overtime that involves routine tasks. Working until 9pm to fix yet another bug in the payroll system is not why I joined this field. Of course, things happen once in a while and you have to step in, such as when you are new to the team or the tasks have large visibility and impact, but I believe working overtime should be an exception.

However I have no problem staying late to work on innovative projects. The deal is that if I am staying late without extra pay, then at least I get out of it something, such as knowledge of new technology or a valuable experience.

My point, and its one based on experience, is that a developer is usually better off resisting overtime than actually embracing it. Once you start routinely doing overtime, management expects you to keep doing the same for the same pay. You just end up raising the bar for yourself.

Let me tell you where I come from. I used to work for a large software vendor where everybody was putting in a fair amount of overtime. Management just took it, said “thanks for the great effort, team!” in a lovely email and life moved on. The people that stayed that latest were not necessarily the ones that got the promotions. Now I work for a small company that does Extreme Programming, where I am at least twice as productive as before, yet we never go beyond 40 hr days (which is part of the XP paradigm). My career and pay is so much better for it, and the level of satisfaction with what I do has quadrupled.

Of course, developers should always spend extra time staying on top of technologies, reading up on trends and experimenting with languages, and I do a fair amount of stuff like that during evenings and weekends. You will never go far in the field if you don’t.

Just my experience anyways.

]]>
By: Charles http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-10 Charles Thu, 19 Apr 2007 21:49:22 +0000 http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-10 Chris, Those very valid points and I agree completely. I think we are talking around the same points. When you are a beginning developer, you are gaining knowledge of a new (to you) technology, as well as experience that can be put on the resume. I think it is a balancing act that is more difficult for a beginning developer to address. Someone in your situation has far more leverage, and no need to pad the resume. An experienced developer should hopefully never get into the situation. They have more experiencing with controlling the direction of projects to insure success on a sane schedule. Sorry to Threadjack: Could we discuss your Extreme Programming experiences some time? I have yet to talk to someone who didn't have an agenda in pushing XP. I would love to hear your input, as a hopefully unbiased source. Chris,
Those very valid points and I agree completely. I think we are talking around the same points. When you are a beginning developer, you are gaining knowledge of a new (to you) technology, as well as experience that can be put on the resume. I think it is a balancing act that is more difficult for a beginning developer to address. Someone in your situation has far more leverage, and no need to pad the resume.
An experienced developer should hopefully never get into the situation. They have more experiencing with controlling the direction of projects to insure success on a sane schedule.

Sorry to Threadjack: Could we discuss your Extreme Programming experiences some time?
I have yet to talk to someone who didn’t have an agenda in pushing XP. I would love to hear your input, as a hopefully unbiased source.

]]>
By: Tara http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-13 Tara Fri, 20 Apr 2007 02:38:31 +0000 http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-13 Chris it sounded much better this time and I am in agreement. I'm hardly gracious about working overtime I just know it's what I need to do in the position where I work. As for Robert....of course corporations don't care about you...however in my line of work, if the cat is bleeding all over the floor it doesn't mean I get to leave because it's 10pm...yeah there are labor laws but sometimes you need to stick it out to get the job done. I don't look at that as being taken advantage of I see it as being able to fix the problem and fix it well. Chris it sounded much better this time and I am in agreement. I’m hardly gracious about working overtime I just know it’s what I need to do in the position where I work.

As for Robert….of course corporations don’t care about you…however in my line of work, if the cat is bleeding all over the floor it doesn’t mean I get to leave because it’s 10pm…yeah there are labor laws but sometimes you need to stick it out to get the job done. I don’t look at that as being taken advantage of I see it as being able to fix the problem and fix it well.

]]>
By: JT http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-14 JT Fri, 20 Apr 2007 02:41:00 +0000 http://www.charlesrowe.com/2007/04/17/4-6-tips-for-being-a-good-programmer/#comment-14 Corporations are indeed, incented to take advantage of employees. It's wise to study or at least know the laws in your governing state. PA for example is an employment at will state so an employer can release an employee without notice for no reason without penalty. California is clearly different than the east coast. I've lived and worked in both places. But again, it's important to understand and work your local laws. Most employers, however, are not really happy to hear law quoted to them. Again, it's about working the system here. Knowing what's expected and how to deliver that is key. Personally, I don't care what hours my employees work as long as they meet their own deadlines. I don't "set" deadlines for them, rather negotiate with them to establish those timelines. If an employee has a problem meeting a deadline and did not notify me of that issue, we will have a problem. It's key to be flexible. Corporations are indeed, incented to take advantage of employees. It’s wise to study or at least know the laws in your governing state. PA for example is an employment at will state so an employer can release an employee without notice for no reason without penalty.

California is clearly different than the east coast. I’ve lived and worked in both places. But again, it’s important to understand and work your local laws. Most employers, however, are not really happy to hear law quoted to them.

Again, it’s about working the system here. Knowing what’s expected and how to deliver that is key. Personally, I don’t care what hours my employees work as long as they meet their own deadlines. I don’t “set” deadlines for them, rather negotiate with them to establish those timelines. If an employee has a problem meeting a deadline and did not notify me of that issue, we will have a problem.

It’s key to be flexible.

]]>