library of congress cataloging-in-publication...

32

Upload: others

Post on 17-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Many of the designations used by manufacturers and sellers todistinguish their products are claimed as trademarks. Wherethose designations appear in this book, and the publisher wasaware of a trademark claim, the designations have beenprinted with initial capital letters or in all capitals.Photo of Steve Wozniak by Al Luckow.Photo of Diane Greene by Sunny Scott. The author and publisher have taken care in the preparation ofthis book, but make no expressed or implied warranty of anykind and assume no responsibility for errors or omissions. Noliability is assumed for incidental or consequential damages inconnection with or arising out of the use of the information orprograms contained herein.The publisher offers excellent discounts on this book whenordered in quantity for bulk purchases or special sales, whichmay include electronic versions and/or custom covers andcontent particular to your business, training goals, marketingfocus, and branding interests. For more information, pleasecontact:

U.S. Corporate and Government Sales(800) [email protected]

For sales outside the United States please contact:International [email protected]

Visit us on the Web: informit.com/phLibrary of Congress Cataloging-in-Publication DataLightstone, Sam.Making it big in software : get the job—work the org.—

become great / Sam Lightstone.p. cm.

Includes index.ISBN 978-0-13-705967-61. Computer programming—Vocational guidance. 2.Computer software industry—Vocational guidance. 3.Computer software developers—Interviews. I. Title. QA76.25.L54 2010005.1023—dc22

2010000235Copyright ©2010 Sam Lightstone. Copyright claimed in entirework exclusive of the reproduction of US Patent No. 6,161,223All rights reserved. Printed in the United States of America.This publication is protected by copyright, and permissionmust be obtained from the publisher prior to any prohibitedreproduction, storage in a retrieval system, or transmission inany form or by any means, electronic, mechanical,photocopying, recording, or likewise. For informationregarding permissions, write to:

Pearson Education, IncRights and Contracts Department501 Boylston Street, Suite 900Boston, MA 02116Fax (617) 671 3447

ISBN-13: 978-0-137-05967-6ISBN-10: 0-137-05967-1Text printed in the United States on recycled paper atR.R. Donnelley & Sons, Crawfordsville, IndianaFirst printing March 2010

Associate PublisherGreg Wiegand

Senior Acquisitions EditorKatherine Bull

Development EditorKendell Lumsden

Marketing ManagerJudi Morrison

PublicistHeather Fox

Technical ReviewersJoseph HellersteinRasekh Rifaat Danny Sadinoff

Managing EditorKristy Hart

Senior Project EditorLori Lyons

Copy EditorHansing Editorial Services

IndexerPublishing Words

ProofreaderLanguage Logistics, LLC

Publishing CoordinatorCindy Teeters

Cover DesignerAlan Clements

CompositorNonie Ratcliff

Manufacturing BuyerDan Uhrig

Preface

“Thus the sage Chaninah would say:Much have I learned from my teachers and even more from myfriends but from my students I have learned the most of all”—Ethics of the Fathers, circa 200 CE

You went to university to study a profession, but they were hell-bent on giv-ing you an education instead. Unfortunately, there’s a gap between the for-mal education we receive in school and the skills we need to build trulysuccessful careers. Not only are many of the basic skills for professionalgrowth not taught in school, but to a large degree they aren’t taught any-where. The dynamic and somewhat bohemian quality of the software indus-try introduces unique career challenges. Our industry includes many of thetrappings of corporate American culture, but many odd divergences. It’s adomain where teenage hackers compete head-to-head with MIT Ph.D. gradu-ates and where crinkled T-shirts and unlaced running shoes coexist withstock options and executive titles. Making it Big in Software is my attempt toshare strategies for traversing these unique dynamics and maximizing yourprofessional potential. This book also includes interviews with some of themost influential software innovators and leaders of the past 30 years—peoplewho literally changed the world.

In 1991, I was a fourth-year electrical engineering student at Queen’sUniversity, trying to finish up my degree and get a job. Every Friday after-noon the electrical engineering school invited a guest speaker to inspire andenlighten our young, impressionable minds. These talks covered a wide rangeof technological topics; we discussed everything from high voltage transmis-sion lines to CMOS VLSI circuit design. I confess that most of these sessionswere less than inspirational for me. One day, a guest speaker arrived with aradically different message. He spoke to us about “life in the real world” andwhat we could expect after we graduated. I was riveted. This is the onlyfourth-year seminar from which I still have the notes. Most of my class-mates, like me, were in the dark about what our lives might be like after grad-uation. Even those students who had managed to find summer positions in

engineering were limited in their experiences by the normal constraints ofstudent positions.

I decided then that if I ever could, I would return the professional courtesyand volunteer to speak to university students. In the late 1990s and early2000s, I began a series of career talks at leading universities. The lecture notesfrom my talks, often delivered to capacity-filled auditoriums, became thebasis for this book. Some of the ideas are my own, but many are culled fromthe leading business thinkers and software development evangelists of thepast three decades. Hopefully, this book succeeds in providing you whatschool and daily work life generally cannot: the tools with which to makeit BIG.

Audience

This is a book for software professionals of all ages and levels, whetherthey’re just trying to break into the field or have decades of experience.Writing a book with that range isn’t easy; every age group and communityhas a different set of concerns that affect what’s interesting to them. Afternearly two decades of recruiting, managing, and mentoring software profes-sionals, there are some common themes I’ve found that cross most boundariesof age and experience. I’ve tried to make those themes central to the book. Ihope this book will also be of interest to students and teachers of computerscience, providing a colorful look into the less mathematical aspects of theprofession.

Organization of This Book

The book is divided into three major sections: fundamentals, leadership, andgreatness. “Part I, Fundamentals,” discusses the major building blocks of agreat career in software, including the fundamentals of good software prod-ucts, major skills and leading programming languages, how to land a job, andhow to operate effectively within a software team (including some pitfalls toavoid). “Part II, Leadership,” takes the reader into a series of topics arounddriving and leading change and operating in a much more harried profes-sional environment. Leaders, almost by definition, need to multitask anddrive parallel agendas forward while deflecting myriad forces of negativity.This section covers important topics related to “working an organization,”how to build and pitch successful project proposals, career advancement, time

XII MAKING IT BIG IN SOFTWARE

management, avoiding software project overruns, work-life balance, andhigher-level management and leadership insights. “Part III, Greatness,” dis-cusses topics around innovation—how to reach the pinnacle of the profession(becoming a software visionary or guru), how to start your own business, areview of compensation rates, and a retrospective on things I wish I hadknown earlier in my career.

Between the chapters you’ll find a number of interviews I did with leadingpersonalities. These interviews deliberately include a mix of business execu-tives, researchers, and industry leaders. I feel it’s important for readers to getperspectives broader than my own. To enhance the structure of the book, theinterviews are all marked with a gray bar along the leaf edge of their pages,including the interviewee’s name. I’ve made a moderate effort to place theinterviews near related chapters (for example, two startup sensations, MarcBenioff CEO and founder of Salesforce.com and Diane Greene past CEO andco-founder of VMware, frame the chapter on software startups). Some inter-views didn’t have a clear correlation to a specific topic, so there’s an admit-tedly arbitrary aspect in the placement of a few. It’s absolutely not the casethat interviews placed in the Fundamentals section are any less profoundthan those in the Greatness section. I think it’s fair to say that everyone Iinterviewed has reached the heights of the profession. After all, that’s whatmade them such interesting people to speak with.

Feedback

If you have feedback on the book or find any errors, please contact me. Youcan send feedback to [email protected]. Although I can’tguarantee a reply to every email, I’ll make sure that every email is read.

Sam Lightstone

To learn more about Making it Big in Software,including upcoming events and additional publications,

please go to:www.MakingItBigCareers.com

PREFACE XIII

CHAPTER 3

School Versus Job

“Every person takes the limits of their own field of vision for thelimits of the world.”—Arthur Schopenhauer (1788–1860)

