Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am currently a student with the intention of pursuing a career as a programmer. All of my assignments are functional and complete to the letter but I feel as though there is plenty more work that could be done on these applications beyond the scope of the assessment.

Will putting in the extra hours into these assignments help me land a job?

Also, I was thinking of showcasing my programming skills with a video demonstration of my work. Do you think potential employers would respond well to this kind of visual resume?

share|improve this question

closed as off-topic by MichaelT, GlenH7, gnat, Dynamic, BЈовић Jul 20 '13 at 21:10

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – MichaelT, GlenH7, gnat, Dynamic
If this question can be reworded to fit the rules in the help center, please edit the question.

4  
You make your own reality; if your assignments inspire your genius, then make something of it. Impressing your prof is not the only end result worth being beholden to. Passion is as important to many jobs as any "assignments specific requirements". –  Jared Farrish Oct 13 '11 at 3:04

9 Answers 9

up vote 19 down vote accepted

Will putting in the extra hours into these assignments help me land a job?

Most school assignments are somewhat contrived, and would not serve as good examples for a prospective employer. You're better off creating an open-source project, or finding an existing one to contribute to. You also need to learn how to "sharpen your own saw" once you get out of school. In other words, continue to study programming and related technologies, with the goal of constantly improving.

I was thinking of showcasing my programming skills with a video demonstration of my work.

As an employer I would find that off-putting. You would be demonstrating video production skills more than you would your programming skills, unless maybe you were teaching an online class. For the same reasons that you don't put your picture in your résumé (i.e. the employer shouldn't care how you look, only how you can do the job), you shouldn't show videos to prospective employers.

share|improve this answer
3  
+1 developing a real thing whether it is open-source or not is a lot more valuable than showing off a school assignment that has no real context –  Spoike Oct 13 '11 at 8:27
    
Agreed with this answer. I have hired a lot of developers. Work done at school generally is not even considered. I put a lot more weight on projects done on your own. This also shows a passion for software development. In fact, to be honest, I'm usually not even impressed with a CS degree. I would much rather see a degree in some business discipline. –  Randy Minder Oct 13 '11 at 12:53
    
Thanks. This is good advice. –  Christopher Oct 14 '11 at 3:49
    
I had a few very open ended assignments for which the point was that the student designed and implemented something themselves. You would not really even know it was a school assignment if I showed it to you. I would consider something like this reasonable (and in fact plenty of recruiters and hiring managers find them interesting). This is different than "Implement a Java animal kingdom program that.. .. .. ". Something like that is more on the level of contrived and I agree probably more what the OP is asking about. –  David Cowden Dec 26 '12 at 9:13
2  
The photo thingie is US specific. In France, almost all resumes have the photo. –  Florian Margaine Dec 26 '12 at 19:34

Just a note to the other, already good answers.

I feel as though there is plenty more work that could be done on these applications beyond the scope of the assessment

Surely there is always more potential features to add to any program. But it is good to keep in mind that in a real life assignment, adding unwanted features means wasting your client's time and money. Of course, if you do it only for learning purposes on a school assignment, it can be OK.

I used to feel similarly in my uni years. I spent weeks polishing my diploma program to make it "perfect". In retrospect, it was mostly wasted effort. It did make very little difference in the look or functionality of my program, and the teachers surely didn't care about these. Most importantly, I had not the slightest idea back then about what makes a program "perfect". My programs were badly structured, hard to read and maintain - but since long term maintenance is never an aspect in school assignments, noone told me about these.

You need hands on experience and concrete feedback from more experienced fellow programmers and real users of your program(s) in order to learn what is important and what isn't, what makes code better or worse in the long term. You need to practice communicating with your clients, listening to their wishes, ideas and complaints, and turning these into features or bug fixes to make them satisfied. This is the way to become a truly useful and sought out developer.

share|improve this answer

I have a special directory that's been growing over the last decade and a half, I call it my garden. You could think of it as an ornate garden, or perhaps as a Zen rock garden. The point being, it's a garden that is never going to bear any tangible fruit, at least as far as useful software goes.

I spend about an hour a day tending it. It contains my solutions to all sorts of exercises I find interesting, fun challenges like code golfs, code from really tough questions on Stack Overflow and some of my college assignments. I keep it around because I enjoy looking at problems the way I did six months or even a decade ago while improving my solutions based on what I know now. Many files contain solutions written in several different languages. I've used some as the basis for creating interview challenges.

The fact that you want to 'garden' is a good thing and an attribute that is extremely desirable, but you need to come up with a better way to show it.

While starting and actively maintaining an open source project is extremely helpful, you should also be blogging about your adventures maintaining it avidly. Getting your thought process and results into a collection that can be browsed is important. Nobody that would otherwise care is going to know about your neat new algorithm unless you tell them about it, preferably as you struggle with writing it. It shows that you really love what you do and care about what you produce.

In the absence of any tangible on the job experience, every little accomplishment helps. The only thing that is going to get you more money is more experience and a longer proven track record of shipping. Don't think in terms of 'will it get me more money' at this point. Instead, think in terms of 'will it help me get my foot in the door at a really awesome company?'

The more you can demonstrate your love and capacity for learning and improving, the better your chances will be.

