Fog Creek Software
Discussion Board




Would you hire me?

Hi, I have been actively searching for a C++ programming job for quite some time, but as of now I do actually have a job but it's not a programming job.  I have an associate's in computer science obtained last april.  I have no professional programming experience but I do have several programming projects under my belt that I think a potential employer would like to see from a person like me with no real-world experience.  I am knowledable in C/C++, MFC, Win32 API, DirectX, Perl, PHP, and would love a job where I could be working on a business application or a web application.  That would be awesome.  The projects I can show include an HTML editor (with a user-interface and a lot more), an FTP client, and some small game projects (but finished).  Is this enough for a guy like me to get any programming job or do I need some "killer app" projects that will blow the socks off the employer?  If not, what other kind of projects do you recommend I create before I start seeking a programming job?

Thank you and I appreciate all comments.

Joe
Tuesday, April 06, 2004

I would hire you for an entry level job, providing you can show me the source to your programs, and there are no bogeymen inside.

Sassy
Tuesday, April 06, 2004

That background would probably get you a VB.NET or C# job, but the C++ market is very tight. The people that are hiring are looking for somebody very experienced.  Since there are a lot of them out there looking for work, you're SOL.

The ability to get work in PHP or Perl will depend on where you're looking for work.  Here where I live PHP is a health plan, not a programming language. 

Clay Dowling
Tuesday, April 06, 2004

>I do have several programming projects under my belt

But what kind of projects?

I would suggest you contribute  to some open source projects (look on sourceforge) which will not only showcase your skills but raise your visibility when you get interviews.  Entry level C/C++ programmers are  dime  a dozen nowadays.

Code Monkey
Tuesday, April 06, 2004

And the hostile takeover of JoS by Monster.com is officially complete...

Joe, dude, go out there, apply to jobs, get a few interviews, and see what your potential employer say about your skills... If you get the job, you are good enough. If you don't, then you need improvement.

What people tell you on here will not matter unless they are the ones doing the hiring. What is the purpose of asking for approval on here? The only reason is perhaps you are fishing for a job through the forum, which is NOT what this forum is intended for.  So don't litter it like this.

Grrrrrr
Tuesday, April 06, 2004

I'm not fishing around on these boards for a job.  Maybe I need to reword my previous post:  For someone like me with no experience, would employers look at my previous source/projects or just give me a programming test to justify my skills?

Joe
Tuesday, April 06, 2004

You may be asked about your previous projects.  But you'll need to make sure you a) list them on your resume as you would a job and b) speak to them in your interview.

How would I describe my documentation style?  I'm an agressive documenter.  I fiddle my widgets and widget my fiddles - ... wait, it's easier if I just show you one of my more recent projects.  Here, I have the source for an HTML editor I wrote.  If you look here you'll see....

Make sure you have nice handouts.  I had my previous work printed up and collated at a print shop for about 20 USD - make sure it's in color, that makes a huge readability difference on paper. 

Good luck.

Lou
Tuesday, April 06, 2004

Hi Joe,

You say you're "knowledable (sic)" about DirectX and that you've finished some games.  Without knowing any details about those games, people are probably going to want to know what problems you solved (or solutions that you implemented anyway) in the course of making those games.

There are a lot of game programmers out there.  Both the hacks and the geniuses can use DirectX.  So what makes the geniuses different than the hacks?  The same could be said for any of the other technologies you listed.

Kalani
Tuesday, April 06, 2004

And the answer is once again: it depends on the employer, the position you are applying for, the project they are going to put you in if hired, how much they will have to pay you, how much time they have to train you if you don't have the right skills, so on, so forth, etc.. etc..

There is no cookie-cutter answer here. You gotta get out there, and knock on doors and see what you get.

I personally don't think what you do now (or in a few months time frame) by working on projects will change the results. You already did your homework with what you have done/learned in the past years for the time frame of *now*. What you do now will not do you any good for a while.

For reference, I have to point out to the fact that every decent software company I applied to asked me to show them some programming demonstration in real-time. They will not look at the code you already wrote. They'll give you a problem to solve. If it is too long to be solved right then and there, they'll ask you how you'd do it. If it is small enough, they'll ask you do write it on the whiteboard. That way they can see what you know, how you think, etc.. They will want to see your level of expertise and your level of analytical thinking. It doesn't matter even if you know 10 languages unless you actually digested those languages and can solve real problems with them.

You might be able to find some of the other type of (bigger) companies where, during the interview, they ask you what you worked on, be impressed that you contributed to some opensource project without digging too much into the experience, take you on a tour of their facilities for the rest of the interview and then make you an offer for no apparent reason. Although you would be tempted to accept that offer, I'd get the job if I have to, but try to get out as soon as I can since that kind of environment will not allow you to improve yourself. It clearly is a derivative of Dilbert Co.

Grrrrrr
Tuesday, April 06, 2004

Hi Joe,

