What now, BS in Computer Science?
November 30, 2011 6:56 PM   Subscribe

What now, BS in Computer Science?

I will have my BS in CS at the end of May. I'm worried a lot about my future... I read two posts kind of similar to my situation (Here and Here) But don't get me wrong, I've enjoyed programming through school. I've been an A student and reading the posts I mentioned, I'm afraid I won't be ready for the real world. I admit it's been hard to get through the BS program at times, but I won't give up now because I know I could get a good job in CS. If not programming, I feel I could do something else CS related... It has been a while since I've had to code something...(many semesters) I don't have much time outside school to teach myself more.

I have a part time job at the moment and I will want a nicer job with my BS. I've gone to career services and a career fair at my college. I feel that going to these didn't help much. The internships that were read to me were about IT, some had a lot of skills I didn't have, and some were areas I don't really want to go into. My best bet is an internship where I would be trained (one was training in SQL for database... which sounds interesting). I've looked at internships/jobs online as well to get a feel of what is really expected for a programming job.

I thought about getting a master's but I won't because of the costs and I am not cut out for the research/thesis/project side of it. I would like to expand upon my programming by taking more programming classes. I've looked at some other colleges but it's difficult to find them. In one post I read, someone mentioned how the colleges really just teach the basics...

The other thing I'd like to do is teach Computer Science to K-12. My college doesn't offer a certificate for CS. I know nothing about education and don't know what to begin looking for.

So my main questions are:
-What exactly is required to become a teacher? Does it matter if I am getting this certificate in NJ?
-What has your experience been if you got your BS in CS?
-Are programming classes that hard to find? (Not just your C++ and Java) Should I give up looking?
-What else can I do for work, CS related? (Possibly similar to the one I described where I could be doing some database programming, etc)
-Am I going to have a difficult time after college? I need some advice...
posted by Arashi to Computers & Internet (16 answers total) 9 users marked this as a favorite
 
I have a cousin who has a CS/EE bachelor's, he graduated almost 20 years ago, and he is occasionally cold-called (or emailed) by undergrads at his alma mater. He says he always tries to help anyone who contacts him. So, try and work some alumni connections. Research whoever you reach out to so you are familiar with their work and areas of interest.
posted by mlis at 7:17 PM on November 30, 2011


It can feel overwelming but trust me many of us were feeling that way as we approached graduation. Truth be told there is many things that you can do with a computer science degree all with or without programming. The key to remember is that any reputable employer knows that you will need to be groomed and molded to work in a profession setting. All of us needed that. Most of us were taught the theory but needed to learn the practical aspects of the work while on the job.

Even if you eventually find yourself in a non-programming job don't discount that skillset. It is useful to have in your back pocket. Being able to write little ad hoc programs to analyze datasets is a powerful thing to know. For example Slate magazine recently listed a job notice for a journalist with programming skills.

Good luck.
posted by mmascolino at 7:40 PM on November 30, 2011 [1 favorite]


What else can I do for work, CS related?

Job experience is more important than a degree for getting a job, but job experience + a degree is much better than job experience alone. If you have problems getting a 'real' CS job, just take anything you can get in IT to get your resume started, from data entry to desktop support to working night shift at a data center. IT is really fluid, and the ability learn new technologies quickly, to program and just understanding fundamentally how computers work will give you a fast track to advancement over everybody you're working with without that degree.
posted by empath at 7:51 PM on November 30, 2011 [3 favorites]


I don't mean this to sound harsh, but if you're about to finish a 4-year Computer Science degree and don't really know how to program, you may have some serious catching up to do.

That said, I think a lot of CS graduates find themselves in a similar position. Most people I know in the field acquired their real working skills on the job, whether they have a degree or not. There are lots of jobs where you can bootstrap yourself a career, given certain aptitudes and some real interest/imagination. You might have to grind through a couple of shitty ones first, but that too is useful experience.

