Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

How To Show Code Samples?

Soulskill posted about 6 years ago | from the ethics-code dept.

Programming 485

Todd writes "I've been looking around at 'help wanted' advertisements for programming jobs, and almost all of them demand that you not only have professional experience, but also that you show samples of your work. This got me wondering; with the work product, trade secret, and non-disclosure laws/agreements, how exactly can you show work that you've done in a professional capacity to a prospective employer without violating the privacy of the company for which the code was written? For instance, I can't say I've written many BASH scripts (at least, not large ones) for myself personally, but the assortment of such scripts written for my current job is wide and varied indeed. I can't very well just deliver these scripts, or even small portions thereof, to third parties to help demonstrate my scripting prowess. With that in mind, what am I supposed to show them?"

cancel ×

485 comments

Be smart (5, Funny)

snoyberg (787126) | about 6 years ago | (#24159873)

what am I supposed to show them?

Someone else's code

Re:Be smart (-1, Offtopic)

Anonymous Coward | about 6 years ago | (#24160263)

Show them your ePenis and how many LOC/day it can ejaculate into your PHB's eRectum. That would be 10 times smarter than open sourcing your heinous or your genus. Cowboy Neal would even do this, except probably using a non-stick skillet and a pound (or Euro) of peanut butter ass magnets. O how I love semen spewing all over my iPhone displaying a picture of Steve Jobs. Of course I use a condom! Wouldn't want to give Steve Jobs AIDS. I wouldn't even want to give Jared aides. Subway sandwich cock fuck.

Re:Be smart (5, Insightful)

clarkkent09 (1104833) | about 6 years ago | (#24160291)

Funny, but it's a good point. How do the employers know that the candidate is showing his/her own code? Even if they are, most likely the code for show will be polished to perfection over however long that takes, and probably not representative of their code while working on a deadline. Far better to give a test during the interview and have your best engineers present to evaluate the candidate

Re:Be smart (1, Informative)

Anonymous Coward | about 6 years ago | (#24160557)

How indeed...

http://www.blackducksoftware.com/protex

Good Point (5, Funny)

Dallas Caley (1262692) | about 6 years ago | (#24159901)

Like the other day, i was interviewing for a job and i said, "Well you know i did all the coding for Amazon.com right? but you see i can't show any of it to you because of the non-disclosure agreement"

For some reason i still haven't gotten a call back...

brainfuck? (3, Funny)

gardyloo (512791) | about 6 years ago | (#24159907)

Just translate everything to brainfuck, and send that sourcecode. Problem solved.

(Some people claim that this brilliant---nay, genius---solution will just make things harder for you, but you can never tell until you try, right?)

Re:brainfuck? (1)

Tablizer (95088) | about 6 years ago | (#24159941)

Just translate everything to brainfuck [language]

That's what they used to print your rejection letter.
       

Re:brainfuck? (1)

Orion Blastar (457579) | about 6 years ago | (#24160465)

Bryce, sometimes you really are a funny guy. This seems to be one of those times.

But managers don't really use brainfuck, they use manager speak which is a modified VBA macro language for Microsoft Word that automatically writes the rejection letters in a canned response that can't be seen as anything intelligent.

So you get things like:

"Dear $Programmer,

We would like to hire you, but find that you are overqualified for the job of programmer/analyst. If we find a position which suits your resume, we will contact you about it.

Regards,
                $BraindeadMBAManager"

Which is basically another way of saying they won't hire you because you post too much on Slashdot about management and they are afraid you'll spend most of they day surfing on the Internet than getting work done.

Re:brainfuck? (1, Insightful)

Bill, Shooter of Bul (629286) | about 6 years ago | (#24160115)

Stole my joke. I'd suggest my new favorite language Malbolge [99-bottles-of-beer.net] .

Please don't mod up, I'm just stealing the reference from david.given [slashdot.org]

Re:brainfuck? (3, Insightful)

v1 (525388) | about 6 years ago | (#24160227)

being able to properly translate anything large to brainfuck will either guarantee you the job, or get you tossed out of the office by the interviewer, depending on the job.

Ask for a test problem (5, Informative)

Rene S. Hollan (1943) | about 6 years ago | (#24159909)

I usually explain that various NDAs prevent me from disclosing code I've written of significance, and suggest that I be asked to complete a programming exercise.

Most employers have a set at the ready these days, and I usually respond with the 1 hour answer and the 1 day answer, the later showing an evolution of the former, with polish and usually a more generic solution.

Re:Ask for a test problem (5, Interesting)

TheGratefulNet (143330) | about 6 years ago | (#24159993)

just tell them the request in not appropriate.

since it ISN'T! would THEY like you to show work you did for them, later on, to OTHER employers?

maybe that's the best answer you can give.

[soap]
the next programming test I take, I'm insisting I bring a laptop, have emacs and gcc at my disposal. I mean, I do NOT write code on whiteboards with markers in my real job, why should I have to put up with that in an interview? I am more than happy to sit down at emacs, have my indent checker, my syntax-colorizer extensions, have my tools at hand (like a normal work day would be like) and THEN see if I can solve the quiz or routine. but in all my years, I've never seen any employer show that level of wisdom in the interview process. sad, as writing on whiteboards is not something everyone is good at and I hate being judged by such artificial criteria. gimme emacs and lemme show you how I really edit/create code in real life. if I fail that, then I'll accept whatever decision you make.
[/soap]

Re:Ask for a test problem (4, Insightful)

Octorian (14086) | about 6 years ago | (#24160063)

I also hate whiteboard coding. I love using whiteboards for drawing diagrams, though. Probably the only code I'll normally do on a whiteboard is an interface or syntactical illustration anyways.

Of course another issue I have is that I tend to get quite nervous during interviews, whether or not I have a reason to be, and that probably makes matters worse. Standing up there shaking while sweating in a suit and trying to code something on a whiteboard... Lets just say I'll come across like a stumbling idiot on something I could do trivially in a normal environment.

Re:Ask for a test problem (1)

Mprx (82435) | about 6 years ago | (#24160373)

Beta blockers will stop the shaking and sweating without any mental impairment. Here in the UK doctors are generally happy to prescribe them for this situation. Pretty much zero abuse potential so I'd imagine it's similar in most countries.

Dress and accessorize for your interview (5, Funny)

tomhudson (43916) | about 6 years ago | (#24160507)

Standing up there shaking while sweating in a suit

Show some confidence - don't wear a suit to the interview.

A good-quality shirt if you're a PC, a turtleneck if you're a mac, a T-shirt if you're linux, or a leather jacket if you're *bsd.

Slacks if you're a PC, black jeans if you're a mac or *bsd, blue jeans if you're linux.

Dress shoes if you're a PC, loafers if you're a mac, runners if you're linux, boots or sandals if you're *bsd.

No hat if you're a PC, a kepi if you're a mac, a ballcap if you're linux (a red one if you're Fedora/RHEL), and a shaved head if you're *bsd.

A briefcase if you're a PC, a leather portfolio if you're a mac, a softsider if you're linux, and a pull-behind carrying a 4u server if you're *bsd.

A crackberry if you're a PC, an iPhone if you're a mac, any flip-phone if you're linux, Chuck Norris if you're *bsd.

Your resume in Word if you're a PC, as a video clip if you're a mac, in openoffice if you're linux, and 7-bit clean ASCII if you're *bsd.

Hide your Zune if you're a PC, subtly show off your iPod if you're a mac, wow them with streamripper if you're linux, and run a script to make the sound of the drive heads seeking play "Take this job and shove it!" if you're *bsd.

A business card if you're a PC, a mini-dvd if you're a mac, a bootable distro dvd with customized splash screen, borwser, etc., if you're linux, your phone number and email address on the back of a beer coaster if you're *bsd.

Coca-cola if you're a PC, bottled water if you're a mac, real beer (not that 5% piss) if you're linux, shots if you're *bsd.

Some won't actually mind... (3, Informative)

DrYak (748999) | about 6 years ago | (#24160179)

would THEY like you to show work you did for them, later on, to OTHER employers?

Some company won't actually mind.

Not every single line of code a developper may write while working in a place is of utmost strategic importance and has to remain secret or otherwise the company will go bankrupt.

The developer should ask his/her supervisors for proper clearance to show some code that isn't a vital part for the company's survival on the market place. i.e.: Maybe you can't show the source code of the product the company is selling, but you can show the source code to tools you have developed to simplify your work.
In fact some places even authorize you to release such non-critical side project under open-source licenses.

Of course this is much easier when you work in a small company. If there are 10'000 developers in you company it's hard to check everyone's code for clearances.
...

Of course as other /.ers have said, the home projects are much better candidates to be shown in an interview.
Unless you work for a paranoid "sell your soul" companies which insist everything developer while under contract belongs, even home projects.

Re:Some won't actually mind... (1)

falconwolf (725481) | about 6 years ago | (#24160515)

The developer should ask his/her supervisors for proper clearance to show some code that isn't a vital part for the company's survival on the market place.

This could work for or against you. When you ask your super will know you're at least looking for a new job. If they want to keep you you may be given a better offer however if not then you may find yourself without a job. Of course if you know your super well you should have an idea of what the reaction will be.

Of course as other /.ers have said, the home projects are much better candidates to be shown in an interview.

I think this is where open source projects can come in handy. If you've worked on one and had code inserted into a project there's no problem with sharing what you contributed. Having contributed code, a potential employer may find your name on one or more projects when they Google your name.

Of course this could be a problem as well, some employers wouldn't like to employ anyone who's worked on FOOS. If so though and you don't have a problem with it then you know you probably shouldn't work for them.

Falcon

Re:Ask for a test problem (2, Funny)

ksd1337 (1029386) | about 6 years ago | (#24160347)

I mean, I do NOT write code on whiteboards with markers in my real job, why should I have to put up with that in an interview?

Emacs has a feature for that, you know.

Re:Ask for a test problem (1)

sohp (22984) | about 6 years ago | (#24160435)

CTRL-META-ESC-W board

Re:Ask for a test problem (1)

Ortega-Starfire (930563) | about 6 years ago | (#24160477)

Just write something. Seriously. Or get permission after writing some bit of good but non-specific code for a company to be able to include a scrubbed version of it for such purposes in the far future.

Re:Ask for a test problem (4, Insightful)

Austerity Empowers (669817) | about 6 years ago | (#24160037)

That's really a better way. We have some people come in (for a HW job, but same restrictions) bringing in PCBs they've designed in other places, etc. In addition to the obvious potential theft question, it's not appropriate to even look at designs done by another company.

It's really not that helpful as an interviewer to ask someone to show work they may or may not have done anyhow, you want to be sure they presently have the capacity to do so.

Another alternative that meets the interviewers demands, however is to design something of your own that solves a relevant problem in your field, and present that. It doesn't have the be huge. Point to GPL work you've done, or a pet project you worked hard on. I personally think it's not as practical, again I want to be sure the person sitting in front of me is the good problem solver.

I'd never dream of even "testing" someone by asking him to bring in work done for another employer, even one that's relatively permissive. I wouldn't want even the appearance of impropriety. If it's brought in, especially with all the crackdowns going on in large corporations wrt licensing...it will only count against you.

Re:Ask for a test problem (1)

nbert (785663) | about 6 years ago | (#24160441)

You could also tell them: If I show you my code, you have to sign a NDA priorly. Doubt that this would work, but it would give an interesting twist to this game.

I don't work in this field anymore, but if I really had to present some code, I would come up with something which is way too abstract and complicated, so nobody could ever trace it to a particular job or company. I've got this really silly printer enumeration function I wrote for a company years ago. To be honest I fail to understand it nowadays. Ok, my skills won't impress anyone who is really into this, but I'm sure any serious programmer has written something which is so unspecific (but genius), that it can be presented even though it might break agreements one had with a former employer.

Open source (5, Insightful)

Tablizer (95088) | about 6 years ago | (#24159911)

Work on an open-source project, and use that code.
       

Re:Open source (1)

allenw (33234) | about 6 years ago | (#24160239)

Bonus points if you can get paid by the company to work on open source.

[This can work for non-coders too. It is an absolute joy to be able to go to USENIX or ApacheCon or whatever and discuss/share common problems. ]

Re:Open source (3, Insightful)

v1 (525388) | about 6 years ago | (#24160267)

being able to direct them to a search on a repository and start pulling up your code all over the place definitely looks good.

Re:Open source (3, Insightful)

wonkavader (605434) | about 6 years ago | (#24160401)

This extremely good advice. The impact of having your name on a well-known open source project to many people cannot be overestimated. Won't work on everyone, but to many, you'll acquire a slight glow.

And yes, you can show your code.

Good example (5, Insightful)

overshoot (39700) | about 6 years ago | (#24159917)

With that in mind, what am I supposed to show them?

... of why clueful programmers contribute to software libre projects -- it's good advertising.

Sample Code (1)

c0d3r (156687) | about 6 years ago | (#24159919)

I think sample code is a ploy to get rid of candidates. I have a complete site of sample code, and what happens is it just ends up being something to shoot holes at. Also, you can't give internal code that belongs to a company.

Re:Sample Code (1)

dexomn (147950) | about 6 years ago | (#24160013)

How the hell do you shoot holes at something? What does that mean? ;)

Re:Sample Code (3, Informative)

c0d3r (156687) | about 6 years ago | (#24160117)

I've shown some good code to people, and they start saying whats wrong with it without knowing what it's about. For instance, I interviewed with some small startup (some 5 dudes coding in a studio), and I showed them some heavy ajax code, and they said it would be too slow for a high traffic site. I told them it was an internal application with high functionality, and he proceeded to show me a simple html page with no javascript and told me "see this is high performance". I think its just deceit when the person interviewing you doesn't have a strong skill set and feels intimidated by a good candidate who will make him/her look bad.

Re:Sample Code (1)

DJNephilim (832695) | about 6 years ago | (#24160323)

I think you missed what dexomn was saying. I think that in your original post, you meant to say "...it just ends up being something to shoot holes in " and not "it just ends up being something to shoot holes at ."

Re:Sample Code (1)

c0d3r (156687) | about 6 years ago | (#24160359)

I guess I was saying that I don't like VB programmers coding in a startup with 5 people in a run down studio telling me my code sux, when I've implemented high transactional billion dollar systems that have been in use for years.

Re:Sample Code (1)

maxume (22995) | about 6 years ago | (#24160505)

So what the hell were you even doing at that interview?

Re:Sample Code (2, Interesting)

sohp (22984) | about 6 years ago | (#24160545)

I had something similar happen to me. The interview test question was worded "write a solution for find the exit path from a maze from any starting point". OK, college algorithms class stuff, I thought. I'm a bit rusty but I remember the general techniques.

As soon as I start throwing up code on the board they start adding conditions. It couldn't be a chunk of simple code that showed the algorithm, it had to also show good modularity and separation of concerns. Oh, I thought, so it's also a test of my design skills, that's good because really, what does knowing how to solve a maze show other than you can pass algorithms 101?

After a couple more rounds like this, with ever more abstract and arbitrary issues imposed, (like: "don't use exceptions that way, it's bad style" when I used them in a way that's common in both the libraries and the literature for that language) it finally struck me that these guys weren't looking for someone who knew how to solve a particular problem, they were looking to find someone who would solve the problem in exactly the same way they'd solve it. At that point I just blew off the rest of the interview and every time they raised an objection, I just responded, "yes, that's one way to do it, but not the only or necessarily the best" while changing my solution to match theirs.

I'm glad they didn't hire me though, I could sort of tell when I was sitting in the waiting area until well past the time they said they interview started in their offices in a soulless corporate office park that it was a soul-draining company.

Oh, and it's "shoot holes IN".

Re:Sample Code (2, Funny)

treeves (963993) | about 6 years ago | (#24160203)

Shoot electrons at it, but every now and then leave one out.

Re:Sample Code (1)

sohp (22984) | about 6 years ago | (#24160561)

Shoot a beam generated by the LHC, there's bound to be a quantum black hole in there somewhere.

Re:Sample Code (0)

Anonymous Coward | about 6 years ago | (#24160381)

How the hell do you shoot holes at something? What does that mean? ;)

Well, if you have a gun, I can sell you some holes(TM) for it. They're made of nano-material so ordinarily you can't see them, but if you dip your pellet in the box, it will be coated with hole and will come off the pellet once fired at said target, forming a coating which instantaneously leaves a hole.

Re:Sample Code (2, Insightful)

Zenne (1013871) | about 6 years ago | (#24160185)

Christ. Is the site listed as your homepage the one you show to potential employers?

Re:Sample Code (1)

c0d3r (156687) | about 6 years ago | (#24160321)

hehe.. funny... I've heard that before... I haven't updated that site in almost some 8 years.

use educational examples (5, Interesting)

huckda (398277) | about 6 years ago | (#24159925)

i.e. for bash scripting:

give yourself some common tasks:

create scripts for them...

i.e. create a script to fetch updates and notify you via mail(or some other means) when they are downloaded and ready for installation.

create a script that analyzes log files(yes these things have all been done by many others and you can download them in tool-kits...but that's not the point)

create a script that updates other scripts dynamically based on what they find out...

Re:use educational examples (1)

neokushan (932374) | about 6 years ago | (#24160345)

Create a script that scans slashdot for a new article and posts a "frosty piss" comment.

Honestly, I'm surprised it hasn't been done yet.

Write an open source project (1)

DarkHelmet (120004) | about 6 years ago | (#24159929)

Seriously... Writing an open source project was my foot in the door for doing web development for a living.

And this is why... (5, Insightful)

chaboud (231590) | about 6 years ago | (#24159937)

You should have side projects.

The big win with side projects that are entirely under your control is that the code is entirely your style. Almost all of the code that you write for work will have some legacy or shortcut warts, but your self-made utility code can be entirely of your own style and principles. This can be good or bad.

If you don't have any code that you can show, ask your prospective employer to concoct a reasonable example.

If you don't have any code of your own to show them, that tells them something. If they can't come up with a reasonable task for you to demonstrate your abilities, that tells you something.

Re:And this is why... (1)

Octorian (14086) | about 6 years ago | (#24160027)

Of course it can go both ways... You might not be able to spend as much time polishing up the code to your side projects as you can on something you do all day long at work.

However, in the end, I think having side projects is extremely useful for exactly this purpose. (Probably extra points if its some open-source project that people actually use.)

jedi (4, Funny)

npace (1085633) | about 6 years ago | (#24159945)

Use uber obfuscated code: Example: #define w "Hk~HdA=Jk|Jk~LSyL[{M[wMcxNksNss:" http://www0.us.ioccc.org/years.html [ioccc.org]

If you don't write software at home... (4, Insightful)

MythoBeast (54294) | about 6 years ago | (#24159955)

Generally, when looking for software engineers or system administrators, I try to find the people who enjoy what they do enough that they don't mind doing it when they get off of work. If you haven't written anything interesting outside of work, and you're completely uninterested in doing so, then this automatically drops you down a notch among those that I would hire.

Beyond that, though, you can't show prospective employers things that you've done for other companies unless you own the source code. On the other hand, the company you wrote it for absolutely cannot bar you from producing derivative works from memory. That would result in devaluating your skill set, which is considered an unconscionable harm by our courts. Write something similar but less ambitious at home and present that instead.

Re:If you don't write software at home... (4, Insightful)

tomhudson (43916) | about 6 years ago | (#24160029)

This is on the right track, but I think that there's another aspect of any candidate that could be gleaned in a half-hour ... their ability to *think*. Being able to write code is only half the job (the easy half). Give them a goal, and ask them to describe on the board their thought processes as they analyse the problem, and how they'd go about doing the data design, the code, etc.

You'll get a feel for whether they're agile on their feet, enthusiastic, can grok something quickly and come up with some useful ideas, etc., without actually having them sit a a computer and write code. If they get lost at this stage, there's no need to see any code.

It also lets you see if they're a "I know this particular "hammer", so everything looks like a nail that's best whacked with that particular hammer" type of dev., or whether they actually have a grounding in more than one solution.

It's a LOT more accurate than a written test at weeding out the "I can write the code if you hold my hand" types. You'll *know* if they're enthusiastic or not.

Alternatively, just ask for their slashdot user id, or just say "CowboyNeal". (Don't laugh - it works).

Re:If you don't write software at home... (4, Insightful)

cjb658 (1235986) | about 6 years ago | (#24160033)

After spending 8+ hours in a cubicle writing code, the last thing I'd want to do at the end of the day is come home and write more code.

The same is true if I spend the entire day opening up computers and repairing them, setting up networks, etc.

Re:If you don't write software at home... (-1)

Anonymous Coward | about 6 years ago | (#24160149)

Really? Then you surely must not like what you're doing. don't be a developer then, get another job.
I wouldn't be able to spend all day repairing computers, that's why im not a computer technician.
I am perfectly able to code 24 hours a day if I do something interesting that I like.
After writing stupid crap for 8+ hours at work, I can't wait to get home and do the real stuff. The real fun. The challenge.

Re:If you don't write software at home... (5, Interesting)

Anonymous Coward | about 6 years ago | (#24160211)

Oh please.

There are some of us that enjoy our jobs and the tasks we do there but have other interests outside of work. I'm a Sys Admin. It was my "dream job" from the time I took my first comp sci class. I love what I do, I love the challenges I am presented with. But I don't run my own Solaris boxes at home so that I can play around even more when I get off work. I have too many other interests; other things I enjoy doing. That doesn't make me bad at my job. In fact I think it protects me from a lot of the burnout that I see happen in I.T.

Re:If you don't write software at home... (3, Insightful)

javajedi (81810) | about 6 years ago | (#24160187)

Dude. I write code for free. The salary is just so I'll sit through the meetings and deal with my coworkers.

If you don't love writing code so much that you want to do it when you get home, maybe you just shouldn't be writing code. Life is too short to do something you don't love for a living.

Re:If you don't write software at home... (0)

Anonymous Coward | about 6 years ago | (#24160425)

If you don't love writing code so much that you want to do it when you get home, maybe you just shouldn't be writing code. Life is too short to do something you don't love for a living.

I don't write much code at work, so my response isn't 100% relevant, but...

I, generally speaking, thoroughly enjoy the work I do (mainly networking, some sysadmin stuff). But I don't necessarily enjoy dealing with the requirements that my boss/clients put on the work that I do. And sometimes it isn't a whole lot of fun to turn out work for these people. Sometimes it's downright frustrating and unpleasant. And after such a day at work the last thing I want to do is play with my network.

Additionally, I enjoy many other things in life than just the few things I get paid for. I enjoy spending time with my wife and kids, I like reading, I enjoy going to the movies, I play some video games... Just because I love what I do for a living doesn't mean that there's nothing else I'd rather be doing.

Re:If you don't write software at home... (3, Insightful)

KermodeBear (738243) | about 6 years ago | (#24160437)

That is far too idyllic for the real world. As true as it may be, doing something I love for a living would mean having little to no income. It simple is not feasible.

And so I suffer through 8-10 hours a day of writing code and putting up with my coworkers. It isn't fun - but I get paid to do it. I get paid pretty well, too. Enough that I stay.

At least I can pursue something I do enjoy in my free time. Currently looking into a Wildlife Rehabilitation license.

Re:If you don't write software at home... (1)

kdawgud (915237) | about 6 years ago | (#24160547)

I'm with cjb658 on this one. For me, however, it's not that I don't like to code. I would simply rather spend non-work time with family, getting exercise, and enjoying life.

Also, eye strain keeps me from spending too many additional hours at the computer screen if I can avoid it.

Re:If you don't write software at home... (1)

exley (221867) | about 6 years ago | (#24160553)

If you don't love writing code so much that you want to do it when you get home, maybe you just shouldn't be writing code.

That's great when it works out that way for a person. Not everyone is so lucky, and many (probably most) have other interests and ways they want to spend their time outside of work, even when they like or love their jobs. I think if you're doing a job you enjoy, that's great. It doesn't have to be your hobby too. If it is, though, more power to ya.

What sucks is for the people who have jobs they truly hate. But in some cases they may be limited for some valid reason. Or they're willing to work a job they hate just for the money. Or some other reason. Everyone has different goals, different interests, different priorities, different reasons. And there are always compromises in life.

As the saying goes, your mileage may vary.

Re:If you don't write software at home... (3, Funny)

Foerstner (931398) | about 6 years ago | (#24160563)

Life is too short to do something you don't love for a living.

You know, you're right.

Incidentally, I'm looking for a job that includes reading scifi books, drinking diet soda, and driving sports cars. I don't have any code to show you, but to demonstrate my qualifications, I'd be happy to offer commentary on the books I've read, show you the mountain of empty cans in my recycle bin, and get the state to verify my clean driving record.

Re:If you don't write software at home... (2, Insightful)

kv9 (697238) | about 6 years ago | (#24160197)

that's pretty sad.

Re:If you don't write software at home... (1)

Octorian (14086) | about 6 years ago | (#24160241)

The key is to make your personal projects different enough from your work projects. To most "normal" people, the boatload of completely different computer-related things we all do is just "the same thing," and all they know to even think of when we mention what we do is their "stupid Windows problems." But we should know better.

For example, the vast majority of the code I write at home is C# for Windows. At home, I mostly do embedded Java for BlackBerry. Just keep what you do different enough that it broadens your skillset and doesn't feel like more of the same.

Re:If you don't write software at home... (1)

bluelip (123578) | about 6 years ago | (#24160247)

nah, if it's interesting work, you'll find time to pursue your own projects on the side.

I'm not saying you must code or swap pci cards 24/7, but if you're really interested in what you do, you'll have some side projects.

Re:If you don't write software at home... (1)

maxume (22995) | about 6 years ago | (#24160361)

Who says he is looking to hire sane, well adjusted people?

Re:If you don't write software at home... (1)

mrbluze (1034940) | about 6 years ago | (#24160413)

After spending 8+ hours in a cubicle writing code, the last thing I'd want to do at the end of the day is come home and write more code.

Agreed. But OTOH I followed some advice long ago that went something like "whatever your passion in life is, don't let it be what you do for a living". It sounds counter-intuitive (and you may argue it is stupid), but the logic is that if you're passionate about programming, then it will find its way into anything you do. Better to get into some other profession first and have expertise in it. Pretty soon you'll find yourself making bits and pieces of code each day that fit in with your regular work, at the behest of your boss (or as a side business).

I'm not a master programmer by any means, but I've never stopped coding since I was twelve and now I'm making a good deal extra money at my job with my coding projects, but I can dictate how much I do. It's enough for it never to get boring.

Re:If you don't write software at home... (0, Troll)

dubious_1 (170533) | about 6 years ago | (#24160469)

I respect your feelings, but then again, I don't have to hire you. You may be an awesome coder ( actually, I don't hire coders, I hire engineers ), but there are many of those, and you are just another.
If you have never had an interest in exploring your craft outside of work, you probably aren't who I am looking for.

Re:If you don't write software at home... (0)

Anonymous Coward | about 6 years ago | (#24160503)

Thats why, I just never go home.

Use basic CS test material (4, Interesting)

bugnuts (94678) | about 6 years ago | (#24159979)

Grab a couple computer science tests, some Knuth books, or ACM programming contest sheets.

Find a simple problem (one that'll take 10-30 minutes to code) and write it up nicely in a couple different languages. Use at least one OO language if you know one.

Discuss the projects you worked on, but tell them it was work for hire and stress that you respect the privacy of the other companies, but you brought other code samples for them to see.

Been there (4, Informative)

Anonymous Coward | about 6 years ago | (#24159999)

I've been in that situation. My potential future employer asked to see some of my code. What I did was:
1) I directed them to some open-source code I'd written.
2) I told them that I could not show them the code I was working on at my current job, but I said they could ask my colleague about the quality of that code.
One good thing about 2) is that it also tells the future employer that you're not going to show *their* code around after you leave. Oh, and I got the job, although I chose to go to another company.

Snippets are good. (1)

xzaph (1157805) | about 6 years ago | (#24160011)

Find pieces of your code that show smart solutions to individual problems. Things that aren't a complete app, but illustrate your ability to find smart ways to deal with tricky situations. Provide a general context, just enough to understand the problem you were trying to solve. The way you manage to explain and document the situation and the methodology you used to solve it is almost as helpful as the code itself - they both go to illustrate your ability to confront, understand, and deal with development issues.

Samples not needed for experianced employees (3, Interesting)

Toddsa (1321497) | about 6 years ago | (#24160023)

If you have been in the industry before and are looking to join a software company like M$ or others they will typically not ask for samples. If you get to the interview you will have to demonstrate in real time your skills.

It is a big red flag if a company asks for samples before hand. It usally indicates you are interviewing at non tech company or they have inferior managers whom can not weed out candidates well.

Code at home (0)

Anonymous Coward | about 6 years ago | (#24160045)

Really? You never wrote any code at home? In your spare time?
Never wondered how application X does Y...and could i make it better?
Open source or not, it doesn't matter. If you dont love what you're doing, (that is, being a programmer), then don't do it man.
You may say: but the money....
Well, what about the money?
There are here today, the money were here in '97, they won't be here tomorrow.
If you really don't love programming, you would be better off finding something else to do. You will never excel, you will never strive to be the best as a programmer.
You know, work is work. You do what they tell you.
but at home? At home i can go wild. I can invent 1 billion new things, i can test all my theories, i can fail and try again. And i don't care. I'm having fun. I'm relaxing.

Never seen it (1)

Threni (635302) | about 6 years ago | (#24160047)

> and almost all of them demand that you not only have professional experience, but also that you show samples of your work.

I've never heard of that. Keep looking - you'll find somewhere soon.

1000 lines of good code (5, Funny)

Animats (122034) | about 6 years ago | (#24160057)

I used to ask applicants for 1000 lines of C++ they were proud of. Sometimes you get something really beautiful. Something that's at least decently designed and looks reliable is essential.

I've been known to send such samples back with "Your first buffer overflow is on line 42. Thank you for your interest." I couldn't afford to deal with sloppy coders in a hard real time environment.

Re:1000 lines of good code (3, Insightful)

Anonymous Coward | about 6 years ago | (#24160307)

You sir are an asshole.

Re:1000 lines of good code (0)

Anonymous Coward | about 6 years ago | (#24160445)

Yeah, I find a good indicator of asshole-ness is the phrase "I've been known to". It just reeks of self-satisfied smug bastardry.

Re:1000 lines of good code (1)

KermodeBear (738243) | about 6 years ago | (#24160471)

But it does weed out people who aren't careful and don't know their stuff as well as they think they do. At least this guy sends them a response - most employers I know just ignore you completely if they're not interested. And, to his credit, he points out what is wrong, which is great for learning.

Re:1000 lines of good code (2, Insightful)

LanceUppercut (766964) | about 6 years ago | (#24160555)

No, most of the time it indicates that it is the reviewer that either a) doesn't know his stuff or b) thinks that everything that doesn't comply with his favorite one and only true coding standard is flawed.

Needless to say, judging by the tone of that poster he's not the type that would even consider reading a further response from the code author explaining why there's really no buffer overflow in line 42.

You are a fool for signing a non-compete in the fi (0)

Anonymous Coward | about 6 years ago | (#24160065)

If you hadn't have signed a non-compete, you wouldn't be in this predicament. Don't ever sign one!!! EVER!!!

Nobody, under ANY condition, should sign a non-compete. I've walked out of a job interview because the company required a pre-employment non-compete that extended a year after the employment period ended. So I worked for one of their competitors, and ended up negotiating a better salary. If your employer requires a non-compete, that is a giant red flag, and you should start looking for a better job immediately.

If your company requires a non-compete, there is probably a reason for it. Usually it is because they had employees leave the company to go work for their competitors. Skip the legal hassle, don't sign one, and work for one of their competitors.

Before signing a non-compete consider this:

- Do you want to be bound to your master for life?
- Do you really want to be stuck in your job because you can't afford to wait the non-compete out?
- Is the salary worth being legally unemployable? Remember, you can't get unemployment when you are bound to a non-compete.
- Do you have enough 'FU money' to fight your ex-employer in court?

The solution is, don't sign them... unless you can negotiate full severance pay during the period of unemployment into the deal... then consider it a ticket to a paid vacation.

Re:You are a fool for signing a non-compete in the (1)

timmarhy (659436) | about 6 years ago | (#24160219)

You are looking at non-compete's in the wrong light. the reason for the non-compete is so that the company doesn't have to compete against it's own employee's. while i agree some douche bag company's try and misuse it, their are valid uses for it.

unless your in upper management i don't see a non-compete being useful for a software programmer. i signed one once as a contractor when i was working on a highly specialised bit of software, it contained lots of business logic and proccess knowledge that the company didn't want me running away with (and rightly so). It didn't affect me in the slightest though i'd never choose to work in that industry ever again.

Re:You are a fool for signing a non-compete in the (1)

gujo-odori (473191) | about 6 years ago | (#24160433)

There are a few things wrong with your post.

For starters, you're barking up the wrong tree. A non-compete doesn't stop you from showing code samples of work you did for someone else. An NDA does, and frankly, an NDA is not an unreasonable thing to have to sign before working on someone's proprietary code base. It simply provides a legal remedy to the code owner if you fail to honor your moral and legal obligations to keep confidential that which is confidential. I see nothing wrong with that.

Next, here in California (and some other places; ask your lawyer about your place), non-competes are pretty unenforceable. When I left my previous position, I had a two-year non-compete and was considered a key employee but I went straight to work for a direct competitor anyway. Now, I didn't tell them where I was going (unenforceable or not, I saw no sense in potentially provoking anyone; I gave my new employer a copy of the non-compete as required in the non-compete; they didn't care, and that was all that mattered to me). It was about a year before anyone there who would tell or might care found out where I was working. I don't know if they told, but no one cared. I'm now a few months short of the end of the non-compete. If anyone at my former employer were to now object, my current employer would most likely flip them the legal bird (they have deep enough pockets for that).

Next, in many places - even California - most employers will ask you to sign a non-compete, even though their legal departments know (or should know, if they are at all competent) that California courts have held NCs to be generally unenforceable. Employers lobbied hard for California to be a right-to-work state, then later found out that's a sword that cuts both ways. Because so many employers (at least in tech industries) will ask you to sign an NC, it's not signing the NC that makes you bound to a master for life, unemployable, stuck in your job, etc. It's refusal to sign one that will do those thing;, if you won't sign one, you will probably find yourself remaining in your current job for a *long* time while you look for an employer that won't ask you to sign an NC.

I am not a lawyer and this is not legal advice. If you are thinking of breaking a non-compete, you might want to talk to a lawyer first, even in California. If you live in a place were non-competes are enforceable, you might want to consider having your lawyer read it before you sign it.

Re:You are a fool for signing a non-compete in the (0)

Anonymous Coward | about 6 years ago | (#24160447)

This is sound advice. Non-compete agreements can cause a lot of damage to your livelihood. Can you afford to be legally forbidden to work in your area of expertise?

Non-competes WILL interfere with your right to work, and unless you have money to burn on lawyers, it is a good idea to stay far away from such agreements.

I spent a year unemployed because of a non-compete, and regret working for that employer. The non-compete has inspired me to be very aggressive against my old company, and I am proud to say I took a lot of business from them. In the long run, non-competes are not worth it for either party.

Save yourself the headache, don't sign them under any condition, period.

Sample Code (2, Funny)

$0.02 (618911) | about 6 years ago | (#24160071)

10 PRINT "Sample Code" : 20 GOTO 10

Open Source (2, Interesting)

CustomDesigned (250089) | about 6 years ago | (#24160095)

Make sure you contribute at least some of your time to open source projects. That you can show.

Personal Projects? OSS Work? (1)

lewiscr (3314) | about 6 years ago | (#24160111)

Don't you people do code outside of work? What kind of "for the love of coding" programmer are you?

Admittedly, my personal project code is a wee bit dated (it's older than my children), but it's more current than my resume...

Re:Personal Projects? OSS Work? (1)

v1 (525388) | about 6 years ago | (#24160341)

kind of the same boat for me. Some of the things I am the most proud of are so dated that no one would care about them anymore. The little hacks you do at home can't compete with anything you'll ever do at work.

I always enjoyed doing things that on the onset seemed impossible, particularly if I was TOLD they were impossible, even if there wasn't a practical value to it. It's all about the challenge isn't it?

Turnabout is fair play. (1)

GGardner (97375) | about 6 years ago | (#24160245)

Remember, you are interviewing the company just as much as the are interviewing you. So, I'd ask them to see a sample of their code base you'd be working on. If they stammer and say it is proprietary, well, maybe the code you've worked on in the past is too... If they apologize for the code, then maybe you know what you might be getting into.

Re:Turnabout is fair play. (1, Flamebait)

dubious_1 (170533) | about 6 years ago | (#24160495)

so this is the dumbest answer I have read today. Yes you are assessing them as they are assessing you, but if you respond in this way, you will be found to be combative and if I was interviewing you, I would probably escort you out at the end of the interview.
Being asked to demonstrate your skills is completely valid. It is nearly impossible to fairly assess someone in an hour based solely on Q&A.
I recommend bringing a portfolio of some work you have done ( again this must be your own property ). I also recommend googling for common programming interview questions and being prepared to answer them ( yes, even the lame finding a cycle in a linked list one ). This is basic homework, and shows that you take the position seriously.

This is BS. (0)

Anonymous Coward | about 6 years ago | (#24160271)

You can't show them even a *part* of your code? I seriously doubt the code you've written is so utterly transparent and obvious and *applicable* to your prospective employer that you absolutely cannot show them any part of it. What total BS.

Show them a clever loop invariant you came up with, or a neat subclass you created so solve a problem, or a unique but helpful GUI feature. There are lots of ways to do this.

If you told me, in an interview, that you couldn't show me *any* of you code, or describe it or write a sample in suitably generic way, I (a) wouldn't believe you, and (b) wouldn't hire you.

Strategy (0)

Anonymous Coward | about 6 years ago | (#24160283)

If they interview four times as many people as usual under these terms, they will get enough cool trick code samples for their existing staff to pay for all of the advertising and interviewer costs WITHOUT hiring anyone at all.

If they hit the lottery they might find someone with real skills with a market value of 50% of what s/he is worth to them

More anonymous than coward and my password is guest.

WRITE A (1)

mrmeval (662166) | about 6 years ago | (#24160305)

[csagan]
free sofWare project used by billiuns and billiuns.
[/csagan]

Never asked for code samples when hiring (0)

Anonymous Coward | about 6 years ago | (#24160315)

I have NEVER asked for a code sample in an ad. Anyone I would consider hiring won't be able to show me code they wrote at a previous company. If the candidate has worked on an open source project, that is great. They can show me that. Otherwise we get by with what they can show us while being interviewed. We have the time, the average interview takes 6 or 7 hours (including lunch) with multiple people talking to the candidate. Plus at least one or two phone screens to make sure it is worth the time (and expense if we have to pay for travel) to bring them in.

If someone offered to show me code they had written for another company, or even worse a competitor, I would carefully show them out the door. And then contact our legal department so they know why. I hate HR related lawsuits and this can result in one.

    - Dan (after a zillion years I still haven't made an account here...)

PS. I work at a large silicon company. The startups I've worked at had similar approaches to interviewing programmers.

Whatever you're proud of (1)

Arethan (223197) | about 6 years ago | (#24160369)

That's half the point. People only ask for code samples for 2 reasons. To measure knowledge, and to measure experience. They could really care less what it actually does, and what it actually does doesn't need to be that impressive. Good code structure, proper use of comments, intelligently named variables, is the code messy or organized, etc. It's just a litmus test designed to weed out the "wannabes" from those that actually do know what the hell they are doing. As an experienced programmer with several languages under my belt, I can look at a snippet of code and tell within a few seconds if the mind behind it really knew what they were doing or not. You'd be surprised the number of degree holders that apply for software engineering jobs, yet don't understand programming logic beyond 'cout "Welcome to my ATM";'.

The utility of code samples is still questionable, as anyone that asks for them may or may not understand what they are looking at. Even if they did, how do they really know you didn't just clip out a few lines of code from some random open source project?

The best thing I can suggest for things like this is to provide code you wrote for an open source project. Go find something small and simple that kind of bugs you, and write something to fix it. Post it on SF.net, and call it a day. If anyone asks you for code samples, you can provide them out of that, and even provide a link to the full source, and it's all your original work.

n/t (0)

Anonymous Coward | about 6 years ago | (#24160393)

This is where working on open source projects really pays off.

Copyright Requirements (1)

oneal13rru (1322741) | about 6 years ago | (#24160397)

Well, for the purpose of protecting proprietary software, copyright law requires only certain portions of physical code. Anything stored in the Library of Congress as a matter of Preserving Copyright is technically Public Record. Exploit the portions of code within the sections to have been sent in for the purpose of demonstrations, and merely explain you worked on those projects, in a manner that doesn't quite violate the letter of your NDA. http://www.copyright.gov/help/faq/ [copyright.gov]

I've already done my share of "code samples," thx (3, Insightful)

NewbieProgrammerMan (558327) | about 6 years ago | (#24160481)

Oh yes, let me rush to burn up 4-8 hours of my time doing some contrived, over-specified programming exercise for each job application. I have a medium-sized stack of bug fixes and improvements to open-source projects I can point to, but that's not good enough for some companies: I have to do their extra-special lame example program, because I might not be uber enough to work at their uber-elite programming company.

Once upon a time I thought code samples might be a good idea, but now I'm starting to think that it makes a good lameness filter for my next job search. IMHO they just use up everybody's time for very little benefit; you'd almost be better off just hiring them at a low probationary pay rate and see how they actually perform in your work environment.

Re:I've already done my share of "code samples," t (0)

Anonymous Coward | about 6 years ago | (#24160559)

You sir, fail.

My Strategy (1)

Orion Blastar (457579) | about 6 years ago | (#24160489)

is to write programs under an open source license that do the same thing as the programs I was paid to write under a closed source license. Just a different way to solve a problem, and done a much better way than management wanted it done anyway.

Then show the open source version of software, and say that the originals are closed source but solve the same problems but in a different way so it does not harm the IP of the employer, and can be licensed to be released into a closed source version for a future employer. Also I give them a NDS to read and sign before they can view the open source version. I write the open source version on my own time, at home, and not on the employer's time. But in my case the employers don't have me under contract since 2001/2002, so more than five years of the no compete for five years employment contract is up with them, and I am free to write my own code that may or may not compete with their products.

Sure it is reinventing the wheel, but it is 100% legal and does not infringe on anyone's IP.

Re:My Strategy (1)

rob1980 (941751) | about 6 years ago | (#24160569)

is to write programs under an open source license that do the same thing as the programs I was paid to write under a closed source license. Just a different way to solve a problem, and done a much better way than management wanted it done anyway.

How do you sustain something like that long-term? Bringing your work into your home, redoing what you just spent 8 hours working on and spitting your boss's name while you do it really doesn't sound like my cup of tea. I think I'd get burned out on programming and my job in short order if I did that.

Do some contract work (3, Insightful)

lewp (95638) | about 6 years ago | (#24160521)

I did some smaller contract work on the cheap with the stipulation that I could use the code I wrote however I wanted. That's where most of my code samples come from. Smaller shops are often willing to compromise in ways bigger corps aren't, especially when it's possible for them to save money.

You could also just whip up a reasonably professional sample app and explain that your "real" code is locked up with your old employers. Companies worth working for, and recruiters worth talking to, will understand your situation. They probably have clauses in their standard employment contracts that restrict their employees in the same way, after all.

By the way, this is another good reason to contribute to Free Software.

Three ways off the top of my head (1)

stonecypher (118140) | about 6 years ago | (#24160533)

how exactly can you show work that you've done in a professional capacity to a prospective employer without violating the privacy of the company for which the code was written?

  1. Write new samples
  2. Request permission to publish snippets from employers
  3. Write more than just the code your job pays you for

You can't... (1)

Alien Being (18488) | about 6 years ago | (#24160539)

not necessarily. If you can, be professional and treat the documents as (at least somewhat) confidential. Maybe you are willing to discuss a program listing with them, but that the copy you bring leaves with you.

If you cannot show them work from your previous jobs, show them projects from college or ask for a test.

Anyway, I suspect that you're dwelling on this issue. Work around it as much as needed.

Demand that the bulk of your time interviewing is with the people with whom you will work. If you suspect that it isn't the case, then you could be facing a fucked company and you should stay away.

A previous poster raised an excellent point about seeing some of *their* code. It's far more relevant to the issue at hand - your working there. That's what my company does when they interview. They hired me, but after a while they didn't think I was so hot at the job. To be fair, they might be right. Interviews are always sketchy. But that brings me to my next point.

Don't be afraid to sell whatever skills you possess beside programming. If you're good with spoken language, systems administration, or a soldering iron, sell it... if it's at all relevant. My company hired me partly because I offered them some ancillary skills. As it turned out, they and I are relying on them to maintain our relationship.

Find a way to be interested in the job in ways that don't involve programming. Skateboard makers have programmers. If you happen to love skateboarding and you see an ad for some job that's connected to that industry, consider pursuing it aggressively. Jobs don't always turn out the way you expect, but if you *fit in* to a company you have a good chance of finding some happiness.

Oh, and here's a nice thing to do under certain circumstances. If you *really* think want the job, tell them that you would like to work for them for one week for no salary. You realize that it's too short a time to offer them much real value, but that it's worth the investment in your time and that it's the best way to show them what you have to offer.

Your "personal projects" (0)

Anonymous Coward | about 6 years ago | (#24160551)

I generally won't even interview someone unless they can provide me reasonable code samples. This could be as simple as "here's my perl script that sorts my mp3 collection" or "here's my code to navigate a 3d space/time model of the current locations of sattelites".

I would never expect someone to provide me samples from a previous job. That seems tasteless to ask for or provide.

I think most people are just looking for stuff you can do on the whiteboard - reverse a linked list, intersect X with Y, blah blah blah.

I believe the best candidates think of the whiteboard stuff as boring and mundane, and have more interesting personal/side projects they can show you which give you a great idea of their skill and interests. Nothing makes me happier than hearing "I modularized the TCP stack in the 2.4 kernel, just for the hell of it".

Point them to a subversion or cvs repository... (1)

gatkinso (15975) | about 6 years ago | (#24160575)

...that you have contributed to. Specify what work is yours, what is not. Be very clear on this point.

Do not give directions on how to download the code. Just the URL. It doesn't have to be some big open source project - it could even be hosted on your personal box.

If someone there actually sees your work without asking for directions, only then would you want to consider working there (or even taking the time to interview.)

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...