The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
In this case I think I would
* try to find code from my current job unrelated to business logic, more like library utilities, print it, and say that you cannot leave it with them
* talk to the interviewer on the phone about my predicament.
Chances are, you are up against hordes of kids with github repos galore. It could happen that they are spoiled with easily comparable candidates...
I was 52 when I got my current job, I think without my github I wouldnt be here.
Do not, under any circumstances, give any code for a previous employer.
Doing that is asking for trouble and may even be a trick question to see if you are reliable security
If they cannot assess your abilities from the interview ,this does not speak highly for the company you applied to. If the interview went without anyone fron the SW Dept. being present
is also a bad indicator.
all in all, probably a bad employer.
Everything I've done in the last 15 years that the interviewer would be interested in is proprietary code I've written for my current employer, and I don't feel comfortable sharing that outside the company
Put it on a stick, show it during the interview. No copies, they don't need the entire code-base to judge your skills - a minute worth of browsing would do.
Then ask them if you should keep their code on a public github
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
I'd be in an even more difficult situation - all the code I've written in the past 15+ years is US Government classified SECRET or higher. There's no way for me to even get it on the unclassified net and if I tried I'd be off to the pokey...
Heh... I'm looking at this site and see the following at the bottom of the thread list.
Last Visit: 31-Dec-99 19:00 Last Update: 8-Feb-18 3:29
With that, the forum code also cutoff the "La" of "Last" when I block quoted and I had to correct it.
Perhaps if people spent a little more of their own time learning the trade that pays them, these types of silly mistakes wouldn't happen.
And that brings us back to the subject of the original post. While I do whole heartedly agree that your job shouldn't be your entire life (especially if you have kids or are married), you DO need to spend some time learning your trade and that's what employers want to see because they're tired of people that can't even get a bloody date right.
While I also agree that you shouldn't have to keep up a web-presence or list your code on the likes of Git-Hub, you should be prepared for an interview especially if you have 15 years experience like the OP does. It will also show them good common sense and respect on your part if you tell them that you respect the proprietary nature of a previous company's code but don't let that be a barrier to showing your stuff. After all, you're on an interview to determine if you have the skills to do your job.
And, no... the stuff you put on your resume isn't enough. That's just the proverbial "knock on the door". Too many people either exaggerate their knowledge or flat out lie on resumes. During one run of interviews of both experience web developers (with good knowledge of T-SQL) and DBAs (all claimed at least 10 years of experience on their resumes), 20 out of 22 couldn't answer the simple question of how to get the current date and time. I had originally started asking the question as a simple ice-breaker question to help the candidates relax. Little did I know it was going to me the litmus test for how the rest of the interview was going to go.
Out of that same batch of people, only 1 DBA knew anything about how to do native backups and restores (and no... I do NOT ask for the precise syntax). One of the people also claimed to be an expert T-SQL performance tuner (again, with more than 10 years experience). When I asked him about clustered indexes (and, no, I didn't make this up. It's just too silly to even think of such a thing) he told me that he never worked with them because he had never worked with clustered servers.
Employers are sick and tired of wasting time on people that don't actually have any reasonable skills or have 1 year of experience 10 or 15 times. They pay a lot of money for people and expect someone who can do the job in return. That's why they've started asking for code examples to demonstrate both your knowledge and your attitude (a lot can be told about the way you write the code, how you document it with comments, and even how you format it).
For all of those saying you don't want to spend any time training yourself to be more valuable, remember that you reap what you sow. For those that do spend some time learning the trade and improving yourself but can't post code that you've done at work, then make up some problems along with code to build a shedload of data to run the code against and submit that via email. If you're looking for a job, spend some good time at it and be ready to provide it at the drop of a hat... any hat.
As "Red Green" is famous for saying, "We're all in this together and I'm pullin' for ya".
While I do whole heartedly agree that your job shouldn't be your entire life (especially if you have kids or are married), you DO need to spend some time learning your trade and that's what employers want to see because they're tired of people that can't even get a bloody date right.
I don't know about you, but I wouldn't wan't to show anyone the code I write when I'm learning something. Its typically code of the worst sort because it is one time use throw-away code. Maintainability and elegant design are not the focus, learning is.
I find that maintainability, elegant design and polish are my value add -- they're what I can bring to the table beyond simple mastery of the topic, but they don't really kick in until the third project I do, and by then, I'm typically doing it for an employer and don't retain any rights to that work.
Yeah... strongly agreed. You mistook what I said. It's not the "learning" code that they want to see. They want to see that you're taking the time to learn. Once you've learned how to do something, then turn it into a formal but still personal bit of code and use it as an example of your work.
I totally agree on the ideas of maintainable code, elegant design, and polish will set folks well apart from those that don't practice those ideas. Again, the chance to shine in those areas is the demonstrable code you send them when they request it.
Of course, this should be YOUR code... not the code that an employer has proprietary rights to or anything else that would violate an NDA, Covenant not to compete, or ethics in general.
Once you've learned how to do something, then turn it into a formal but still personal bit of code and use it as an example of your work
I don't generally have the time or inclination to massage throwaway, toy-project learner code to make it all pretty. That's something I'll do when I do my next project, and typically, that next project ends up being my first attempt at real work with the new knowledge.. which means it's already owned by someone else.
No time and no inclination... that's fine but don't get mad if someone beats you out of a job that decided to make the time and had the inclination. I'm trying to explain how to win the job. You don't have to take that advice. It's your choice.
Thanks for your response. I get what you're saying. But not having a cache of personal code that demonstrates my knowledge doesn't mean I'm not learning new things. A constant part of my job here requires learning new things. But it doesn't leave behind any code that would be useful to demonstrate my skills, just a bunch of 'hello world'-like snippets.
And it sounds like you were able to weed out candidates purely through the interview process without seeing any code or syntax. Hopefully my interviewers will be able to do the same.
If you think 'goto' is evil, try writing an Assembly program without JMP.
We didn't manage to hire anyone because we never got to the code part. The candidates were that bad.
I also agree that just because you don't have a personal cache of code examples doesn't mean that you're not learning anything. But, when a company asks for such a thing as a part of the pre-interview, you need to have one because, in the absence of one under such conditions, you may never get invited to an interview. And, no... I'm not talking about the "toy" code some are speaking of. The internet is full of forums where people ask for help. Solutions to such questions make great examples for a code cache, especially the more complex ones.
Again, I'm not trying to force anyone to see it my way. I've been on both sides of the hiring fence and I'm trying to help folks see it the way employers see it to give them a better chance at being the successful candidate for a job.
I have always had a code portfolio that shows examples of my code and documentation. All of it comes from code I have written and various places I have worked and none of it reveals company information. Just pull a method from some class that shows how you have solved a problem such as transposing data from object to another or filling a list box. It should be the kinds of things you would do regardless of where you work.
I would let them know those 2 facts, and ask if there is something else you can bring.
They may simply want to see your coding standards in action.
To me, the appearance of your code tells me a lot about the quality of your code.
It also tells me a lot about how you communicate.
Simply be prepared to find other ways to communicate. Also be prepared to discuss your code review processes, and your bug fix ratios. We strive for ZERO defects after release. But 1 defect in 3-6 months is acceptable. We can guess the stability based on the number of lines of code changed in the stabilization/test period before we go live.
And I find it RUDE to ask for code that belongs to another client!
Never share previous employers code -- I testified as an expert witness against a programmer that did share code and he got one yr and a felony charge.
Also, as far as writing your own code I made the mistake of writing a working piece of code to solve their problem that they used and did not get hired. I will take their tests but provide no new code unless I get paid. The company was obviously looking for a code fix and not interested in hiring. I was not the first one they pulled this on I later found out.
Unless you're going to throw together some code quickly for them to peruse, why not just tell them the truth -- you don't have a GitHub repository because your hobbies don't include programming, but rather you have hobbies that get you physically and mentally away from work as you find it yields a better work/life balance for you and helps keep you from getting burned out.
Whatever you do, don't steal code from work and pass it off as yours, even if you're the only one who ever had a hand in writing it.
Fact is, you sounds like you're currently employed, so you don't actually need their job. If they can't work with you on this point, are you sure they're someone you want to work for?
I had to do that for a job and a friend of the interviewer stole the code and sold it under his on name and he was stopped by a lawyer (luckily). You can not trust people with private code. I would suggest that you could do some work on a open source project and then give them a link to that. That way you would not be in a position where your past companies would want to sue you over a NDA violation.