As to programming classes, the answers to this question might be worth reading through.
posted by brennen at 7:56 PM on November 30, 2011 [2 favorites]


I just got an awesome post-grad job at an awesome company with no relevant experience or connections. In CS, knowledge matters a lot more than who you know. Brush up on the relevant topics and you'll ace the interview. Re: forgetting...just program something and it will all come back to you! You can't just forget how to code in the same way that you can't forget how to ride a bike.

If you want to try teaching, you could always be a tutor. You can figure out if you really enjoy it before making any commitments.
posted by 200burritos at 8:01 PM on November 30, 2011


I can't tell you anything about teaching.

I can tell you that connections are the most wonderful thing in the world. That's how I got almost all my jobs. It sounds like you dont have any though, so you either want to look closer at your parent's friend list or follow up with those alumni. Or both. Also, check up on your friends in your major. They may have some useful contacts.

I can tell you I almost left college and went to a trade school at one point. I was frustrated at how few practical skills college was seemingly teaching me. But when you find that programming job, the first while(weeks or months or maybe years) will be schooling. Uni only gives you the very most basics. There is way too much knowledge in the world for them to give you any more. They give you the very basics, and then the tools to learn, and then hopefully some social skills and friends to eventually turn into useful contacts (if I need brain surgery, I now know where I am going). They give you some OOP stuff, some java, some c++, some database, and a couple light touches on some odds and ends, but its hard to teach you more in only four years. When I went to my first internship, I had NO IDEA what the difference between a project and a solution was. When I went to my first internship, I had NO IDEA what source control was. But college gave me the tools to learn quickly. Granted, I still wonder why uni dident teach me that in the first place...

I cant tell you that you will succeed, but dont lose hope already. The world is before you.
posted by Folk at 8:50 PM on November 30, 2011


If you want to program for money, you're going to have to just buckle down, learn one or more languages and practice. You can take a class, but ultimately the key is practice.

Build a mobile app, and put it on your resume. Start a blog. Participate in forums.

I had a fine career going as a programmer, without a degree, having taught myself and gained connections through forums.

Then I went and ruined it all by going back to school to get a degree.
posted by klanawa at 8:53 PM on November 30, 2011


I was not a good programmer when I started my professional career. I could code my way out of a paper bag, but only just. It was tough going at first, but you'd be surprised how quickly your skills improve when you have to do nothing but write code and talk about code all day Monday-Friday. Practice apparently does make - well, not perfect, but better.

The funny thing was that I thought I was about as good as I was going to get and was massively dispirited that I was going to enter this career where I was going to feel marginally competent for all time. Oh lol lol what a fool I was. It took me about 3 years working full time to get to a point where I felt like I actually knew what the heck I was doing. At this point I think about how much trouble I had with simple things when I first started working out of school and it's shocking that I even have the same brain. Seriously. Take the most challenging job you can talk your way into and just plug away and do your best to rise to every challenge. Fake it until you make it. It'll happen, man.

I'm surprised the job market is looking so tepid. I don't even work in Silicon Valley and I'm still beating recruiters off with a stick. I get the impression that you can't throw a rock in Palo Alto without hitting a dude who just graduated from business school and is looking for a technical cofounder. Are you trying to stay in NJ? Have you applied further afield at all?

I have spoken with several K-12 CS teachers and I would say it's not a great place to be right now. Very few states have formal computer science standards for K-12 and in this budget environment, teachers whose subjects aren't included in standards are living in real fear in many states. If you really want to teach, see if you can't get into math or physics teaching over CS, for sure.

Memail me if you need more peptalk goodness or want to send me your resume.
posted by troublesome at 9:14 PM on November 30, 2011 [2 favorites]


Are you strong on theory? If so, you shouldn't have any trouble getting a good job with a major company. That is just as attractive as programming skills, and harder to teach.