School is very different from professional work. Some people stumble in theirearly professional careers by failing to transition from the school environmentthey’ve been immersed in for nearly twenty years into the brave new world ofsoftware professionalism. Students operate in a world of highly constrained,well-defined workloads (though it certainly doesn’t feel that way when you’rea student). As a student your scope is limited to a set of courses that areintended to address your professional needs upon graduation. In short, schoolis about learning. Professional life is more about getting things done, beingboth productive and innovative in a way that jells with the people you workwith. It’s not uncommon for junior staff to treat the workplace as though itwere simply the next phase of school. Few things could be more disastrous.

I also believe that a great weakness of many middle managers is failing tounderstand the differences between the academic and corporate skills require-ments, leading them to hire the best and brightest students rather than thebest and brightest professionals. A good student is usually smart, hard-working, and conscientious. But success in scholastics doesn’t guarantee anability to innovate, learn independently, work in a team, or show leadership—which are all critical skills for professionals. Hiring the wrong skill set meanshiring less effective people, and when that phenomenon is multiplied overmany people in an organization, the net result is a marked reduction in theeffectiveness and talent of the entire organization. Put another way, hiringthe wrong people for the job is a bad way to run a company. On the flip side,

31

when new graduates position themselves for the workplace, assimilating theculture and needs of a professional life, and managers learn to recruit the bestemployees for their needs rather than the best students, the mixture forms apotent brew for the rapid success of individuals and organizations alike.

Limited Field of Vision

Whether you’re in school studying the art and science of computer program-ming or working as a software professional, you exist and function in alargely constrained and somewhat artificial environment. Life is a kind offishbowl. Fish in a bowl can swim and explore, up to a point, but their viewof the world is remarkably limited. The fish sees almost nothing beyond theglass of the fishbowl, in part because its eyes can’t focus that far and in partbecause of the diffraction of light as it crosses the boundary from water toglass to air. If the fish could see beyond the fishbowl, at most, its view of theworld would be limited to the room the bowl resides in: a few chairs, a sofa,a bookshelf. The real world outside of the fishbowl is far larger and more pro-found than the tiny colored glass stones and rocks that have been artificiallyplaced in the fish’s manufactured domain. But, for better or worse, the fish isblissfully unaware. Software professionals are fish, too.

School Is a Fishbowl

School is a highly artificial environment where the workload is relatively wellcontrolled, where all participants have similar work challenges, and wherepeople are encouraged to do individual work. If you are a student, you prob-ably think I’ve completely forgotten what school is all about because whatI’ve described is nothing like the world you’re living in. Very true, but it’s arelative comment. Even though some professors demand a far heavier work-load than others, the reality is that these variations are small compared to thevariation that would occur without a fixed curriculum, such as in the envi-ronment outside of school. You’ll protest: “But if there were no set curricu-lum, that wouldn’t be fair!” and you’ll be 100% correct. That’s one reasonschools must have a set curriculum—because school needs to be fair. Theprocess of making school fair leads to a wide array of artificial constraintsand behaviors that, although fair, necessarily create a framework of a highlyconstrained fishbowl.

Second, although schools encourage students to do their own work, onpenalty of expulsion or severe reprimand, professional work is saturated withthe ubiquitous mantra of “teamwork.” In school, your success depends on

32 MAKING IT BIG IN SOFTWARE

individual effort, whereas professional life depends frequently on your abil-ity to work in teams.

Finally, very little that students experience in school is directly influencedby market pressures. There is some indirect influence, as the market drivesnew technologies to the fore, which, over time, influences curricula. Pro-fessors get involved in new technologies and introduce these themes into thecourses they teach. Over time, the system of professors, industrial grants, thedrive for publications, and review committees will ensure that the educationalprocess stays reasonably connected to current industrial trends. All the while,the student body is happily oblivious.

Welcome to the fishbowl. While you’re in it, you won’t be able to see toofar past the glass. That’s fine, as long as you realize that there is a world out-side the fishbowl that’s a rather different place, then you’re well positionedto try to learn more about it.

Industry Is a Fishbowl

How in the world could industry be considered a fishbowl? Isn’t industrialwork the definition of the real world? It’s time for a reality check! The soft-ware industry is sensationally complex, and it requires a broad range of skillsand disciplines to construct a successful business (the larger the enterprise,the more this is true). People become specialized and focus on a narrow scopeof the industrial machine. Every employee has a domain. High up in the orga-nizational hierarchy, people working on the big picture can’t possibly knowall the little details. At the other end, the detail workers, down in the trenches,have a very hard time understanding the broader scope of every project thatis related to them.

Second, if you’re like most software developers, your compensation is onlyloosely tied to the market success of the projects you work on, unless you arean owner in the company (such as owning stock or stock options) or have acompensation plan that is directly tied to quotas or business performance.Similarly, your compensation is only loosely connected to years of service orthe technical depth of your job.

Your compensation at work will never directly increase with your produc-tivity or the success of your product. Employees who work five times morewill not get paid five times more than others. If your company revenue soarsand revenues increase by tenfold, don’t expect employee salaries to increaseby a factor of ten. If this sounds discouraging, it shouldn’t be—remember, thesword cuts both ways. Just as you are unlikely to see your salary grow 300times in size when your product begins to sell and earn 300 times more rev-enue, your salary will not be cut to 1/300th if the inverse befalls you. And

CHAPTER 3 SCHOOL VERSUS JOB 33

although the most productive and valuable people might not get compensatedproportional to their contributions in a literal measurement, they do get paidsubstantially more. Over time, they will accrue much more accomplishment,fame, money, and freedom of movement for their efforts.

Professional software positions almost always limit the software developerfrom the sales and marketing world, and in larger companies, software devel-opers can be heavily isolated from customers, business strategy, and productplanning. In short, it’s a controlled and not truly reflective environment. Soit’s a fishbowl—what you see is not a reflection of reality.

By understanding and being sensitive to the artificial limitations of yourenvironment, you can begin an active effort to extend your skills and expandyour professional potential.

Leveraging the Differences

These fishbowls are very different both in style and in kind. The most dra-matic difference is the approach to collaboration and teamwork. Schoolteaches you technical skills in software development and software engineer-ing and some teamwork and social skills along the way. The 18 or more yearsyou spent in school deeply entrench within you expectations and values thatare sometimes at odds with the expectations of the workplace. For example,at school we are taught that our work must be our own and that reusing thework of others is a serious crime that can lead to suspension or expulsionfrom the institution. Conversely, in a professional software development com-pany, few things propel a software development project more effectively andreduce time to market than code reuse. Code reuse is an objective in the work-force but a serious liability at school. Similarly, at school, people are requiredto do their own work, except in the cases of a few group projects. Within cor-porate software projects, people are expected to work together and helpothers with some fraction of their time even when they are not directlyassigned to a project. The scope of teamwork ranges from small groups toteam efforts measured in dozens or even hundreds of people working towarda collective goal to deliver a project or a product.

Many new software developers cripple their careers by clinging to theentrenched ideology they were immersed in for years that “your work mustbe your own.” For good reason: From early childhood until our mid-20s, thisis the message we are all consistently given and ordered to follow. Post-grad-uation, this edict dissolves and is replaced by the belief that work should derigueur be shared and collaborative. It’s critical to your success that you rap-idly adopt a collective model for success, code and documentation reuse, and

34 MAKING IT BIG IN SOFTWARE

skills sharing. You should collaborate, share, and team with others as muchas possible and give as many people credit for that effort as is reasonable.

Table 3.1 lists some other key differences in the school versus workparadigm.

TABLE 3.1 Differences Between School and Industry

CHARACTERISTIC DIFFERENCE

Drivers and School requirements are defined by a committee of academicsshapers who define the course curriculum. Successful businesses are

always driven by market demands: customers and businessclimate.

Freedom of Within a computer science (or related) major, the range ofmotion courses is fairly limited. You can usually take a few electives

each term, but they represent a small diversion from your major.In contrast, the range of what you can work on in industry isprofound, crossing deeply technical development work, research,business development, management, marketing, and sales. Evenwithin the technical space, there is a huge range of roles, fromquality assurance to development, from architecture to innova-tion and new product generation.