share|improve this answer
1  
After a year of loving care my garden is beautiful; I have a fractal explorer in Java, a 2D space invaders clone in C++/Direct3D, a unique 3D first person shooter with my own AI, special effects and 3D models (using torque) and dozens of other working solutions like project Euler questions and a nifty star system generator. But how do I invite someone into my garden? I want to share the fruits of my labour but the resume tastes bland. –  Christopher Oct 13 '11 at 10:32
1  
It sounds like (most) of that stuff could just be put on your personal web site for people to enjoy. I for one love stumbling across a trove of such things to play with. But, get it all on your site, get it organized and explained .. and then get the site in your CV. Put it right there with anything you have on github, etc. –  Tim Post Oct 13 '11 at 11:00
2  
Heh, now I'm actually somewhat motivated to get some of my stuff someplace where someone might actually make some use of it. –  Tim Post Oct 13 '11 at 11:02

No to the video. The honest truth is it will either be ignored, or laughed at by the people you are hoping to recruit you.

No to the extra work on the project. Do what you need to get the best grade you can and no more. If you want extra credit items for your CV, look at projects outside of college. Possibly open source projects, or a project of your own devising. Something which shows you can identify a problem and produce a solution. If you can get some relevant work experience in a holiday then that's excellent. Do that above all else.

When I look at graduates I look at grade, CV presentation and style and extra curricular items on that CV.

When hiring graduates we're looking for potential and potential consists of keenness, personality and smarts. As far as degree course content goes, I'd be as likely to hire a maths, science or economics graduate as a computer science graduate (Technically any graduate could be good, even the arts ones, but they don't seem to end up on my desk so much).

share|improve this answer

Honestly? Your degree is a checked-off box. The quality of it doesn't matter at all. NOBODY is going to look at your GPA. Not even to compare you against recent grads. Cultural fit and personal qualities are much more important.

Work you did before graduating might be interesting in terms of what it tells me about your enthusiasm and interests, but as an interviewer, I wouldn't expect it bear any real resemblance to real-world work.

share|improve this answer

Having been on the receiving end of job applications I can say this:

Will putting in the extra hours into these assignments help me land a job?

Most likely: No, it won't.

Or maybe it will… but it is most likely wasted effort as the assignments have a totally different goal in mind than what a real product would do. If your diploma assignment is a useful product, meaning someone actually bought it or if it is even remotely successful open-source project, then you have something to show.

As an anecdotal evidence we had to actually reject one applicant because of the code he sent us was of a very simple school assignment that was not executable. I mean, if you have something to show up, at least make it do something.

Also, I was thinking of showcasing my programming skills with a video demonstration of my work. Do you think potential employers would respond well to this kind of visual resume?

As a general advice: don't.

Demonstrating your programming skills with video is a bit of a toughie since it can go both ways. I haven't seen any job applicant do this to demonstrate their programming skills, and what usually matters is the actual result you do.

Do this instead: Put the code that you've done in an open-source repository (such as github, bitbucket, etc.) as it will become a far more cost-effective for you to do than making a video of you fooling around with code. This is because any technical person that would review the code you've produced can assess your skills faster by reading the code in your repository than he would do while watching a video of you slowly writing the code. Note that anything that makes it faster for us to assess you, the better your application's chances are for not going into the round file cabinet (i.e. the trash can).

Jokingly; I guess if you actually make a video, the only one who would like it would be a over-the-shoulder hovering micro manager. I.e. some guy who wants to see you do every step. If there is any advice I could give you then this is a position I strongly advise you for not to get in.

OTOH, if you're into user interface design then creating a portfolio demonstrating the user interfaces you've built might be a good idea. But the videos better be mindblowingly good.

share|improve this answer

The extra hours are only worth it depending on what else you could do with your time. Maybe you could take some classes in non programming areas like math, psychology or business/accounting to broaden your knowledge.

If you can make your project code available, that would help.

You can do the video for some sort of online tutorial, but if it is a "hey look at me code", no recruiter is going watch it.

share|improve this answer

Rather than doing that for your assignments you should simply create a few real life programs and put that in appstores. Being able to do that would make your application glows. If you do it well, you may not even need a job at all.

I personally feel that most homework are just waste of time. People should learn Math by deriving theorems. People should learn programming by reading books. Assignments are just a time consuming test to do things I already know I can. When I was in school, I simply finish my assignments as early as possible and forget about it.

I don't even know what lectures for because I can finish most assignments long before the material is taught about in school, pretty much repeating what I've read in the book. School is too easy.

As an employer, all I care is that somehow people can program.

The fact is, I don't even care they have a degree. GPA is also hard to compare because he could have gone to easy schools. Extra features on your assignments is way below your GPA in terms of prominent. Many companies do not even see GPA after you graduated for 5 years.

As an employer, your IQ matters more to me than GPA or degree. However, I understand that it's not legal to hire people based on IQ in US. So we have this deceptive nonsense called degree that people still put in their resume. Not sure how long it'll last.

share|improve this answer

Most of the answers (at the time I write this) are saying the extra work won't help you land a job. I think that's incorrect -- I think doing the extra work will help you get a job, just not in the way you might think.

Doing the extra work means you care about the work you produce. Because you care, and because you put in the extra effort, you will likely become a better programmer. Although it is difficult to land that first (or second, or third) job, the fact that you are better than average will undoubtedly help a little.

So, do the extra work, but not because you want to show the extra work to someone and expect something in return. Instead, do the extra work because it will help you to become a much better programmer. Being a better programmer means you have a better chance at landing a good job.

To answer the other part of your question -- no, don't make a video. Almost nobody will care. In fact, it might even give people the perception you are below average because you are relying on a gimmick to show them your skills.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.