|
|
Comments and Discussions
|
|
 |

|
Hi Chris,
Your book came at a bad time for me and showed me the way. I manage to make the workplace actually work and I have less people on my back when there is a crisis (and there is one once a week )
This first installment just comes to prove that you are sooo right.
Can't wait for the rest
Cheers!
Alberto Gattegno
Software Engineer
http://www.itgil.com
|
|
|
|
|

|
I once worked for a large multi-national. My PM was really clever. He and I were interviewing for a key position on the team. I remember one candidate who had excellent credentials, and wanted to change jobs because the project he was on was in trouble. After the interview I said something like "..we've got to hire him" to which my PM laughed. He wouldn't touch him. He said the last person we want is someone who bails out when the going gets tough.
The lesson I learned is that after a certain level of competency PMs start looking for other skills you will bring to the team. To be able to say "...the project I worked on was in trouble, but I stuck around and solved it" counts.
|
|
|
|

|
That's an excellent, realistic story, and it touches on something that I emphasize a lot in the book - good coding skills will only take you so far. Beyond having the required core competencies, it really comes down to how well you can work with people. I find that to be much more complex and challenging than any source code I've ever seen.
I also like how your example points out the value of ethics. While it's true that Business is War, you can still fight with honor. I personally believe that will always serve you well in the long run.
Chistopher Duncan
Author - The Career Programmer: Guerilla Tactics for an Imperfect World (Apress)
|
|
|
|

|
I be for eigener. I not over but real lee under stand urtical. Only I know not, what view and why, or why not.
I try CView but errors. I have collegue who say buttface, put CTreeView, water and grow it, and see wunder it compiled!
You thank!
developing developer
|
|
|
|

|
Just wanted to say that a co-worker has printed out a full paragraph of your article and stuck it on his cubicle wall, right in front of him.
He is quite a discerning chap, so what you said must have struck him as something worth remembering. He even has your name in bold underneath the quote. BTW it was the It's Not My Job section .
|
|
|
|

|
You know, writing books and articles in this business isn't likely to make you a multi-gazillionaire. Don't get me wrong, I'm as enthusiastic about obtaining more (insert your local currency here) as the next guy, but that's not what really drives most writers and speakers. Having a chance to share what you've learned through your own mistakes so that you can help others is an extremely cool experience. At the end of the day, it's what makes it all worthwhile.
Consequently, I always enjoy hearing success stories of how people applied the tactics I write about in their own environments. Anyone who has such tales is always welcome to email me (Chris@ShowProgramming.com). I love it when the working guy wins.
Chistopher Duncan
Author - The Career Programmer: Guerilla Tactics for an Imperfect World (Apress)
|
|
|
|

|
This is a great intro to what looks like the start of a great series!
Looking forward to the rest of the series
Dylan Kenneally
London, UK
|
|
|
|
|

|
Great article, however there is a better strategy - quit when it's getting too annoying or cumbersome!
Managers are paid for managing the projects, developers are paid for developing it. If the manager is incompetent and heads on for release disaster then there is no place for me in that company.
Why would I want to play all those stupid games when I can just go to another place, and repeat the procedure as long as I find the place that is managed properly?
Everybody in the company has it's place and role. The role of developer is to develop, and manager to manage. There is no point to try to "outsmart management" - if they suck you should just quit. Simple and effective.
No sleep for days?! Overtime?! You got to be kidding me! The only way I will do any overtime is when they pay extra and cover my transport back home and my dinner. Otherwise - bye bye.
I have not the need to expand my view - it's not my job. Really. There are people that are paid to see the big picture and expand the view - they can come and ask if the deadlines are realistic and features are within reach. If they don't - they are responsible for failing the deadline. Turn the view around - why doesn't management get a C++ course and try to understand the development process? For the same reason I don't want to know about management - I am not interested in it.
It is sometimes happening that develoepr is blamed for the missed deadlines, but if you are in such a place you have one more reason to quit. Don't allow them to place the blame on you, if you smell trouble just leave the game.
|
|
|
|

|
George wrote:
when I can just go to another place, and repeat the procedure
As Michael Martin and many others have demonstrated finding new positions is not easy in this day and age. I know some pretty good developers who have had to really struggle to find new paying work.
So quiting is no solution if you have bills to pay, mouths to feed and a roof to keep.
George wrote:
I have not the need to expand my view - it's not my job
I guess it depends on how you view your job. Is it just a job, or is it a career? I think that is one of the main points Chris is trying to get across. If you want a successful career then a heads down, blinkered, "thats not my job" attitude will get you nowhere fast. If all you want is a flat job, then fine, repeat your "it's not my job" mantra.
George wrote:
if you smell trouble just leave the game.
Got to love quitters huh.
regards,
Paul Watson
Bluegrass
Cape Town, South Africa
Simon Walton wrote:
"You come across a lot of people who call themselves realists, when they are actually pessimists attempting to look intelligent."
|
|
|
|

