search for books and compare prices
Tables of Contents for The Career Programmer
Chapter/Section Title
Page #
Page Count
Foreword
xi
A Brief Introduction
xiii
Acknowledgments
xxi
Part One Software Development in an Imperfect World
1
58
Welcome to Corporate America
3
20
So You Thought You'd Just Be Coding All Day, Eh?
3
2
What's a Nice Programmer Like Me
5
1
Why People Run Businesses and Pay Programmers
6
2
The Corporate World is Not Logical
8
3
You Can't Win If You Don't Play
11
2
The Food Chain
13
3
The Various Species of Programmers
16
7
Business Is War. Meet the Enemy
23
24
Unrealistic Deadlines
23
7
Vague Definition of Requirements
30
3
Inadequate Time for Analysis and Design
33
3
Sometimes the Enemy is Within
36
3
No Time or Resources for Testing
39
2
Poor Company Management
41
2
Internal Politics
43
2
The Unexpected
45
2
Good Coding Skills Are Not Enough
47
12
What's in It for Me?
47
5
Who Needs These Skills?
52
2
Taking Control of Your Time
54
1
Enhancing Design
55
1
Improving Interaction
56
1
Getting What You Want
57
2
Part Two Guerilla Tactics for Front Line Programmers
59
146
Preventing Arbitrary Deadlines
61
16
Defining the Process
62
3
Commissioning a New Software Project
65
1
Identifying the Requirements
66
2
Building Your Testing Environment
68
1
Entering the Design Phase
69
2
Estimating the Effort
71
2
Coding Bliss
73
1
Testing the Candidates
73
1
Addressing the Installation Issue
74
1
Managing the Beta Phase
75
2
Getting Your Requirements Etched in Stone
77
20
You Don't Have to Like It. It Just Has to Be Clear
78
1
Where Does the Power Lie?
79
2
Politics are an Inescapable Reality
81
2
Identifying the Other Influential People
83
1
Selling the Process
84
1
The Definition Questions
85
2
Preparations for Effective Information Gathering
87
1
Defining the Requirements
88
2
When the Party's Over
90
1
Coping with a Hostile Environment
91
4
Politics Are Never Far Away
95
2
Effective Design Under Fire
97
18
Design? What Design?
98
1
Estimating the Design Effort
99
3
Rolling Your Own Design Methodology
102
5
Hitting the High Points
107
1
Effective Prototyping
108
3
When You Can't Get Even This Much Time
111
1
Onward to Implementation
112
3
Practical Estimating Techniques
115
16
Understanding the Process
116
1
Avoiding Common Mistakes
117
1
The Myth of the Eight-Hour Day
118
2
Crunching the Numbers
120
3
Converting Hours to Delivery Dates
123
2
Don't Forget the Final Details
125
2
Wrapping up the Project
127
1
What if Things Didn't Go by the Book?
128
3
Fighting for Quality Assurance
131
14
How Do We Get Away with Buggy Releases?
131
2
Justifying a Quality Assurance Effort
133
1
What's a Tester?
134
3
Building Your Team
137
2
Training Your Testers
139
2
Make Them Feel Like a Part of the Team
141
1
Establishing the QA Process
142
3
Keeping the Project Under Control
145
18
Keeping Track of Your Time
145
2
Managing Your Team
147
1
Improving Your Coding Discipline
148
3
Thinking Ahead to Debugging
151
1
Incorporating Version Control
152
1
Improving Productivity
153
2
Knowing When to Walk Away
155
2
Optimizing Your Meetings
157
4
Wrapping It Up
161
2
Managing Your Management
163
16
Improving Communications
164
3
Instituting Change
167
2
Bolstering Your Position
169
2
Frontal Assaults (For Those Who Respond to Reason)
171
2
Stealth Tactics (When Reason Is Not Enough)
173
3
Credibility, the Key to Success
176
3
Corporate Self-Defense
179
12
What Do You Have to Lose?
180
1
Picking Your Battles
181
3
Avoid Being a Target
184
1
Assessing the Lay of the Land
185
1
Escape and Evade
186
1
If You Must Attack
187
3
Improving Your Skills
190
1
Controlling Your Destiny
191
14
The Company Man
192
2
The Mercenary
194
4
The Entrepreneur
198
1
Landing the Job
199
3
Thinking Ahead
202
1
The Art of the Deal
203
1
One for the Road
204
1
Index
205
<