Innovation The level playing field that school provides limits the opportuni-ties for technical innovation. Exceptions exist, particularly ingraduate school thesis programs, which allow students anopportunity to do independent research. By contrast, industrythrives on innovation; it is the distinguishing feature that sepa-rates one high-tech company from another.

Interpersonal Networking is useful at school, especially if you need help from networking classmates to stay on top of assignments. The best and brightest

students don’t rely heavily on networking with others. In indus-try, social networking is essential because it connects you topeople and ideas that are necessary to help channel the organi-zational energy of the business.

Leadership School is largely a level playing field, and the institution workshard to create a common circumstance for all the studentswithin a specific major. Although some opportunities for leader-ship exist within school (captain of a sports team or studentcouncil), schools generally are hierarchy free within the studentbody. Students do not lead other students. Within industry,leadership skills and leadership roles are prized and encouraged.

Learning and School is about learning, and work is about producing. It’s truedoing that school requires students to produce and industry requires

employees to learn, but the focus is heavily inverted. Payment You pay to go to school, but you get paid to work. That means

your college or university works for you, but after graduation,you work for your employer.

CHAPTER 3 SCHOOL VERSUS JOB 35

TABLE 3.1 Differences between School and Industry (continued)

CHARACTERISTIC DIFFERENCE

Productivity Educational institutions reward students with grades. The reward fordoing well is a higher grade on a project or an exam. Your GPA isthe measure of your success. In industry, the measurement is “contri-bution,” which loosely translates to “productivity” in the broad senseof producing code, designs, technical innovation, new business,improved organizational efficiency or capacity, and so on. Businessesvalue productivity, whereas educational institutions do not.

Recognition In school, your evaluation is designed to be fairly quantitative andmeasurable. Your grades on assignments, tests, and exams defineyour GPA. Within a professional software development organization,people have widely varying roles, and the evaluations become muchmore qualitative and subjective.

Risk and The risks of messing up your education are serious, but they impact predominantly affect you and your family. In industry, large projectsto others depend on the skill of the engineering team, and if you screw up,

the consequences can affect the entire corporation, many of itsemployees, and a broad range of customers and business partners.

Personal Neither school nor industry requires you to have a personal portfolioportfolio of any kind. By “portfolio,” I mean a collection of externally visible

accomplishments. Having an impressive portfolio won’t help you bea better student (though, in some cases, it can help buttress yourcandidacy for scholarships or graduate school admittance). In a pro-fessional setting, however, having a portfolio of major innovations,successful programming projects you’ve delivered on time and withhigh quality, trade publications, scientific papers, public speakingengagements, and positions on industrial committees can help pro-pel your career and open new opportunities for collaboration andengagement.

The greatest challenge of your first few years in industry is to unlearnwhat the educational environment of the past 18 years or more has drilledinto you. Understand that you have entered a brave new world with radicallydifferent rules of engagement.

Unquestionably, school and industry both require a lot of hard work andare very competitive environments. Many career paths in fields other thansoftware have a slower pace of learning and change following graduation.The rules of the game change less frequently in most professions. The soft-ware industry is distinguished by its dynamism and rapid evolution.Everything can change in a few years. The rapid changes that characterizehigh tech mean that software professionals are necessarily life-long learners.One thing is certain: If you were hoping for a gently loping career that largelytakes care of itself, something akin to a warm, comfortable bath, then soft-ware is the wrong place for you. Expect a wild ride.

36 MAKING IT BIG IN SOFTWARE

Index

Symbols@ symbol, 100, 105-106“2008 Compensation and Entrepreneurship

Report in IT,” 379

Aaccomplishments

Bentley, Jon, 38Booch, Grady, 238communicating, 179-180Greene, Diane, 397Kahn, Dr. Robert, 325Malloy, Tom, 251-252, 257Mayer, Marissa, 26Norvig, Peter, 123Russinovich, Mark, 195Schwarz, John, 156Stallman, Richard, 81Stroustrup, Bjarne, 63Tomlinson, Ray, 102Torvalds, Linus, 171Wozniak, Steve, 355

achieving work-life balance, 249assessing, 249Benioff, Marc, 377Bentley, Jon, 40Booch, Grady, 241defining yourself, 245Gosling, James, 285Greene, Diane, 401Kahn, Dr. Robert, 330

life impacts work, 247-248Malloy, Tom, 256Mayer, Marissa, 29Norvig, Peter, 125organizational culture, 246-247repartitioning time, 245Russinovich, Mark, 197Schwarz, John, 159Stallman, Richard, 83stressors, 248Stroustrup, Bjarne, 65tips, 246Tomlinson, Ray, 108Torvalds, Linus, 174Vaskevitch, David, 217work environment, 247working backward, 249

acquisition of startupsbenefits, 392categories, 392-393getting the word out to potential

buyers, 394growth comparison, 390-392problems, 394-395

adaptability (startups), 389-390Advanced Logistics Project (ALP), 101advancement

accomplishments, communicating, 179-180

credibility, 178evaluations, 177goal-oriented careers, 181-184management peer impact, 187-188

418

manager influence, 185career discussions, 186-187helping managers look good, 185technical/organizational assistance, 185

promotibility inversion, 189-191promoting others, 189

adviceexecutives

Benioff, Marc, 372-373Greene, Diane, 399

field opportunities, 30startups, 372success

Benioff, Marc, 371, 375, 378Bentley, Jon, 41-42Booch, Grady, 242-243Gosling, James, 286-287Greene, Diane, 403Kahn, Dr. Robert, 328, 331Malloy, Tom, 257-259Mayer, Marissa, 27Norvig, Peter, 126Russinovich, Mark, 198-200Schwarz, John, 159-160Stallman, Richard, 83Stroustrup, Bjarne, 66Tomlinson, Ray, 106, 109Torvalds, Linus, 175Vaskevitch, David, 216-218Wozniak, Steve, 358-359

affiliative leadership, 292affinitizing, 319aggressive estimates, 228agile development process methodology, 272agreements, 151-153All the President’s Men, 300ALP (Advanced Logistics Project), 101angel funding, 384Apple

computer development, 336iPhone, 310Jobs, Steve

academics, 53business fluency, 337

stock growth, 337Wozniak, Steve

accomplishments, 355advice, 358-359biography, 352-353debugging, 354future of software, 357inspirations, 356

personal future, 357personal success, 356pet peeves, 355Tetris, playing, 357time management, 357trends/innovations, 358viewing self as hardware person,

353-354architects, 112The Art of Japanese Management

(Pascale), 302assertions, 89assessing, work-life balance, 249attracting new customers, 15audiences. See customersauthority

leadership, 291-294visionaries, 333-334world-class status, 334

awards (resumés), 47

Bbad projects, 11-12balancing work-life, 244

achieving by working backward, 249assessing, 249Benioff, Marc, 377Bentley, Jon, 40Booch, Grady, 241defining yourself, 245Gosling, James, 285Greene, Diane, 401Kahn, Dr. Robert, 330life impacts work, 247-248Malloy, Tom, 256Mayer, Marissa, 29Norvig, Peter, 125organizational culture, 246-247repartitioning time, 245Russinovich, Mark, 197Schwarz, John, 159Stallman, Richard, 83stressors, 248Stroustrup, Bjarne, 65tips, 246Tomlinson, Ray, 108Torvalds, Linus, 174Vaskevitch, David, 217work environment, 247

BARC (Microsoft Bay Area Research Center), 7believing in yourself, 336-337

INDEX 419

benefitsbig shots, 7-9CEOs, 379publishing, 342startup acquisitions, 392

Benioff, Marcadvice for success, 371, 375, 378attraction to software as a service, 371biography, 369-370future of software, 377getting started, 370graduate degrees, 376listening to customers, 21philanthropy, 373-374platform independence, 375SaaS, 374software executives, 372-373startups, 372time management, 377trends/innovations, 376work-life balance, 377

Bentley, Jonaccomplishments, 38advice for success, 41-42biography, 37-38future of software, 41getting started, 38personal success, 39pet peeves, 39time management, 40trends/innovations, 40work-life balance, 40, 249writing code, 39

