views:

2528

answers:

14

What is the best way to go about getting your very first programming job? I am currently going to college but have a few years before I graduate. I want to get out of my current "factory" job and into a computer related field as soon as possible. I found quite a few positions that I qualify for, but believe my pathetic resume has hurt me. My resume has a "skills" section where I list everything I am familiar with, but my employment section contains my first job (Super Wash, best car wash around!) and my current job (Assembling stuff that makes up various fans and motors).

How do I get a company to give me a chance?

+4  A: 

Find a job on campus, if you can. Check with your central IT department for student jobs. See if your computer science department lists jobs either on campus or off. Companies that list jobs with the CS department may prefer hiring a student. Consider starting with non-programming IT jobs if there are no programming jobs available. We hire a lot of student developers from our Help Desk.

tvanfosson
I can recommend sitting on help desk for a while since it will give you an insight on user behavior. Wether or not you're going to work with usability it is still quite a valuable experience.
Spoike
+6  A: 

Standard response: get involved with an open source project, create your own software that shows off your skills, or volunteer.

Robert S.
+16  A: 
What is the best way to go about getting your very first programming job?

Your best bet is to get involved with a project while you're in college in whatever target programming language you want to get a job in (I recommend LAMP/PHP or C#/ASP.NET). I recommend these because LAMP/PHP and ASP.NET are highly used by businesses for Software as a Service and for web applications. What was once the domain of the desktop has now become the domain of the web browser. This is the 'easiest' way to land a job in programming; but beware: You must be able to demonstrate the skills you learn on any given project. There are plenty of open-source projects out there; and with the O'Reilly Books Online you can literally teach yourself any programming language for $15 USD per month (your own aptitude notwithstanding).

If you can't find a project to join, then I suggest picking up a book on one of the programming languages I mentioned above, and picking up a book on mySQL (that's the 'M' in LAMP) and launching your own data-driven website. Build something you're interested in, and you'll learn a lot along the way.

As someone who 'fell' into programming (I programmed a VBA reporting application for an Army unit I was a part of, and used my hobbyist knowledge of Perl to land a job as a Perl Web application contractor, and currently am programming in C#/ASP.NET using the skills I learned both from a co-op and college in C#), I know first hand how hard it is to get into the field if you don't already have experience. If you can demonstrate on your resume specific experience, you'll stand a far better chance of being hired.

Finally, while you're in college, you have a lot of spare time on your hands. You're in class for 15 hours per week, you should be studying for 30 hours per week, and that still leaves 59 hours per week (If you don't work) with which to really learn a language and use it. Do not waste the time you have, because once college ends, you will be trying to earn a living and learn more about programming every day.

George Stocker
I think the "build your own data-driven site" suggestion is the perfect way to feature your current skills more than your current job.
Chris Farmer
I believe the OP wanted to get a programming job while still taking classes, not build up his resume to get one after college. The easiest way to do this is to find one on campus where they are more likely to hire students.
tvanfosson
I should note that I got the Perl Programming contractor job in college; and the C# co-op allowed me to get a C# job after college.
George Stocker
tvanfosson: If there isn't a programming job available at the moment, the next option would be to join an open-source project or make one your of your own.
Spoike
Actually, I think finding an any open IT position would be a good choice for a couple of reasons: it's easier to get a job when you have a job than when you don't and as an employer it's easier to validate what you've done in a job than what you've done on an open source or independent project.
tvanfosson
+1  A: 

Junior developers can expect to be given task that are not mission critical and don't take significant experience. SQL queries and banded reports are classic examples.

Offering sample code can't hurt, so long as you make clear you are giving examples of non-propriety code.

Also, like the other people have said, do anything you can to contrive experience--image the sort of code you want to be working with and start working on it. The job will follow. Also, it is a good idea to pretend you have some code you have to ship, add some made up deadlines, and find out if you actually like programming, now is a good time to decide if you're in the right field.

MatthewMartin
+1  A: 

Three main strategies I've seen in order of how effective they were:

Write a widget, application, code thingy that works and accomplishes whatever its state goal is. It doesn't have to be popular or the best of its class, functional and finished matters more because it shows you can write something to completion.

Do well in school, do internships or do volunteer work for an opensource project and just build up lists of accepted and committed fixs/feature additions to applications... shows that you can work on a shared project and you know how to obey the lead developers direction for style and practice.

Least effective but still used...lie your ass off, study up on buzz words, and understand the rudimentary stuff. As long as you don't have stumbles over stupidly obvious stuff like assignment, conditional statements, and how to use a mouse your most likely going to be able to not be hated by your peers. Please, just avoid stating your a senior developer and want a salary twice that of the other senior developers.

David
+1  A: 

This probably doesn't sound all that helpful, but if your resume is hurting you then gain the skills you need! Close to two years ago I was in the same situation as you, so I spent the majority of my free time in my university library with a laptop so I could pick up a new language and have something to write on my CV. I was then lucky enough to nab a week-by-week contract as a SEO Consultant, then to move on as a Web Administrator, although in my case I already knew those things before I started...

The point I'm trying to make is that while you're at university you should never stop learning. You've got plenty of time to hit the books and learn whatever you need to learn. On top of that, check any and all local job boards you can. One more thing you could try is to write some letters off to respectable companies to ask for a summer internship. A lot of large companies will either accept interns or have no policy on them (meaning it's down to if they need the help).

Just go for it!

EnderMB
+1  A: 

You need something related to programming in your resume experience section - this is critical.

The best place to get experience (besides a job) is through your CS department at school. If they have an active ACM chapter this is a great place to start, but any programming-related club will be really helpful to you. You can also talk to your professors about doing some sort of honors project, or working with them on a project outside of class related to their research interests.

In the meantime, take irrelevant stuff off your resume, and if you have done any substantive projects in your classwork, add those in lieu of real professional experience. Then go to a career fair - it is much much much easier to get an internship from these than to get one by sending your resume around via email. Nice clothes, a confident attitude and an interest in/knowledge of the companies you speak with can go a long way to make up for a short resume.

You don't want to get stuck with no internships under your belt when you start looking for a full-time position in a couple years. In my opinion they make the difference between getting a job at a fun, challenging, interesting software company and doing mundane programming somewhere boring!

Paul D.
+4  A: 

Make your own programs that show off your skill, knowledge, and general interest in programming. If you are a CS major and have taken Compilers class, implement a mini scripting language within a game etc.. Participating in an open source project is a plus, but you would have more control over your own project.

I would also recommend internship at various companies - not just one. You will find out the kind of companies you like over others - small vs big, etc. Also you need to go through several interviews to get good at interviewing the companies, not just getting grilled. One of the best advices I've got on interview was to drive the interview. Of course you have to do the homework (find out as much as possible about the company, its clients, product, and the technologies), prepare a long list of questions, and wear good suits.

eed3si9n
+1  A: 

It's easier than ever to get a programming job if you have the chops, thanks to the progress of open source movement. Just go find some open source projects that you like and participate. Feel free to start your own open source projects as well. Put a few open source projects on your resume, and it'll be much more impressive than most of your class or intern projects, because the employers (like me) can actually read the code and discussions in the mailing list/forums to reach a more comprehensive picture (than just the resume and an on-site interview. I can even cut you some slacks and give you more chances than typical candidates if you flunked an on-site interview if you have stellar open source experiences,) especially if the participation lasted for years :)

