Chủ Nhật, 13 tháng 4, 2014

Tài liệu New Programmer’s Survival Manual ppt


LINK DOWNLOAD MIỄN PHÍ TÀI LIỆU "Tài liệu New Programmer’s Survival Manual ppt": http://123doc.vn/document/1044962-tai-lieu-new-programmer-s-survival-manual-ppt.htm


Many of the designations used by manufacturers and sellers to distinguish their
products are claimed as trademarks. Where those designations appear in this book,
and The Pragmatic Programmers, LLC w a s aware of a trademark claim, the desig-
nations have been printed in initial capital letters or in all capitals. The Pragmatic
Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic
Bookshelf, PragProg and the linking g device are trademarks of The Pragmatic
Programmers, LLC.
Every precaution w a s taken in the preparation of this book. However, the publisher
assumes no responsibility for errors or omissions, or for damages that may result
from the use of information (including program listings) contained herein.
Our Pragmatic courses, w o r k s h o p s , and other products can help y o u and y o u r
team create better software and have more fun. For more information, as w e l l as
the latest Pragmatic titles, please visit us at
http://pragprog.com
.
The team that produced this book includes:
Susannah Pfalzer (editor)
P o t o m a c Indexing, LLC (indexer)
Kim W i m p s e t t (copyeditor)
David J Kelly (typesetter)
Janet Furlow (producer)
Juliet Benda (rights)
Ellie Callahan (support)
Copyright © 2011 Pragmatic Programmers, LLC.
All rights reserved.
No part of this publication may be reproduced, stored
in a retrieval system, or transmitted, in any form, or by
any means, electronic, mechanical, photocopying,
recording, or otherwise, without the prior consent of
the publisher.
Printed in the United States of America.
ISBN-13: 978-1-934356-81-4
Printed on acid-free paper.
Book version: P1.0—November 2011
www.it-ebooks.info
For Daria and Genevieve.

www.it-ebooks.info
Contents
Acknowledgments . . . . . . . . ix
Introduction . . . . . . . . . xi
Part I — Professional Programming
1. Program for Production . . . . . . . 3
Tip 1. Beat Up Y o u r Code 6
Tip 2. Insist on Correctness 11
Tip 3. Design with T e s t s 21
Tip 4. T a m e Complexity 27
Tip 5. Fail Gracefully 35
Tip 6. Be Stylish 41
Tip 7. Improve Legacy Code 48
Tip 8. Review Code Early and Often 53
2. Get Y o u r T o o l s in Order . . . . . . . 59
Tip 9. Optimize Y o u r Environment 61
Tip 10. Speak Y o u r Language Fluently 69
Tip 11. Know Y o u r Platform 77
Tip 12. Automate Y o u r P a i n A w a y 83
Tip 13. Control Time (and Timelines) 87
Tip 14. Use the Source, Luke 92

www.it-ebooks.info
Part II — People Skills
3. Manage Thy Self . . . . . . . . 101
Tip 15. Find a Mentor 103
Tip 16. Own the Image Y o u Project 107
Tip 17. Be V i s i b l e 110
Tip 18. Ace Y o u r P e r f o r m a n c e Review 114
Tip 19. Manage Y o u r Stress 121
Tip 20. T r e a t Y o u r Body Right 127
4. T e a m w o r k . . . . . . . . . 133
Tip 21. Grok P e r s o n a l i t y T y p e s 135
Tip 22. Connect the Dots 141
Tip 23. W o r k T o g e t h e r 144
Tip 24. Meet Effectively 148
Part III — The Corporate World
5. Inside the Company . . . . . . . 155
Tip 25. Know Y o u r P e e p s 157
Tip 26. Know Y o u r (Corporate) Anatomy 163
6. Mind Y o u r Business . . . . . . . 181
Tip 27. Get with the Project 183
Tip 28. Appreciate the Circle of (a Product’s) Life 189
Tip 29. Put Y o u r s e l f in the Company’s Shoes 200
Tip 30. Identify Corporate Antipatterns 203
Part IV — Looking Forward
7. Kaizen . . . . . . . . . . 211
Tip 31. Mind Y o u r Head 213
Tip 32. Never Stop Learning 217
Tip 33. Find Y o u r Place 222
A1. Bibliography . . . . . . . . . 227
Index . . . . . . . . . . 231
viii • Contents

