CS junior, needs recommendations for career path, companies to apply to
June 11, 2015 11:06 AM   Subscribe

I'm about to be a junior in computer science (CS) at Georgia Tech in Atlanta. I'm passionate about programming, but I am also interested in numerous other subfields of technology. I don't like having to rush (at anything -- this post was edited and rewritten many times); I prefer polish, good design, and careful work, where everything is intentionally and thoughtfully crafted. Where should I apply for internships and look for careers?

(This is my first Ask MeFi post, MeFi post in general. Sorry if this is in the wrong category, but between "Technology" and "Work & Money", I think this is closer to "Technology".)

Some background: I started experimenting with computers when I was fairly young, learning the ins-and-outs of an old Compaq Windows XP laptop. In high school I built a gaming computer. My first exposure to programming was pretty shallow (3 line batch scripts I didn't understand at the time) and a terrible CS class at my high school.

I was well-off academically, so I ended up applying to Georgia Tech's biomedical program because it sounded mildly interesting. A required CS class I took ended up kindling my interest in programming; by the beginning of my sophomore year, I was majoring in CS.

Switching to CS is one of the best decisions I've made in my life so far, and I have no regrets about it.

Currently: I'm the kind of person who can spend hours reading man pages and poring over source code. This summer, I settled on learning Android development (I know basic Java 8). I've been reading the API and guides, studying code, and modifying/testing some open-source apps and my own fledgling application 10+ hours every day the last week or so. (I'm also taking a philosophy class, so I have some variety.)

(My first "real" contribution. The nested anonymous OnLongClickListeners are not mine, but I will try to fix them later.)

Although I like and will continue programming even if I'm not eventually employed as a programmer, it's not my only interest. Working as a sysadmin (system administrator) appeals to me (endless performance monitoring, scraping as much performance and stability as possible out of machines). As do a few other things.

Wishlist:
  1. Programming (full stack, including mobile)
  2. Information security (more applied than theoretical)
  3. Managing, maintaining, and designing large networks
  4. Experimenting with distributed computing systems, possibly swarm-based artificial intelligence
  5. Writing about all of the above, with a dash of privacy and software freedom advocacy
The biggest issue I have currently is that I am having a hard time specializing. I don't know if I can do all of these things and be excellent at all of them. I've essentially been paralyzed, jumping from topic to topic but getting nowhere, such as my attempt to learn Common LISP, and then web-development (after I learned basic HTML, I decided to put these off until later). I've settled on Android mainly to prove to myself that I can make something useful, and to have something to put on my resume other than classes and unverifiable claims of computer knowledge.

The next issue is how to get relevant experience. I'm worried I won't be able to get a job, let alone one I enjoy, when I graduate. Most Tech students have had at least one internship or co-op, or have one lined up, by their junior year (some before graduating high school), so I'm behind in this regard. I also have no paid work history, and have only worked one semester as a research assistant in a psychology lab, for class credit. 90% of GT students graduating with a Bachelor of Science in CS have job offers, but there is a remaining 10% that doesn't. I have a high GPA (above 3.8), but I'm worried about the other, more important, aspects of my employability.

(How does one even get an entry-level sysadmin job without a solid network to tap into for recommendations? Isn't it too high-risk to allow someone untested to do? Would I have to work in information technology first? If I take tests and earn some certifications, such as the Linux Foundation's certification or CompTIA A+, is that all I need to be considered for an entry-level position?)

In terms of workplace culture, I think I can work much better with older programmers and engineers than people closer to my age (18). I don't fit the current Silicon Valley "college hacker" stereotype at all or the (caricature of the starry-eyed) start-up founder. What company is right for me? Which ones can speed me along my wishlist? At which ones would I be maximally useful?

I don't know where to start, what to pick, or if I even have to pick. Why can't I do it all?

Money is only important in-so-much as I need to [1] survive (food/VPN/domain names/apartment), and [2] invest money into the film company I'm starting with my brother, and whatever other business exploits I attempt.

I'm eyeing Cisco's Meraki, but I need more options. Independent contracting and starting my own companies is also a non-exclusive option, but I'm not yet practiced or naturally talented at getting investors; I need some starting capital (and an emergency-fund) and much more experience in both technology and business.

It's possible that my worries stem from a lack of confidence, in which case I'd appreciate any advice in that area as well. I'm generally uncomfortable with having to "sell myself" in interviews, but it seems I must; I don't believe having a down-to-earth discussion about one's skills, strengths, and weaknesses is the norm in hiring, although if you know of a company that is like this or if my belief is erroneous, I'd love to hear about it.

(I am male, although in the ideal world, it shouldn't change your recommendations.)
posted by vixsomnis to Technology (8 answers total) 1 user marked this as a favorite
 
Whom you work with is at least as important as what you work on. If your interests are broad, you should focus on finding a culture and cohort with whom you work well and who share your values. I'm talking about values beyond just freedom and privacy, but also values about how to treat people (both at work and in the world) and what kinds of problems are important to solve.

If you reflect on these issues for a while, and then start looking around and asking questions, you'll likely end up with just one or two groups that interest you.
posted by amtho at 11:29 AM on June 11, 2015


You need to find an internship. Contact professors in your department and ask them for help.
posted by oceanjesse at 12:13 PM on June 11, 2015 [2 favorites]


Best answer: Holy cow.

First off, please remember to breathe. You will get a programming job if you want one. Your first job seems monumental when you're trying to get it; I assure you that it is not.

You're at Georgia Tech. Go to your career fairs. Lots of really awesome companies show up there looking to hire full-time engineers and interns from your school.

Being a jack of all trades

Your gut instinct that you will not find many jobs asking you to be the web dev, mobile, dev, sys admin, AI expert, and privacy officer. The only place to do that is in a startup. Everywhere else is going to want experts doing each of those things, and you're unlikely to be the expert at more than one or two at any given time.

But don't worry! You can be an expert mobile dev today and an expert web dev in the future. These are not permanent features of your character, they're just skills.

When talking about an internship, you can't even get enough experience in each of those for the internship to be valuable (to you or the company hiring you) over a summer. Pick one. If you can't, go to random.org and put a list in there. Hit refresh until the one it gives you looks okay. At the end of the summer, if you don't like that work, try something else. But remember:

Your Job is not You

I have a lot of interests. They're not all responsibilities of mine at work. That's okay. I exercise those interests and skills on my own time. This is not a failure of my employer, it's a success -- that the job doesn't leave me so drained at the end of the day that I can't do those things after work.

Selling yourself

Yes, you will have to "sell yourself", insomuch as you have to convince the company hiring you that you are worth the investment of time that hiring you requires. Yes, that's scary. Yes, you have to do it. Yes, the better you are at it, the better your opportunities will be. Until your reputation or resume speaks for itself, this is a key skill as an engineer. You get better at it the way you get better at anything else: practice.

So, yeah -- don't freak out! It'll be fine! Don't think of your job search as some epic quest... it's just one page of a long chapter. You can MeMail me if you have questions. I've been in software for ... a while. In Atlanta for the last 7 years.
posted by toomuchpete at 12:53 PM on June 11, 2015 [2 favorites]


Oh, hey, I forgot to tell you how I found my awesome (awesome for the right person, and definitely requiring a wide skill set) job while I was a Georgia Tech student. It involved a little outside-the-box thinking, so I'll send it to you by MeMail.
posted by amtho at 1:35 PM on June 11, 2015 [1 favorite]


Do internships. Realize that Ma Tech is a pressure cooker, but it's also a wonderful time of life.

And, as always, What's the Good Word?
posted by heathrowga at 2:39 PM on June 11, 2015


I just graduated from a small, liberal arts college with a BS in computer science and a concentration in fine art. I had three successful internships over the interleaving summers and you can read about them here if you like.

The things I took away from these internships didn't have much to do with the specific thing I was working on but rather where they were, who I met, and what I learned about myself and how I work.

I know you don't need convincing, but here are a few nice things I got out of my internships. They might help point you in the right direction:

- A great way to explore cities. I got to live in Des Moines, Denver, and DC for three months and came out cash positive. After living in a city for three months you are much more able to say whether or not you'd like to move there for a full time position (I'm starting a new job in Denver this August!).

- A great way to learn what kind of company you enjoy working at. Again, each internship was at a differently sized company (small, medium, and medium-large) and I even got to see one transition from a small startup to a medium sized business.

- A great way to meet interesting people. Everyone you meet you can learn from. You might even hear of a new position later on down the road.

As for places to look for internships, check your school's career fairs, career offices (these people are great for resume checks and mock interviews), alums (contact them through your career center or alumni relations. people love to help kids from their alma mater), hackernews (look for postings called "Who's Hiring?"), and your family.

As for whether or not you're part of the 10% of people who don't have an offer when they graduate:
The market is good and software developers are in demand. You will have no problem finding work if you're looking.

Good luck!
posted by lalunamel at 6:11 PM on June 11, 2015


Best answer: I'm a sysadmin in the south east. Good sysadmin jobs are much harder to come by than programmer jobs so I'd tell you to follow the programmer path.

For infosec look to getting your CISSP. For networking the CCNA is considered the entry level cert. Microsoft has their MCSA and MCSE certs. VMware's is the VCP. Infosec is hot right now because the internet is like the wild west. See recent hack of the OPM by China.

Regarding career direction, the skills you learn at your jobs will lay your future pathway. In 15 years you'll probably end up doing something different than you think now just because who knows what you'll be doing in your first, second, third, etc jobs. I guess what I'm saying is plan your general career direction but make sure you go with the flow because you may like a direction you hadn't thought of.
posted by LoveHam at 7:32 PM on June 11, 2015


Ditto internships. You need practical experience, working in teams and/or alone, working within existing API / design philosophy / patching legacy code / etc. as well as write new features to existing stuff.

Internships are also great for you resume.
posted by kschang at 12:53 AM on June 12, 2015


« Older Visceral fat and eating before bed   |   Finding the elusive film developers Newer »
This thread is closed to new comments.