best and worst programmers differences, 295betterment of society, 4big shots, 7-9biographies

Benioff, Marc, 369-370Bentley, Jon, 37-38Booch, Grady, 236-237Gosling, James, 281Greene, Diane, 396Kahn, Dr. Robert, 323-325Malloy, Tom, 252Mayer, Marissa, 23-24Norvig, Peter, 122-123Russinovich, Mark, 192-193Schwarz, John, 154-155Stallman, Richard, 79-80Stroustrup, Bjarne, 62-63Tomlinson, Ray, 100-101Torvalds, Linus, 170Vaskevitch, David, 214-216Wozniak, Steve, 352-353

bloggers, 342bonus plans, 408Booch, Grady

accomplishments, 238advice for success, 242-243biography, 236-237future of software, 241-242getting started, 237knowledge, 239personal success, 239pet peeves, 240Rational Software beginnings, 238time management, 240trends/innovations, 239work-life balance, 241

book publishing, 342brainstorming, 312-313Brin, Sergey, 380Brooks, Frederick, 225, 349browser engines, rendering, 25buggy code, writing, 133building

emotional caches, 189teams, candidates, 295

attracting, 295filtering, 296interviewing successfully, 296-298keeping best people happy, 298-299mix, 299prima donnas/superstars, 300

trust, 140burning bridges, 128business of software, learning, 70business plans, 381-382business skills, 337-338

CC/C++, 63, 87The C++ Programming Language

(Stroustrup), 64candidates

attracting, 295filtering, 296interviewing successfully, 296-298

careersadvancement

accomplishments, communicating,179-180

credibility, 178evaluations, 177goal-oriented careers, 181-184management peer impact, 187-188manager influence, 185-187

420 MAKING IT BIG IN SOFTWARE

promotibility inversion, 189-191promoting others, 189

early yearsbusiness of software knowledge, 70career paths, choosing, 74expertise, 70job satisfaction, 76-78low-level programming skills, 71mentors, 74-75networking, 72-73tradecraft skills, 69-70watching leaders, 72

paths, choosing, 74planning/placement, 49roles

architects, 112CEOs, 111channel salespeople, 114chief architects, 112CTOs, 111department managers, 113direct salespeople, 114directors of engineering, 111directors of marketing, 111fellows, 111function verification testers, 114product managers, 113program managers, 113programmers, 113release managers, 112research staff members, 113second-line managers, 112system verification testers, 114technical evangelists, 115technical managers, 112technical salespeople, 114usability engineers, 113Vice Presidents, 111visibility, 116

satisfaction, 8, 76-78statistics, 416success. See success

CDAs (confidential disclosure agreements), 381CEOs, 111

benefits, 379salary ranges, 409

changing career goals, 183channel salespeople, 114chief architects, 112choosing

career paths, 74companies, 43-46, 411-412

Circles of Concern/Influence, 205-206

climbing the corporate ladder, 45cloud computing services, 383co-opetition, 115coaching

interviews, 60leadership, 291-292

codedebugging, 88-90reuse

innovation, 320schools versus industry, 34

writing, 39coercive leadership, 291-292cold calling, 50collaboration

agreements, 151-153communication, 149development environment, 238innovation, 317

columnists, 342commercially available components

(COTS), 320communication

effective, 117-118email, 117four modes of in-person, 118-120importance, 116interviews, 57managers, 121near-real-time, 179personal accomplishments, 179-180personal requests, 118post-factum, 180working the org, 149

companies. See also industrychoosing, 43-46, 411-412communication

effective, 117-118email, 117four modes of in-person, 118-120importance, 116managers, 121personal requests, 118

core competencies, 162-163culture

core competencies, 163work-life balance, 246-247

high/low performer differences, 115impressions, 121roles, 110

architects, 112CEOs, 111channel salesperson, 114

INDEX 421

chief architects, 112CTOs, 111department managers, 113direct salespeople, 114directors of engineering, 111directors of marketing, 111fellows, 111function verification testers, 114product managers, 113program managers, 113programmers, 113release managers, 112research staff members, 113second-line managers, 112system verification testers, 114technical evangelists, 115technical managers, 112technical salespeople, 114usability engineers, 113Vice Presidents, 111visibility, 116

visiting, 51working the org

agreements, 151-153communication, 149dressing for success, 150-151emotional motivators, 140-143getting people on-side, 140negotiations, 144-149problems, 130social networking, 143

compensationbonus plans, 408companies

choosing, 411-412differences, 405

financialindustrial, 33rewards, 3-4salary ranges 2010–2013, 409schools versus industry, 35

graduate degrees, 405-406indirect, 409-411larger companies, 405preferred stock, 407retirement plans, 408startups, 405stock options, 406-407

competitive offerings, 18complainers, 129confidence in interviews, 57confidential disclosure agreements (CDAs), 381constraints (time and resource), 319

contactsbuilding, 72-73finding jobs, 49

Convolution Principle, 227coop students, 266core competencies, 162-163corporate influence, 4costs

patents, 338software defects, 276, 279startups, financing, 383-385

COTS (commercially available components), 320

creating opportunities, 366-367credibility, 121

career advancement, 178project proposal success, 164

critical success factors (CSFs), 203cross-disciplinary studying, 334-336crossing the chasm, 386-389

customer focus, 387demos, 388Internet, leveraging, 388looking big, 389

Crossing the Chasm (Moore), 17, 368CSFs (critical success factors), 203CTOs, 111, 409culture (companies)

core competencies, 163work-life balance, 246-247

curriculum, 32customers

attracting new, 15criteria, 18existing, 15feedback, 21-22focus, 16listening, 21product development influence, 16startup focus, 387types, 16

Ddatabases, 10debugging, 88-89

assertions, 89code inspections, 90Design by Contract, 89Wozniak, Steve, 354

decision making, market-driven, 14defects, 276, 279delegation, 303

422 MAKING IT BIG IN SOFTWARE

democratic leadership, 291-292demos, 388department managers, 113dependency management, 227Design by Contract, 89developing

emotional intelligence, 98-99goals, 183growth skills, 92-94hard skills, 84soft skills, 84, 95, 99technical skills, 85

debugging, 88-90programming languages, 86-88reviews, 91-92

time-management skills, 93-94development

based on existing customers, 15customer criteria, 18customer focus, 16defects, 276, 279maturity, testing, 275-276methodologies, 270-274popularity, 416quality, 18, 279-280SaaS example, 19-21technical skills, 85technologies, 17-18user feedback, 21-22value, 16

direct salespeople, 114directed career path example, 181directing others, 304directors of engineering, 111directors of marketing, 111disruptive technology, 18domain expertise skills, 86dressing for success, 150-151drivers, schools versus industry, 35

Eearly adopters, 17early career years

business of software knowledge, 70career paths, choosing, 74expertise, 70job satisfaction, 76-78low-level programming skills, 71mentors, 74-75networking, 72-73tradecraft skills, 69-70watching leaders, 72

early majority adopters, 17education. See schoolEI (emotional intelligence), 95, 99

developing, 98-99maturity and common sense, 96personalities, 98self-assessment, 98side-by-side comparison example, 96-97

Eisner, Michael, 319elevator pitches, 164, 381Ellison, Larry, 53email

@ symbol, 100, 105-106discussions, 117evolution, 102future, 104invention of networked, 103-104length, 117managing, 210-213

emotional caches, building, 189emotional intelligence. See EIemotional motivators, 140-143

face time, 142giving something for nothing, 141inspiring self-worth in others, 141sharing glory, 142

employment agencies, 49engines, rendering in browsers, 25enjoying work, 5-6enthusiasm, 8, 58estimates, 227-228evaluations (employee), 177executives

adviceBenioff, Marc, 372-373Greene, Diane, 399

salary ranges, 409schedule overruns, 221

existing customers, 15expertise

defined, 190early career, 70

external business plans, 382extracurricular activities

resumés, 48value, 54-55

Fface-saving exits, 265face-to-face private meetings, 118Fagan, Michael, 90

INDEX 423

failuresrates, 12startups, 380success, 416visionaries, 348

