Friday, October 8, 2010

The Passionate Programmer: Part 1: Choosing Your Market

The next notes I want to publish here are my notes from The Passionate Programmer: Creating a Remarkable Career in Software Development written by Chad Fowler. As the subtitle says this book is all about creating a remarkable career in software development.

It's a nice book with a lot of short chapters with useful advice. Here are my notes from Part 1.

Part 1: Choosing your market

Lead or bleed ?

Make a list of early, middle and late adoption technologies based on todays market. Push yourself to find as many technologies in each part of the spectrum as possible. Mark the ones you consider yourself strong in and the ones you have some experience with. Where are most of your marks. Are there any technologies around the far edges you have some special interest in ?

Supply and demand

Research the current technical skill demand. Use job posting and career sites to find out which skills are in high demand and which in low demand. Find the websites of some offshore companies. Compare the skills available via these companies with the high demand list you compiled.

Coding don't cut it anymore

Know your business. Schedule lunch with a business person. Pick up a trade magazine for your company's industry.

Be the worst

Find a "be the worst" situation for yourself. Check for developer group meetings nearby. Pick an open source project that you admire and whose developers appear to be at the "next level" and create a patch for a bug or a new feature.

Invest in your intelligence

Learn a new programming language that makes you think in a new way? Work through enough code that you truly feel the difference.

Don't listen to your parents

For each career decision : asses how much the decision was driven by fear?

Be a generalist

List the dimensions for which you may or may not be generalizing your knowledge and abilities. For each dimension write your specialty. To the right write one or more topics you should put in your "to learn" list.

Be a specialist

Learn about the internals of how your VM works, study what happens when you compile a source file. Teach a class on some aspect of a technology, teaching is one of the best ways to learn.

Don't put all your eggs in someone else's basket

Try a small project twice, once in your home base technology and the once in a competing technology.

Love it our leave it

Go find a job you're actually passionate about. 2 wees log excitement to go to work (1-10). Next 2 weeks : plan every morning how you're going to make tomorrow great. Each day log yesterdays excitement level. If after 2 weeks things look sad you might consider a major change.

Next: Part 2: Investing

No comments:

Post a Comment