I never thought about majoring in CS before, but it feels like the right thing to do now. Am I screwed that I'm just learning how to do this at age 20?
I think I still want to go into data analytics/business intelligence, which was what I was going for with the economics degree. I've already finished a minor in economics, so I think majoring in cs with that minor would be attractive on a resume.
Are there any CS people that can tell me:
1) Your best advice for someone majoring in CS and pursuing a career working with computers
2) Your favorite tips, tricks, strategies, and resources for learning programming on your own
3) Anything else I might need to know
Easy: Don't do CS. Everyone does it and the degree is worth toilet paper. If you really, REALLY want to do CS go to a vocational school and get certified in as much computer crap as possible.
Learning to program on your own is smart. MAKING STUFF and putting it out there is smarter. That's what a portfolio is. Here's a few languages worth learning depending on if you're allergic to linux or not. If you are allergic to linux, GIVE UP ON CS NOW. Frankly, Windows/Mac is plebe tier and Linux is where the money is.
> Learn me
Visual.Net, Visual Basic, Anything made by microsoft (ex: visual.net, Silverlight), Flash
> Only useful if you want to be a webpage-maker or tinker on servers. Otherwise AVOID
Almost forgot: https://www.codecademy.com/
They're great and not expensive. You can go there and find out fast if programming is for you.
PROTIP: Do a level, then stop for the night. The next day, do the next level. If you do it all at once it will never sink in (unless you're keen on repeating it all every week).
Also I suggest making stuff outside of the tutorial as practice. It helps things sink in better.
>Easy: Don't do CS. Everyone does it and the degree is worth toilet paper.
Look whos coping after getting kicked out of his CS program for failing 2 semesters in a row
Actually, I worked for a college and know firsthand that switching to CS just because you see big numbers isn't smart because *everyone* does that. Employers want to see portfolios and certifications, not degrees, as they want to know you know what you're doing by seeing you have done it before. If you can't/don't get those things, don't bother as you're going to get passed over. Just a degree is worthless and OP would be better off sticking with their plan and adapting it to another position.
Are there any majors that you think are good? Would you suggest I stay with economics? I can't go to a vocational school because that will cost more. My tuition is free for my bachelors because I'm poor and got a cool grant.
>Learning to program on your own is smart. MAKING STUFF and putting it out there is smarter. That's what a portfolio is.
What stuff should I make?
>allergic to linux
I could definitely start using linux, but why exactly? What can I do on linux that I can't do on other operating systems
I'm definitely not switching to CS for $$$. I am better at logical/technical work and CS fits that better than my economics coursework. Also, I feel so bored right now. I like that in CS I could constantly have things to self study.
>Employers want to see portfolios and certifications, not degrees, as they want to know you know what you're doing by seeing you have done it before.
I prefer that to the alternative--which is going to interviews with my econ degree and having to come up with bullshit reasons for why my college education added any value to me as a candidate other than signalling.
>Anything made by microsoft
C# is the 4th most popular programming language right now, right behind C++. Python is less popular by quite a large margin, and used much more in web development (lower paying) than software dev. I agree, VB.NET won't bring you anywhere career wise, but C# is a great language to learn, as it's not taught in many schools and is use widely in the business software world.
>What stuff should I make?
Anything that interests you. If you lack creativity, you can make a tool to help speed up a task people do on their computer. If you want a job in web development, make a functional website with a database and all.
>I could definitely start using linux, but why exactly?
If you don't want to, then don't. Linux is only mandatory if you're a server nerd, and even then, you can still use Windows as your main OS. Just keep in mind, you can have a more productive workflow setup in Linux than in Windows.
This is very true. If you want a job in programming, basically any useful degree is equal to employers. If you have a small portfolio and no degree, you have a higher chance of getting a job in web dev than someone with a CS degree and no projects started outside of a classroom. That being said, a CS degree is pretty beneficial when trying to get hired at a large company like Oracle, Microsoft, Intel etc.
Make literally anything. Anything fancier than the stuff you made while learning will help. I suggest learning how to work with basic GUIs and not relying heavily on "print" once you're done with your basic tutorials. Expanding on stuff you already made is fine.
> A few ideas
Start with a calculator made during your tutorial lessons and expand it into a small program that tracks your weekly expenses. Start with an example database made during tutorials and expand it to create a system for categorizing your collections. Start with a basic "true/false" tutorial and expand it to make a choose your own adventure type game.
Linux is extremely popular for server applications and places with high security. Linux is more customizable than windows, less prone to viruses due to how it's made, and doesn't cost anything to use making it all very attractive. I know Amazon is using linux and looking for IT people who have linux know-how and at least a year of Python. They aren't alone.
Yes, there's a learning curve. No, it's not like learning DOS. Linux Mint and Bodhi Linux are good for learners. Use Bodhi if your computer sucks or Mint if it doesn't. Go to their websites and you can burn a "live disc" to see what you think of it. Learning Linux will show you're not scared to "get your hands dirty" with computers and always looks good, even if you end up somewhere that doesn't use it.
Since I didn't address OP at all in my previous post:
>I think I still want to go into data analytics/business intelligence, which was what I was going for with the economics degree. I've already finished a minor in economics, so I think majoring in cs with that minor would be attractive on a resume.
You're honestly better off finishing your major, and making sure to get as many econometrics classes as possible, and maybe doing a computer science minor. Like I said in my previous post, any useful major is equally as useful when trying to get into the world of programming. Econometrics/Statistics/Math are probably the three most valuable degrees you can have going into the world of corporate programming right now.
Frankly if a language is more used you really should shoot for it which is why I said C++ over C#. Microsoft has been on the wane more and more as the years go by so it pays not to be too attached to them.
Python may be newer but I see it popping up a lot more than it used to because it's multiplatform and generally less clunky than Java (not that Java is bad, mind you). Web apps are becoming more common as people go after "the cloud". There's also cell phone apps which use either Java or Python usually.
basically op, a CS degree isn't
It just doesn't mean anything to employers unless if you have work to go along with it. Going into web design? Do people's websites for free or for pocket change, work on your skills and build shit that looks nice and cool. If you like vidya and want to break into the game development scene, make some shit in Unreal or Unity.
Specializing in C++ will probably bring you a higher salary, but it seems like C# is an "untapped market" for programmers. Nearly the same amount of jobs available as C++, more than Python, but it's not being formally taught in many schools, and no new programmers are told to start with C#, whereas the other two languages are taught all over, and Python is always babby's first language. I'm guessing it's easier to get an entry level C# job than any other language.
>You're honestly better off finishing your major
Seconding this. Yes, it's boring, but who said you will be doing exactly what you studied? Business is a really wide area and economics has many facets.
Also an interview is nothing but an opportunity to make up BS on how much value you have. It's how interviews work. Even if you have a portfolio get ready to wax poetic on how awesome you are.
>Python is always babby's first language.
>no new programmers are told to start with C#
Funny. We have Visual.Net or C# as "beginners level". C++, Java and Python are considered "second level" even though they aren't really harder. I guess areas vary.
Those sound good examples. And where do I put a portfolio? Do I buy the domain [myname].com and put stuff on there?
Right now I'm doing Economics with minors in Mathematics and Computer Information Technology. What I'm considering is Computer Information Science with a minor in Economics. You think the first plan is better then? And I should just grind on learning programming on my own while pursuing that degree?
Also, according to this (http://pypl.github.io/PYPL.html) python is ranked higher than c++ and c#
You can make a site or you can just have a disk with you when you go visit the interviewer. Make sure you have at least one platform-agnostic (Java, Python, ect) example on your disk just in case your interviewer is on Linux or Mac.
The online portfolio is best for online applications and long distance work and isn't really required for in-person jobs. Yourname.com is the best option if you want to make stuff and replace it as you make better stuff or you can make a "studio name" if you make a specific program, keep it updated, and want people to be able to access it.
>Also, according to this (http://pypl.github.io/PYPL.html) python is ranked higher than c++ and c#
The PYPL PopularitY of Programming Language Index is created by analyzing how often language tutorials are searched on Google.
This means it'll pretty much always favor starter languages and languages taught in schools.
The TIOBE Index is the "standard" for measuring popularity (http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html)
>Right now I'm doing Economics with minors in Mathematics and Computer Information Technology. What I'm considering is Computer Information Science with a minor in Economics. You think the first plan is better then? And I should just grind on learning programming on my own while pursuing that degree?
You could switch CIT to CIS, depending on how motivated you are to learn programming. If you're successful at teaching yourself programming, the CIT minor will probably be more useful. Switching to CIS would lighten your workload quite a bit, as most of the classes will be very easy for you if you dedicate enough free time to learning programming. The difference between the two when getting a job is pretty negligible though.
>Funny. We have Visual.Net or C# as "beginners level". C++, Java and Python are considered "second level" even though they aren't really harder. I guess areas vary.
I can't really speak for schools as I've only talked to students from <10 different universities, and only personally looked into a few, but pretty much all I've heard is Java/Python/C++. As for online, I constantly see Python recommended as the first language to learn, while C# is rarely mentioned when people ask "what language should I learn?" on forums/reddit/4chan.
First of all, thank all you guys for taking the time to help me out here. I appreciate it.
I think you guys might be right about sticking with my major. Employers do like economics.
>Also an interview is nothing but an opportunity to make up BS on how much value you have. It's how interviews work. Even if you have a portfolio get ready to wax poetic on how awesome you are.
True. I don't know what was making me think otherwise.
Why did you enroll in economics? Did you say something like
>I never thought about majoring in Economics before, but it feels like the right thing to do now.
at the time?
Real talk: studying CS is for people who are passionate about CS. Not programming, or web development, or computers, or anything like that. CS is discrete math, formal logic, and computation. Everything vocational that is taught in a CS program can be self-taught easily. All the major tech employers will hire people with unrelated degrees if they can prove they know how to write code.
Point being, you don't need a tech degree to make it in the tech industry.
And that's important, because the tech industry has an age limit (40) and it also has a salary limit. Even if you go fully into the tech industry, by the time you hit 40 you will want an Economics degree.
I'm concerned about my workload. I'm considering dropping the computer information tech minor, and then focusing that energy into building a portfolio. That would allow me to have an easier time getting good grades in my math and econ classes.
>Real talk: studying CS is for people who are passionate about CS. Not programming, or web development, or computers, or anything like that. CS is discrete math, formal logic, and computation. Everything vocational that is taught in a CS program can be self-taught easily. All the major tech employers will hire people with unrelated degrees if they can prove they know how to write code.
If that is true then I don't think I'll major in CS.
It's absolutely true. I have a CS degree and work at one of the big four tech companies. I never use anything I was taught in university (and I went to a top, top school) and I work with a lot of people who did completely unrelated degrees. My job has an age limit, so in my mid-to-late 30s I'll need to get work in another field (either tech management or something altogether unrelated) and my only qualification is CS.
I don't regret it because I love the theory, but if don't love the theory do something else that's similarly analytical (math, physics, engineering, science, economics, potentially finance) and teach yourself the programming skills in your spare time.
>Rajeev please, stop taking your stupid photos. You are making Indians look bad.
Seriously, do what you think fits you rather than for $$$.
Econ definitely is not a bad choice as well, you learn the basics and you can go into econometric or finance. Your programming skills do help here too.
I'd actually take more than CS course, for example, I'd take an engineering course say EE courses which have good mathematics which will help you regardless of your entry into CS/EE or Fin/Econ.
>Mfw dropped CS to study Econ
You're making a huge mistake, senpai-senpai.
Tech shit is hugely overvalued right now and in a bubble. There is millions of people going into CS because "lol lots of money XD!" just like lawyers were a decade ago.