|
No, no no. What you've got to do is make yourself so valuable, that you can threaten to leave and get the changes you want. That's worked for me several times, and you can be nice about it too. It helps to talk in terms of "this job isn't meeting my needs, but if we made these changes, I would be a lot happier, and the benefits to you would be x,y,z.".
Marc
|
|
|
|

|
Marc Clifton wrote:
No, no no. What you've got to do is make yourself so valuable
Yeah, at least one guy who understands!
|
|
|
|

|
Marc Clifton wrote:
No, no no. What you've got to do is make yourself so valuable, that you can threaten to leave and get the changes you want
I don't think any threat can ever be totally without bad consequence. Even if you layer ten inches of icing on your threat a boss will see it for what it is. Nobody likes having an employee holding a gun to their heads, no matter how logical the threat is. "benefits to you would be x,y,z" only works in a rational, logical and efficient environment, if you find one of those please tell me.
I totally agree with making yourself valuable. But if you come to me for work and then make yourself valuable just so that you can get your way... I will fire you. I don't want people like that working for me and I don't think many others do either. You should be making yourself valuable through honest, smart work for the right reasons. You shouldn't need to have even an implied threat hanging over my head to change things. Forced change does not work. In fact trying to force other peoples hands with threats (nice or otherwise) invariably ends up in bad blood.
I think the change methods Chris is talking about are far more effective.
regards,
Paul Watson
Bluegrass
Cape Town, South Africa
Simon Walton wrote:
"You come across a lot of people who call themselves realists, when they are actually pessimists attempting to look intelligent."
|
|
|
|

|
Paul Watson wrote:
As Michael Martin and many others have demonstrated finding new positions is not easy in this day and age.
It isn't easy for me either being a foreigner and in the non-english speaking country. Language barrier cuts me off 70% of the local IT jobs market, in fact I can manage to work only for abroad companies that have a branches here because they use english.
Paul Watson wrote:
So quiting is no solution if you have bills to pay, mouths to feed and a roof to keep.
Quiting is never a solution, it's rather an unpleasant counter-measure. The best is not get in troubles in the first place, which you can do by carefully choosing your workplace. Quiting is better than sleepless nights and such thought, so if the things go awry it may be the only way. (Of course you have to find a new position before you quit).
Paul Watson wrote:
I guess it depends on how you view your job. Is it just a job, or is it a career?
I view my job a love, passion and life-style. I am taking it very seriously and that's why I prefer to work with (and work for) professional and serious people. I don't need to think for myself and for my manager - he is doing just fine. To write the code is complex enought and I want to be shielded from all the politics, users etc. I do my part of the job, they do theirs. Nobody here is working overtime, having no sleep for days etc. It's a team work, not a slavery. And yet it's possible the most dynamic place I worked so far, huge amount of code is getting written, tested and rolled to the production each day. Yeah, finding the right place is important. And it's much better than trying to "accomodate" harsh environment...
Paul Watson wrote:
Got to love quitters huh.
Having said all that, I didn't use the "quit" option all that often actually, but I would (and I did in the past) should the need arise.
|
|
|
|

|
George wrote:
Nobody here is working overtime, having no sleep for days etc. It's a team work, not a slavery. And yet it's possible the most dynamic place I worked so far, huge amount of code is getting written, tested and rolled to the production each day.
It's worth mentioning that everything I teach, including the book, columns, seminars and water cooler discussions, is geared exclusively towards people who work in a less than perfect world. And while both personal experience and interaction with developers worldwide shows me that this is the overwhelming majority of cases, there really are some shops out there doing it right. It sounds like George works in just such a shop.
While I'd love to say that I have all answers for all people (always fun for the ego, you know ), the honest truth of the matter is that if you work in a shop that really has its act together, you really don't need the perspective and tactics that I offer. To those of you who do work in those rare shops that are a fine tuned machine, all I can say is rock on, man!
For the rest of us who must deal with the chaotic, illogical and political nature of the typical development environment, hopefully there will be an idea or two I can pass along as time goes by that you can add to your own unique bag of tricks. From where I sit, every little bit helps. You can never have too much firepower.
Chistopher Duncan
Author - The Career Programmer: Guerilla Tactics for an Imperfect World (Apress)
|
|
|
|

|
George wrote:
Great article, however there is a better strategy - quit when it's getting too annoying or cumbersome!
Too bad that everywhere you look there is already a crowd of underpaid embryos doing the coding.
George wrote:
I have not the need to expand my view - it's not my job.
Oh well - you have decided to be not a developer but a coder. You cast the algorithms you are told to do into the syntax of the language you are told to use and are content with it.
Great. You are sort of the plumber of the software industry. You are just putting tubes together.
But for me it is the job of a developer to get the meaning of all the stuff the customers demand, put it into the form of requirements, check the availability of new algorithms for each requirement, estimate how long each will take and let management decide which goes first and which last.
Thereby I enable my management do make plans that have any meaning - not just bars printed on oversized paper.
|
|
|
|