fame, 8feedback, 21-22fellows, 111financing startups, 383

angel funding, 384fourth-stage, 385investment capital, 385second-stage, 384third-stage, 385

findinginnovation opportunities, 311-312jobs. See job searchesmentors, 74-75

first few months at work, learning curve, 361-362

colleagues, 364good mentors, 362managers, 362-363managing your boss, 366opportunities, creating, 366-367pushing yourself, 368

following the money, 301formal code reviews, 90FORTRAN, 86four modes of in-person communication,

118-120face-to-face private meetings, 118large group presentations, 119-120small group discussions, 118small group presentations, 118

fourth-stage funding, 385free software, 82freedom of motion, 35fun work environments, 76-78function verification testers, 114fundamental technical skills, 85future

email, 104software, 416

Benioff, Marc, 377Bentley, Jon, 41Booch, Grady, 241-242Gosling, James, 285-286Greene, Diane, 402Kahn, Dr. Robert, 330Malloy, Tom, 258Mayer, Marissa, 29Norvig, Peter, 125

Russinovich, Mark, 199Schwarz, John, 158Stallman, Richard, 83Stroustrup, Bjarne, 66-67Tomlinson, Ray, 108Torvalds, Linus, 174Vaskevitch, David, 217Wozniak, Steve, 357

GGates, Bill

academic grades, 53business fluency, 337

Gerstner, Lou, 13, 208getting people on-side, 140getting started

Benioff, Marc, 370Bentley, Jon, 38Booch, Grady, 237Gosling, James, 282-283Greene, Diane, 397Kahn, Dr. Robert, 325Malloy, Tom, 252Mayer, Marissa, 24Norvig, Peter, 123Russinovich, Mark, 193Schwarz, John, 155Stallman, Richard, 80Stroustrup, Bjarne, 63Tomlinson, Ray, 101Torvalds, Linus, 171Vaskevitch, David, 216

getting to revenue, 385-386Gladwell, Malcolm, 73, 334goal-centric time management, 202-203goal-oriented careers, 181-184

changing with time, 183developing, 183directed career path example, 181trying different jobs, 183undirected career path example, 181working backward, 184

goal-oriented project management, 261-264goals, 226-227good ideas versus good business, 380-381good software

market embracing, 12market-driven, 14-15

Googlefounders, 380successful innovation, 315work environment, 247

424 MAKING IT BIG IN SOFTWARE

Gosling, Jamesadvice, 286-287biography, 281future of software, 285-286getting started, 282-283graduate degrees, 287Java inspirations, 283personal success, 284pet peeves, 284time management, 285trends/innovations, 284work-life balance, 285

gossiping, 128government agencies, 50GPS, value perception cycle, 314graduate degrees

Benioff, Marc, 376compensation, 405-406Gosling, James, 287Greene, Diane, 403Malloy, Tom, 255Mayer, Marissa, 28Russinovich, Mark, 199Schwarz, John, 160Stroustrup, Bjarne, 65Tomlinson, Ray, 106Vaskevitch, David, 216

graphical user interface, 340Gray, Jim, 7Greene, Diane

accomplishments, 397advice for success, 403architecture degree, 397biography, 396future of software, 402getting started, 397graduate degrees, 403influences/inspirations, 399leading software companies, 399personal success, 400pet peeves, 397starting VMware, 398-399time management, 401work-life balance, 401

growthproblems, 135-137skills, 92-94startup acquisition comparison, 390-392statistics, 416

gurus. See visionaries

Hhalo-effect, 121Hamilton, James, 12, 211-212hard skills, 84high performers, 115higher-level programming languages, 87human nature, managing, 264-266

face-saving exits, 265making people feel loved, 264status reports, 265

humility in interviews, 57

IIBM

Gerstner, Lou’s guiding principles, 13IMS, 10patents, 341successful innovation, 315

identifying successful innovations, 309images, revitalizing, 121impressions, 121IMS, 10In Search of Excellence, 303incremental improvements, 18indecision (time management), 207indirect compensation, 409-411individual work (schools), 32industry. See also companies

compared to schools, 34-36code reuse, 34drivers and shapers, 35financial compensation, 35freedom of motion, 35innovation, 35interpersonal networking, 35leadership, 35learning/doing, 35personal portfolios, 36productivity, 36recognition, 36risks, 36teamwork, 34

compensation. See compensationculture

core competencies, 163work-life balance, 246-247

early careersbusiness of software knowledge, 70career paths, choosing, 74expertise, 70

INDEX 425

job satisfaction, 76-78low-level programming skills, 71mentors, 74-75networking, 72-73tradecraft skills, 69-70watching leaders, 72

four modes of in-person communication,118-120

influence, measure of success, 4leaders, watching, 72limited field of vision, 33-34publications, 341

influencesGreene, Diane, 399managers on employee success, 185-187Mayer, Marissa, 24Vaskevitch, David, 216

informal code walkthroughs, 90innovation, 17

2005 McKinsey report on corporatesuccess concerns, 307

benefits, 306brainstorming, 312-313business advantage, 308fostering successful

affinitizing, 319avoiding dictating solutions, 318best people, 316carrying through, 322collaboration, 317current state of the art, 321data, 319Google, 315IBM, 315iteration, 318market as source, 321Microsoft, 315reusing existing components, 320rewards, 316studying other fields, 321time and resource constraints, 319

keeping upBenioff, Marc, 376Bentley, Jon, 40Booch, Grady, 239Gosling, James, 284Malloy, Tom, 255Mayer, Marissa, 28Norvig, Peter, 125Russinovich, Mark, 197Schwarz, John, 157-158Stallman, Richard, 82Stroustrup, Bjarne, 65

Tomlinson, Ray, 107Torvalds, Linus, 173Vaskevitch, David, 217Wozniak, Steve, 358

opportunities, 311-312resumés, 48schools versus industry, 35self-made innovators, 336-337successful, 309-311

identifying, 309iPhone example, 310marketing, 309OS/2 flop example, 310

value perception cycle, 313-315inspections (code), 90inspirations

Greene, Diane, 399Wozniak, Steve, 356

interface designs (Mayer, Marissa), 26internal business plans, 382Internet

finding jobs, 50frequency of top 24 programming

languages and platforms, 87leveraging for startups, 388release cycles, 29server warehouses, 30

internship students, 266interpersonal networking, 35interviews, 56-61

candidates, 296-298coaching, 60communication, 57company negativity, 59confidence/humility, 57enthusiasm, 58falsifying information, 60follow-up etiquette, 60interest in software, 57knowing the competition, 58Norvig, Peter, 124personal/medical information, 59positive, 58research, 56selling yourself, 59skill-testing questions/brainteasers, 56

investment capital, 385iPhone, 310IQ, 96iteration

development methodology, 271innovation, 318

426 MAKING IT BIG IN SOFTWARE

JJava, 87. See also Gosling, JamesJericho, 101job roles, 110

architects, 112CEOs, 111channel salespeople, 114chief architects, 112CTOs, 111department managers, 113direct salespeople, 114directors of engineering, 111directors of marketing, 111fellows, 111function verification testers, 114product managers, 113program managers, 113programmers, 113release managers, 112research staff members, 113second-line managers, 112system verification testers, 114technical evangelists, 115technical managers, 112technical salespeople, 114usability engineers, 113Vice Presidents, 111visibility, 116

job satisfaction, 8, 76-78job searches

career planning/placement offices, 49choosing companies, 43-46cold calls, 50employment agencies, 49extracurricular activities, 54-55friends/contacts, 49government agencies, 50importance of grades, 52-54Internet searches, 50interviewing, 56-61

coaching, 60communication, 57company negativity, 59confidence/humility, 57enthusiasm, 58falsifying information, 60follow-up etiquette, 60interest in software, 57knowing the competition, 58personal/medical information, 59positive, 58research, 56

selling yourself, 59skill-testing questions/brainteasers, 56

newspaper postings, 51professors, 50resource effectiveness, 51-52resumés, 46-48

mailing, 51school performance, 46student positions, 55visiting companies, 51

Jobs, Steveacademics, 53business fluency, 337

KKahn, Dr. Robert

accomplishments, 325advice for success, 328, 331biography, 323-325future of software, 330getting started, 325networking contributions, 326personal success, 327pet peeves, 326pivotal career point, 326software scale, 327technology/trends, 329time management, 329work-life balance, 330

Kay, Alan, 350Kennedy, John F., 261

Llaggards, 17large group presentations, 119-120late majority adopters, 17lateness. See overrunsLaw of the Few, 143leadership. See also visionaries

authority, 293-294delegation, 303directing others, 304following the money, 301innovation

2005 McKinsey report on corporatesuccess concerns, 307

affinitizing, 319avoiding dictating solutions, 318benefits, 306best people, 316brainstorming, 312-313

INDEX 427

business advantage, 308carrying through, 322collaboration, 317current state of the art, 321data, 319Google, 315IBM, 315identifying valuable, 309iPhone example, 310iteration, 318market as source, 321marketing, 309Microsoft, 315opportunities, 311-312OS/2 flop example, 310reusing existing components, 320rewards, 316studying other fields, 321successful, 309-311time and resource constraints, 319value perception cycle, 313-315

managing, compared, 288-290proceeding without formal support, 294resumés, 47rewards, 301-302schedule overruns, 235

average example, 223avoiding, 235causes, 224-231effects, 223executive perception, 221handling, 232-233leadership, 235right people, 235statistics, 222

schools versus industry, 35shared values, 303styles, 290-292teams, building, 295-300

lean development methodology, 273learning

business of software, 70expertise, 70low-level programming skills, 71programming languages, 86-88schools versus industry, 35tradecraft skills, 69-70

learning curve (first few months at work),361-362

colleagues, 364good mentors, 362managers, 362-363managing your boss, 366

opportunities, creating, 366-367pushing yourself, 368

lengthemails, 117resumés, 48

life impacts work, 247-248Lightstone’s Convolution Principle, 227limited field of vision, 32

industry, 33-34school, 33school as, 32

Linux, 173. See also Torvalds, LinusLogAD (Logistics Anchor Desk), 101low performers, 115low-level programming skills, learning, 71

Mmailing resumés, 51Malloy, Tom

accomplishments, 251-252advice for success, 257-259biography, 252chief software architect role, 254future of software, 258getting started, 252graduate degrees, 255personal success, 254, 257pet peeves, 259risk-taking decisions, 253technical accomplishments, 257time management, 256trends/innovations, 255work-life balance, 256

The Management of Innovation, 303managers

communication, 121employee’s first few months, 362-363influences on employee success, 185-187managing, 366peer impact, 187-188

managingdependency, 227leadership, compared, 288-290managers, 366projects

defects, 276, 279development methodologies, 270-274goal-oriented, 261-264human nature, 264-266maturity, testing, 275-276plans, changing, 269-270quality, 279-280

428 MAKING IT BIG IN SOFTWARE

SMART, 262students, 266value, measuring, 267-269

schedule overruns, 232-233marketing, 309marketplace

driving software, 14-15embracing good software, 12influence on schools, 33

Master’s degrees, 406maturity, testing, 275-276Mayer, Marissa

accomplishments, 26advice for success, 27biography, 23-24choosing Google, 43field opportunities, 30future of software, 29getting started, 24graduate degrees, 28influences, 24listening to customers, 22personal success, 27pet peeves, 25time management, 29trends/innovation, 28women in computing, 26work-life balance, 29

measuringsuccess, 3-6value, 267-269

mentors, 74-75, 362methodologies (development), 270

agile development process, 272iterative development, 271lean development, 273rapid prototyping, 274scrum, 271waterfall development process, 274XP, 273

Meyer, Bertrand, 89mezzanine funding, 385Microsoft

Bay Area Research Center (BARC), 7stock growth, 337successful innovation, 315work environment, 247

mistakesfundamentals versus incidentals, 137growth

excessive self-promotion, 136self-marketing wrong messages, 136

technical skills, 135unimportant roles, 137

people, 127burning bridges, 128complainers, 129gossiping, 128inappropriate decision making, 131snitching on coworkers, 129too many suggestions, 130working the org, 130

productivity, 133buggy code, 133lack of productivity, 134missing dates consistently, 134skunkworks focus, 135time management, 135

team, 131-132Moore, Geoffrey, 17, 386motivation, emotional, 140-143

face time, 142giving something for nothing, 141inspiring self-worth in others, 141sharing glory, 142

The Mythical Man Month, 225

NNDAs (nondisclosure agreements), 381near-real-time communication, 179negotiating, 144

meeting in the middle, 145-147mutual gain options, 147-148outcomes, estimating, 145quitting while ahead, 149seeking first to understand, 144

networked email, 103-104networking

early career, 72-73Kahn, Dr. Robert’s contributions, 326wasting time, 209working the org, 143

new customers, attracting, 15new graduates

career paths, choosing, 74finding jobs, 52-54industry leaders, watching, 72job satisfaction, 76-78learning

business of software, 70expertise, 70low-level programming skills, 71tradecraft skills, 69-70

INDEX 429

mentors, 74-75networking, 72-73resumés, 46school performance, 46

new writer advice, 344-345newspaper job postings, 51nondisclosure agreements (NDAs), 381North American salary ranges 2010–2013, 409Norvig, Peter

accomplishments, 123advice for success, 126biography, 122-123future of software, 125getting started, 123job interview example, 124personal success, 124pet peeves, 124time management, 125trends/innovations, 125work-life balance, 125

OOOP (object-oriented programming), 63

languages, 88Stroustrup, Bjarne, 63

open source, 383opportunities

creating, 366-367innovations, 311-312Mayer, Marissa, 30

OS/2 flop, 310Outliers, 334overruns

average example, 223avoiding, 235causes, 224

adding manpower, 225aggressive estimates, 228bad estimates, 227-228dependency management, 227fundamentals, bypassing, 230human performance, 224scope creep, 224social dynamics, 229-230strategic changes, 231time away from deliverables,

forgetting, 231unclear goals, 226-227

effects, 223executive perception, 221handling, 232-233

leadership, 235right people, 235statistics, 222

Ppacesetting leadership, 291-292Page, Larry, 380paralysis by analysis, 207Parkinson’s Law, 230passion, 350-351patents, 338

career success, 341costs, 338criteria, 338graphical user interface example, 340names, 341style-mixing pants example, 339worthy ideas, 340

Patton, General George, 207people problems, 127

burning bridges, 128complainers, 129gossiping, 128inappropriate decision making, 131snitching on coworkers, 129too many suggestions, 130working the org, 130

performance (schedule overruns), 224Perlis, Alan, 86personal portfolios, 36personal success, defining, 415personal tenacity (proposals), 168personal walkthroughs, 90pet peeves

Bentley, Jon, 39Booch, Grady, 240Gosling, James, 284Greene, Diane, 397Kahn, Dr. Robert, 326Malloy, Tom, 259Mayer, Marissa, 25Norvig, Peter, 124Russinovich, Mark, 199Schwarz, John, 160Stallman, Richard, 81Stroustrup, Bjarne, 65Tomlinson, Ray, 109Torvalds, Linus, 172Vaskevitch, David, 217Wozniak, Steve, 355

Peters, Tom, 303

430 MAKING IT BIG IN SOFTWARE

Ph.Ds, 406philanthropy (Benioff, Marc), 373-374pitching proposals, 166-168plans (project), changing, 269-270platforms

independence, 375Internet frequency of top 24 programming

and platforms, 87popularity of software development, 416post-factum communication, 180preferred stock, 407presentations

large group, 119-120small group, 118summary, 381

proactiveness (urgency), 208problems

acquisitions, 394-395fundamentals versus incidentals, 137growth

excessive self-promotion, 136self-marketing wrong messages, 136technical skills, 135unimportant roles, 137

people, 127burning bridges, 128complainers, 129gossiping, 128inappropriate decision making, 131snitching on coworkers, 129too many suggestions, 130working the org, 130

productivity, 133buggy code, 133lack of productivity, 134missing dates consistently, 134skunkworks focus, 135time management, 135