Note, many good open source projects are actually paid by sponsoring companies.

ididak
Could you be more specific? The open-source projects I've worked with have been cliquish in nature. While they sound easy to join, contributing is harder.
George Stocker
How about start your own open source project as well?
ididak
I think you proved my point. :-P
George Stocker
+1  A: 

Keep on improving skills and the job will find you;)

Expose yourself. Time ago I created my first website and a friend of mine came across the advertisement for for a web developer. I applied and got the job. One month after that another friend called me and told me another company was looking for .NET developer. I went to the interview and I got the job even if I didn't have any experience with .NET that time. There's where I gained useful skills. Working a couple of months there I moved to the city where I studied. After making an interesting project for homework I was invited to work for the college laboratory. After a while they started to cooperate with a company on some project and I worked on it as well. A couple of months later I've been offered to work directly for that comany and that's where I am now. The point is to make connections. Usually you don't make giant leaps but go step by step. Just expose yourself, keep on improving yourself and the right job will find you. Luckily for developers there's a lack of workforce in software industry so it is not hard to get a job. By the way... if you have any experience with C++ or Java you're more than welcome to come working for us!

niko
+1  A: 

(Duplicating my answer to a duplicate question, which has since been closed)

You absolutely want to take computer science classes. There are development practices that you need to know about and terrible mistakes that you want to learn about in the classroom, rather than on a job. Despite how long you've been coding, you need to collaborate with professors and other students to learn the ropes. You can miss so much in entirely self-guided learning.

Companies look for a variety of skills, and the areas with the most demand in web development are .NET (more so in the corporate side of things) and PHP (more so in the independent side of things). You would do well to familiarize yourself with CSS, XHTML, Javascript, and several development languages. A cursory glance in Ruby and Perl will at least get you a foothold on a job where you might be the one in-house web developer that's called on to address a wide variety of tasks.

I'm in your same position, except about five years down the line. I had been programming since I was 12 and wanted web development to be my full-time, lifelong career. College classes helped me develop into a better programmer, but so too did the college community. From my first week in school, I started contacting community groups and businesses and starting high-profile community-based web development projects. Does your city's nightclub need an interactive online calendar? Does the art scene need an artist/musician directory? Maybe some annual community event doesn't have a website yet and you can whip up something interactive and useful. These are all amazing sources of experience, portfolio-building, networking, and fun. And I'd bet that any potential employers would rather see a list of practical-application community projects like that than only classroom projects. If nothing else, it helps communicate that you're driven and can work independently, which will immediately make you stand out from a majority of other candidates for a job.

Phantom Watson
+2  A: 

I had a warehouse shipping/receiving job while I studied computer science at school. After a talk with my company's IT manager, I was able to spend 1/4 of my time working in web development for her team. I soon moved to full-time for several years there, and have just found a new job, thanks to that experience. So you might see if your current employer could use an extra hand in IT on an internship-type basis.

David
A: 

I have a BS in biology, MS in Environmental Science, but I've been writing software in C++ and Java throughout grad school and a bit in my current job. I'd love to transition to a programming career. I've thought about getting what's called a "Post baccalaureate Certificate" or Java certification in lieu of another degree in CS. Which is more useful in terms of getting a job?

gwozdz
A: 

just go and buy Art of computer programming of the great "Donald ervin Knuth" implement the algorithms in what every language you feel like, once you are done there will be no one in this world who is not willing to give you a job. However, if they dont that its there lose not yours.

I have seen many programmers from all over the world, those who can program in 8086/88, c++, c etc etc.... and they all have good programming concept, people will told you to learn that langauge or that language, but please learn programming rather than learning syntax, I bet if you use a language to program for 1 year but if you dont use it for 6 months you will forget most of the syntax but it is programming that you dont forget, its like learning to ride a cycle. It dosen't matter which bike you use to learn but once you start paddleing you dont care the model of it.

Boney Banks