Download presentation
Presentation is loading. Please wait.
Published byAlexina Johnston Modified over 9 years ago
1
The Passionate Programmer Igor Morozov By Chad Fowler
2
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;
3
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
4
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;
5
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
6
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;
7
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)
8
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;
9
Learn to love maintenance Why is maintenance work not attractive? Lack of funding Dealing with bad legacy code Advantages of maintenance: Just a few responsibilities Freedom to refactor code and unexpectedly implement something new; Ability to directly interact with users;
10
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;
11
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.
12
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”;
13
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
14
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
15
Thanks for attention!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.