Over a million developers have joined DZone.

My Notes From the ''Passionate Programmer''

DZone's Guide to

My Notes From the ''Passionate Programmer''

Over 50 tips extracted from Chad Fowler's ''Passionate Programmer,'' including useful ones like coding Katas, on how to constantly learn and grow.

· Agile Zone ·
Free Resource

Whatever new awaits you, begin it here. In an entirely reimagined Jira. 

It’s been a while since I read Chad Fowler’s The Passionate Programmer.

Recently I found notes that I took while reading it, and I thought I would share them with you. The list is a tl;dr for all 53 chapters of the book.

1. Keep up to date on bleeding edge technologies vs sunset technologies.
2. Follow job market requirements.
3. Understand business.
4. Be the worst in the team so you can learn from others.
5. Learn/know different types of programming languages (C#, C, python, prolog, etc.).
6. Avoid fear-driven career choices.
7. Keep up to date on known tech/platforms vs unknown.
8. Learn what is under the abstraction layer of your programming language.
9. Use different technologies.
10. Keep a log of your excitement level over time.
11. Learn something new about tech/tools you are using every day.
12. Learn how business works.
13. Have/find a mentor.
14. Be a mentor.
15. Practice (Google Code Jam, Project Euler, Code Katas).
16. Know/learn software development methodologies.
17. Read other developers' code (and critique it).
18. Automate tasks.
19. Whatever it is you want to do, do it now!
20. Predict the future – possible requested features (make it easy to implement it).
21. Review of problems and processes that could be improved upon every day.
22. Understand your manager's/company's goals.
23. Set long term goals for your current job.
24. Make boring tasks fun!
25. How much are you worth? Realize it and work for it. 
26. Share your areas of knowledge on the job (implemented modules, deployment process etc.). 
27. Measure your success using metrics in order to improve.
28. Work as hard as you can (no Facebook, Twitter etc.).
29. Learn how to fail.
30. Say ‘No’ when you know you cannot do something.
31. Don’t panic.
32. Say It, Do It, Show It.
33. Be aware what others think about you (managers, teammates, etc.).
34. Don’t make people afraid of you, i.e. be open and engaging. 
35. Track your decisions and analyze them.
36. Keep up communication whether it is in-person, or over email/Skype.
37. Have an elevator pitch at the ready that will show the business benefits of your recent work.
38. Have a mission!
39. Have a good web presence by creating a blog, and using Twitter and LinkedIn.
40. Care about your brand (Google yourself).
41. Contribute to open source!
42. Be remarkable  - Try to do something in one day that should take a week.
43. Propose changes/features to the software you are using, and maybe even open a line of communication with the software's author.
44. Remain up to date on current/new tech.
45. Try to do your job as if you are your manager.
46. The path is more important than the destination.
47. Create a map of your past, current and future career, and what you want to learn when you have the time.
48. Try to be an alpha geek, or follow some of them.
49. Ask your coworkers for feedback.
50. Avoid monkey traps, by which I mean: do not be too confident in some things, or review them from time to time; know your enemy; play with technology you don’t like.
51. Avoid Waterfall career planning.
52. Be better every day.
53. Try to go independent, e.g. 2 hours/day after work hours. 

This book helped me to drive my career, and I am sure it will help you with your career!

Have you read this book? What do you think? Maybe you know some other books you would recommend?

New roadmaps, more flexible boards, and dozens of new integrations. And that's just the beginning.  

agile ,development process ,career development

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}