|
jhwurmbach wrote:
Too bad that everywhere you look there is already a crowd of underpaid embryos doing the coding.
Which is why you have to stand out of the crowd.
jhwurmbach wrote:
Oh well - you have decided to be not a developer but a coder. (snip a lot of crap here)
You assume too much, and you are totally incorrect.
|
|
|
|

|
Paul and jhwurmbach raise some valid points that I think speak well to the fact that many people get a gig and stay there, not to mention the fact that the market is much tighter than it used to be. In such a scenario, even though you're technically correct that it's not your job, it's the developer who ultimately pays the price for failure to deal with these issues. That ain't fair, but it's the way it is. That's the reason I work hard on my non-coding skills - 100% self defense.
Nonetheless, I must say that to a degree I agree with you. I've been a mercenary for many years now, and it's nice not having to worry about the politics of a career path within a given company. However, once I take a gig, I'm honor bound to do my best to help the client accomplish their goals - even when they're trying their level best to shoot themselves in the foot.
So, I employ all the tricks I know (and try to learn some new ones) to try and diffuse the impact of poor management by taking responsibility as a programmer and making change where I can. The way I see it, when they hire me, my real job is to give them the ultimate results they're aiming for. Sometimes that requires me to go beyond coding.
That being said, if the company is on a dedicated quest for self destruction and nothing can be done to help prevent it, I always have the option of the mercenary to abandon a doomed ship and move on to the next gig. If you sign up as a merc, and you've truly done all you can do to help the project succeed, I see no dishonor in this. Even so, perhaps just due to sheer good fortune on my part, I haven't had to exercise this option in the past 12 years. But then, I always have been a reasonably lucky guy...
Chistopher Duncan
Author - The Career Programmer: Guerilla Tactics for an Imperfect World (Apress)
|
|
|
|

|
Christopher Duncan wrote:
But then, I always have been a reasonably lucky guy
And the harder you work the luckier you get, strange that huh?
Christopher Duncan wrote:
I'm honor bound to do my best to help the client accomplish their goals
Awfully fun when the clients goals are misguided and they won't listen to reason. For awhile I tried to drum into our salesmens heads that we are the experts which is why the client hired us and so they should listen to our expert advice. I thought I could head off misguided clients at the begining of the pass with clear, logical and proven advice, boy was I wrong. Now I do my best to steer them once they have entered the pass and this works better than the former, no matter how illogical it seems.
regards,
Paul Watson
Bluegrass
Cape Town, South Africa
Simon Walton wrote:
"You come across a lot of people who call themselves realists, when they are actually pessimists attempting to look intelligent."
|
|
|
|

|
Paul Watson wrote:
And the harder you work the luckier you get, strange that huh?
Ain't it, though? It's amazing how often conscious creation shows up to the party wearing the costume of coincidence.
Paul Watson wrote:
I thought I could head off misguided clients at the begining of the pass with clear, logical and proven advice, boy was I wrong. Now I do my best to steer them once they have entered the pass and this works better than the former, no matter how illogical it seems.
Actually, your logic is impeccable. I've spent the better part of my adult life teaching one thing or another, and I can state with confidence that at the end of the day, you can't take people anywhere that they don't want to go. Until someone is open to the learning experience, your wisdom will never reach their ears. Once they've entered the pass, however, you have something to work with. After seeing a boulder fall on their head, you can comment with genuine sympathy, "Ooh, that's gotta hurt. By the way, I know a shortcut where there's no boulders. Interested?" Suddenly, as they're rubbing their heads, you have their attention. Go figure.
Chistopher Duncan
Author - The Career Programmer: Guerilla Tactics for an Imperfect World (Apress)
|
|
|
|

|
Christopher Duncan wrote:
you can't take people anywhere that they don't want to go
Part of the trick to guiding them is understanding where it is they want to go. It may not even be where they initially tell you they want to go.
Customer says: I'd need to go to Cuba.
Customer means: I've heard beautiful things about the Carribbean, and would like to relax on the beach.
BW
{insert witty/thought-provoking saying here}
|
|
|
|

|
...a good intro column. Looking forward to the next one...
Shog9
|
|
|
|
|

|
Read "Death March" by Edward Yourdon, cut the verbose and bad analogies, and come up with some original thoughts, pertinent to the paradigms programmers are dealing with today: .Net, web design, contract work, changes in economic models, keeping up with technologies, to name a few.
Looking forward to the next installment...
Marc
|
|
|
|
 |
|
|
General News Suggestion Question Bug Answer Joke Rant Admin
Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.
|
The most important thing to programmers everywhere is not writing code, but rather delivering quality software.
| Type | Article |
| Licence | |
| First Posted | 1 Sep 2002 |
| Views | 102,376 |
| Bookmarked | 22 times |
|
|