www.it-ebooks.info
Acknowledgments
First, I must thank my ever-patient editor, Susannah
D avidson P falzer. This b o ok c ouldn’t h ave h a ppened w i thout
her clear-minded guidance, w o r d s of encouragement, and
occasional swift kick in the rear to keep me going. Susannah,
thank y o u so much for helping this first-time author bring
a book to life.
Next, numerous reviewers ranging from new programmers
to industry pros provided tremendous help. They read (or
should I say, endured) early drafts of this book and offered
their own viewpoints, expertise, and corrections. I’d like to
thank Daniel Bretoi, Bob Cochran, Russell Champoux, Javier
Collado, Geoff Drake, Chad Dumler-Montplaisir, Kevin Gisi,
Brian Hogan, Andy Keffalas, Steve Klabnik, Robert C. Mar-
tin, Rajesh Pillai, Antonio Gomes Rodrigues, Sam Rose, Brian
Schau, Julian Schrittwieser, Tibor Simic, Jen Spinney, Stefan
T u r a l s k i , Juho V e p s ä l ä i n e n , Nick W a t t s , and Chris W r i g h t .
Y o u have all made this book far, far better with y o u r diligent
and thorough reviews. I—and every reader of this
book—appreciate y o u r w o r k .
From the beginning, several friends and co-workers allowed
me to pester them over and over again for advice, including
Jeb Bolding, Mark “The Red” Harlan, Scott Knaster, David
Olson, Rich Rector, and Zz Zimmerman. I truly appreciate
y o u r patience.
Finally, an extra-special thanks for my two biggest fans. My
daughter, Genevieve, gave me grace many, many evenings
as I needed to duck away and write. And my wife, Daria,
not only gave me time to write, but she w a s the first to buy
and read the beta v e r s i o n of the book—in one sitting, no
less, starting at ten at night. She offered her thoughts and


www.it-ebooks.info
perspective since this book w a s just an idea I w a s pondering
over the dinner table. And she provided her support and
encouragement through the whole process.
Daria and Genevieve, I couldn’t have done it without y o u .
Thank y o u from the bottom of my heart.
x • Acknowledgments


www.it-ebooks.info
Introduction
It’s day one on the job. Y o u have programming chops, y o u ’ v e
landed the job, y o u ’r e sitting at y o u r w o r ks t a t i o n … n o w
what? Before y o u , a new jungle awaits:
• Programming at industry scale, with code bases mea-
sured in thousands (or hundreds of thousands) of lines
of code. How do y o u get yo u r bearings and start con-
tributing quickly?
• Navigating an organization containing programmers
but also people in many, many other roles. When y o u
need guidance on a product feature, who do y o u ask?
• B ui l din g y o u r po rtfoli o of a chiev ement s eac h y e a r . When
performance reviews lurk on the horizon, do y o u know
what y o u r boss is looking for and how y o u ’ l l be judged?
…and so much more. Y o u r programming skills are only one
part of what y o u ’ l l need in these first y e a r s on the job.
The lucky among us have guides who already know the
landscape. This book is a virtual guide. It’ll get y o u oriented,
point out the mountains and canyons ahead, and also save
y o u from some nasty pitfalls.
Where I’m Coming From
Y o u may find some similarity between y o ur experience and
where I stood in college in 1995: I started on a traditional
path, a computer science and electrical engineering program
at Duke University. I we n t to my advisor, asking about
classes that wo u l d best prepare me for w o r k i n g in industry.
He w a s a smart guy—a Rhodes scholar and rising star in
the engineering school—and he responded, “I have no idea.
I’ve never w o r k e d a day in industry in my life.”


