The Passionate Programmer
, Creating a Remarkable Career in Software Development by Chad Fowler
A couple of months ago, I had a crisis of attitude (for lack of a more scientific diagnosis) regarding my career and how it has progressed over the last decade. For some reason, once I got married to my wonderful wife and had two amazing kids, career development took a back seat to the norms of every day life. I had lost the 'fire' of learning and strengthening my skills in software in favor of parenting, cooking and cleaning. I found had to salvage those few precious hours left in the day for pure 'downtime'.
What I didn't notice, is that my attitude about work and technology had changed in this same time period. The less I invested in technology, the less I enjoyed my work life which would then later reflect in my overall mental health - being less happy at work was impacting my home life in a negative way.
When my product line at work was discontinued and the company laid off a bunch of us, I questioned a lot of aspects of my profession. Could I continue re-learning newer and newer technologies, could I maintain the extra hours often required of engineers on a deadline, and so on. Additionally, this was my second time being laid off from a failed 'startup' (venture capitalist funded companies equates to startup in my mind) due to a product failing to reach critical mass in the marketplace. Being laid off and having to go through the hiring process unexpectedly is not fun...
This book
by Chad Fowler (no relation to Martin Fowler
) has changed my attitude completely. I once again feel like a kid in the software field where wonder abounds around every unknown corner of technology. This reminded me of the pure joy to be found in creation at every level of software design.
This is second iteration of the book; the first was titled: My Job Went to India: 52 Ways to Save Your Job
; the second edition refocused from the negative connotation of the first book (being outsourced) to the more positive aspect of programming passions. Fowler really writes as a software insider, having created a remarkable career himself as a developer and author. I'm not sure what chapter or concepts Fowler presented in this book that really reminded me of all those years I spent consuming book after book, testing bleeding edge software tools and processes and really focusing on my craft, but once I set the book down, I realized I was excited about creating software again.
Fowler explores many aspects of a software career and how to stay on top of your life in a proactive manner. Of course, some of these tips are about how to defend your job against the potentiality of it leaving overseas or being replaced by some younger, cheaper version of yourself, straight out of school but most of the book really deals with how to be on the cutting edge, how to deliver value to your employer, and how to effectively deal with all aspects of your career and its path. Here are some example points he makes:
A couple of months ago, I had a crisis of attitude (for lack of a more scientific diagnosis) regarding my career and how it has progressed over the last decade. For some reason, once I got married to my wonderful wife and had two amazing kids, career development took a back seat to the norms of every day life. I had lost the 'fire' of learning and strengthening my skills in software in favor of parenting, cooking and cleaning. I found had to salvage those few precious hours left in the day for pure 'downtime'.
What I didn't notice, is that my attitude about work and technology had changed in this same time period. The less I invested in technology, the less I enjoyed my work life which would then later reflect in my overall mental health - being less happy at work was impacting my home life in a negative way.
When my product line at work was discontinued and the company laid off a bunch of us, I questioned a lot of aspects of my profession. Could I continue re-learning newer and newer technologies, could I maintain the extra hours often required of engineers on a deadline, and so on. Additionally, this was my second time being laid off from a failed 'startup' (venture capitalist funded companies equates to startup in my mind) due to a product failing to reach critical mass in the marketplace. Being laid off and having to go through the hiring process unexpectedly is not fun...
This book
This is second iteration of the book; the first was titled: My Job Went to India: 52 Ways to Save Your Job
Fowler explores many aspects of a software career and how to stay on top of your life in a proactive manner. Of course, some of these tips are about how to defend your job against the potentiality of it leaving overseas or being replaced by some younger, cheaper version of yourself, straight out of school but most of the book really deals with how to be on the cutting edge, how to deliver value to your employer, and how to effectively deal with all aspects of your career and its path. Here are some example points he makes:
- Choosing your market:
- Decide between being leading or trailing edge of technology.
- Just coding doesn't cut it anymore; delivering value to your employer.
- Invest in your intelligence; explore niche technologies.
- Investing in your product:
- Learn how to do it yourself, don't rely on others. (build tools, source control, avoiding wizards, your business domain)
- Be a mentor, find a mentor.
- Find ways to practice.
- Explore ways to automate.
- Executing:
- Do it now! (Work like you are always under a time constraint)
- Be a mind reader - think of ways to improve your company's software before you are asked to do a task.
- The Daily Hit: Have a reportable accomplishment everyday. (I love this one.)
- Focus on your current task:
- Doing the very best you can on every task. (no matter how boring)
- Learn to love maintenance - find a way to shine on maintenance products.
- Deliver an incredible 8 hours. (Instead of doing the same amount of work over more hours, treat it like exercise.)
- Don't panic.
- Learn how to say "No."
- Say it, do it, show it. (The art of self-promotion.)
- Marketing:
- Perception counts.
- Being present for your customers and coworkers.
- Change the world - making a contribution to the technologies you use.
- Building your brand, release your code.
- Maintaining your edge:
- Our career consists of being already obsolete. Keep learning!
- Map out your career path, watch the Market.
- Be better than yesterday.
- Go independent.
There are 53 suggestions in this book, some of which I paraphrased above but all of them are very relevant and show incredible insight into the software industry. I really enjoyed Fowler's background as a freelance Jazz saxophonist prior to entering the IT and eventually the software engineering market. This perspective was different than my background and I found it invaluable in how this changed his approach to some very common situations.
If you need rejuvenating of your software career, invest some time in reading this book. You won't regret it.
Wow, it looks like the story of my life.
ReplyDeleteThanks, I will accept the advice and buy the book!
Ciao,
Giuseppe