Would you employ me?

Cogman

Lifer
Sep 19, 2000
10,283
134
106
I'm currently a Junior studying for a bachelors in Computer Engineering. And wondering "Can I get a job outside of college?"

Here's what I've focused on, mainly.
  • I have lots of experience in C++. Much of it from an outside open-source project I started.
  • In my spare time I've been trying to learn about concurrent programming. I think I pretty much have the concepts down, I even made my own thread pool class (Using the Windows API, though, it wouldn't be too hard to do with pthreads)
  • For my classes, I've done things like making an RSA encryption scheme, or a multithreaded 3x+1 verifier.
  • My favorite class was my Computer Architecture class because of all the optimization techniques it taught me (and how it taught me when an optimization should and shouldn't be done, IE Ahmdal's law)
  • On a side note, I love math, and am currently working as a math tutor for my school (calculus level).
I feel like what I've done is still lacking for making me employable. What more would you recommend?
 

nickbits

Diamond Member
Mar 10, 2008
4,122
1
81
Personally anyone who does projects outside of their "work" scores big points with me. For someone out of school I try to guage their problem solving skills more than direct programming skills.

But I think your focus may be a bit "too technical" for most jobs (at least in my area). Most jobs I see are based on .NET or java. Jobs that do C++ usually want experience.
 

presidentender

Golden Member
Jan 23, 2008
1,166
0
76
Your focus seems to be different from mine, so this might not be valid. But probably the most important thing you can do is to grab an internship (at this point it's late to get summer internships most places, but you can still find one for your senior year). That will give you experience, and if it doesn't set you apart from other candidates for your first "real" job, it'll at least level the playing field.

That said, your open-source project is the most impressive thing among what you've listed. Play that up in your targeted resume (and, perhaps, cover letter), listing the ways in which you think the skills you've learned and employed with regard to that project will also apply to your new job. Did you do network programming for it? Is it multithreaded? Being the founder of the project is also impressive, but chances are good you won't be hired as a manager right away, so don't play up the "in charge" aspect of your contribution too much.

If you're willing and interested, you might also pick up some higher-level (that is, further from the metal, not higher-numbered courses) programming, such as .NET or Java. C# and Java are close enough to C++ that you'll be able to start getting things done right away, but until you're familiar with the new APIs (and some constructs that C++ doesn't provide, and the subtle differences between the languages), you'll be doing things in a not-quite-strictly-optimal way. So listing specific .NET or Java programming will let a prospective employer know that you can be more productive in those frameworks more quickly.

The last paragraph could also apply to web development. Even using ASP.NET (which seems to try to make web development like any other VS development), it's different from other types of development, with its own unique challenges.

If you're more interested in pursuing the C++ and systems programming thing, that's cool, and that's where you should focus your efforts. It will limit the jobs you can look for, though, so I'd advise that you don't tie yourself strictly to that type of development until you've had some non-trivial experience with the others.

EDIT: You say you love math. In interviews, I got a lot of respect from interviewers because of my upper-level math experience. I highly recommend Abstract Algebra and as much Discrete Math as your school offers. It won't be as important as CS, but if you really like it anyway...
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
Originally posted by: Crusty
You seem like you would fit right in the finance industry ;)

I agree. An entry-level job in the Northeast market doing financial modeling, trading apps, derivative pricing, that sort of thing. OP's experience is also well-suited to engineering graphics, statistical computing, process automation, and other verticals along those lines.

The same advice applies to everyone, really: don't wait to be recruited into the kind of job you want and are qualified for. Get out there, market yourself, and network. Forums, blog posts, the occasional conference, open source projects, are all effective. In this market you have to distinguish yourself.
 

duragezic

Lifer
Oct 11, 1999
11,234
4
81
I would keep at it but don't stress about it too much.

I would definitely get one internship under your belt. Between your sophomore and junior year, and/or between junior and senior year is good, but anything works.

