Slashdot Mirror


The Career Programmer

BanzaiBill writes with the review (below) of Christopher Duncan's The Career Programmer: Guerilla Tactics for an Imperfect World, writing "When this book came out a year ago, I bought it, but was in the middle of massive death march. Frankly, the first three chapters depressed me! It hit a little too close to home. Of course, I wasn't sleeping either, and that turned out to be more important than reading. After a few months of recuperation, I picked it up again. So many of the points this book makes were on the money that I felt I needed to spread the word." Read on for BanzaiBill's review of a book that addresses aspects of programming success not listed on job requirements. The Career Programmer: Guerilla Tactics for an Imperfect World author Christopher Duncan pages 211 publisher Apress rating 9.5 reviewer BanzaiBill ISBN 1590590082 summary A funny, pragmatic guide to successful software development

What's with the title? The Career Programmer: Guerilla Tactics for an Imperfect World is a gem of wisdom in a sea of dry, academic books on the software development process. It seems to mix equal parts of any software process book, Dilbert, and Sun Tzu's The Art of War. The development "process" that most developers find themselves enduring today isn't too dissimilar from the "process" that developers have endured for the life of our industry. Management specifies deadlines before they specify requirements, and frown when programmers start designing instead of immediately typing. There are a lot of things wrong with this, but the problem persists.

For this problem, there is at last a real answer. Duncan, a developer himself, brings the wisdom he's gathered during the course of his career to bear on the problem. Surprisingly, he succeeds. With exquisite humor and wry wit he prescribes remedies for the variety of ailments that beset the software development process. The Career Programmer helps software developers in the areas where they are often weakest, from dealing with the politics of an organization, providing estimates that are real, and coping with the realities of management driven timelines. In short, all of the things you never learn in any school except the school of hard knocks. If you want to avoid the endless death march, have a life outside your job, and gain credibility by delivering your software on time and under budget, this book is for you. This book is intended for software developers of all skill and experience levels, no matter which language or operating system they might use.

The Career Programmer differs from most books on the development process in several ways. First, and most importantly, it is a pragmatic book. There are no pretensions to developing the "one, true process" that is better than all of the rest. It concentrates on strategies that work. Different environments require different strategies, and this book doesn't ignore the impact of office politics on the development process. Many developers already know how to develop software in a perfect world, but few are allowed to gather requirements in sufficient detail, take adequate time for design, develop test plans or any of the other important aspects of development. There are a variety of reasons for this, and this book covers them well.

Second, this book provides much-needed balance to books that focus only on the development process, by reminding the reader why the company they work for is in business. Obviously, it's not to let you play with the latest cool tools, despite the attitudes of many developers I've known. Learning to appreciate what motivates the managers and executives at your company is vitally important if you want to succeed. They pay the bills, and you work for them. That makes them important, even if they can't code a bit. Last, succeeding in spite of your boss sometimes requires you to fly under the corporate radar to be successful. Like any good guerilla, you do your best work when you aren't noticed.

What's in the book? The first section of the book, "Software Development in an Imperfect World," introduces the reader to the realities of the corporate world. For someone just out of college, this section is bound to be a rude awakening. They probably didn't understand why Dilbert is so funny, either. However, there is a lot of information in this section that will be useful for veteran developers, especially those who feel that they shouldn't have to "play politics." Playing the political game doesn't have to mean you stab people in the back, but it sure helps if you don't want to be on the receiving end. This section lays out the issues and problems that are dealt with on a daily basis in many companies. If that sounds depressing, never fear, help is on the way.

The second section of the book, "Guerilla Tactics for Front Line Programmers," examines the development process, step-by-step over the life of a project, and provides useful, practical information on how to succeed in spite of the hurdles placed in your path. The reader is guided through requirements gathering, design, estimation, development and testing with an eye toward fixing the perceptions management often has about the development process. If you can convince the people you work for that it is in their best interest to let you gather requirements, design and test, in addition to writing code, you have achieved a great deal.

The best parts of this book are the chapters "Effective Design Under Fire," and "Managing Your Management." Again, both are practical approaches to real problems. "Effective Design Under Fire" alone is worth the price of the book. This is a tremendously pragmatic approach to the problem of limited time for design. I wish every developer I knew understood the concepts here. Frankly, the approach used in the book can make you look like a guru, both to your coworkers, and to your boss. Simply put, it works. "Managing Your Management" is also very valuable, with an emphasis on learning to speak the language of the folks you work for. Sometimes a good guerilla must blend in.

The Summary Something different than the run-of-the-mill development process book, The Career Programmer: Guerilla Tactics for an Imperfect World will allow you to gain control of your software projects. It provides pragmatic, useful information that will allow you to push your organization toward successfully delivering software on time. Even junior programmers can affect the development process when they follow the guidelines in this book. Chris Duncan's humorous writing style makes this a very enjoyable read.

Table of Contents

  1. Software Development in an Imperfect World
    1. Welcome to Corporate America
    2. Business Is War. Meet the Enemy.
    3. Good Coding Skills Are Not Enough
  2. Guerilla Tactics for Front Line Programmers
    1. Preventing Arbitrary Deadlines
    2. Getting Your Requirements Etched in Stone
    3. Effective Design Under Fire
    4. Practical Estimating Techniques
    5. Fighting for Quality Assurance
    6. Keeping the Project Under Control
    7. Managing Your Management
    8. Corporate Self-Defense
    9. Controlling Your Destiny

