Jump to content

Computer Science Career

namarino

Hey guys. I am a computer science major currently in my sophomore year. I had question for anyone who might currently have a career in the field. I have only taken a couple of classes thus far (because of transfer complications) and the extent of my knowledge in the field is of Java and Python (and I also know how to build computers although I don't really count that). My question is this: is the education that I receive in college in computer science sufficient for getting an internship/job or do I have to do an extensive amount of self studying? And if so, what do you suggest studying and having a general knowledge of? Thanks so much!

Link to comment
Share on other sites

Link to post
Share on other sites

Professional programmer of 20 years.

 

This is a field where much of what we know is self taught, college is the beginning of your education but as a professional it will never end you will be learning your entire career. You will be spending evenings and weekends playing with new technologies and learning new languages and no one is going to give you this on the job but its critical to your future in the industry.

 

What I did was do a fair amount of extra programming throughout my 3 years, I built a real time ray tracer I developed a online massively multiplayer game and artificial intelligence that played that game based on genetic algorithms. Without doing the  extra work finding jobs will be more difficult but you are in the USA and they kind of have a ridiculous market for programmers right now so its pretty easy to get hired. But its not always going to be that way and it might not be when you leave.

 

You want a knowledge of everything and the sooner you know what end of the industry you want to be in the better to tailor your course. Suck in as much as you can while there, you will never get knowledge in such a condensed and focused way again in your entire career its by far the easiest place to learn so make the most of it.

Link to comment
Share on other sites

Link to post
Share on other sites

College tuition gives you the tools to learn how to do stuff, but a lot of the stuff you are doing while working will be self-taught (if you learned everything in college you'd be retiring before you finished studying :)).

 

As a comparison: English class in school teaches you about grammar, syntax and how to spell. It doesn't teach you how to write a compelling novel, or how to write a scientific paper which is good enough to be published in a journal. That comes with (lots of) extracurricular practice :)

 

You learn to program, be it Java, C or scripting in BASH, php or whatever you choose to do (and they aren't mutually exclusive) by doing it. That way you also have a portfolio of things that you have done to show to a prospective employer.

Intel i7 5820K (4.5 GHz) | MSI X99A MPower | 32 GB Kingston HyperX Fury 2666MHz | Asus RoG STRIX GTX 1080ti OC | Samsung 951 m.2 nVME 512GB | Crucial MX200 1000GB | Western Digital Caviar Black 2000GB | Noctua NH-D15 | Fractal Define R5 | Seasonic 860 Platinum | Logitech G910 | Sennheiser 599 | Blue Yeti | Logitech G502

 

Nikon D500 | Nikon 300mm f/4 PF  | Nikon 200-500 f/5.6 | Nikon 50mm f/1.8 | Tamron 70-210 f/4 VCII | Sigma 10-20 f/3.5 | Nikon 17-55 f/2.8 | Tamron 90mm F2.8 SP Di VC USD Macro | Neewer 750II

Link to comment
Share on other sites

Link to post
Share on other sites

17 hours ago, BrightCandle said:

Professional programmer of 20 years.

 

This is a field where much of what we know is self taught, college is the beginning of your education but as a professional it will never end you will be learning your entire career. You will be spending evenings and weekends playing with new technologies and learning new languages and no one is going to give you this on the job but its critical to your future in the industry.

 

What I did was do a fair amount of extra programming throughout my 3 years, I built a real time ray tracer I developed a online massively multiplayer game and artificial intelligence that played that game based on genetic algorithms. Without doing the  extra work finding jobs will be more difficult but you are in the USA and they kind of have a ridiculous market for programmers right now so its pretty easy to get hired. But its not always going to be that way and it might not be when you leave.

 

You want a knowledge of everything and the sooner you know what end of the industry you want to be in the better to tailor your course. Suck in as much as you can while there, you will never get knowledge in such a condensed and focused way again in your entire career its by far the easiest place to learn so make the most of it.

 

17 hours ago, Fetzie said:

College tuition gives you the tools to learn how to do stuff, but a lot of the stuff you are doing while working will be self-taught (if you learned everything in college you'd be retiring before you finished studying :)).

 

As a comparison: English class in school teaches you about grammar, syntax and how to spell. It doesn't teach you how to write a compelling novel, or how to write a scientific paper which is good enough to be published in a journal. That comes with (lots of) extracurricular practice :)

 

You learn to program, be it Java, C or scripting in BASH, php or whatever you choose to do (and they aren't mutually exclusive) by doing it. That way you also have a portfolio of things that you have done to show to a prospective employer.

Awesome! Thanks so much for answering my question. I really don't know what it is that I want to do when I graduate. I really don't know enough about the field in order to decide (something in software development though, but I'm not sure exactly what). What are some things that I should start getting myself familiar with that will make me more marketable to employers in terms of languages and things of that sort? Because reading what you did BrightCandle, I don't have the first idea of how to make a game or an AI. I feel like I'm really behind even though I am only a sophomore....

Link to comment
Share on other sites

Link to post
Share on other sites

11 hours ago, namarino said:

 

Awesome! Thanks so much for answering my question. I really don't know what it is that I want to do when I graduate. I really don't know enough about the field in order to decide (something in software development though, but I'm not sure exactly what). What are some things that I should start getting myself familiar with that will make me more marketable to employers in terms of languages and things of that sort? Because reading what you did BrightCandle, I don't have the first idea of how to make a game or an AI. I feel like I'm really behind even though I am only a sophomore....

If software is your thing then start writing programs. Keep pushing what you are capable of doing and learning new approaches all the way through your education and you'll soon find the idea of writing a Neural network AI isn't something that bothers you other than the details of the problem itself. Isn't anything to be afraid of you just have to work up to it and the more you work on expanding your knowledge the quicker you'll get to the point where people would be stupid not to hire you.

Link to comment
Share on other sites

Link to post
Share on other sites

7 hours ago, BrightCandle said:

If software is your thing then start writing programs. Keep pushing what you are capable of doing and learning new approaches all the way through your education and you'll soon find the idea of writing a Neural network AI isn't something that bothers you other than the details of the problem itself. Isn't anything to be afraid of you just have to work up to it and the more you work on expanding your knowledge the quicker you'll get to the point where people would be stupid not to hire you.

I gotchya. So far the most complex thing I've done is create a GUI for Conway's game of life which was fairly complicated for me. One of the problems that I have is actually coming up with ideas for things. Do you have any suggestions on what kinds of things to work on? 

Link to comment
Share on other sites

Link to post
Share on other sites

I graduated from university 2 years ago and have been working for a FTSE100 company as a PHP developer since then.

 

As BrightCandle said this isn't a career where you can learn everything in education and work for the rest of your life. I actually learnt a huge amount when I started working, just being around other professional developers, reading and reviewing code is a great way to learn.

 

When I started I pretty much just wrote code, now I've found myself branching out more taking part in working groups to review and improve processes, working on continuous integration, providing input on OS migrations and more server side discussions and even helping out with some high-performance computing and big data projects we have taking place in my office. While many of these things had been touched on at uni I now understand these technologies much more than before so it really pays off to put yourself forward to keep learning as much as possible.

 

You can also find developer conferences to attend and institutes like the BCS here in the UK put on regular talks and presentations from industry experts which are a great way to widen your knowledge and meet other IT professionals.

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, Brenz said:

I graduated from university 2 years ago and have been working for a FTSE100 company as a PHP developer since then.

 

As BrightCandle said this isn't a career where you can learn everything in education and work for the rest of your life. I actually learnt a huge amount when I started working, just being around other professional developers, reading and reviewing code is a great way to learn.

 

When I started I pretty much just wrote code, now I've found myself branching out more taking part in working groups to review and improve processes, working on continuous integration, providing input on OS migrations and more server side discussions and even helping out with some high-performance computing and big data projects we have taking place in my office. While many of these things had been touched on at uni I now understand these technologies much more than before so it really pays off to put yourself forward to keep learning as much as possible.

 

You can also find developer conferences to attend and institutes like the BCS here in the UK put on regular talks and presentations from industry experts which are a great way to widen your knowledge and meet other IT professionals.

Thanks for the info! One of the things that bothers me about the program here (I think it's the same for a lot of schools) is that they talk about things that we haven't learned about like we should be really familiar with them. This always makes me believe that I'm so behind. Is there anything that you would recommend becoming familiar with on my own that would set me apart from others coming out of college? Or does an education from a University suffice? 

Link to comment
Share on other sites

Link to post
Share on other sites

13 hours ago, namarino said:

Thanks for the info! One of the things that bothers me about the program here (I think it's the same for a lot of schools) is that they talk about things that we haven't learned about like we should be really familiar with them. This always makes me believe that I'm so behind. Is there anything that you would recommend becoming familiar with on my own that would set me apart from others coming out of college? Or does an education from a University suffice? 

Personal projects are great and not something that you can put together in a few hours but a well built out and planned project where its clear you have really put in a lot of time and effort.

 

The one thing employers really like to see is someone who isn't a 9 to 5 developer who is going to go home at the end of the day and never look at any code or new technology. You need to show you are passionate and that you have the drive to continue learning in your free time, you don't have to be working on their code outside of work but if you refuse to keep learning and keep on top of new developments you will fall behind and that's not what you or your employer want.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×