How do I set myself apart?
July 15, 2008 3:01 PM   Subscribe

As a computer engineering student about to begin my sophomore year, what can I do on my own to distinguish myself from the scores of other kids in the field when it comes time to find an internship?

If you look at my posting history, you'll see that I've asked a question or two about electronics and my major, Computer Engineering.

I'm about to begin my sophomore year in college, and I've been researching internships at various companies since in a year or so I'll be looking for one. One problem with the computer field in this regard is that it's very crowded--it seems like there's a ton of people studying computer science/engineering, both in the U.S. and elsewhere.

So I've determined that I need to do as much as I can to distinguish myself as someone in the field. I want to do things that will catch the eyes of employers and things that I can talk about in the interviews. Basically, I need to find things to do in my free time that will teach me a lot of practical information about the computer engineering field, and hopefully in the process complete a few major projects that will help my chances of landing a job later.

For reference, right now I have a pretty good foundation on C++/C#(about a year spent on this, altogether), and I know how to solder and understand very basic electronic circuits.

Thanks, any help would be greatly appreciated!
posted by DMan to Education (21 answers total) 3 users marked this as a favorite
Algorithms and complexity theory are topics that many software engineers-to-be learn shallowly and forget quickly. I'm pretty impressed whenever I meet people who really understand it.

If you're looking for something to do: Find an open-source project you love. Contribute to it.
posted by svolix at 3:06 PM on July 15, 2008

Other than just getting good grades and learning from the classes you are in, I would say the best thing you can do is show that you've done some sort of programming work outside of class.

The knowledge that you get from coursework is useful, but if you've never really put that knowledge into practice it's hard for anyone to tell if you really know it well enough to use it in the real world. If you work on an outside of class project, you'll gain a lot of concrete examples of how you used the things you've learned and managed to figure out how to get things done without the structure of a class.
posted by burnmp3s at 3:23 PM on July 15, 2008

A little background: I'm a junior-to-be Mechanical Engineer. I'm doing an internship this summer for a small-ish aerospace company.

It's going to be a bit different for you, since most of the big software companies are a bit more progressive than the aging company I'm working for is, but I can tell you that the two things you can do are:
  • Do projects. It doesn't matter if it's personal, a club, or for class, but get something that you can put on your resume. I joined the Hybrid Vehicle Club at my school, for example. Companies love experience, especially when it's innovative. GPAs are great, but don't sacrifice your education for your schooling.
  • Wow them at the interview. Obviously your individual strengths will vary, but for example: "although I'm an engineer, I'm a jack of all trades and willing to be a leader." You want to stand out from all the other people you're competing with. Let your uniqueness show. It's going to be more complicated than that though. Depending on how much you like to prepare, I suggest googling "common interview questions" and think about answers to them. Try to have a good example ready for the ones that ask for examples. Good luck!

posted by JauntyFedora at 3:41 PM on July 15, 2008

i know you are CE and not CS, but since you mentioned your C* skills, you might consider joining a programming team. we have one at our university that participates in programming competitions every year. check with your department/college office to see if your school has anything similar.
also, ask about other student orgs that might have connections with the surrounding business community. often there is a need for small project work that isn't as involved as a full internship.
the more experiences you get, the better. employers are much more interested in how you work with others rather than your specific skill set. an internship will require you to take direction, work in a team and learn on the fly; not present a large codebase.
finally, develop good relationships with instructors you admire. those that have other jobs and a presence in industry will be able to provide you with career insights and possibly internship leads/references.
posted by Joannalaine at 3:46 PM on July 15, 2008

Major in math instead. :)

No seriously, math and physics majors often get oodles of free or technical electives. So often one can take every single interesting CS/CE course, skip the retarded courses, and get a degree that says "I'm smart" (well, assuming you manage good grades).

Such an approach works best if you already know all basics from the other degree, the course catalogs & requirements don't object, and basically you are smarter than most other students. It works well for other serious-but-that-serious degrees too, like economics, and even management. Oh, some schools are adding mixed "mathematical X" type majors that are naturally stronger than X alone, but cut some hard math classes that are less relevant. Of course I wouldn't recommend this for people going for truly arduous degrees, like chemical or electrical engineering.

Conversely, a big part of the tangible advantage of a math degree is that it is much more flexible after university (for example, math is one of the best pre-law degrees). But, if you are sure what you want to do in life, then great, stick to comuter engineering. In this case, use svolix's advice about taking extra math classes like algorithms, complexity theory, computability theory, combinatorics, probability, statistics, and linear algebra.

