Practical Guide To Survival In The Corporate Jungle
You write great code - everyday. One day, your supervisor
comes in and tells you that you have one hour to clear out your
desk - you have just been fired and have no idea why. You write
great code. The credit and recognition for the system you
designed, coded, and for which you sacrificed sleep and time with
your family goes to the marketing manger. As unusual as these two
events seem, they are surprisingly common.
Developers are a bright, passionate bunch of people that work
hard to help others. These traits work to contribute to
developers' and the profession at large success but can also work
against them because developers are typically very focused on
their work and thus disregard other seemingly unimportant
elements around them. The Guerilla Programmer brings to light
some of the darker areas that developers must delve into that
have seemingly nothing to do with programming, yet have
everything to so with survival and success in the corporate
world.
The book is divided into two large parts: Software Development
in an Imperfect World and Guerilla Tactics for Front Line
Programmers. The first part of the book serves as a wakeup call
to seasoned and new developers alike while the second part of the
book describes some unusual tactics for managing your career in
the often hostile and seemingly illogical business world.
The first chapter sets the tone for the rest of the book with
a pragmatic description of typical workplaces that programmers
end up in, in terms of their role within the organization and
day-to-day interactions with others in the organization. Duncan
skillfully describes the close yet subtle relationship between a
business and the programmers that work for it. While many
programmers believe that they are in control, because they're
responsible for producing software that represents part of many
businesses' revenue streams (directly or indirectly), Duncan
asserts that belief is dangerously wrong. Duncan describes that
software simply as a means to an end - a way of getting customers
to part with their money and that programmers happen to produce
that means. Software is simply part of a larger business model -
a business model created by business people who ultimately pay
the programmers, thus clearly putting the business people in the
diver's seat. This chapter essentially establishes where
programmers fit in and what they're capable of influencing.
The author describes, in the second and third chapters, what
factors influence a programmer's career and introduces three ways
of addressing them. The factors include internal politics,
prioritizing shipping ahead of testing, not taking management
seriously enough, trusting in others (like project managers) to
manage your time for you, providing overly optimistic schedule
estimates, and focusing too much on code and not enough on
"annoyances" like interacting with non-technical staff. In
rounding out the discussion, Duncan describes why non-technical
aspects of the programming profession are important (like
creating the potential to earn more) and introduces some of those
aspects in detail including: organization, spending more time on
design rather than coding, improving communication with others,
and knowing what you want to achieve in your career. The
underlying theme of the first part of the book is if you don't
control your own destiny within all aspects of your career that
you can influence; someone else will do it for you - often with
what we programmers perceive as unexpected results.
The book really comes down to one thing: attitude. Getting
fired from a job, being passed up for a promotion, or not getting
a contract can both be a humbling and learning experience. This
entertaining and informative book discusses why technical skills
are not enough to either keep the job you have or help land the
job you want and offers great tips and practical advice on how to
survive in the corporate jungle.
Grades:
Overall Value | 4 |
Accuracy | 5 |
Depth | 5 |
Readability | 5 |
Organization | 4 |
Grade | A- |
.grade {font-size:7pt}
Calculate the Grade as follows: Add all numeric grade values, divide by 25, multiply by 100, then assign the letter grade based on the following ranges:
A+:100 | A :95 | A-:90 | B+:85 | B:75 | B-:70 | C+:65 | C :60 | C-:50 | D+:40 | D :30 | D-:25 | F :0 |
Erik is a senior developer-writer with more than 20 years professional programming experience designing and developing large scale database and Internet-centric applications for organizations including MSN.ca, ADP, Nortel, EDS, Merrill Lynch, ePost, CIBC, TD Securities, IBC, CIHI, InnovaPost, etc.
Erik has been specializing in BizTalk Server-based solutions for many years. His experience includes many SOA and ESB-style applications using technologies like Commerce Server, SharePoint, ASP.NET and advanced .NET Framework.