www.it-ebooks.info
I w a s more than a little disillusioned. I w a n t e d to build real,
shipping products—not write research papers. So, that
summer I managed to get my foot in the door at one of the
hottest start-ups in Silicon V a l l e y , General Magic. It w a s
founded by some of the same guys who created the original
Macintosh computer, Andy Hertzfeld and Bill Atkinson. My
peers included some of the top players from Apple’s System
7 (operating system) team and the guy who w o u l d later
found eBay.
I learned more about programming in my two-month intern-
ship than I could have learned in two y e a r s of school. I called
Duke and said I w a s n ’ t coming back. And so my wild ride
in industry began.
And Now About You
Readers of this book will fall into a few broad categories:
• College students and recent graduates taking computer
science classes and w o n d e r i n g , “Is this what program-
ming is like in the real w o r l d ? ” (Short answer: no.)
• Professionals from other backgrounds who got into
programming as a hobby or side job, now w a n t i n g to
take it on full-time.
• Others who are considering a job in programming but
w a n t the skinny on what the books and classes aren’t
telling them.
Regardless of path, here yo u are: it’s time to pay the bills
with code. There are plenty of books out there on the code
part. There’s not so much on everything else that goes with
the job—and that’s where this book comes in.
For the professionals coming from other fields, some sections
w o n ’ t apply as much to y o u — y o u don’t need me to tell y o u
what marketing does if y o u r background is marketing.
However, y o u will still benefit from details about how things
run within the engineering department and how code
evolves from concept to release.
xii • Introduction


www.it-ebooks.info
Structure of This Book
This book is written in small mini-chapters, called tips, that
are designed to address a single topic within a few pages.
Some are longer by necessity. Related tips are close together,
but y o u can read them in any order. If yo u ’r e going for the
big picture, go ahead and read it from cover to cover. But
feel free to flip around—when tips need to reference each
other, that’s stated explicitly in the text.
W e start close to the code: Chapter 1, Program for Production,
on page 3 starts from y o u r programming talent and gives
y o u guidance on making it production-ready. Nobody w a n t s
to ship buggy code, but it’s especially challenging on indus-
trial-scale projects to ensure that y o u r code is correct and
w e l l - t e s t e d .
Next, Chapter 2, Get Y o u r T o o l s in Order, on page 59 helps
with y o u r w o r k f l o w . Y o u ’ l l need to coordinate with others,
automate builds, and learn new technologies as y o u go. Plus,
y o u ’ l l need to hammer out a ton of code. It pays to invest in
y o u r tools up front.
Then w e get into the squishier side of things. The one man-
ager y o u ’ ll have throughout y o u r life is you, and Chapter 3,
Manage Thy Self, on page 101 gets y o u started on issues such
as stress management and job performance.
No programmer is an island, so Chapter 4, T e a m w o r k , on
page 133 focuses on w o r k i n g with others. Don’t discount
people skills—true, y o u w e r e hired to be good at computers,
but industry is a team sport.
Then w e get to the bigger picture. Chapter 5, Inside the
Company, on page 155 considers all the moving pieces that
make up a typical high-tech company and yo u r part within
the whole. It ultimately tries to answer, “What do all these
people do all day?”
Closer to home is the business of software. Chapter 6, Mind
Y o u r Business, on page 181 gets into who’s paying yo u r pay-
check and why, the life cycle of a software project, and how
y o u r day-to-day programming changes with that life cycle.

Introduction • xiii

www.it-ebooks.info
Finally, Chapter 7, Kaizen, on page 211 looks forward. The
Japanese Kaizen is a philosophy of continuous improvement,
and I hope to see y o u on that path before w e part w a y s .
Conventions Used in This Book
I often use the Ruby programming language in tips that have
example code. I chose Ruby simply because it’s concise and
easy to read. Don’t w o r r y if y o u don’t know Ruby; the intent
of the code should be self-evident. The examples are intend-
ed to demonstrate bigger-picture principles that may apply
to any programming language.
T h r ou gh ou t t h e b oo k y o u ’ l l e n co un te r s i d e b ar s t i t l e d i n d ustry
perspective. These are vo i c e s from industry pros: program-
mers and managers who have been down this road before.
Each contributor has decades of experience, so consider their
advice carefully.
White Belt to Black Belt (and Back)
Throughout the book I use the notion of martial arts belts
to signify when y o u ’ l l need to apply a certain tip. The color-
ing of belts has a story behind it that is helpful beyond the
martial arts. When a student begins, she starts with a white
belt, signifying innocence. White-belt tips, likewise, apply
from the v e r y beginning.
Over y e a r s of practice, her belt becomes soiled. The brown
belt is an intermediate step where the belt is, frankly, dirty.
(We modern wimps just buy a new belt that’s colored
brown.) For this book, I expect brown-belt topics to become
relevant between y e a r s two and five.
As the artist practices further, her belt becomes darker and
darker until it’s black. At this point, she dons the title master.
For the book I draw the line rather early, where black-belt
xiv • Introduction


www.it-ebooks.info

Không có nhận xét nào:

Đăng nhận xét