I imagine svolix's advice about open source projects also looks very good, as it says "hey, I love to code".
posted by jeffburdges at 3:50 PM on July 15, 2008

Get involved with some research. Talk to your favorite professors, they will usually go out of their ways to encourage enthusiastic undergrads. Even if they don't have something you can work on, they will know who in the department does.

Also, try to distinguish yourself in classes. If an instructor knows you by name and knows you to be an excellent student, you can use them as a reference.
posted by qxntpqbbbqxl at 4:15 PM on July 15, 2008

Following on from qxntpqbbbqxl, also don't be afraid of doing research outside of your department! I got my masters degree in Computer Science but worked for a prof in the Forestry department who had some very interesting computing problems to be solved. The same professor was clamoring for some CE/EE/ME types to create custom remote sensing equipment. He also had an undergrad Stat major working for him who did some invaluable research.
posted by zsazsa at 4:36 PM on July 15, 2008

do things that have nothing to do with computers, and everything to do with people building skills. really personality and people skills is what a lot of what it takes to "stand out".
posted by figTree at 4:54 PM on July 15, 2008

As said above, research and professors are the best way. Make connections, that's how the world works! I was active in a software/hardware group, as well, and keep in touch with those friends to this day.

(I just got a LinkedIn headhunter email ping while I was writing this.. see? Connections!)
posted by kcm at 5:17 PM on July 15, 2008

jeffburdges actually has a very good idea. Study a similar or "nearby" science. The folks in biology have a crazy demand for Perl people, because Perl is very good at regular expression searches and they use that for genetics research. Being the computer guy at a computer company isn't very cool but being the computer guy at the genetics company or mechanical device manufacturer is quite a big deal.

He's also right about math people. People who know statistics and can understand and utilize complex math can command salaries in certain fields.

Short answer: You stand out in CS/CompE by standing out in something else too.
posted by chairface at 5:27 PM on July 15, 2008

Yes, nthing get to know your professors. I got my first internship at what was definitely the hottest place for CS students to work at the time because I hung out with a lot of professors on a semi-recreational basis and one of them thought of me when someone asked her to recommend an intern. It was one of the huger strokes of luck I've ever had and opened tons of doors.

And, yes, open source stands out because it implies you like coding enough that you do it in your free time. And a lot of people come to CS because math is too hard for them, so adding even a minor in math (double majors rule!! Woo!) will make a good impression.
posted by crinklebat at 7:07 PM on July 15, 2008

I know from my experience at Penn State in aerospace engineering, a lot of engineers seem to be social "cripples" so to speak.

In my opinion, one other way to go is to make sure you stand out at job fairs, interviews, etc. by being outgoing. Maybe I'm off base here but the company I work for now probably would not have hired me had I had the social skills of most of the other engineers I know.

It's not something that you can really demonstrate on paper, but maybe in a cover letter, and definitely in person. Good communication seems to be more important than your technical know-how in a lot of situations. Try to show it.

And good luck.
posted by decrescendo at 7:16 PM on July 15, 2008

I definitely agree with others on learning to be social. Getting involved in activities or groups in college can really help with this, even if it isn't directly related to your major. I got involved in a social fraternity in the second semester of my freshman year, and it was the best thing I ever did socially. Before that, I was rather withdrawn, shy, and introverted. If you're not for the social fraternity thing, many majors have associated professional fraternities.
posted by Perpetual Seeker at 8:53 PM on July 15, 2008

When I look at intern or job candidates, these are the qualities that make someone stand out beyond the base requirements:

* An ability to clearly and concisely describe what they've worked on
* An ability to clearly and concisely describe what they would like to work on
* They have an obvious interest in new technology
* They write software because they enjoy it, not just to pay the rent
* They have an interesting life away from the computer

The first one is a little challenging if you're naturally introverted. The suggestion about picking up social skills, particularly public speaking skills, will make it much easier to sit down and confidently describe the hobby filesystem you wrote in your spare time. Having speaking skills will also make it easier for you to describe the ideas you have for a new process scheduler. If your university, or a nearby community college, offers public speaking classes, take a few. This is good insurance for your career later, too - giving talks at conferences is a great way to get people to notice you.

