My notes from The Passionate Programmer
It's been a while since I read Chad Fowler's The Passionate Programmer.
Recently I found notes I did during reading it. I thought I would share them with you. It is tl;dr of every one of the 53 chapters of the book.
1. Keep on radar bleeding edge technologies vs sunset technologies.
2. Follow job market requirements.
3. Understand the business.
4. Be the Worst in the team so you can learn from others.
5. Learn/know different type of programming languages (C#, C, python, prolog...).
6. Avoid fear-driven career choices.
7. Keep radar on known tech/platforms vs unknown(to learn).
8. Learn what is under the abstraction layer of your programming language.
9. Use different technologies.
10. Log your excitement level over the days.
11. Every day learn something new about the tech/tools you are using.
12. Learn how business work.
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's code (and criticize it).
18. Automate tasks.
19. Do it now!
20. Predict the future - possible requested features (make it easy to implement it).
21. Make daily reviews (problems, processes to improve).
22. Understand your manager/company goals.
23. Set goals for your current job (long term).
24. Make boring tasks fun!
25. How much are you worth?
26. Share your areas of knowledge in the job (implemented modules, deployment process etc.). Make documentation.
27. Measure (by metrics), improve, measure.
28. Work as hard as you can (no fb, 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 of what others think about you (managers, teammates etc.).
34. Don't make people afraid of you.
35. Track your decisions and analyze them (diary).
36. In-person communication over email/Skype.
37. Have an elevator pitch (business benefits of your recent work).
38. Have the mission!
39. Be present online (blog, Twitter, LinkedIn).
40. Care about your brand (google yourself).
41. Contribute to open source!
42. Be remarkable (do something that will take a week in one day).
43. Propose changes/features to the software you are using (mail author).
44. Be up to date with current/new tech.
45. Try to do your job as you are your manager.
46. Path is more important than the destination.
47. Create a map of your past, current and future career (and what you learn, when you lost time).
48. Try to be an alpha geek (or follow some of them).
49. Ask your coworkers for feedback.
50. Avoid monkey traps (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) - how much did you earn?
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?