15
The Passionate Programmer Igor Morozov By Chad Fowler

The Passionate Programmer Igor Morozov By Chad Fowler

Embed Size (px)

Citation preview

Page 2: The Passionate Programmer Igor Morozov By Chad Fowler

What the book is about? Not about struggling to maintain the level of

mediocrity required not to get fired; Strategy for creating a radically successful career in

software development; Cultivating the desire to live a remarkable life; 43 pieces of advice, supplied with examples and

comparisons between music and IT;

Page 3: The Passionate Programmer Igor Morozov By Chad Fowler

About author

Chad Fowler

Had an unfinished musician degree;

Brief career of a saxophonist;

Then software developer and project manager;

Made a trip to India for recruiting people;

Currently a Ruby developer

Page 4: The Passionate Programmer Igor Morozov By Chad Fowler

Don’t build your career around a specific technology

Company, that owns this technology, may go out of business;

The technology itself may become obsolete; “Market leader” and “standard” are not synonyms; So invest your time in multiple technologies, better

try out a dozen of them and form your tastes;

Page 5: The Passionate Programmer Igor Morozov By Chad Fowler

Be the worst The people around you affect your performance.

Choose your crowd wisely; When choosing a team to work with, try to be the

worst by level; Due to instinctual herd behavior, people fit in with

superior teammates; Plus, you’ll find out that you’re not as bad as you

thought and this will give you additional inspiration

Page 6: The Passionate Programmer Igor Morozov By Chad Fowler

Don’t listen to your parents Parents usually consider safe variants for their

children: just earn money and stay away from getting the sack;

A generation ago job certainly wasn’t fun, now it can be;

In our industry it’s OK to change jobs;

Page 7: The Passionate Programmer Igor Morozov By Chad Fowler

Practice, Practice, Practice

Explore your language’s APIs and function libraries

Study new programming areas

Practice in writing elegant code (codehunter.com)

Participate in competitive programming (topcoder.com)

Page 8: The Passionate Programmer Igor Morozov By Chad Fowler

Be a Mind Reader Listen carefully to manager’s thoughts of which

features to add to the project; Or anticipate them if you can; However, don’t implement mind-read feature if it

will somehow limit the system; Or if it requires much of the company’s resources;

Page 9: The Passionate Programmer Igor Morozov By Chad Fowler

Learn to love maintenanceWhy is maintenance work not attractive? Lack of funding Dealing with bad legacy codeAdvantages of maintenance: Just a few responsibilities Freedom to refactor code and unexpectedly

implement something new; Ability to directly interact with users;

Page 10: The Passionate Programmer Igor Morozov By Chad Fowler

Stop working after-hours It’s better to think “I have only 8 hours! Go, go,

go!” Having more time to work reduces the value of

time, which results in laziness at work and reduced productivity;

The end of a working day should be a strict deadline for the piece of work, otherwise it nags the worker afterwards;

Page 11: The Passionate Programmer Igor Morozov By Chad Fowler

Learn how to make mistakes Raise the issue as soon as you know about it; Take the blame for it; Offer a solution (or a way to find a solution); Don’t refuse help out of pride; Remember: you’re showing your true face when

dealing with errors.

Page 12: The Passionate Programmer Igor Morozov By Chad Fowler

Learn when to say ‘No’ Saying “yes” to avoid somebody’s disappointment

is as good as lying; And at work lying tend to cost much money for the

company; Refusing to do the work with objective reasons or

at least saying “I don’t know” is much better; Although you should keep balance between “yes”

and “no”;

Page 13: The Passionate Programmer Igor Morozov By Chad Fowler

Other advice: at work Remember who you work for and match your goals

to his/her Live in the present, don’t think about promotion as

an ultimate goal; Think about how much money you deliver to your

company vs. how much you cost Don’t feel irreplaceable Don’t panic

Page 14: The Passionate Programmer Igor Morozov By Chad Fowler

Other advice: beyond work Know your business domain Invest in your intelligence Mine existing code for patterns and tricks; Be a generalist and a specialist; Find a mentor and be a mentor to someone

Page 15: The Passionate Programmer Igor Morozov By Chad Fowler

Thanks for attention!