I’ve been a lurker for a year or two and finally decided to join in the fun… I’ve noticed that there are a good amount of software developers that are a part of the community so I thought I’d check in for a little advice.
I’ll be graduating from college in December/January with a bachelors in computer science. I’m in the process of re-writing my resume and getting ready to post it and apply for jobs. I’ll be looking in the NYC metro area. The comp sci program in my school focused on object oriented C++ as a foundation with a good amount of theory and other languages (assembly, C, C#, java, lisp, perl) thrown in to “round-out” the student.
I’ve had a couple internships in Unix administration which involved a good amount of perl and shell scripting and the writing of a few C applications. However, I’d like to get a job directly in software development and not administration. I’d love to continue working with Unix systems and continue using C and/or C++. I’ve a healthy knowledge of networking code (sockets API) as well as the POSIX API and I’d love to be able to utilize my experience with TCP/IP.
Soooo… my question to the doper programmer community is thus: what suggestions do you have for a newcomer like me? Should I give my resume to recruiters? Should I post it on a site? Should I send it to specific job postings I find on dice.com or monster?
How about for the NYC area? Is there any advice you could give me as far as how to handle a development job search in NYC? What should I expect?
Welcome to the Dope and the wonderful world of Software Development / Programming.
As a fresh out of college potential employee looking for work in the NYC area, I would start with the NY Times Employment Web Classifieds. There will be more real hits and less garbage.
Few headhunters will want to deal with a person with no job experience. That avenue is likely closed. Dice.com and Monster.com both generate a much higher Noise level than the NY Times. Give the NY Times a few weeks and then look into Dice. It is cleaner than Monster.
If you are interested in any of the large companies in NYC, they usually have a website with employment opportunities. Applying directly can give you a leg up over those that apply through employment agencies or headhunters. You cost them nothing extra if you apply directly. I really strongly recommend this method. It takes a lot more work, but the reward can be high.
Use Craig’s List: www.craigslist.com. Far and away the best job board. Click on New York on the righthand side, then start with “software / qa / dba” under the jobs section. Also look at “internet engineers” and “systems / network”.
Dice and Monster are pretty worthless, in my opinion. They recycle postings to the point where you have no clue how long something has been sitting around. Craig’s List tells you right up front when a listing was posted.
I have worked with recruiters who place entry level programmers, it is not a barrier, though your specific school and record (GPA) will matter.
I should clarify that I work in the financial services industry (an asset management firm), where there is still fairly high demand for technical talent, especially with C/C++ and Unix experience in an entry level candidate. Many out-of-schoolers come in with Java, Windows and .NET experience, and have to be trained up on UNIX/C/C++/SQL, which is the framework for a lot of the existing systems out there.
Feel free to send me a private message, I’d be glad to read over your resume if you want me to, and possibly to forward it on.
Wow, thanks for the welcome and the tips. Didn’t expect to hear back so quickly…
I’m checking those sites as we speak and robardin, I could use all the resume tips I can get so I may take up your offer :). Thanks.
Are there any particular applications, languages, etc. that I should become acquainted with so as not to look clueless in an interview? Also, anything that might give me an advantage over others?
joelonsoftware.com says that he is impressed when interviewees are strong in C (not C++, but C). How do you guys feel about that?
What about cvs? Would experience using cvs or another version control system be impressive in an interview? Should I focus on mastering as much of the STL as possible? Should I improve my Java skills? Or should I go and mess around with different languages like python and ruby? Database stuff? mySQL?
What would be the best use of my time in the next few months as I near graduation?
Joel has a lot of opinions. To be honest I think that this one really just reflects his specific needs. C and C++ are very different languages despite their common heritage and good practices in one language are not always good ones in the other. Personally, I’m primarily a C coder and I know that any C++ code that I write suffers as a result.
Well, personally I think that if anybody offers you a job where they use CVS you should run away screaming. Well, I exaggerate but CVS really is an out-of-date technology. Being familiar with version control is better than having no experience with it but I wouldn’t go out of your way to try and learn any others. There are a lot of different version control packages out there and they’re all different. Wherever you get hired you’ll probably have to be trained on their specific VCS and their own policies for version control.
Well, this will partly depend on which direction you want your career to go in, although I wouldn’t suggest Python or Ruby. They’ve been a hot fad recently but you don’t see many jobs for writing Python or Ruby. Knowing database stuff and SQL can never hurt you although I wouldn’t necessarily suggest MySQL – if you’re going with a free database Postgres is the way to go. More important, though, is to learn the broad concepts that you can apply to any database instead of the specifics of one.