When I see someone who has contributed to open source projects, it hits the third and fourth qualifications. I mean really contributed, not just submitted a few minor patches to the documentation to correct some spelling mistakes. They don't have to be popular projects; it's enough if I can find it through Google and look through the source code1. This has an additional benefit of letting me see that you actually know how to write software and aren't just parroting some answers you memorized in a book. An additional benefit for you - being active in open source projects puts you directly in contact with people who will someday be looking for an intern or a colleague, people who will sort you to the front of the interview queue because they already have experience working with you.

And finally, are you the kind of person that I wouldn't mind having a beer with after work? Can you talk about things unrelated to computers? People who interview candidates aren't robots; a large part of the consideration is how well you'd fit into the culture and whether or not we'll be able to stand being around you for 8-16 hours a day. Being an interesting person in general means that you'll stand out from the start.

1 I know "get involved with open source" is an annoying vague suggestion, but it really does depend on your interests - working on an open source project that you aren't enthusiastic about won't put you in a great light. Feel free to MefiMail me for specific ideas.
posted by cmonkey at 12:22 AM on July 16, 2008

Nth-ing the suggestion to work on open source projects. Find something you are interested in, and contribute. Also, it might not hurt if you learn a few other programming languages.
posted by aroberge at 4:47 AM on July 16, 2008

Network. This could mean professors as suggested above (I spent two years working for a professor in a grad student lab on an REU grant), but it could also mean getting involved with your university's chapter of the IEEE/ACM, student government, other university groups/clubs, etc. The difference between even a simple email reference and someone looking at your resume cold is tremendous.

Having something to talk about during interviews is still essential, but knowing someone who can get you that interview is just as important, if not more so. Internship positions hired for at career fairs and the like tend to be pretty boring stuff, especially at larger companies. More interesting internships are usually scored by knowing the right people.
posted by Nelsormensch at 6:47 AM on July 16, 2008

My preferences fall in line with cmonkey. Know what you want and ask for it. Computer engineering students can have problems with this - the major already is a conglomeration of several disciplines. Get involved in whatever projects your engineering department has available to students. If you don't know what they are, go around to the professors you personally know and ask. You might be surprised with how willing they are to include you/hire you on the spot. Then, when you're looking for the interview, be able to say what the project is about. More importantly, be able to say what you did to help out the project. Although there are exceptions, most engineers hiring interns are not looking for heaps of experience. They're looking for the ability to solve problems. Finally, remember that the internship is a 3 month job interview. You should be prepared to discuss why you'd want to work full-time at the company you're interviewing with - not just an internship.
posted by saeculorum at 8:10 AM on July 16, 2008

Thanks for all the advice so far--open source seems to be a good way to go.

I believe I'm ahead of most of the other computer engineers I know as far as social ability; I'm constantly surprised at how introverted some of those people seem to be. I'm not the most outgoing person I know, but I'm definitely not shy either.

Since I'm doing computer engineering, should I be trying to work on hardware-related stuff too?
posted by DMan at 11:15 AM on July 16, 2008

The question is - do you want to do hardware? You should find out what you're interested in. I graduated with a computer engineering degree, but now work entirely in hardware design (specifically FPGA design). You can go into anything from software development to hardware design with a computer engineering degree, but you need to know what you're interested in.
posted by saeculorum at 1:06 PM on July 16, 2008

Good question. At this point I'm really not sure--the reason I switched to computer engineering from computer science was because I liked the idea of working with actual components and such, but I'm certainly not afraid of programming and am not opposed to doing that some day as well. So I guess at this point I should probably spend some time on both.
posted by DMan at 3:38 PM on July 16, 2008

Definitely find projects that involves both hardware and software, or get involved in separated projects (one exclusively hardware, another for software), although I don't think there will be any projects that are specifically concentrated on just one of the fields.
Also, if you can, find some time to engage in projects that involve more creative work rather than technical, or even philosophical. I'm a CS major, but I'm more of an artsy person than technical, and that landed me two great jobs on campus that utilizes both areas. It certainly helps to have some understanding of non-computer-related subjects, and it helps to stand out against other CE/CS people. In my experience, an astounding majority of CS/EECS people I know (EECS being equivalent to CE, I think) aren't very artistic or creative, and I can think of just one person off the top of my head who is - and he's a Cognitive Science major. Even if you aren't an artistic person, it certainly helps to work on something that does involve it - you might meet some teammates who will lend a helping hand in boosting your reputation.
posted by curagea at 9:57 AM on July 21, 2008

« Older Cowboy Music   |   How much is that snowboard in the window? The one... Newer »
This thread is closed to new comments.