1. #1

    Now what? Computer Science

    I now have a Bachelor's of Science in Computer science...but I honestly don't know a damn thing. I feel like everything I've learned has seeped from my mind and even during basic phone screening interviews I can't answer what should be simple tech questions. Am I doomed? Do I spend more time/money getting a different degree, or is it possible to work with my current degree and basically learn on the job. I feel embarassed to even ask these questions.

    Can anyone point me in the right direction!?

  2. #2
    Well another degree won't be the answer really, especially if it's something building on what you already 'know'.

    Are you considering a different subject? If so, why didn't you study that initially if you weren't completely set on Computer Science?

  3. #3
    Bloodsail Admiral Tsundere Pejo's Avatar
    Join Date
    Mar 2011
    Location
    C eh N eh D eh
    Posts
    1,213
    Well, it depends. Did you just forget what you learned? Or did you just coast through and not learn anything? It'll be a lot easier to just doing a revamp over your CS stuff versus going out and learning something new. You learn quite a bit during school so forgetting a good chunk of it is entirely possible - just go back over the basics for the phone interviews. For some of it, you can learn on the job especially if you understand the idea behind it. Look into the basics of design again and then go back at the interviews: they are just interested in finding out if you understand ideas such as encapsulation. Most interviews will be about general principles, rather than actual implementation allowing you to use pseudocode.

  4. #4
    get internships at companies

  5. #5
    do what everyone else does - use your degree as leverage into a management position in an industry/field that has no relation to your degree

  6. #6
    Stick it the degree that you have, even if you gotta refresh yourself a little. I'm just about to get my associate's in Computer science, and then plan on transferring onto a 4 year school for my Bachelor's. The problem is that this field can change quite quickly, so the stuff you learned when you started may be outdated by now (Even if it is just very slightly.) Have faith in what you've done, I'm sure you'll do great.

  7. #7
    #1 this is why your first prof should have told you to save everything from pseudo to your most advanced project ever.

    #2 programmers usually work in groups and ask each other for help, even LoLzsec was a group not 1 man.

    #s you should have been working on your own side project

  8. #8
    Try taking some certifications. Maybe start with CompTIA A+, Network+, or Security+. There are quite a few of them out there so look around if those don't appeal to you. To me certificates show employers you know what you're doing, while a degree just shows you know how to be trained. Even if the certificates themselves don't mean anything to certain employers, at least you will learn a lot.

  9. #9
    I was in the same position as you a few months ago. I graduated in July and had absolutely no idea what to do, and felt so unprepared. However, I started looking around what these jobs were looking for, experience with all these frameworks and technologies. Your degree gave you the foundation to learn all of these, and that's exactly what you should do. I spent about a month learning what I could and making little projects and managed to land a job a few weeks after I started searching. And now I'm working at a great company with a great pay. Good luck man!

  10. #10
    Bloodsail Admiral Tsundere Pejo's Avatar
    Join Date
    Mar 2011
    Location
    C eh N eh D eh
    Posts
    1,213
    Quote Originally Posted by Derishi View Post
    I was in the same position as you a few months ago. I graduated in July and had absolutely no idea what to do, and felt so unprepared. However, I started looking around what these jobs were looking for, experience with all these frameworks and technologies. Your degree gave you the foundation to learn all of these, and that's exactly what you should do. I spent about a month learning what I could and making little projects and managed to land a job a few weeks after I started searching. And now I'm working at a great company with a great pay. Good luck man!
    This is exactly the same as me so I highly recommend revamping on your stuff if you know it. Look into things like SOLID principles (you'll cover abstraction, encapsulation, cohesion, coupling, etc as you learn it), design patterns and pick a language of choice. There are plenty of good resources out there for these topics.

  11. #11
    even during basic phone screening interviews I can't answer what should be simple tech questions.
    At least you know where your first problem is. Talk to your universitie's placement/alumni services department. They'll have people who can help you practice interviews. You'll suck at your first few, you'll be better at your next five, and by the time you're at your 10th it'll be no big deal.

    Most people with a comp sci degree start out doing maintenance work. You'll probably have a pretty good idea of what kind of problems you like to solve (embeded systems, data mining, interfaces, drivers?) and you probably have a favorite language. Chances are your first job will assume you're "literate" with your favorite language but basically useless when it comes to knowing their software code base. You'll generally be introduced into the code slowly, guided by a more senior person - you'll do "bitch work" like refactoring or documentation or cleaning up tests. Eventually they'll let you do bug fixes, then minor features, and then you'll be flying on your own. Beware of a company that drops you balls-deep into a project that's burning and expects you to solve all of their problems.

    It's a bit of a shame that you missed the opportunities in college to get experience (TAing courses, helping a researcher, programming contests, etc) but you're not screwed.

    For what it's worth: when I interview people I tended to assume they don't know the languages or frameworks that my company uses. I figured we'll just teach them that as they go (any computer scientist has established they can learn syntax and read documentation). I do assume you know general concepts and are proficient in at least one language and serviceable in a couple of others. If I'm doing web programming I'm going to want to see some sort of web-related experience, and if I'm doing embedded systems I'll want to see some low-level hardware hacking. I don't think any manager really expects to see that you did exactly the same thing somewhere else. As long as you've poked your toes into the problem domain we can work with you. In the off chance you're a perfect fit: bonus! but that's almost never expected.

    The stuff that makes an entry level candidate stand out for me is the "extra stuff". Assuming I've narrowed the pool to half a dozen capable people I'm going to look at things like this to figure out who gets the second interview.
    • Do they have a project they work on in their own time? Do they actually like programming?
    • Do they try to contribute to open source software? That lets me see how they slot into a larger team or how they structure projects they designed.
    • Can they use version control - do they know about things like continuous integration.
    • What does their documentation look like.
    • Are they familiar with automated testing and static analysis tools
    Those are the sorts of things that apply to every project in every field and very few college students have any worthwhile experience with it. Fortunately it's pretty easy to fix that.If you don't have a github account: get one. check out a project and start hacking on a pull request, contribute to a library, port a utility, release your own code. Do something! It's a great way to get around the "I have no experience" problem that many undergraduates have. If you have a favorite professor then try and hit him or her up for a letter of recommendation.

    In terms of leveraging comp-sci into another degree: if you have a minor you can probably expand that into a full second degree with about a year worth of effort. It took me 2 years to add a physical sciences (starting with comp sci+minor in business). If I wanted an arts degree it'll be a total of 3 years worth of extra effort. Computer science is pretty widely applicable and I don't think there's a practical reason to get another degree. It's not like an education degree + chemistry where you'd be a better science teacher. It might give you a slight edge for your first job but that's about it. If you're just terrified of trying to make it in the real world and want to stall: it's a waste of money. If you're genuinely interested in some other topic and aren't concerned about delaying your career until your mid-to-late 20s (and your girlfriend is prepared to wait around starting a family or whatever) then have at it. If I were to cut you a check for $500,000 and your first thought isn't "Hooray! I can go back to college!" then more college is probably not a great use of your time.

    The problem is that this field can change quite quickly, so the stuff you learned when you started may be outdated by now (Even if it is just very slightly.)
    Computer science isn't about a particular framework or a particular language or a particular operating system. The important parts are 'timeless' because computer science boils down to math, engineering, and logic. The fundamentals of those topics aren't changing that fast. If you studied using C++ in college and think it's obsolete because everybody uses C# now then I think you missed the point of those old C++ classes.
    Last edited by evn; 2012-11-14 at 05:09 AM.
    A new UI series for 5.2Steal my old UILearn about WeakAuras • Nobody to raid with right now so no PVE videos.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •