Hello, I am a physics student and I am currently writing my Bachelor thesis in theoretical Physics. A thing which has sometimes crossed my mind over the past months is this: I have always loved computers and programming. I always find it fun to solve some programing related problem. E.g. often when I had exercices which involve calculations, I found it fun to learn how to do them in Mathematica, even though I would have been much faster manually. It's the same with Matlab, I was probably among the first in my year to find out how powerful it is to solve ode's numerically, and I programmed plenty of Matlab simulations and animations since, most of them just for fun. I have been programming, but also playing around with tools like Mathematica and Matlab, but also with Linux itself, with version control systems, also a lot with graphical programs and with Latex, just for fun and willingly ignoring that much of that was or seemed a waste of time. Right now, compared to most of my fellow students, I am far ahead of them when it comes to programming and software, I do the pretties latex documents and graphics, and I know how to solve many problems in Matlab and Mathematica. But thinking of my future, I would like to be a theoretical physicist, yes, to earn money doing theoretical physics. Even though I never neglected or neglect my courses or Bachelor thesis and usually got very good grades, I sometimes wonder whether all of this playing around with the computer would not better have been spent thinking about problems and practicing doing symbolic calculations or just practicing some maths on the paper. Surely, I did a whole lot of them as part of the courses I took, any my Bachelor thesis is predominantly analytical stuff. But - in a nutshell - do you think that programming and playing around with science and typesetting and operating system related software is worth it and / or that I should continue doing it just for fun? I am afraid that I'll teach myself rather to be a computer/numerics geek than a physicist who has deep thoughts and thinks about generalization and proof. I do not want to end up as somebody who hacks and NDSolves anything in Mathematica before even a thought about generalization and proof has crossed his mind. On the other hand, though, I feel there can be a great advantage if one immediately knows how to e.g. numerically solve a problem and if one knows how to obtain the solution right away. I know that some really good students in my year (really very good at theoretical stuff and maths) chose not do go into theo physics (at least for now) because they feared and were unskilled with computers. Also, I think when it comes to making great looking graphs for publications (like doing everything vector graphic based, using psfrags and the like, etc.) I will be able to do that pretty easily (after the work I've done on that so far). So, what do you think? Does it sound as if I exaggerate the whole computer/programming thing and neglect the really important skills? Or is it OK because it is a useful skill so that I should just go on and stop thinking/worrying about that? What is worrying me is: there is nothing I cannot imagine to program. Some things are very hard and require much help and time, but nothing seems impossible. But when I look at theories, methods, also the ones I am applying in my Bachelor thesis, they seem totally out of reach. I can apply them and understand how they work, it's also fun to play around with them and read papers about them etc., but I could not easily imagine myself finding or deducing a cool method or theorem - yet this is what a theoretical physicist is supposed to do... You see what I mean?