I think you'll find that it varies from one employer to the next.  One question you should be prepared to answer is what you are currently doing that relates to programming?  This would be a good time to mention any programming side projects you are "keeping up to date" with etc.

From my limited experience, some prospective employers do not even test your programming skills.  I know of at least a couple examples where people have lied their way in the door only to be let go because they didn't know what a for loop was.

Others will test you more rigorously.  These can be coding problems or puzzles.  In other cases, some may test your knowledge of a particular library method (I personally think this is one of the worst ways to test competance).

In any event, stay current with your skill set.  I recommend tinkering around with some new technologies you find interesting... and mention this when asked what you have been up to.  Definitely get out there are start applying though.

Good Luck.

Seeker
Tuesday, April 06, 2004

Interesting point Grrrrrr.  The "real-time" part of the interview is also important.  But the "real-time" problems they're bound to throw at you can be solved several times in a single day.  I think that if I interviewed with a company and it didn't care about previous projects I'd worked on, I would be worried that the only kind of problems they knew about were those kind.  I've found that my most enjoyable jobs were with people who cared about the theorems as well as the 'lemmas'.

Kalani
Tuesday, April 06, 2004

Kalani,

The point is that the smart companies will want to experience your thinking process somehow. Your resume is not a mirror reflection of that. You could have worked on and finished an impressive list of projects, but noone really knows or has the time to figure out how you did what you did or if it was even you who did it...  Just looking at a list of things you have done (or you say you have done anyway) does not prove anything although it is a good start in most cases. Of course they'll look at what you did, but if the story ends there, then that's no good. Ultimately, you'll need to prove that your resume is not just a collection of letters and numbers. After all, a resume is really a snapshot.

A 1-hour long interview is of course not enough to prove much of anything, but clever problems thrown at you will allow the interviewer to see how you react, how you think, what approaches you take to solve the problem, etc... If those problems are taken from the job you are trying to fill, they can see how you will adapt and perform if they give you the job. It doesn't matter how long it takes you to solve the problem. That's not the issue here.

Of course the employer will care about the problems they want you to solve. If you are going to work at a game design company, why would they care if you have experience in writing financial software unless you have used the same technology that they need you to use writing games for them?!

By the way, just because you know something or you say you know something or you have a degree that says you know something, does *not* mean you can actually effectively use that knowledge. Anyone can know anything by reading a few books, but having digested the knowledge and being able to apply it is a completely different thing. Smart employers will try to see how much digestion you went through, and how much of the knowledge you claim to have acquired is still sitting in your stomach (figuratively speaking)

Grrrrrr
Tuesday, April 06, 2004

Grrrrrr,

I just reread your previous post and I think that I responded too quickly, inadequately addressing your post.  Thanks for not flaming me. ;)

I completely agree with what you're saying.  However, I would add a few comments.  Yes, there might be little value in knowing that a potential hire wrote a large financial program if he's applying for a game programming position.  I might be interested if he'd written both a large financial program and a large game program, and was able to share a good deal of code between the two (we could talk about some common abstractions).  Most important, if he's written a large game, he's probably had to solve a number of the same problems that I have.  I'd be interested in knowing how he solved them and how that compares with my solutions.

Most important, I think, is that talking about a large project somebody did can tell you something about how able they are to infer the underlying language of their problem domain.  The "real-time" interview questions are important because they let you test how well somebody understands the problem domains that are important to you at the time.  However, recognizing a problem domain that hasn't already been delimited is a very valuable skill and I don't think that you can usually test for that in an interview.  That's something I'd be looking for in somebody's portfolio.

Make sense?

Kalani
Tuesday, April 06, 2004

Your resume/portfolio (whatever you wanna call it) puts you in front of the interviewer.  Once you are in the hot seat, there is definitely value in discussing what you have done, however, you have to testdrive the candidates mind. You cannot do that by simply discussing things. In fact the way you described it, discussing about previous projects is another type of probing into the candidate's mind. It doesn't eliminate the fact that he/she has fabricated the whole thing though.

You need to see things in action. That's why people testdrive cars. Everything a car has could look great on paper, but things might be different when you actually drive it. Problem solving during interviews is kinda like test driving a car. I am not saying they are 100% accurate, but depending on how the problems are picked, they can be either very effective or a waste of time.

Grrrrrr
Tuesday, April 06, 2004

Joe, you have a good attitude, a good basic background and a straightforward way of communicating.

I think you would be an asset to any good team and I wish you well. At the moment, there is a shortage of jobs which is not your fault, so try not to be discouraged.

Must be a Manager
Tuesday, April 06, 2004

Joe, if you want people to believe that you're not fishing through the forum, then you post without an e-mail address...like this:

Kyralessa
Tuesday, April 06, 2004

But he is fishing! Wrong pond though...

Grrrrrr
Tuesday, April 06, 2004

*  Recent Topics

*  Fog Creek Home