I am currently attending a University and in my Senior year of obtaining my Computer Science degree. Currently beginning to look for jobs, internships and everything and beginning to kind of worry as I feel that there is a vast amount that I do not know, and what I do know I feel that I do not know enough to be able to hop into the job market and be of value. I am definitely not sure how working in a programming occupation is however, which is why I am hesistant.
Currently I am taking a z/OS and COBOL class which is advancing what I had learned in the past for Assembler. Basically this semester it is expected that we learn to write the JCL, work with QSAM, TSAM, IDCAMS and External Linkage. In my past Assembler course, we had used ASSIST, which my current professor says is the "baby" way and we will not be using it, but feel that I learned a great deal in that class. Kind of curious if what I am expected to learn in what I had listed is an acceptable amount of knowledge for the real world? Obviously the learning experience would be everlasting but I kind of want to know what to expect just coming out of college if I were to get a Mainframe job, which I wouldn't mind by any means.
My second strongest(ish) language I would say would be Java. I did a lot of the work in the NetBeans IDE which I imagine with a bit of practice I could adapt to Eclispe nicely. This is what I had learned in and took two semesters in, learning the basics and then advancing onto classes. Didn't get into any applet or fancy stuff and curious if I should learn that on my own, or where I should go next with learning more. I did enjoy Java when I worked with it, but haven't worked with it much since. Would like to improve to an entry level experience base.
Other languages I have worked in is C++, which I learned the STL. I transferred at this time not knowing any C++, and my only experience prior was Java. I started taking the STL course at the university I transferred to (This is the third semester C++ course at the university) so I came in not knowing any of the syntax (cout/cin/pointers etc) and came out just fine with a high B. If not for the midterm, It would of been better.
I've also worked with HTML/CSS/Javascript/PHP and some bash in Unix. Not hugely into the Web Development portion and hoping to not take it up as a career. I can code and design it just fine, however not a HUGE interest of mine. Out of all the programming languages however I have not had a huge issue with any of my programming assignment. I have completed them all with no or little trouble(to be expected) and felt comfortable with what they were introducing.
Basically my main concern is that out of all of my courses I have not had to work with a database while coding in Java/C++ to know how to connect them or work with saving the data. The only time that I have had to work with a database is in a database course I have taken, where we basically programmed a smaller scale social network in HTML/CSS using MySQL. I am also not sure that what I have learned in Java/C++, I haven't learned in depth enough to go and program a game, or a quality business application without having to research it and learn more to do it.
In my next semester I plan on taking a Software Engineering course, and then the next class would either be .NET or another JAVA course(which would touch base with Java applications/applets, TCP/IP socket connections, client-server connections and Java DB Connectivity)
So this brings us to the core of the post...
For those who have worked with hiring or dealing with new CS graduates, or others with input in the field:
1) Is what I have so far a good start? Where should I focus my attention with what I have/going for. Ideally I would like to get something with working in Mainframe or Java, but as an entry level programmer, I am unsure on how much I should know when graduating.
2) When applying for an entry level position for a new graduate or an internship, what kind of questions come up? I googled a few examples and several examples we have never touched point on, while some I am capable of answering. I feel that some that I read very well could be for a more advanced position for a person with experience. Just trying to get an idea. I also was brought to a coding horror webpage where a user quized their applicant about writing a Fizz-Buzz program (Write a program that prints numbers 1-100, multiples of three print Fizz, multiples of 5 print Buzz and multiples of 3 and 5 print FizzBuzz) which I was able to do perfectly fine in just a couple of minutes (as much time as it took to write it out).
3) When normally going into a job, how does it normally start? How much time do you have to prepare for the given assignment, as I imagine I would be coming in on a project that is already underway. Would I just be thrown into whatever they are working on and expected to know exactly what is going on on the spot, or would I have time to look over what has been done (reasonably depending on the scale of the project) and then formulate a plan?
4) For those that have interned in the past, how was your experience? What should I look out for, and be ready to experience. I am looking into getting an internship for the summer of 2013 to get actual job experience under my belt, and curious as to what your experiences were.
Just looking for those with experience in the field and those who deal with entry-level graduates/interns to give me input and advice, or a sense of comfort in what I have done so far is pretty alright. The Computer Science field is vast, and feel like I haven't learned enough while there are other people who seem to be content on stopping where we are and feel comfortable.
Sorry for the incredibly long and probably unorganized post. Also sorry about the post if it is in the wrong section on the forum. I would love for an admin or a moderator to move it to a more suitable location. Hopefully you are able to gather what I am trying to say and give some input, otherwise I would be willing to clear up more if asked. Also able to answer more about what I have done in the past, but this is off the top of my head with hundreds of other questions running through it, so it's a start. Thanks a ton for any input! Sorry again for the novel.