How best can you maintain a healthy balance between
Following the never ending programming passion and feeding your never full hungry mind
AND
Spending enough quality time with your family
How best can you maintain a healthy balance between
Following the never ending programming passion and feeding your never full hungry mind
AND
Spending enough quality time with your family
Here is the best trick:
family first, coding second
This is the best way to maximize love, peace, and happiness in your life.
Go to bed with girlfriend, and when she falls asleep it's hacktime!
Easy, my wife is a developer too ;-). And the kids already have high geek scores.
But, on a more serious level. I only program at home if the kids are in bed. Daytime is family time.
Have the discipline to step away from the keyboard. Anything taken to excess is bad for you. If you think you are spending too much time coding, then you are.
If need be set up a schedule and only allow yourself to sit down to the keyboard at certain times of the day.
I also suggesting getting out of the house / office. You don't have to go on an expensive vacation, visit a local park or get a season pass to the zoo. Something you, your significant other, and children can all enjoy.
+1 for family first, coding second.
Giving cash and buying gifts sounds simple enough, but the only currency with any value in my family is time.
The only way I have found that works for me is to be specific about how much personal developing time I would like, and when. And to get up a bit earlier in the morning.
I would recommend the book: The Seven Habits of Higly Effective People (covey). There are some very interesting chapters in this book about the work / family balance.
There are things more important that you. That is the first lesson. All the things you treasure so much, including your mind, can be taken away in an instant. Count your days and realize you are not immortal. Will your programs comfort you in time of distress or will your wife and children?
Your family doesn't need "quality time." They need you.
You have to feed them and take care of them and I understand that can take you away. I'm not talking about necessary work to keep the lights on. But, "feeding your never full hungry mind" is not the priority and it can be fed in other ways. There is a reason you are asking this question. You know you are spending too much time on you and that you are probably being selfish. Well, we all are, so you can use your intellect to wrestle with how to handle it. I personally read the Bible, and it helps me see what life is really about, and yes, work is part of what life is about. Work is not "bad" or a "necessary evil." Work is a good, fufilling thing that we have been given. Be thankful you have a job that you love. Many do not. But, while your job is fufilling, don't try and make it what it was not meant to be - ultimate fulfillment. Not even your family can give you that; Certainly, though, taking care of their needs, as opposed to your own selfish desires, is more important.
Yes I know I was hard. It was not meant to be too much so. It's just the truth.
Even your question, "spending enough" on your family is an indication you need answers (which is why you asked and it is appreciated you want help with it). Could you imagine the reverse, "Hey, I'm spending too much time with my family, how do I spend enough time programming to get good at it?"
Really long programming sessions are rarely that productive in the long term - if you can identify the patterns of when you naturally work most effectively you will probably find there are ways to use the spaces in between when you can do other things and still get as much work done with your programming as you ever did.
If you don't have time because of the projects you have to complete then learn to agree to do less and to refuse projects you don't have time for.
Dedicate some of that hungry mind time to the family, what you can learn from them and what you can teach them.
Quite a few people are addressing this from the angle of "The family is number one." angle so I'm going to address this a bit differently. However, it is worth noting that if your family needs you there for them, then you need to be there for them. That said though, there is nothing wrong with having some personal time of your own in which you can peruse programming as a hobby as a way to relax and decompress.
One of the things you need to look at, though, is why you are programming at home. If you are programming at home on a fairly regular basis and it is all work related code then the better question might be to ask yourself why you are talking so much work home. It might be that your job is putting unrealistic demands on you in which case that might be an issue you need to address with your boss at the office.
If you are coding purely as a hobby and to relax, then it pretty much needs to be treated as any other hobby out there in that you need to balance it to ensure that you are getting what you need out of it (e.g. relaxing after a stressful week). Most people have hobbies and as long as it is in the minority of what you do at home, you should be fine.
If you are happy you program better in less time and remember the word of Daniel Bunten
No one on their death bed ever said, I wish I'd spent more time alone with my computer