One thing you should start doing is focus on an area of CpE. Usually around this time you get an idea of the breadth of CpE and you need to start getting into some specific area(s). Could be software engineering, embedded systems, digital design, etc.

Also, anything where you worked on a project as a team is good for your resume and to talk about during interviews. Having situations where you or you group were faced with some problem, and you were the one who came up with the solution that worked (and was under budget and schedule :)), is huge for interviews.
 

KIAman

Diamond Member
Mar 7, 2001
3,342
23
81
I'm surprised your school did not implement a pro-bono senior project for a business. Half my classmates got their job through their work in their project with whatever business gave them the assignment.

Make sure your resume focuses on your natural abilities aside from your education and back it up by references from your instructors. Once you get your instructors involved and they see your determination, sometimes opportunities open up where you never would have thought possible.

Also, sharpen your interviewing skills asap. Everyone who is fresh out of college with a technical degree is assumed to know their stuff. Your job is to prove you've got skills and talents that is above and beyond your degree, especially skills relating to communication.

EDIT: I'd hire you depending on your portfolio and interview. Aside from those, you look like every other CpE graduate.
 

Cogman

Lifer
Sep 19, 2000
10,283
134
106
Originally posted by: KIAman
I'm surprised your school did not implement a pro-bono senior project for a business. Half my classmates got their job through their work in their project with whatever business gave them the assignment.

Make sure your resume focuses on your natural abilities aside from your education and back it up by references from your instructors. Once you get your instructors involved and they see your determination, sometimes opportunities open up where you never would have thought possible.

Also, sharpen your interviewing skills asap. Everyone who is fresh out of college with a technical degree is assumed to know their stuff. Your job is to prove you've got skills and talents that is above and beyond your degree, especially skills relating to communication.

EDIT: I'd hire you depending on your portfolio and interview. Aside from those, you look like every other CpE graduate.

My school requires a internship for graduation, I just haven't done one yet.

As far as natural abilities go, I'm generally quicker on the uptake then my fellow students, but that doesn't say a whole lot if they really just suck :).
 

chronodekar

Senior member
Nov 2, 2008
721
1
0
Originally posted by: Cogman
As far as natural abilities go, I'm generally quicker on the uptake then my fellow students, but that doesn't say a whole lot if they really just suck :).

While it's important to be aware of the capabilities of your peers, if you really feel that you are ahead of them in "programmer-speak", then I recommend you start comparing yourself with someone else who IS a challenge to you.

It happened to me in college, this kind of thinking. Gave me a HUGE ego and ... led to it's own problems that I'm still struggling with.

-cd
 

Cogman

Lifer
Sep 19, 2000
10,283
134
106
Originally posted by: chronodekar
Originally posted by: Cogman
As far as natural abilities go, I'm generally quicker on the uptake then my fellow students, but that doesn't say a whole lot if they really just suck :).

While it's important to be aware of the capabilities of your peers, if you really feel that you are ahead of them in "programmer-speak", then I recommend you start comparing yourself with someone else who IS a challenge to you.

It happened to me in college, this kind of thinking. Gave me a HUGE ego and ... led to it's own problems that I'm still struggling with.

-cd

The thing is, the only people I feel know more then me in most of my subjects, are my teachers. Generally my fellow class mates will comment on me being the smartest in the class.

So, therein lies the problem. I know all my fellow students by this time, and there are few if any that I feel like they are equal to me. But again, I don't really think that is because I'm so awesome, I kind of think it is more that my fellow classmates aren't.