If not... then maybe a master's degree, with an extra summer internship, isn't a bad idea.
posted by qxntpqbbbqxl at 10:20 PM on November 30, 2011


I pity the recent MBA who hooks up with a "technical co-founder" who can't be bothered to do any personal coding projects beyond the absolute minimum required for his degree.

Oh, so do I, but that's beside the point. The point is there's total irrational exuberance right now and I'm surprised to hear anyone who's about to finish a CS degree is really this worried about prospects.

It isn't easy to find good people, but it is often worse to have someone who can't cut it on the team than an open seat.

Quoted for truth. But there are plenty of teams on which someone who made A's in a challenging program while holding down a part-time job would be fine, I think. (I have no idea if the OP's program was challenging or what sort of job is discussed in the question, but I'm saying you don't have to be the top student in your class with internships at Awesome Inc to be of worth on a team.)

I didn't do any personal coding projects when I was a student. I knew I was supposed to, because of threads like this (including one initiated by me, in fact, using a sockpuppet), but I didn't have the coding skills to get anything nontrivial done and found the whole exercise frustrating. My homework was hard enough and by the time I finished it the last thing I wanted to do was write more code. This idea that every future software engineer MUST be hacking on Linux kernels in his spare time is part of what scares people out of software.

Arashi, it definitely helps to do your own projects outside of school. It helps a ton, as do internships, part-time jobs, research jobs, and basically anything else you do where you write code for any reason. Any practice you can get improves your skills and your confidence. But just because you don't have your own projects doesn't mean you can't be a successful software engineer. It might take you a bit longer, and you'll have to work hard at the outset, but it's possible. There was a reason you chose CS as your major and stuck it out. Keep sticking it out.

This is clearly kind of a sore point for me. I think a lot of minorities in computing leave to do things like, oh, teach K-12 CS because of this mindset and I think our industry is worse off as a result. You don't have to live and breathe CS to be good at writing software. You sure have to like it or you'll find yourself really hating your job, but it doesn't have to be your life.

As a corollary, you'd better like CS as much or more if you plan to teach it, because I guarantee teaching CS in a high school will be way more difficult, way more frustrating, and way less lucrative than any coding job out there.
posted by troublesome at 10:29 PM on November 30, 2011 [1 favorite]


Does your department work with any companies to help place students? My daughter is majoring in CS and the department constantly has events with companies coming in to do tech talks (recruiting events), actual recruiting and helping students find internships. Where she is this runs through the CS department NOT through career services or some university wide program. If you haven't been talking to faculty and staff in your program about this start now.

I've also watched several people teach high school programming classes who had no background in architecture, design or teaching and the results were not pretty. It's certainly possible to be an effective CS teacher out of college but ideally one has some teaching background/training too.

Good luck - you're going into a field where there are jobs and that's not a given in this economy for most people graduating college!
posted by leslies at 4:08 AM on December 1, 2011


The other thing I'd like to do is teach Computer Science to K-12. My college doesn't offer a certificate for CS. I know nothing about education and don't know what to begin looking for.

First of all, Computer Science in K-12 to a large extent does not exist. Unlike other subjects such as math and reading, there are no computer science questions in the standardize tests and as far as I know no state requires any kind of computer science topics to be included in curriculum. Given that schools have a limited amount of time and resources to spend on subjects outside of the core required ones, it's unlikely that you will find many schools that have a strong Computer Science program. The closest thing to a standardized course in Computer Science in K-12 is the Computer Science AP course, which is more or less a basic programming course rather than an introduction to any of the core concepts of Computer Science. Aside from that in my experience at least, "computer teachers" at schools spend most of their time teaching Power Point and other basic computer literacy topics, along with official or unofficial IT tech support for the school itself. It's more like being a librarian who teaches computer literacy than it is like being a professor of Computer Science, if you want to teach the sorts of things you learned while getting your CS degree you would probably be better off teaching math or physics.

