library of congress cataloging-in-publication...
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