You can purchase The Career Programmer: Guerilla Tactics for an Imperfect World from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

17 of 270 comments (clear)

  1. man, i never knew that by b17bmbr · · Score: 5, Funny

    They pay the bills, and you work for them. Is that why they blocked /. on the firewall?

    --
    My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
  2. Chapter 10: Learning Hindi or Russian by Hairy_Potter · · Score: 5, Funny

    or is that in the next revision?

    1. Re:Chapter 10: Learning Hindi or Russian by markom · · Score: 3, Funny

      Like someone smart said. If someone's speaking English with an accent, be sure he knows at least one more language than you do ;-)

      [ considering you're an average english speaking person who is unaware that other languages, except perhaps spanish, exist, at all. ]

    2. Re:Chapter 10: Learning Hindi or Russian by Jack+Greenbaum · · Score: 3, Funny
      That's kind of a cheap shot. For most Americans, even those motivated to learn another language, there's little practical ways to get and stay proficient (ie, carry on colloquial conversations, read/write), since almost nobody speaks the 'other' languages, excluding Spanish.

      Obviously swb has never worked in Silicon Valley.

      -- Jack

    3. Re:Chapter 10: Learning Hindi or Russian by the+MaD+HuNGaRIaN · · Score: 2, Funny

      "Guess people should stop investing in companies on the west coast."

      I did that in 2001...I guess I am progressive.

    4. Re:Chapter 10: Learning Hindi or Russian by UserGoogol · · Score: 2, Funny

      Nonsense. They're completely different. Myself, I'm thinking of moving to New Zealand so I can brush up on my Australian.

      --
      "Never attribute to malice that which can be adequately explained by stupidity." -- Hanlon's Razor
  3. Chapter 1 by riotstarter · · Score: 5, Funny

    Step 1. College
    Step 2. Job
    Step 3. Realize job sucks
    Step 4. Write Book
    Step 5. Profit

    Were those too many steps?

  4. Death match? by Anonymous Coward · · Score: 5, Funny

    When this book came out a year ago, I bought it, but was in the middle of massive death march. Frankly, the first three chapters depressed me! It hit a little too close to home. Of course, I wasn't sleeping either, and that turned out to be more important than reading.

    I need more coffee... I read "death march" as "death match" and it still made sense, what with the "wasn't sleeping" and all..

  5. Re:Yes by Anonymous Coward · · Score: 1, Funny

    I'd prefer to save $10, and do something useful with it, like donating to groups pushing for modernizing patent laws.

    I'm sure that's the first thing you'd rush out and do with those $10 you saved.

  6. Manic depressant? by shodson · · Score: 2, Funny
    When this book came out a year ago, I bought it, but was in the middle of massive death march. Frankly, the first three chapters depressed me! It hit a little too close to home. Of course, I wasn't sleeping either, and that turned out to be more important than reading

    Sheesh, somebody get this man some Prozac!

  7. Re:Fast, Cheap or Good; pick 2 by mcmonkey · · Score: 2, Funny

    Your assistant?? Oh, those meager scraps. You poor thing. Want mommy to kiss the boo-boo and make it all better?

    (BTW, if you have an assistant, someone you manage, then aren't you 'management'? Remember, when you have one finger pointing at someone, there are 4 four more pointing right back at you.)

  8. Re:Fast, Cheap or Good; pick 2 by aastanna · · Score: 2, Funny

    I've never seen anyone ask for Fast and Good myself, but I would assume my answer would be to spend shitloads of money for commercial products/licencing, and hire the best contractors you can find.

  9. He forgot to add a chapter. by MongooseCN · · Score: 2, Funny

    How about a chapter at the end called "Transitioning your career from Software Engineer to McDonalds Burger Flipper". I think that applies to more programmers today than any of the other chapters.

    1. Re:He forgot to add a chapter. by BluedemonX · · Score: 2, Funny

      You don't even have the luxury of THAT option anymore. McDonalds is working on high tech stores that only require two workers, will which lead to massive layoffs in fast food.

      So people with liberal arts degrees will have literally NO job future.

      --

      --- Jump!! Fire!! Bullet time!! - Lego version of the Matrix
  10. Re:Plenty of US programming jobs... forever.... by Anonymous Coward · · Score: 1, Funny

    Oh, I thought you meant because no pentagon
    sponsored software project ever gets finished...

  11. Re:Typo? by Sanction · · Score: 2, Funny

    No, I think when you get it down to two people, it goes from politics to a duel...

    --
    Well I'm the doctor and I say you're dead, so shut up and take it like a man!
  12. I'd buy this but... by Anonymous Coward · · Score: 1, Funny

    my company currently has a purchasing freeze on. :)

    Company: "We support continued learning."
    Engineer: "Ummm... I need this technical reference to do my job."
    Company: "Sorry -- the purchasing freeze started yesterday."
    Engineer: "Really? I didn't know the last one had lifted."