What can I do to prepare for an entry-level programming job?
June 16, 2004 6:56 AM   Subscribe

I'll be graduating next August with a Computer Science degree and will be looking for an entry-level programming job. I am very comfortable with Java and reasonably comfortable with C++ and Visual Basic. I do not have any work experience in programming and won't have the chance to gain any before graduation(the unconventional schedule of my current job is what is allowing me to finish my degree in the first place). What can I do over the course of the next year to boost my employability? What other skills should I try to pick up over the next year?
posted by ttrendel to Work & Money (11 answers total)
look at job ads for where you live and see what kind of skills are required for jobs with the languages you know. for example, you might find vacancies for j2ee related java jobs that also require sql knowledge. or perhaps peope want people that know uml. then write software that uses those technologies / processes. make a web page that describes what you've done and lets people download the code. think about what you're doing, how it might be made easier, what is hard, where the problems are. that gives you experience in the technologies, something to add to your cv, a web site people can google for info, and background for useful discussions during interviews.

on a more practical front, you may want to think about social networking. what kind of professional groups exist in your area? how can you meet people who already work in the industry?

also, think about what makes you special. there are lots of people out there looking for jobs - what special skills do you have. maybe it's related to your current job. in my case, for example, my science/maths background has proved very useful (it's amazing how few programmers have a decent knowledge of maths).
posted by andrew cooke at 7:12 AM on June 16, 2004

For experience, you might look into some internships, if you can swing them, while you are looking for a job. There are paid internships out there - anything to give you some experience. This will also help you figure out what kind of environment you want to work in. From what I've seen, a good intern is worth more then a crappy regular employee with years of experience. It's all about showing people what you can do in those situations - if you perform like a star, they'll hire you. Despite what people say, at least in Washington DC, it's VERY hard to find really good candidates at any level. At least that's my experience.

I see a ton of resumes for software development jobs (I'm a manager) - make sure your resume is PERFECT. Have somebody else look at it. Write a cover letter that makes you sound like a human being who is *really* interested in the job you for which you are applying. Don't copy one out of a book, and don't do the mass-emailing thing to every job on Monster. Those couple of things will automatically move you way ahead of the pack in my eyes, whether your skills match what I'm looking for or not.

Social and communication skills are very important to a lot of companies. Come prepared to the interview -- research the company and try to figure out what they do so you have good questions to ask the person doing the interview. Wear something nice, even if they tell you their office is casual. Be on time, etc. I'm surprised how many people don't do these simple things that don't necessarily disqualify them, but definitely put them at a disadvantage.

If you don't have exposure to them from school, learn about professional software development - writing code for web farms (if you're interested in web dev), code control, configuration/deploynent managment, bug tracking software, etc. Learn SQL.

You might look at Joel on Software -- he's got a LOT of good advice.
posted by drobot at 7:13 AM on June 16, 2004

Find an interesting-looking open source project or two hack away on something you find interesting. It's separated me from the pack in at least a couple of job interviews. It shows work ethic and genuine interest. And it's the best technical training you can get.
posted by Space Coyote at 7:23 AM on June 16, 2004

Like Space Coyote, I'd suggest starting or contributing to free or open source software. As you're confident with Java, you might want to consider doing something small but highly visible such as an Eclipse plugin. The plugin API for Eclipse 3.0 is stable now and a lot of shops are either already using it or getting ready to do so.

Document the hell out of the code, the end product, and its design. Write up anything you found interesting about the process of doing it and keep seperate whitepapers of that.

But really, anything that might get around and gain you something of a reputation as someone who gets things done will be a huge factor in your employability at interesting companies.
posted by majick at 7:32 AM on June 16, 2004

What else do you know besides a programming language?

Software is a tool that solves a problem. Most of those problems are business related or hardware related.

What do you know about business operations? Do you have specialized knowledge in any particular business? Retail, finance?

Barring that, what do you know about hardware? Networking, operating systems?

The reason a shit school like DeVry places so many graduates is because it teaches its students more than just hacking up a bit of code.
posted by mischief at 7:37 AM on June 16, 2004

Learn Waba and then write some programs for Palm and Windows CE.

Apart from being a Palm addict who gets very excited when I find new Palm programs, I know very little about such things, but you might have fun with it.
posted by suleikacasilda at 7:52 AM on June 16, 2004

Network. Just like any other profession, having a contact in an organization or being anything but a complete unknown to a hiring manager puts you at a huge advantage. Exploit local professional associations, for example

Do something to build a portfolio and resume. Have something tangible you can point at, beyond college work, to be able to say "I made that!". Work on a project for free, if necessary. The more real-world and non-academic, the better. Employers want initiative and low supervision overhead - try to present yourself as someone who won't need micromanaging.

Don't over-worry about how to claim to be expert in anything. A positive attitude and a dose of enthusiasm goes a long way. In my experience employers will overlook moderate perceived skills deficiencies in recent graduates if they believe you're enthusistic about and capable of learning and aren't precious, proud or precocious. Never present yourself as desperate for this job, that job or any job, even if you are.

Have something, anything, that you can offer beyond purely computing abilities. There is no shortage of coders, but there is a definite shortage of coders who can effectively communicate with clients, understand the business consequences of design decisions, or understand marketing. Business experience, organizational skills, presentation skills, design skills - anything you can offer that might be perceived as added value.
posted by normy at 8:05 AM on June 16, 2004


I'm a self-taught programmer. I probably couldn't squeeze every last bit of byte-level performance out of my code, but my company (an advertising firm) is interested in solving business problems through technology, not optimizing performance. I'm good at mapping real-world processes to software, which I've found to be a much more valuable skill than raw programming talent, because it can map to almost any language. I don't think the converse is necessarily true.
When I hire, I also value practical problem-solving over raw knowledge. I can teach someone SQL, but teaching someone how to think constructively about problem solving is a long, arduous process.

Of course, throw all this advice out the window if your goal is to work for a pure software company.

Oh, and don't work anywhere where you're the sole programmer. You're just out of school, and you need mentoring.
posted by mkultra at 9:16 AM on June 16, 2004

Take some time to learn how to properly steam milk. Anyone can pull an espresso shot, but it takes real skill to get the milk just right. Cafe managers look for things like that when hiring.
posted by Kwantsar at 10:39 AM on June 16, 2004

Try and pick up small jobs - holiday projects, internships, helping out your uncle's firm. Any and all workplace experience is valuable. And as others have said, it will build the all-important network.

Many places I have worked have employed junior programmers who started while they were still at university, or even high school. It definitely gave them an "in".
posted by i_am_joe's_spleen at 12:19 PM on June 16, 2004

Get to know people in the field, write your own software and distribute it, anything to get your name out there. These days it's who you know, not what you know.
posted by tomorama at 4:57 PM on June 16, 2004

« Older ReFi Student Loans?   |   How do you track the (U.S.) economy? Newer »
This thread is closed to new comments.