# My Thoughts About Programming Professionally Often I get asked: * should I get a Computer Science (CS) degree? * should I learn to program? * should I become a professional programmer? and things along these lines. All boiling down to two main ares: should I learn to program? and should I make a career out of it? And sometimes I feel like I hear around the internet what I personally feel is misinformation. ## My quick answers > Should I learn to program? Absolutely. Gaining deeper understanding of a computer is valuable to computer literacy and in a world where everything is digital, having the ability to manipulate data on a machine can be extremely useful. > Should I make a career out of it? This may be naive of me, but it is: "That depends" and I'll spend my post here boiling into it. But my gist is simply: "if you can see yourself doing this every day all day, then yes, otherwise no. But I feel like that is the answer for any career (and it should be!). But lets go into the details ## Should everyone learn to program? No. ## Should everyone get a chance to learn to program? Yes. ## Should children be introduced to programming? Yes. I'll repeat myself a lot this post, but learning you can teach a computer to do things for you will show kids that a computer is a super powerful asset that isn't some scary black box. But this should be hands on and interactive. A lot like getting kids a chance to play a musical instrument. But demystifying the computer is the important underlying goal. I played around with these puzzle piece style programming tools that MIT made for kids, and we were forced to try and build complex apps from it. It was amazingly powerful but intuitive and simple. ### My personal experience here I personally was not formally introduced to programming but I was always shown how powerful a computer was. Using DOS/Windows 3 as a child. Accessing programs from the command line. Using .bat files in windows to automate things. But a computer was always demystified because it always felt in my control. One thing I always tried doing was making games. I love making games, but I had no idea where or how to start with TRUE programming.Which is why I feel having the option in higher schooling (like US high/middle) can let kids who have the passion or intention to learn the ability to learn. ## Should I study computer science (CS)? There are two main reasons to get a CS degree: to do computing research/ to program professionally. If you WANT, and I mean YOU - not from pressure from your parents or friends or society then yes do it, as long as you have the means to obtain the degree. For the rest of this we'll focus on the people whose goal is to do some level of software engineering - since its pointless to talk about the research focused careers where its way more necessary. ### Isn't it unnecessary? All schooling is unnecessary if you have the means, time, and skill to teach yourself. If you want to teach yourself everything and build your own network - go ahead, why are you reading this? ### What is in a CS Degree? Every school is different, do your research, view their program outline, talk to people who are at that school if you can, or ask on the internet. My girlfriend got her degree from a much higher cost and better reputation school, but it was a way worse education than what I received at my state university. You'll want to make sure it covers three main areas: theory and fundamentals, modern software engineering (databases