team, 131-132product development

based on existing customers, 15customer criteria, 18customer focus, 16quality characteristics, 18SaaS example, 19-21technologies, 17-18user feedback, 21-22value, 16

product managers, 113productivity

problems, 133-135schools versus industry, 36

professional activities, 48

professors, 50program managers, 113programmers

9-to-5 job, 108high/low performers, 115role, 113

programming languagesInternet frequency of top 24 programming

languages and platforms, 87learning, 86-88

Programming Pearls, 38project management

defects, 276, 279development methodologies, 270

agile development process, 272iterative development, 271lean development, 273rapid prototyping, 274scrum, 271waterfall development process, 274XP, 273

goal-oriented, 261-264human nature, 264-266maturity, testing, 275-276plans, changing, 269-270quality, 279-280SMART, 262students, 266value, measuring, 267-269

projectsfailures, 11-12good

market embracing, 12market-driven, 14-15

managing. See project managementoverruns

average example, 223avoiding, 235causes, 224-231effects, 223executive perception, 221handling, 232-233leadership, 235right people, 235statistics, 222

proposalsconnecting privately with decision

makers, 164converting naysayers to believers, 163core competencies, 162-163credibility, 164elevator pitch, 164example, 165

INDEX 431

executive commitment, 169others’ ideas, including, 164personal tenacity, 168pitching, 166-168

skunkworks, 135promotibility inversion, 189-191promoting others, 189promotions. See advancementproprietary software, 194proposals

connecting privately with decision makers, 164

converting naysayers to believers, 163core competencies, 162-163credibility, 164elevator pitch, 164example, 165executive commitment, 169others ideas, including, 164personal tenacity, 168pitching, 166-168

public speaking, 345-348adapting to audiences, 346antagonists, 348clarity and pace, 346engaging audience, 346first person, 347hand motions, 347purpose, 348smiling, 347speaking the charts, 347understanding audience, 346

publishing, 343benefits, 342books, 342columns/blogs, 342impact, 341industrial/trade publications, 341new writer advice, 344-345research papers, 341value, 343whitepapers, 342

pushing yourself, 368

Q–Rquadrants of time, 93-94quality

products, 18testing, 279-280

R&D, bootstrapping, 382-383rapid prototyping development

methodology, 274

Rational Software beginnings, 238recognition, 36recruiting candidates

attracting, 295filtering, 296interviewing successfully, 296-298

relational databases, 156release cycles, 29release managers, 112remote workers, 383rendering browser engines, 25research papers, 341research staff members, 113resources

constraints, 319finding jobs

career planning/placement offices, 49cold calls, 50effectiveness, 51-52employment agencies, 49friends/contacts, 49government agencies, 50Internet searches, 50mailing resumés, 51newspaper postings, 51professors, 50visiting companies, 51

responsiveness (startups), 389-390resumés

awards, 47details, 47-48extracurricular activities, 48grades, 52-54innovations, 48leadership roles, 47length, 48mailing, 51new graduates, 46professional activities, 48technical domain skills, 47

retirement plans, 408revenue (startups), 385-386reviews (technical), 91-92revitalizing images, 121rewards, 301-302, 316risks

schools versus industry, 36toleration, 17

roles (companies), 110architects, 112CEOs, 111channel salesperson, 114chief architects, 112

432 MAKING IT BIG IN SOFTWARE

CTOs, 111department managers, 113direct salespeople, 114directors of engineering, 111directors of marketing, 111fellows, 111function verification testers, 114product managers, 113program managers, 113programmers, 113release managers, 112research staff members, 113second-line managers, 112system verification testers, 114technical evangelists, 115technical managers, 112technical salespeople, 114usability engineers, 113Vice Presidents, 111visibility, 116

Russinovich, Markaccomplishments, 195advice for success, 198-200biography, 192-193future of software, 199getting started, 193graduate degrees, 199Microsoft recruitment, 195personal success, 196pet peeves, 199proprietary software, 194time management, 196trends/innovations, 197Windows incorporation of tools, 195Winternals development, 193-194work-life balance, 197

SSaaS (software as a service), 19, 374

Benioff, Marc, 374technology adoption example, 19-21

salary ranges 2010–2013, 409Salesforce.com, 369satisfaction, 76-78schedule overruns

average example, 223avoiding, 235causes, 224

adding manpower, 225aggressive estimates, 228bad estimates, 227-228dependency management, 227

fundamentals, bypassing, 230human performance, 224scope creep, 224social dynamics, 229-230strategic changes, 231time away from deliverables,

forgetting, 231unclear goals, 226-227

effects, 223executive perception, 221handling, 232-233leadership, 235right people, 235statistics, 222

Schmidt, Eric, 380school

career planning/placement offices, 49compared to industry, 34-36curriculum, 32importance of grades, 52-54individual work, 32limited field of vision, 32-33market influences, 33performance, 46student positions, 55

Schwarz, Johnaccomplishments, 156advice for success, 159-160biography, 154-155career goals, 184future of software, 158getting started, 155graduate degrees, 160path to CEO position, 156personal success, 160pet peeves, 160time management, 158trends/innovations, 157-158work-life balance, 159

scope creep, 224scrum development methodology, 271second-line managers, 112second-stage funding, 384self-made innovators, 336-337server warehouses, 30shapers, 35shared values, 303sharing glory, 142Sharpen the Saw story, 92-94skills

business, 337-338communication

effective, 117-118

INDEX 433

email, 117four modes of in-person

communication, 118-120importance, 116managers, 121personal requests, 118

growth, 92-94hard, 84leadership

authority, 293-294delegation, 303directing others, 304following the money, 301innovation. See leadership, innovationmanaging, compared, 288-290proceeding without formal support, 294rewards, 301-302schedule overruns, 235shared values, 303styles, 290-292teams, building, 295-300

low-level programming, 71soft

defined, 84developing, 84, 95emotional intelligence, 95-99

technicaldebugging, 88-90development, 85domain expertise, 86fundamental, 85growth required, 85problems, 135programming languages, 86-88reviews, 91-92tradecraft, 86

time-management, 93-94tradecraft, 69-70

skunkworks projects, 135small group discussions/presentations, 118SMART (specific, measurable, attainable,

realistic, timely), 262SMPs (symmetric multiprocessors), 267socializing

dynamics, 229-230networking, 143, 349-350wasting time, 209

soft skillsdefined, 84developing, 84, 95emotional intelligence, 95-99

developing, 98-99maturity and common sense, 96personalities, 98

self-assessment, 98side-by-side comparison example,

96-97software

as a service. See SaaSscale, 327

space program project management example,261-264

specific, measurable, attainable, realistic,timely (SMART), 262

Stallman, Richardaccomplishments, 81advice for success, 83biography, 79-80free software champion, 82future of software, 83getting started, 80personal success, 81pet peeves, 81time management, 83trends/innovations, 82work-life balance, 83

startupsacquisition

benefits, 392categories, 392-393getting the word out to potential

buyers, 394problems, 394-395

adaptability, 389-390Benioff, Marc advice, 372business plans, 381compensation, 405crossing the chasm, 386-389elevator pitches, 381external business plans, 382failures, 380financing, 383

angel funding, 384fourth-stage, 385investment capital, 385second-stage, 384third-stage, 385

getting to revenue, 385-386good ideas versus good business, 380-381growth versus acquisition, 390-392internal business plans, 382R&D, bootstrapping, 382-383responsiveness, 389-390summary presentations, 381

statisticsjob growth, 416overruns, 222

status reports, 265

434 MAKING IT BIG IN SOFTWARE

stock options, 406-407stressors, 248Stroustrup, Bjarne

accomplishments, 63advice for success, 66biography, 62-63The C++ Programming Language, 64future of software, 66-67getting started, 63graduate degrees, 65personal success, 64pet peeves, 65time management, 65trends/innovations, 65work-life balance, 65

studentslimited field of vision, 32managing, 266positions, 55

styles, leadership, 290-292success. See also advancement

