There has been some questions about not programming on your spare time, but they all concern when you're at work. What about when you're studying? Do you also need to learn on your spare time when you're already learning during the daytime (at uni)?
closed as primarily opinion-based by user40980, Bart van Ingen Schenau, Martijn Pieters, gnat, user53019 Feb 24 '14 at 14:49
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.
If you're taking programming classes and programming regularly, there is no need to force yourself to do it in your off time. If you want to, that's good, but if you force it, you can build up a serious aversion to it, and that can hurt more in the long run.
College is stressful enough. Concentrate on your classes and your job (if you're working as well), and use what tiny fraction of spare time you have left to have fun.
Some of us literally do not have the time to program in our "spare time". I'm on a full courseload with a 25hr/week per week job and a daily commute of about two hours. I don't party, I don't have a girlfriend or even a friend for that matter with whom I can hang out. I don't watch much tv except The Office and The Vampire Diaries. I haven't had a single full day off in about about oh 5 weeks now. After school, work, homework, commute and some casual web surfing I'm lucky if I get 6 hrs of sleep a night. So all the smartass comments implying a lack of passion, understand that there is a large number of students who have busy schedules and don't goof doing nothing at the end of the school day.
I don't think that you need to study in your spare time, but I really think that you should. While at the uni, it's the moment to incorporate lots of new stuff so it would really help to see what's outside and what people are using in order to create a more panoramic view of reality.
I have seen CS students that never configured an Apache Server or a php.ini file, or do not know when it's best to use Ruby or Python. So, the more experience you have, the easier it will be for you to apply the theory in day-to-day practice.
I'm not going to say that it's a bad thing if you don't, because the amount of spare time you have depends on your workload, and I don't know how much programming you do for classes already. However, if you don't have projects you work on when you do have more time (like summer vacation) then I'd wonder if you really liked to program.
There is no question, that the more time you spend refining your skill as a programmer the better you will be out of the gate once you graduate. However, with that being said... You have a lifetime ahead of you, staring at monitors, hunched over your keyboard...
Enjoy your time in school. Once you get out, life begins...
In my experience, programming in your spare time tends to be extremely indicative in one direction, but not as much in the other (both at uni and later at work).
What I mean is this: I've worked with a few very talented "rockstar" programmers over the years, and they ran the gamut from literally only ever touching computers on the job - right through to the ubergeeks who had their own startup going afterhours, and/or spent every waking moment on personal projects and OSS.
This is the thing: those who DO program in their spare time are almost guaranteed to be at least decent programmers. Of course, you have to watch out for script kiddies who are just doing easy stuff over and over. But if you can confirm that they're doing reasonably serious projects in their spare time - it's very likely that they're fairly good, if not "rockstar" category. So in this direction, it's a relatively safe bet.
The other way, it's not so much. For some reason, there are some really epic rockstars out there who still somehow treat programming as just a job. They might put in long hours, and/or keep up with technology by reading, researching, and evaluating the latest technology at lunchtime or after 5pm before going home - but they still basically don't do programming outside the job. I'd say around 25 to 50% of the "rockstars" I've met are like this. And every time it happened it chipped away this myth that programmers have to be "into it 24/7" further and further.
So what does this mean for uni? - I'd say it depends on how harcore your program (as in study program) is and how much programming you're already doing (assignments, etc). Like others have said, you don't want to force yourself to do too much, because it can lead to burnout. But it definitely helps to be "into it" - and to want to experiment and learn the material very well. If you find that your interest in programming only goes as far as learning enough to pass your courses, then that's a bad sign.
I had a hobby development project (voice chat) in my spare time in which I learned a ton, like Visual Studio development, lots of C++/C#, and just general stuff I would not have learned otherwise, and it was the merit that actually got me a job. I do suggest atleast in your last year just to try something out, like a hobby game or application.
Imho learn a good, industry-standard language and IDE like C++ in Visual studio or Java in Eclipse/Netbeans while doing a hobby project. Honestly I have no idea about Apache, php, ruby or python and in my humble opinion it's not core CS knowledge but of course it depends on what you want to do afterwards.
If you are a student and you dont have dozens of ideas that you just cant wait to tinker with in your own spare time, then maybe you're in the wrong major.
It depends on what you want out of life.
If you want to me the next (insert name of programming celebrity here), then that you don't feel compelled to spend every waking hour (and chew away some of your sleeping hours) coding probably isn't a good sign.
If you want to make a good enough living doing software development that you can support a family and enjoy some other aspects of life, then I'm not sure it's such a bad thing.
Now, you have to realize that the people on this board will skew toward those with a passion for programmers, and they want to work with people who share that passion, and thus will be inclined to say everyone should do the same.
It should require a certain amount of effort to push the keyboard away and read a chapter on history if you plan on doing this for a greater part of the rest of your life. If you're in the middle of a large programming project, the history book may be a nice break.
I would say it depends on where you are in your program. If you didn't start your program already knowing how to code, then in the beginning you get introduced to a lot of new concepts and the classwork is pretty interesting and challenging. At that point, you may not have put the ideas you've learned together into a project idea. And of course, you have other classes. I would say that if you are in your third or fourth year and you don't have some kind of a side project that might be a problem.
Do you need to? No. But there are plenty of benefits if you do. The more practice you get now the better. I feel it's easier to experiment and learn new things when your paycheck doesn't depend on it.
Also, university provides a very diverse group of peers from which to learn and absorb ideas. Spend time in the labs after hours. Work on some group projects just for fun. It's amazing how much faster you can pick things up when you open your mind to the differing methods and ideas of other students. Professors tend to focus on theory. Your peers will be all about pushing it past the theory and testing the boundaries.
It's hard when you're studying at university because you're already likely trying to juggle your study, a job and a social life but there should never be a time when you say, "I've done enough today." You can never have enough practice.
That's not to say that you should never relax and take some time off, watch some TV or just go to bed early. But there's no reason to say don't bother practicing on your own time.