(And in a way, I hate making a post like this because it makes me sound much more egotistical then I really am. I really don't consider myself to being an all knowing person, I believe there are TONS of things in my field that I have no clue on. I just get more excited about computer related stuff then most would :))
 

chronodekar

Senior member
Nov 2, 2008
721
1
0
Just network with people you believe to be smarter than you. Or even just different. That should (hopefully) get rid of any "I'm better than thou" mentalities. The fact that you're here is a good start, I think.

-cd
 

Apathetic

Platinum Member
Dec 23, 2002
2,587
6
81
Learn a little about databases. It doesn't matter if you get into high end number crunching or general business work - you'll be working with large datasets at some point in your career.

Dave
 

brandonb

Diamond Member
Oct 17, 2006
3,731
2
0
I had this discussion with a coworker of mine just recently. He was talking about Ruby, and functional programming, python scripting, etc. How he could get a job doing that because he's mastered those. But he has no experience with .Net or Java. So I'm like. Sure you rule at those, but so does everybody else who has learned those. See the job pool for those languages are a lot smaller. And those people who learn languages outside of the norm are usually more experienced programmers to begin with (they don't teach a lot of those languages in college, they stick to the basics)... So, you are putting your resume into a smaller pool of smarter candidates. That's not a good place to be. So he's like "Well .Net you have 20 times the people applying for those jobs..." True. However, he doesn't realize that when people apply for a job, and there are a lot of resumes, you have a tendency to be able to weed out the crappy programmers for the good ones. Look at job history (flip flops between jobs every 6 months to a year), and if they learned another language that is not in taught in college. Because you can tell that person has an interest in programming, is willing to learn things on their own, and that is what matters in programming.

My advice. You have the other language, c++, now learn Java or .Net. A more common language. Now your resume will stick out. And maintain a stable job history.

Also another thing to keep in mind, communication skills. The problem I have had in my history at jobs, is that I get into "programmer mode" in my communication style. Which is fine when dealing with other programmers or technical people. However, when dealing with a non programmer, you have to learn to adjust to them. Little things like if you email a non technical person in the company, start off saying "Hi Joebob" or "Good morning." Usually I just get to the point in my emails. Then people think I'm being rude, when there was no hostility behind the words. Good communication skills is being able to recognize who you are talking to, and adapting your communication style to make them feel more comfortable. That is hard to do as a programmer as you just do a+b=c all the time. You get to the point...

When I first started at this company I was in programmer mode, and people hated me. Then I had a talking to by my COO (chief of operations) that said I need to work on communication skills, because he knows I am not intending to alienate people but I am anyhow. He just coached me a bit, and now 6 months later, I'm being told by my director (the guy right under chief) that he's seen such a 180 on my communication and that its rare to ever find a programmer that had good skills and told me if I keep it up I'll be a director/cto (chief technology officer) of this company. Because programmers never have decent communication skills and I have the ability to program and communicate. And all I do is say things like "Good morning" to people now.

I usually try to go talk to people at least 20 minutes out of my day. Stop by your bosses office and just talk to them. You might think "They think I'm slacking, and trying to avoid work", but they don't take it that way at all. They think "They are trying to get to know be better, and must be serious about staying here awhile if they are trying to befriend me." And eventually they will like you and trust you if you just do that. So you'll be at the top of the list when promotions come around compared to "Milton" (office space) who is locked in the basement. So, the point being, adapt and try to talk to people. But last week they promoted me to supervisor of our programming department, now the rest of them report to me, so they seem to be doing good on their word.

I know that applies to after being hired, but if you take a speech class in college, or something that shows you want to work on communication skills, that will go along way these days too. Communication is almost more important than technical skills. The chief even told me that he'd rather hire someone who took sports in high school or college that had no skills than someone who has mastered technical skills but had no communication skills. Because those in sports learn to be a team player and usually have better communication skills and are less "trouble" in the office. Trouble meaning someone who likes to gossip, complain, emails their boss with their frustrations, stuff like that.
 

Sphexi

Diamond Member
Feb 22, 2005
7,280
0
0
I don't think my company would consider you, not without you finishing the degree first. The last few people we've hired as junior developers had full degrees (one had a masters in computer engineering or something), and had at least 1-3 years of experience already. We employ a couple of .NET people with like 5-10 years of overall experience as well, but we also pay really well so I guess it's worth it?