adviceBenioff, Marc, 371, 375, 378Bentley, Jon, 41-42Booch, Grady, 242-243Gosling, James, 286Greene, Diane, 403Kahn, Dr. Robert, 328, 331Malloy, Tom, 257-259Mayer, Marissa, 27Norvig, Peter, 126Russinovich, Mark, 198-200Schwarz, John, 159Stallman, Richard, 83Stroustrup, Bjarne, 66Tomlinson, Ray, 106Torvalds, Linus, 175Vaskevitch, David, 216Wozniak, Steve, 358-359

characteristics, 8credibility, 121defining, 415dressing for success, 150-151enthusiasm, 8failures, 416fame, 8freedom, 7fun work environment, 76-78innovation, 309-311

affinitizing, 319avoiding dictating solutions, 318best people, 316carrying through, 322collaboration, 317

current state of the art, 321data, 319Google, 315IBM, 315identifying, 309iPhone example, 310iteration, 318market as source, 321marketing, 309Microsoft, 315OS/2 flop example, 310reusing existing components, 320rewards, 316studying other fields, 321time and resource constraints, 319

IQ, 96job satisfaction, 8luck, 414management peers impact, 187-188manager influence, 185-187measures

betterment of society, 4corporate/industrial influence, 4enjoyment, 5-6financial compensation, 3-4

patents, 341personal

Bentley, Jon, 39Booch, Grady, 239Gosling, James, 284Greene, Diane, 400Kahn, Dr. Robert, 327Malloy, Tom, 254, 257Mayer, Marissa, 27Norvig, Peter, 124Russinovich, Mark, 196Schwarz, John, 160Stallman, Richard, 81Stroustrup, Bjarne, 64Tomlinson, Ray, 103Torvalds, Linus, 172Vaskevitch, David, 218Wozniak, Steve, 356

positive impressions, 121project proposals

connecting privately with decisionmakers, 164

converting naysayers to believers, 163core competencies, 162-163credibility, 164elevator pitch, 164example, 165executive commitment, 169others ideas, including, 164

INDEX 435

personal tenacity, 168pitching, 166-168

qualities, 413-414rates, 12

summary presentations, 381symmetric multiprocessors (SMPs), 267Sysinternals, 195System 360 project, 349system verification testers, 114

Ttask-centric time management, 203-205teams

building, 295attracting, 295filtering, 296interviewing successfully, 296-298keeping best people happy, 298-299mix, 299prima donnas/superstars, 300

co-opetition, 115problems, 131-132schools versus industry, 34

technical domain skills, 47technical evangelists, 115technical managers, 112technical salespeople, 114technical skills

debugging, 88-89assertions, 89code inspections, 90Design by Contract, 89

development, 85domain expertise, 86fundamental, 85growth requirements, 85problems, 135programming languages, 86-88reviews, 91-92tradecraft, 86

technology. See also innovationadoption lifecycle, 17

customer criteria, 18quality characteristics, 18SaaS example, 19-21technologies, 18

disruptive, 18tenacity (urgency), 208TENEX, 102testing

maturity, 275-276quality, 279-280

thinking inside the box, 319third-stage funding, 385time

constraints (innovation), 319management

1950s–1980s, 2011990s, 201Benioff, Marc, 377Bentley, Jon, 40Booch, Grady, 240Circles of Concern/Influence, 205-206email, 210-213goal-centric, 202-203Gosling, James, 285Greene, Diane, 401indecisions, 207Kahn, Dr. Robert, 329Malloy, Tom, 256Mayer, Marissa, 29Norvig, Peter, 125problems, 135Russinovich, Mark, 196Schwarz, John, 158skills, developing, 93-94Stallman, Richard, 83Stroustrup, Bjarne, 65task-centric, 203, 205time wasting, 209-210Tomlinson, Ray, 107Torvalds, Linus, 173urgency, 208-209Vaskevitch, David, 217Wozniak, Steve, 357

wasting, 209-210time-shared computing, 100The Tipping Point: How Little Things Can

Make a Big Difference (Gladwell), 73, 143Tomlinson, Ray

@ sign, 103-106accomplishments, 102advice for success, 106, 109biography, 100-101evolution of email, 102future of email, 104future of software, 108getting started, 101graduate degrees, 106invention of networked email, 103-104personal feelings toward email, 104personal success, 103pet peeves, 109programming as a 9-to-5 job, 108time management, 107

436 MAKING IT BIG IN SOFTWARE

trends/innovations, 107work-life balance, 108

Torvalds, Linusaccomplishments, 171advice for success, 175biography, 170future of software, 174getting started, 171personal success, 172pet peeves, 172time management, 173trends/innovations, 173work-life balance, 174

trade publications, 341tradecraft skills, 69-70, 86trends, keeping up. See also innovation

Benioff, Marc, 376Bentley, Jon, 40Booch, Grady, 239Gosling, James, 284Kahn, Dr. Robert, 329Malloy, Tom, 255Mayer, Marissa, 28Norvig, Peter, 125Russinovich, Mark, 197Schwarz, John, 157-158Stallman, Richard, 82Stroustrup, Bjarne, 65Tomlinson, Ray, 107Torvalds, Linus, 173Vaskevitch, David, 217Wozniak, Steve, 358

trust, 140types

audiences, 16leadership, 291-292

U–Vunclear goals, 226-227undirected career path example, 181urgency (time management), 208-209usability engineers, 113

valueextracurricular activities, 54-55perception cycle, 313-315products, 16publishing, 343shared, 303software, measuring, 267-269

Vaskevitch, Davidadvice for success, 216-218biography, 214-216

future of software, 217getting started, 216graduate degrees, 216influences, 216personal success, 218pet peeves, 217time management, 217trends/innovations, 217work-life balance, 217, 249

vice presidents, 111visibility, 116visionaries. See also leadership

authority, 333-334believing in yourself, 336-337business skills, 337-338cross-disciplinary studying, 334-336defined, 333failures, 348passion, 350-351patents, 338

career success, 341costs, 338criteria, 338graphical user interface example, 340names, 341style-mixing pants example, 339worthy ideas, 340

public speaking, 345-348adapting to audience, 346antagonists, 348clarity and pace, 346engaging audience, 346first person, 347hand motions, 347purpose, 348smiling, 347social networking, 350speaking the charts, 347understanding audience, 346

publishing, 343benefits, 342books, 342columns/blogs, 342impact, 341industrial/trade publications, 341new writer advice, 344-345research papers, 341value, 343whitepapers, 342

self-made innovators, 337visiting companies, 51VMware foundation, 398-399

INDEX 437

W–Zwasting time, 209-210watching industry leaders, 72waterfall development process, 274Welch, Jack, 186whitepapers, 342Winternals, 193-194women in computing, 26work environment, 247work-life balance, 244

achieving by working backward, 249assessing, 249Benioff, Marc, 377Bentley, Jon, 40Booch, Grady, 241defining yourself, 245Gosling, James, 285Greene, Diane, 401Kahn, Dr. Robert, 330life impacts work, 247-248Malloy, Tom, 256Mayer, Marissa, 29Norvig, Peter, 125organizational culture, 246-247repartitioning time, 245Russinovich, Mark, 197Schwarz, John, 159Stallman, Richard, 83stressors, 248Stroustrup, Bjarne, 65tips, 246Tomlinson, Ray, 108Torvalds, Linus, 174Vaskevitch, David, 217work environment, 247

working the orgagreements, 151-153communication, 149dressing for success, 150-151emotional motivators, 140-143getting people on-side, 140negotiations, 144

meeting in the middle, 145-147mutual gain options, 147-148outcomes, estimating, 145quitting while ahead, 149seeking first to understand, 144

problems, 130social networking, 143

world-class authority status, 334worst and best programmers differences, 295Wozniak, Steve, 336

accomplishments, 355advice, 358-359biography, 352-353debugging, 354future of software, 357inspirations, 356personal future, 357personal success, 356pet peeves, 355Tetris, playing, 357time management, 357trends/innovations, 358viewing self as hardware person, 353-354

writing code, 39

XP development methodology, 273

438 MAKING IT BIG IN SOFTWARE