Keeping Programming Fun?
nb caffeine asks: "Having recently graduated, and now working as a developer, I've discovered that after 9 hours of programming at work, I have little interest in coming home and working on my personal programming projects. I've become upset with this fact, because while I was in college, I spent quite a bit of time working on personal projects for my own use. I also noticed this trend during my summer internship, and I have a feeling that it isn't going to get any better. It's not to say that I don't get to work with cool technologies at my job, but they aren't anything that I would pick up in my spare time. So, how do my fellow programming geeks balance work related projects and personal projects? Or, if you've already discovered that after 9 hours of programming, the last thing you want to see is a computer, what hobbies does the Slashdot crowd enjoy after they've ruined their hobby by turning it into a job?"
I'm consider leaving my programming position for an unrelated field. Programming is my hobbie, not my career i realized. Business programming is dull, and drains me of the motivation to work on something ejoyable. (boss, this is NOT my two week notice.)
I've had similar experiences and concerns. My conclusion is that you only get a few good hours of creative coding per day, if you're lucky. So if you spend that at work, you'll have none left for your own interests. While there's a few ways to solve this (not doing any real work at work is one ;) ), I find the best is to alternate each day between menial and creative tasks. So set aside some days at work to do documentation, specing, testing or whatever, which will leave you with the motivation to do some actually coding when you get home. And then the converse, where you can still do useful things (e.g. documentation) at home, after a good day of coding at work.
My advice is to work your tail off right now, focus on your job and move up in the company until you achieve a management position. At that point, your job will mostly be personal interaction, aerial views of ongoing projects, and helping develop specifications. That won't burn you out on programming, so you'll be fresh enough to do personal projects. You'll also stay in the loop on current technologies, but not be forced to slog through code unless you want to.
Well, be prepared to live poor, but happy. I'm currently between 2 jobs, and I'm much more actively working on my own projects that trying to find a new job...
:)
Well, unless I'm very lucky and my business get of and finally gets me money, I will soon have to start working for somebody else than myself, because I'm quite running out of money. However, my plan is to work, hum... 1 year, and pay myself a little 3 months of cool developing... again
As I said in another post a while ago, money not only buys cars and houses, it buys time. Try to save money for that, instead of wasting money on useless crap, getting into debt, and then being *forced* to work because of these debts.
perception is reality
When I first started programming professionally, my personal projects just stopped -- I was new, so I felt like I had to really prove myself... and this led naturally to excessive hours on work projects, and stress burnout. After some experimentation, though, I managed to sort out my work life so I could be happy, and still have some energy left over at the end of the day.
If your professional life goes anything like mine, you'll figure out a way to make sure you get enough sleep at night (that alone will give your productivity during the day a big jump, in fewer hours!), and you'll find you have more freedom to push back and control how you spend your time as you gain experience/respect. And once you're more comfortable at work, your taste for personal projects may pick up again.
Just give yourself a year or two to find a niche at work that you like, then see how you feel. Once you're more comfortable in your domain at work, it'll take less out of you during the day -- so you'll have more energy in the evenings to do what you want (this is where a social life might come in too, btw).
Really, it'll depend a lot on how your work life pans out -- if you can score super projects at work that you love (and that demand all of your creative energy during the day)... do you still really need those personal projects? Most people dream of doing what they love *and* getting paid for it. Personally, I *like* my work, but the needs of the business don't always correspond with what would be most fun for me... so I have extra energy left to use.
Good luck!
There are only 10 types of people: those who understand decimal, those who don't, and, uh, 8 other types I forget.
Your quandry is this: you found programming to be fun. Got an education, and found a job programming.
Whoops - once programming became your job, it also became work, not fun.
Really you have only two choices: don't program for a living, or don't program for a hobby.
The best advice is to find some other interests and leave the programming for work. It will make you a happier person, a more balanced individual, and will expand your circle of friends to a group larger than just programmers. All of those will help you to enjoy your work more which just might make programming fun again.
Three Squirrels
Try joining the Society for Creative Anachronism, a sort of cross between medieval reenactment and a social Renn Faire. Medievalism is as far from computing as you can get, which explains why so many geeks join it - geeks are logical, see, and it's logical to want to get away from geeking...
I have discovered a truly remarkable
So, how do my fellow programming geeks balance work related projects and personal projects?
I cancelled my cable TV subscription, and now I can never think of anything better to do.
This is really weird to read all of these posts. I love programming. I read all of the books I can on every aspect of it I can. I don't mind working 10 to 15 hour days at the office (I have to and I do restrain myself due to a recent marriage, I love my wife to!) Most of the time my wife has to beg me to come home! When I'm at home I'm working on my own projects and doing side jobs. When I am driving I'm thinking of how to properly apply a design pattern to a certain test or application. When I'm not programming I think about programming. I love writing code in all the languages I can.
Programming has never not been fun. It has always been a challenge. Even the dull routine work, well if I ever get dull routine work I write a script to automate what I am doing, so it isn't dull routine work anywhere. If it gets dull in one language I'll pick up a different language and write the routine in that.
Perhaps there are people who got in the wrong job for the wrong reason. If you do what you love you'll never be at work in your life. I've recently told my boss that work is like an adult playground for me, because I enjoy it so much.
Maybe I'm a little to code crazy, but I could never imagine feeling another way. I've been at my current job about 3 years.
So my advice is to do something you enjoy, don't settle for mediocre enjoyment. That's when you have a *job*.
I know this isn't exactly an answer, but I've found that I'm now in a position where the organization I work for is interested in using and contributing to open source projects, where I'm able to balance the more tedious work with working on code that I enjoy, where I'm finally working on larger scale projects that stretch my mind and add to my understanding of the real techniques and beauty of programming. It helps that it is a small organization that is growing fairly quickly, with good resources.
I've also found that I'm able to work on my home computer doing more sysadmin-type stuff on my off hours--I don't always have the energy or time to work on real projects, but I feel like I get enough out of my day-to-day that I don't mind, and I get enough satisfaction out of my current project (setting up my Gentoo linux box as a personal sound studio...don't mean to be a Gentoo proselytizer, just what I'm having fun with right now).
So I guess the moral of the story is: it's not inconceivable that you can find an organization that will let you stretch yourself in the direction you want to move--unless you have a philosophical objection to this.
They work on personal projects while at work.
I had the opposite experience.
When I'm woking as a coder, I find that it's easy to constantly turn the problem over in my mind so that I have no problem getting up in the middle of the night and finishing something. Most of my most productive sessions have happened outside the office.
Whereas when I had a sys admin job early on in university, there was so much running around and fighting with other people's bugs that I didn't want to look at a computer by the time I got home.
It also completely drained me by the end of the day. For things with very few moving parts, computers fail a lot. It goes in cycles but at times, there's so much to do that your constantly running around and actively prioritizing several tasks as they come up. My admin job was probably more difficult than most however. I was supporting a mishmash of unix/linux systems and the users were very technical. I usually only had to deal with weird problems that they had given up on.
The few Windows systems we did have for the office people required constant babying but it wasn't really high impact. I could see how it would be more relaxing. Due to the occasional virus scramble and the inability to easily ssh into a Windows machine or whip up few scripts, you get a lot of time to reflect on just badly NT5.x handles its dumb self while watching progress bars crawl across the screen.
Try magic mushrooms, that will get you in a creative mood again. See the world from a differnt point of view but keeping focus. You'll find that the worlds best minds see things from a 'mushroom' type point of view.
The simple answer is in the subject line. If you do something that's too much like work, it will seem like work. Even if what you do is explore ideas that occurred to you in the context of work (e.g. infrastructures/algorithms that were deferred until a future release) it's probably going to seem like work. What you need to do is something completely different. For example, my work involves the confluence of kernel programming, distributed systems, and storage. The important parts are all written in C/C++. So what do I do on my own time? I hack on the code that runs my website (in PHP) or a backup/synchronization tool (in Python) or play around with automatic code rewriting (Python again, though it's manipulating C parse trees). Sometimes there's a bit of overlap, but for the most part the programming I do on my own time has a completely different "flavor" than what I do at work. That, plus a recognition that my personal projects will need to be suspended and resumed as higher priorities (work, family life, etc.) intervene, helps keep me happy with programming both at work and at home.
Slashdot - News for Herds. Stuff that Splatters.
Teach a kid or two to program. Especially a disadvantaged kid. There are a lot of 10-15 year olds without anything good going on in their lives who need something to grab onto.