The Passionate Programmer Igor Morozov By Chad Fowler.
-
Upload
alexina-johnston -
Category
Documents
-
view
220 -
download
2
Transcript of The Passionate Programmer Igor Morozov By Chad Fowler.
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;
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
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;
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
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;
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)
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;
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;
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;
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.
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”;
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
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
Thanks for attention!