4. Are you passionate about your job already?
The question that I should ask
myself every day
5. The passionate programmer book
This book is about creating a remarkable career in software
development. In most cases, remarkable careers don’t come by
chance. They require thought, intention, action, and a willingness to
change course when you’ve made mistakes. Most of us have been
stumbling around letting our careers take us where they may. It’s time
to take control. This revised and updated second edition lays out a
strategy for planning and creating a radically successful life in
software development.
6. About the author
Chad Fowler is an internationally known software developer, trainer,
manager, speaker, and musician. Over the past decade he has worked with
some of the world’s largest companies and most admired software
developers.
Chad is VP of Engineering at LivingSocial. He is co-organizer of RubyConf
and RailsConf and author or co-author of a number of popular software
books, including The Passionate Programmer: Creating a Remarkable
Career in Software Development.
7. Lead or blead?
The risk-reward trade-off is an important part of making intentional choices about which technologies and domains to invest in
8. Make a list of early, middle, and late adoption technologies based on today’s market. Map them
out on paper from left to right;
The left is bleeding edge, and the right is filled by technologies that are in their sunsets. Push
yourself to find as many technologies in each part of the spectrum as possible. Be as granular as
possible about where in the curve they fall in relation to one another.
9.
10. Coding Don’t Cut it Anymore
You are not going to be able to sit back and simply master a
programming language and let the business takes care of the
business stuff, if all they needed a code robot, they could hire
someone from another company to do the job
11. It’s not enough to think about what technologies you’re going to invest in. After all, the technology
part is a commodity, right?
You’re not going to be able to sit back and simply master a programming language or an
operating system, letting the business people take care of the business stuff.
If all they needed was a code robot, it would be easy to hire someone in another country to do that
kind of work. If you want to stay relevant, you’re going to have to dive into the domain of the
business you’re in. In fact, a software person should understand a business domain not only well
enough to develop software for it but also to become one of its authorities.
12. Invest in Your Intelligence
I haven’t be give the opportunity…?
Seize the opportunity
13. Learn a new programming language. But, don’t go from Java to C# or from C
to C++. Learn a new language that makes you think in a new way. If you’re a
Java or C# programmer, try learning a language like Smalltalk or Ruby that
doesn’t employ strong, static typing. Or,
If you’ve been doing object-oriented programming for a long time, try a
functional language like Haskell or Scheme. You don’t have to become an
expert. Work through enough code that you truly feel the difference in the
new programming environment. If it doesn’t feel strange enough, either
you’ve picked the wrong language or you’re applying your old way of
thinking to the new language. Go out of your way to learn the idioms of the
new language.
Ask old-timers to review your code and make suggestions that would make
it more idiomatically correct
14. Don’t Listen to Your Parents
Fear-drive advice is geared toward not losing, thinking about not losing is not the way to win, winners take risks
15. What are your biggest career fears? Think about the last few career choices you made. They don’t
have to be big decisions (after all, if you’re making fear-driven choices, your decisions likely aren’t
big anyway).
They could be whether you took on special assignments or whether you applied for a job change
or promotion.
Make a list of these choices, and, for each one, force yourself to make an honest assessment: how
much was your decision driven by fear? What would you have done if fear had not been a factor? If
the decision was indeed fear-driven, how can you reverse it or find a similar opportunity in which to
make the less fear-driven choice?
16. Be a Generalist
Generalists are rare and, therefore , precious
Your skills should go beyond technology platforms
17. Be a specialist
Too many of us seem to believe that specializing in something simply means not knowing about other things.
18.
19. Love it or Leave It
You have to passionate about your work if you want to be great at work, if you don’t care, it will show
22. Find a mentor
It’s OK to depend on someone. Just make sure it’s the right person.
23. Be a mentor
If you want to really learn something, try teaching it to someone else. There’s no better way to crystallize your understanding of
something than to force yourself to express it to someone else so that they can understand it.
28. Remember who you work for
In a well-structured environment, the goals of your manager are the goals of your team. Solve your manager’s problem, and
you’ve solved a problem for the team.
29. Be where you are at
Be ambitious, but don’t wear it on your sleeve.
30. Have you ever stopped to consider exactly how much you cost to the company you work
for? I mean, you know your salary. That part is easy. What about benefits, management
overhead, training, and all that other stuff that doesn’t necessarily show up on your
paycheck?
31. Learn how to fail
If your software hasn’t been complaining to you regularly, you might not know where
the dangerous nooks and crannies are.
32. The quickest path to missing your commitments is to make commitments that you know you can’t meet