The passionate programmer by Chad Fowler
Table of Contents
Notes from the book #
“It’s about being awesome, it’s about winning. You don’t win a race by trying not to lose”
“The only way to find yourself around those people who you admire as often as possible is to become one of those people”
In the music world all want to be great but a musician wants to either be great or not do it at all.
“A person who wants to be great is far more likely to become great than someone who just wants to do it for their job”
“We are not talking about saving your job. Remarkable software developers don’t languish. They don’t find themselves fruitlessly searching for work. So, don’t worry. Stay focus on winning, and the fear of losing will be forever a memory”
“If you want to stay relevant you’re going to dive into the domain of the business you’re in. This kind of knowledge differentiates two otherwise equivalent software developers in the right situation.”
“Being the worst gut in the band means always playing with people who are better than you.”
- You need to invest in your skills - #
Learn new programming languages that makes you think in a different way.
“Thinking about not losing is not the way to win! Winners take risks.” “If you’re not having fun, you’re not going to be excellent”
“In the end, just as Indiana Jones could never turn down the opportunity to search fo the Holy Grail, I could no less turn down the chance to work for myself on something I truly love, no matter how safe the alternative might be. When I’m old and dying, I plan to look back on my life and say ‘Wow, that was an adventure’ not ‘Wow, I sure felt safe’”
Don’t focus on a specific technology be a generalist and focus on problem-solving.
You have to be passionate about your work if you want to be great at your work. If you don’t care, it will show.
“Ask for a fish ; eat for today. Ask someone to teach you to fish; eat for a lifetime” Better yet, don’t ask to be taught-go learn yourself
Ask questions about how the product works and why? Why does this have to work this way? an example: How does my compiler deal with dynamic vs static linking?
Use Open source option as the platform from which you can take a deep dive into a technology. And also find new code with witch to practice
Practice your code skills by making constraints. How small, how fast can you write a program, can you write a program without doing variable assignments?
Check: Topcoder.com / codekata.pragprog #
~If you can’t do the process you can’t the product.
~You can study by doing. When working with open source code you can answer question like: How do other programmers solve that particular problem?
" To be successful, raw ability will get you only so far. The final stretch is populated by closers - people who finish things"
“You can do it faster, you can do it now, you can get it done instead of talking about getting it done.”
~ Don’t get comfortable, always be the one to ask - But what can we do right now?
Boring tasks are boring because they don’t represent a challenge.
“Humility is not just something to claim to be more spiritual. It also allows to see things more clearly”
Feeling irreplaceable is something bad, that means you do things in a way other can’t in software development this is a bad sign
When it comes to work, you can spend 8 hours to fully focus and fish your tasks in only 8 hours, that way you can have a good night sleep!
“heroes never panic” Keep a panic journal. The key to catching a panic before it happens is to develop a heightened real-time awareness of your perception and emotions as they happen