More importantly though, teaching is difficult and not for everyone. Most introverted hackers don't have the kinds of social skills that are necessary to teach effectively. Can you manage a classroom effectively and keep things under control, especially if some of the kids have severe behavioral problems? Can you figure out who doesn't understand the material, and can you alter your approach to help them understand? Can you deal with all of the politics of working with school administrators and work with inadequate resources in an under-funded school? All of that is a lot harder than learning SQL, and you'll be getting paid less for it. It's definitely possible to get certified as a teacher with your background, and in fact there are accelerated programs specifically designed for people in your situation who already have a BS but don't have any experience in teaching. But you have to really love working with kids and teaching in general for it to make sense as a fulfilling career.
posted by burnmp3s at 8:31 AM on December 1, 2011


It is normal to have this anxiety, but look on the positive side. Programming is a skill that is needed in nearly every industry. Job prospects are hard but computer programmers are doing better than most these days.
posted by dgran at 8:34 AM on December 1, 2011


The internships that were read to me were about IT, some had a lot of skills I didn't have, and some were areas I don't really want to go into.

I would go ahead and not worry about the skills you don't have if there's an internship that interests you. I mean, there's a reason it's an internship; they're going to expect you to learn on the job. If there's another candidate applying that has those skills that you don't, sure, they'll have a better shot than you, but the opportunity cost of applying is negligible.

What has your experience been if you got your BS in CS?

I didn't work on any toy projects while studying, but I did take part in my school's coop program where they place you with a company for a few months. Students in the program usually get an offer to work full time at the company where they're placed if they're not totally awful, but I ended up going elsewhere. If nothing else, the program guarantees that you'll have a few months working at a real software company to put on your resume by the time you graduate.

My best bet is an internship where I would be trained (one was training in SQL for database... which sounds interesting).

Your program must have had electives in databases, right? What I mean is, what classes did you pick up for your electives? Those should reflect what you're interested in, right? There's nothing wrong with going in a different direction now, but there's probably work in whatever you did choose to learn about instead of databases.
posted by juv3nal at 10:43 AM on December 1, 2011


Your program must have had electives in databases, right? What I mean is, what classes did you pick up for your electives? Those should reflect what you're interested in, right? There's nothing wrong with going in a different direction now, but there's probably work in whatever you did choose to learn about instead of databases.

I don't know about the OP's specific experience but the relatively well respected CS program I was in during undergrad had basically no choices as part of the normal CS sequence that involved learning about SQL or relational databases in general. I did take one course that taught SQL basics and normalizing database structures and whatnot, but it was from the Business college and would not have counted for my general CS major requirements. At any rate it's very common for CS programs to focus almost entirely on subjects that are not directly applicable to the vast majority of programming jobs that are out there, such as graph theory or other topics that aren't used in business applications. Which is why having outside of class projects is so important, that's the main way that students learn the actual technical skills that would be required in the real world. A lot of employers hiring CS grads realize that they won't be completely prepared though, and count on the fact that smart people who did well in school will probably be able learn the skills needed to do an entry level job after they are hired.
posted by burnmp3s at 10:59 AM on December 1, 2011


Doing database work will pigeonhole you into doing only database work in the future. If you were an A student, SQL may limit you to jobs less-good than those you should be pursuing, although I may be miscalibrated terribly.

What level of academic rigor was your undergrad? Do you know one programming language well? Do you know big-O notation? If I said "implement a self-balanced binary tree" in Java, C, C++, or Python, could you?

Where do you live? An urban area, or somewhere less urban? Most CS jobs are focused on the cities.

If you're an A student with a moderately rigorous bachelors in CS, and you know the basics of programming, you should be making $50-60k/y out of school. I'm not sure how you can have several semesters of not-programming in a CS degree track, though.
posted by talldean at 8:28 AM on June 22, 2012


« Older Pratchett for the elderly set?   |   Blackwater River State Park now "Xe River State... Newer »
This thread is closed to new comments.