


Ask Slashdot: How Can You Apply For A Job When Your Code Samples Suck? 408
An anonymous Slashdot reader ran into a problem when looking for a new employer:
Most ask for links to "recent work" but the reason I'm leaving my current job is because this company doesn't produce good code. After years of trying to force them to change, they have refused to change any of their poor practices, because the CTO is a narcissist and doesn't recognize that so much is wrong. I have written good code for this company. The problem is it is mostly back-end code where I was afforded some freedom, but the front-end is still a complete mess that doesn't reflect any coherent coding practice whatsoever...
I am giving up on fixing this company but finding it hard to exemplify my work when it is hidden behind some of the worst front-end code I have ever seen. Most job applications ask for links to live code, not for code samples (which I would more easily be able to supply). Some of the websites look okay on the surface, but are one right click -> inspect element away from giving away the mess; most of the projects require a username and password to login as well but account registration is not open. So how do I reference my recent work when all of my recent work is embarrassing on the front-end?
The original submission's title asked what to use for work samples "when the CTO has butchered all my work." Any suggestions? Leave your best thoughts in the comments. How can you apply for a job when your code samples suck?
I am giving up on fixing this company but finding it hard to exemplify my work when it is hidden behind some of the worst front-end code I have ever seen. Most job applications ask for links to live code, not for code samples (which I would more easily be able to supply). Some of the websites look okay on the surface, but are one right click -> inspect element away from giving away the mess; most of the projects require a username and password to login as well but account registration is not open. So how do I reference my recent work when all of my recent work is embarrassing on the front-end?
The original submission's title asked what to use for work samples "when the CTO has butchered all my work." Any suggestions? Leave your best thoughts in the comments. How can you apply for a job when your code samples suck?
What about when your old job owns the code? (Score:5, Interesting)
And therefore taking it with you would be illegal?
Re:What about when your old job owns the code? (Score:5, Insightful)
If a job applicant came into my office with another company's work product on their laptop (and I knew/they told me it was something they weren't supposed to have) two things would happen.. 1) I would make sure they understood that I wouldn't be hiring them because I couldn't possibly trust them not to do the same thing to me and 2) I would let management at the other company know.
Re: (Score:2)
I would let management at the other company know.
I certainly wouldn't hire such an applicant (and would tell the applicant why), but whether or not I let the other company know depends on how sensitive the code appears to be. If it's just mundane stuff, I probably wouldn't bother. If it's clearly the sort of code I wouldn't want being shown around if it were mine, I probably would.
Re: (Score:2)
Point number one is sound and logical practice. Point number two is just silly. You competitor has bad unreliable programmers, yeah, yahoo (heh, heh), yippee kiyay mother flocker. I would also write non-negative references for employees you are trying to unload on competitors. I would also use surreptitious methods to direct crappy customers to competitors and If I could catch out a competitors fraud or criminal practices I would report it to the authorities. I would ower zero loyalty to opposing companies,
Re: (Score:2)
Point number two is just silly. You competitor has bad unreliable programmers, yeah, yahoo (heh, heh), yippee kiyay mother flocker. I would also write non-negative references for employees you are trying to unload on competitors. I would also use surreptitious methods to direct crappy customers to competitors and If I could catch out a competitors fraud or criminal practices I would report it to the authorities. I would ower zero loyalty to opposing companies, they are the enemy, I would doubt the loyalty of staff who did not publicly share the same attitude. That, direct shit customers at a specific competitor, might take a while to pay off but it is a funny as fuck when it does (two for one, bad customer dealt with and bad competitor dealt with, mwa hah hah).
No... Just no. It's one thing to be a competitor with another company; to respect them to the same degree that you respect yourself, and to attempt to gain more revenue/customers/profit/etc, through self-improvement(and advertising, of course), both despite and because of that mirror image. It is a completely different thing to view them as "the enemy." Viewing competition as an "enemy" is simply sociopathic, which coincidentally is also an apt description for the treatment you're suggesting for your ow
Re: (Score:2)
>> If I could catch out a competitors fraud or criminal practices I would report it to the authorities
The authorities, in general, do not care. It usually takes a civil suit to punish a copyright violator.
> Viewing competition as an "enemy" is simply sociopathic,
Many successful business practices are, including monopoly abuse, insider trading, and pyramid schemes. This does not make rare.
Re:What about when your old job owns the code? (Score:4, Interesting)
Would you fail to turn in a thief because they might get in trouble if you did?
Re: (Score:2, Insightful)
Think of it this way:
1) You won't get caught. The company interviewing you most certainly won't tell the other company that you shared code, and as long as you just show it to the interviewer on your own machine (not give them a file with the code) it won't escape into the wild, so you have nothing to worry about.
2) True, the company you are interviewing for many get a few ideas from what you showed them. But regardless, they would have to code it themselves (see point 1), and secondly, if the original company had management issues like that, it's almost their karma for treating their employees like that (should have trusted them more, in which case they would have stayed and not shared code).
You are the worst possible kind of candidate for a job in IT. No ethics, no pride, no class. Those are not things you can learn, you were simply born with a few missing parts.
You don't belong in IT but you probably have a future in used cars sales or marketing. Time to pivot, my friend, otherwise it won't be long before your name circulates on the informal do-no-hire network.
Re: (Score:2)
Think of it this way:
1) You won't get caught. The company interviewing you most certainly won't tell the other company that you shared code, and as long as you just show it to the interviewer on your own machine (not give them a file with the code) it won't escape into the wild, so you have nothing to worry about.
2) True, the company you are interviewing for many get a few ideas from what you showed them. But regardless, they would have to code it themselves (see point 1), and secondly, if the original company had management issues like that, it's almost their karma for treating their employees like that (should have trusted them more, in which case they would have stayed and not shared code).
You are the worst possible kind of candidate for a job in IT. No ethics, no pride, no class. Those are not things you can learn, you were simply born with a few missing parts.
You don't belong in IT but you probably have a future in used cars sales or marketing. Time to pivot, my friend, otherwise it won't be long before your name circulates on the informal do-no-hire network.
But he would have made a hell of a good PLUMBER [wikipedia.org] working for Nixon. It seems what is happening is that morons with no scruples have a much easier time climbing the ladder of politics and even other places that rely upon employees with no scruples.
Instead of IT this guy would do well with companies like ENRON or just about any of the other garbage organizations that hire people of his ilk. He should however avoid the mafia and the respected organized crime corporations, because unless he has at least a pract
Re: (Score:2)
write your own samples (Score:4, Insightful)
Generally, code that you wrote for pay does not belong to you, so you won't be able to submit it as a code sample anyway. So write some open source software, and write it as well as you are able. Then you can submit that.
Re: (Score:3)
Generally, code that you wrote for pay does not belong to you, so you won't be able to submit it as a code sample anyway. So write some open source software, and write it as well as you are able. Then you can submit that.
exactly, unless you have explicit permission to share and show that code from work it aint yours to show to a new prospective employer. If you need code then contribute to a open source project or write something at home that demonstrates your good coding practises. I have moved out of coding now but when I did I always demonstrated home projects as I don't have the right to keep let alone show code I wrote for other employers.
Re: (Score:2)
It's also distributing copyrighted material
Re: (Score:2)
Came to say this.
1. Your company's code is your company's code. You don't get to hand it out.
2. What would be the point of showing them a page with a bunch of code written by some else?
Write your own code... an API, a full (simple) app, whatever. Document it well, attribute any help from others, put it on Github, host it somewhere like AWS, Google Cloud, or Heroku if you want 'live code'.
Re: (Score:2)
able to contribute on a team
Bingo. That is what you need to demonstrate. If there's no open source project you have contributed to, and if you're allowed to share the crappy code from your last employer, give them that... along with an explanation of what you think is wrong with it. Stick to what matters and don't run your mouth about how shit the CTO of your last place of work was, just explain the issues with the code, and (if they ask) explain the circumstances of why the code is the way it is, and how you were not in a position
Re: (Score:2)
I'd recommend contributing to the Rust programming language project. It is one of the friendliest and most welcoming open source communities I've ever dealt with. Their code of conduct helps ensure it stays a friendly and welcoming project, too. Plus you'll get to collaborate with some of the most talented programmers to have ever lived. Rust is one of those open source projects that can change your life in excellent ways.
What about systemd, the high-quality init system that powers most of today's servers, as indicates the name of its website (freedesktop.org)
When all you have is a hammer (Score:4, Insightful)
When the only tool you have is a hammer, everything looks like a nail.
What would you think of a handyman whose answer to everything is "use a ball-peen hammer"? You might notice that's the only tool he has, a ball peen hammer. No screwdriver, no wrench, just a ball peen hammer.
Rust is like a ball peen hammer. There are a few jobs for which Rust is the right tool. For 98% of programming needs, another common tool is clearly a better fit. The limited memory safety Rust fanbois are so proud of is also true of EVERY interpreted language going back to the 1950s.
You newbie fanbois sound like if a Ford afficiando went on and on about "Ford trucks have FOUR cup holders!". The advantage you're so proud of is neither particularly uncommon or all THAT damn important.
In fact, it makes YOUR code less safe because you think that because the language eliminates ONE small class of errors (the same errors every interpreted language also protects against), that means you're safe and don't have to be careful. That's like if you have a great lock on your glovebox, so you leave your damn car unlocked while screaming "nobody can steal stuff from MY glovebox". Well, you're missing most of the risks while ranting about protection from one small category of risk.
Ignore them (Score:5, Insightful)
Most job applications ask for links to live code
In nearly all companies, what you wrote as part of employment is owned by the company. So asking for live code from job applicants is no different from asking for trade secrets, and there should only be one respond:
"It is both against my ethics and my employment contract to show any of my employer's code to you, but I can tell you my code is being used in production capacity in my employer servicing business function X, Y and Z. I am happy to provide codes which I do own so you can judge the quality of my work."
Essentially, you ignore the unreasonable requests and provide a reasonable alternative. Any company that rejected you for that, you wouldn't want to work there anyway, who knows what further unreasonable/unethical request you would get if they became your boss.
Re:Ignore them (Score:5, Insightful)
Actually, the only correct response is to hang up the phone.
Employers might ask you if you have any open source code on GitHub or something, but beyond that, no legitimate employer should ask for examples of recent code unless you're a new college hire, for precisely this reason. Forget about whether they would still hire you if you say no. Any employer that even asks should be immediately disqualified from consideration.
Ethics Question to be Respectfully Answered (Score:2, Insightful)
dgatwood,
I could see an employer asking this question as a way to ascertain what the applicant's moral character is.
I thought the response by khchung was perfectly worded - you're not going to violate any laws or ethics by providing a previous employer's intellectual property. But, you're happy to provide samples of your own work that you have created on your own.
If a programmer can't provide code they've written on their own, I would tend to doubt their skills in exactly the same way I would doubt the ski
Re: (Score:3, Insightful)
I haven't kept a practice log since I was in elementary school, and I don't know very many musicians that do. That doesn't mean we don't practice. That said, I'm assuming your intended poi
Re: (Score:2)
So you wouldn't hire a Cobol programmer if he didn't have his own mainframe is his garage? Would you hire an aircraft mechanic who didn't have a personal 747 to tinker with?
Re: (Score:3)
Actually, the only correct response is to hang up the phone
Not quite. These kinds of stupid questions are often asked by HR drones and often don't in any way reflect the operation of the company itself.
Re: (Score:2)
Bull shit. Those companies are paying their salaries, so they clearly support their actions (in the only way meaningful within capitalism, let alone by a corporation. When you do something for money for someone, you represent them. This is not hard. Neither people "just following orders" nor corporations "unaware of the actions of their employees" deserve a free pass, period.
Here is a suggestion for cleaning up corporate malfeasance: hold managers legally responsible for the actions of their employees, and
Whoops (Score:2)
Suggest multiplier less than 1. That's what I get fore trying to be terse since I an on my phone due to fire related internet outage
Re: (Score:2)
Bull shit. Those companies are paying their salaries, so they clearly support their actions
Depending on the size of a company there's a lot of people getting salaries without anyone ever knowing what their actions were, and this is especially true of departments so completely isolated from operational matters (about the only thing a company ever focuses on) as HR.
People go to HR with problems. People don't go to HR to review HR.
When you do something for money for someone, you represent them.
True, but only as far as your own area of competence. If a legal employee asked that question then you can start questioning the company. If some HR drone who's never talk
Re: (Score:3)
I wouldn't hire you without seeing code licensed under an appropriate free software license. I would never hire a proprietary software developer period. You people make me sick. Isn't being paid for your work sufficient? Nothing my company produces will ever be proprietary.
"Donnie, is that you? Your chicken pot pie is getting cold."
- Your mom, calling from upstairs
Not so fast (Score:5, Interesting)
I work for a respectable company and all our code is Apache licensed (open source) and publicly available. Anyone can see my code.
Let's not jump to conclusions and assume that OP is breaking the law.
That said, my advice to OP is to contribute code constantly to open source and free software projects. This is very impressive to employers for various reasons: 1) it displays your passion-driven, good quality code, in projects that you yourself chose, 2) it shows your delight in code itself, rather than profit, 3) it proves you're ambitious enough to work after hours to further your career.
I hire people, and let me tell you that people listing several open source contributions (including their own independent open source projecs) always jump to the top of the stack.
Re: (Score:2)
This. Plus bring some of your attitude with you. The people who write the job adverts are probably HR drones or recruiting consultants, and not the people who will interview you, or work with you.
I remember being given a coding test as part of a job interview. One of the questions involved parsing a long expression in 'C' without brackets. My reply was (a) no-one ought to write code like this; (b) I can probably remember or guess the precedence for the weirder operators, such as bitwise XOR, but I wouldn
Re: (Score:2)
I can probably remember or guess the precedence for the weirder operators, such as bitwise XOR, but I wouldn't trust my memory
I can mostly remember precedence operators for the main languages I've used, but when you've created production code in 7 languages and played around in half a dozen more, it's pointless trying to remember them all.
So add the brackets. Make precedence explicit in the code and it's easier to read, easier to edit and easier to validate. Even if it's someone else's code.
Create the "Not a Hotdog" App (Score:2)
Lots of good points about the possible legal issues of pointing to your existing/previous employer's code from the perspective that a) you don't own the code, b) your disparaging a company's product (which you may not be allowed to do because of past employment agreements) and c) I'm not really sure that you can easily prove that you wrote it in the first place.
Instead, if you think you're a Hotel Sierra coder, create a relatively simple app - it doesn't have to be brilliant in concept but use it as an oppo
It's not avaliable! (Score:2, Insightful)
Simple answer: you can't legally share your code.
If they balk, tell them they are being unprofessional.
In 32 years I've never been asked to provide code. Good thing with the number of NDA's I've signed.
If they're asking you to write a code sample, that's a different story. Make something up.
Rate a musician based on his band? (Score:4, Interesting)
This is a re-iteration of a reply elsewhere in this thread.
I think a reasonable analog would be in terms of musicians - would you hire a musician based on the work of the band they were in or would you want them to audition for you?
The obvious example would be if you were hiring a musician based on them being an ex-Beatle would you be as happy with a Ringo as a John, Paul or George? How would you feel if you got George based on what you heard in the albums and later found out that Eric Clapton played some of the guitar attributed to George on the albums?
As an employer, I would want to see what the applicant could do as an individual contributor to show that they have the required technical chops and then use the interview process to determine whether or not they fit in with the company/team.
Doesn't matter if it's a musician or coder.
Re: (Score:2)
if you were hiring a musician based on them being an ex-Beatle would you be as happy with a Ringo as a John, Paul or George?
Trick question. Do you mean the real Paul McCartney, or the guy they hired to impersonate him after his death and who turned out to be immensely more talented than the real Paul?
Have a hobby project (Score:2)
Code samples don't have to be from your job. Have a hobby programming project, and use that for your code samples.
Re: (Score:2)
Code samples don't have to be from your job. Have a hobby programming project, and use that for your code samples.
Or: use it as a filter to remove companies that suck. Which is sadly, apparently most, but it's worth doing. Providing code samples for all but the lucky few requires a seriousl legal and ethical breach or requires you to basically not have a life outside code.
Most pros I know do their coding at work then relax in their time away doing something else most of the time.
Re: (Score:2)
Is your hobby (say, html5 games) relevant to the job you're doing (e.g. stock control) and the job you're applying for (e.g. warehouse automation)?
If it isn't there's not much point showing it.
If it is then it's not much of a hobby.
Give anecdotes (Score:2)
You don't have code samples, but what you do have are a very particular set of skills. Skills you have acquired over a very long career. Skills that make you a nightmare for bugs in other peoples convoluted code...
Few people get a clean environment in which to create pristine code from scratch, be proud of how you have shone a light into some dark places, made things work where others couldn't find the problem and made the world a better place one line of code at a time
Oh, and for sure write some of your ow
Useful, Secure, Familiar (Score:2)
1) Write code that solves a problem. In your job, you must have thought a few times, "Someone should write code to that does such-and-such." Ok, for your project, write that code. The interviewer will be more interested in your code, if they want to use it themselves.
2) Make sure that your code is secure. Don't tell the interviewer, "This code assumes that the input data has previously been checked." No - your code should check the input, and reject any bad input.
3) Before the interview, make sure that you'
You need to offer something (Score:3)
We got six bites for the position through our usual staffing firms. Three were kids barely old enough to go drinking with, so they're out because we needed someone to work, not to be taught to work, and three guys with about a decade plus. All three had impeccable resumes.
The first guy could barely figure out which way was up on the pages I gave him. The second figured out which side of the page was up but promptly got more than half the questions wrong. The last one promptly got slightly less than half the questions wrong. That's the guy we went with, and we lucked out because he learned quickly and has done good work for us.
The first guy, in the process of revealing to us that he couldn't tell C++ from a hole in the ground also came up with this gem among his many grumblings: "This code test is awful! You could get someone at way less than my rate to come up with it!"
The moral of this story: we've all interviewed Guy Number 1 at some point in our careers. Complaints about other people ruining your work and not being able to provide code samples because whateverwhatever will set off alarm bells. You need to prove you can code by yourself. If that means something as simple as maintaining a personal webpage where you just experiment with stuff, do it. If that means contributing to OSS, do it. If that means offering to take any and all code tests during an interview, do it. But what you don't want to do is start the interview with whining and complaining. Even if you're right, you'll be lumped in with all the jackasses that are all bluster and no technical competence and you won't even make it to the interview.
Relax (Score:2)
In many companies even the meaningless codename of the project you worked on is under NDA. Do what everyone else does and just describe what you did in vague terms like the technology used, and value to the company. Yes, it may have been a mess, but it was used by the client and may have delivered millions in value to the company. That's what matters in this industry. There are many total garbage pieces of code out there that rake in gazillions for companies. Also, there is an enormous amount of developer j
Re: (Score:2)
I don't get it (Score:2)
What does your current employer think of you sharing _their_ code with the competition?
Will your potential new employer not think that you'll steal _their_ code as well to brag for a new employment down the line?
Contribute to free software and open source (Score:2)
Many, though not all, workplaces will work with you when you sign their employment contract to exclude company ownership of previous free software and open source software. Many, though not all, will also work with you to allow you to publish patches to the upstream owners of copyrighted free software, to avoid GPL confusion and to get the patches into the next official release. If your current workplace isn't clear about permitting such work, spend an hour with an attorney familiar with intellectual proper
What a strange question (Score:2)
How about "you write better code samples"? I guess I must be some kind of genius to figure that one out. It's either that, or the OP facing some mental challenges.
It's not a good idea to show samples from work anyway. At the very least you need to ask for permission, and that tends to start a process that ends with you leaving, whether you have a new job lined up or not.
do your own work... (Score:2)
1) you shouldn't be showing ANY code samples from a current job (unless it is open-source licensed). that stuff is proprietary and for many companies, HIGHLY confidential. It leaks copyright, and possibly potential patentable materials. In most big companies, that's grounds for more than just getting fired, but getting sued, too.
2) this is why you should be doing your own "home" projects. make an app, a back-end, a docker instance, anything, that you can share that is yours...especially if you open-source l
Give them samples anyway. (Score:2)
Specify in your cover letter that you have to give samples because the back-end stuff, where you were able to follow best practices, is owned by your company and your front end code wound up going through a process that pretty much turned it into garbage. Give them links to the stuff you worked on that is live, but also the samples, and you'll be on your way.
If you're any good - I mean, literally, if you have a pulse and don't scream and hurl feces during your interview and demonstrate that you know at leas
On first glance my code samples suck ... (Score:2)
... but if you can't infer my skillset from my code and what I have to tell about it, I don't want to work for you. If you judge my skills by the amount of commits or the amount of lines in a given set of repos, you're an idiot, plain and simple.
With modern PLs there are as many coding styles as there are coders. We get into religious wars over indent, bracketing and tabs versus spaces. Any judge over my code who isn't aware of this bias inherent to all of us is utterly unable to judge code at a cursory gla
Lots of People Have Github Repos (Score:2)
"Most job applications ask for links to live code" (Score:3)
Re:Share the backend code? (Score:5, Insightful)
If a job candidate walked in and handed me proprietary backend code from his current employer, you can pretty much be guaranteed that he wouldn’t be getting the job. Aside from the obvious legal concerns, how could we be expected to trust that he wouldn’t do the same thing later with our code?
Re: (Score:2)
If you are a contractor then they don't own your code. Even as an employee you still own the moral right to your code.
Sure, if a candidate handed me thousands of lines of proprietary code and said 'here ya go' that would be a problem but no one is going to chuck a cow about 50 lines of non specific code he'd anonymized to demonstrates a grasp of the language, it's not like he is handing over the plans to the death star.
Having said that, it's not a very classy move. He should be showing better preparati
Re: (Score:2)
Even as an employee you still own the moral right to your code.
Are you a former Uber employee?
Re: (Score:2)
If you are a contractor then they don't own your code.
That depends on the contract. Every time I've done contract work, I've signed a "work for hire" agreement, which means the client owns the code I produce. It would be pretty crazy for the client not to require this, in my opinion.
Even as an employee you still own the moral right to your code.
Say what? How do you figure that?
Re: (Score:2)
If you are a contractor then they don't own your code.
That depends on the contract. Every time I've done contract work, I've signed a "work for hire" agreement, which means the client owns the code I produce. It would be pretty crazy for the client not to require this, in my opinion.
I think you have to be crazy to accept such a term as it prevents re-use and is counter-productive to the entity I am contracting to. I point out to them that agreeing to that term prevents me from deploying code I have already written because it provides them a claim over previous works on MY intellectual property that already exist and I deploy. How would I explain that to a previous employers who didn't ask me to sign away my rights that they could no longer use parts of my code that were used to meet
Re: (Score:2)
No it doesn't. If I do work in 2018 for Foo Inc under license X that has precisely zero bearing on stuff I did in 1999 for Barcorp under license Y. How the fuck
Re: (Score:2)
I wouldn't hire you as a contractor without the ability to fully use, deploy, update and if necessary sell the code you write for me.
If you want IP ownership over it then we can negotiate on that, but I'm not paying you a licence fee unless you're providing me with a working solution out of the box, warrantied and with 24/7 support over the lifetime of the software. Good luck meeting my needs on that.
Re: (Score:2)
If you're a contractor, being paid for time, you don't usually own anything you produce while you're being paid, it will be in your contract.
Re: (Score:2, Insightful)
If you're a contractor, being paid for time, you don't usually own anything you produce while you're being paid, it will be in your contract.
So what? With a common law contract (at least where I am) the default position is that the contractor owns the intellectual rights to their code. You have to ADD that condition to a contract to override the common law position.
So with one stroke of the pen, whilst I read the contract, it is gone and the onus is on them to agree or explain why the common law position is not acceptable and we are back to rate negotiations. I think you need to learn some negotiation skills and to not be a pussy. Keep you
Re: (Score:2)
Yeah, that's why they do that.
And so are you, snowflake. Be sure the boss will have a good laugh about it with his golf buddies.
Re: (Score:3)
So with one stroke of the pen, whilst I read the contract, it is gone and the onus is on them to agree
That's not how contract law works. Unless they initial the change, the presumption will be that they didn't read your alteration, and therefore it isn't binding. Remember, they'll have real lawyers.
That being said, they may well agree to the change, especially if you word it such that you'll be using open source code in places, and such code including changes will remain public. Some very big contractors use exactly this approach (and then don't share their changes with the larger community, but that's a
Re: (Score:2)
> If you are a contractor then they don't own your code.
Jesus, what? Contractors don't own their own code, you're really badly misinformed.
Re: (Score:2)
It's not a matter of law, it's a matter of industry-strandard boilerplate contract terms. You might find some small company being stupid, but any of the large ones will have a work for hire clause which does not allow you ownership rights to your code. Period. And a good chunk of them will tell you to pound sand if you try to negotiate that.
Re: (Score:2)
If you are a contractor then they don't own your code. Even as an employee you still own the moral right to your code.
The most common situation is that you wrote the code as a "work for hire", either as an employee, or if as a contractor you explicitly assigned the copyrights exclusively to the employer/client. I don't know what country the OP is from, but speaking to those in the USA, could you provide some explanations (and legal citations to support them) about "moral rights" and how this would allow you to give that code to someone else such as a potential new employer?
Cuz I don't think you can.
Re: (Score:2)
I've written so much code "for me" and for my reuse, this person just leaves me scratching my head. He's written no library work? I'm 40 and I was writing components to reuse back in the 10th grade and started programming in the 4th grade. This person has no excuse for his lack of code.
Precisely, especially if can zero in on what they want you to do. I've got design patterns demonstrated in several languages, like strategy and control in a java script implementation of application controller for front-end stuff because, by all means show them stuff, but you don't want to give them too much as it might be jerks just trying to raid code samples for ideas with no intention of hiring.
Re: (Score:2)
That's silly, you don't look for the one that might bring a few hundred lines of useful code. You look for the one that doesn't have any that he's allowed to share, then assign him a problem to demonstrate his ability.
Re: (Score:2)
I've written so much code "for me" and for my reuse, this person just leaves me scratching my head. He's written no library work?
Indeed. I have over 200MB of code that I have written over the years that is mine. I reuse it in nearly every project. Need to do file sync with UDP? I got it. Need an RS-232 module in Verilog? I got that too. Nobody can say I don't own it, because I do a periodic public timestamp.
To timestamp your work, just create a zip or tgz file of all your stuff, and then do a SHA-256 hash of the file. Post the hash in a public place, such as Facebook, or mail it to yourself or someone else via Gmail or other
Re: (Score:2)
The myth of the "poor man's patent" is still alive in 2017? How quaint!
Re: (Score:3)
That doesn't prove ownership
I don't need to prove ownership, only disprove it.
If the code existed before my job started, then my employer has no valid claim to it.
Proving ownership would only be necessary to stop others from using my code. I have no desire to do that.
Re:Share the backend code? (Score:5, Insightful)
If you're looking for how well they architecture something or solve non-trivial problems, you might need more than 50 lines.
Indeed. I hire people, and I am looking for way more than 50 lines. At least 500 lines. It should be a non-trivial complete program that does something interesting. It is fine if it is something you wrote for a hobby project on your own time. In fact, it is BETTER if it is hobby code, since that indicates passion and a love of coding.
The first question I will ask is "Explain what this program does." I expect you to walk me through it, explaining as you go. It is surprising how many candidates can't do that ... since they clearly didn't write the code themselves. That is great. I love ending interviews early because I then have free time in my schedule.
Besides listening to a candidate explain their own code, I am looking for useful comments, logically named functions that do only one thing, consistently named variables, encapsulation of state, etc. The code should be readable and easy to understand. It should look like it was written by a competent professional who is proud of his craftsmanship.
I am looking for much more than a "grasp of the language". I am looking for a grasp of professional programming principles.
Re: (Score:2)
Listen to Bill. A good employer (one you'd actually want to work for) will look deeper than a front end. They will understand that good programmers often get buried on horrible teams or departments. Explain the situation and explain your code. Show off your understanding and the depth of your commitment to the craft.
And good luck.
Re:Share the backend code? (Score:5, Insightful)
At least 500 lines. It should be a non-trivial complete program that does something interesting. It is fine if it is something you wrote for a hobby project on your own time. In fact, it is BETTER if it is hobby code, since that indicates passion and a love of coding.
Unless you're working on web front end stuff, or open source projects, people aren't going ot be able to share any of the work they've done. If you're then relying on hobby projects, you're restricting yourself to certain types of personality and you're going to miss a lot of great people.
Some of the best pogrammers I've known work had and well during work hours then switch off afterwards, meaning they don't have any hobby projects. I also disagree that to have a passion for something you have to live and breathe it 24/7.
Re: (Score:2)
I also disagree that to have a passion for something you have to live and breathe it 24/7.
But the converse is true.
Re: (Score:3)
So you are claiming that there are "great programmers" that have never done hobby programming, do not contribute to open source, have never written a single professional program that they are allowed to share, have never written a
That's not exactly what I said, but the practical results are the same: yes.
First, let's get the silly bits out of the way:
never written a single professional program that they are allowed to share,
Plenty, probably most.
have never written a program as a school assignment,
lol. Unle
Re: (Score:3)
I am twice your age.
Pedant point: I said I was in my 30s, not that I was 30. So,you're between 60 and 80-epsilon.
I have every program I have ever written.
I most certainly do not!
Plenty of the stuff I've written I've had absolutely no right to do that since it belongs to someone else. Plenty of programmers spent their entire careers in the commercial world and won't have copies of their code. And if they do when they shouldn't, you probably shouldn't hire them!
I learned to program in Fortran in the 1970s.
Re:Share the backend code? (Score:5, Insightful)
I've never taken code from a previous job into a job interview. If I have access to that code, I'd be betraying trust by copying it and giving it to someone else. If I don't have access to that code, I can't anyway.
I have had a job application where a programming challenge was emailed to me with a three day deadline for completion, and sent back well structured working code, compilation instructions, a build script and working unit tests. I got called straight in for interview.
That seems reasonable to me; the programming challenge was a specific scenario so you couldn't search stack overflow for code examples (although this was in the days before stack overflow anyway), it let me demonstrate that I could program to a professional level, and it didn't require to me share any code that may belong to someone else.
Indeed. I hire people, and I am looking for way more than 50 lines. At least 500 lines. It should be a non-trivial complete program that does something interesting
I couldn't have done that. My professional work was in a team environment, where my code was part of a greater whole and a 500-1000 line excerpt might do an awful lot but certainly didn't compile and run standalone.
Shit, even my hobby code has that characteristic. Ask Linus for 500 line of his code and see if you get a complete fucking program back.
Re: (Score:3)
Why would he post a link to a great job on Slashdot? So he can get inundated with inquiries from bitter jackoff Anonymous Cowards like you?
Here on Slashdot, you can surf the comments at +1 if you want to avoid the tsuris, but you can't post at +1.
Who needs
Re:Share the backend code? (Score:4, Insightful)
Here on Slashdot, you can surf the comments at +1 if you want to avoid the tsuris, but you can't post at +1.
I think you can actually.
Re: (Score:3)
I'm not talking about posting using a karma bonus. My point is that there's no way to post only to people who have accounts with ratings >0. As far as I can tell, there's no way to do that.
Re: (Score:2)
Sounds like chemistry simulations. Just calculating the electron configuration around a molecule requires solving the energy states for every electron, and that can only be done iteratively. Every generation of chemistry engineers have come up with their own optimized algorithms of the time. Each would get a name like SOCHEMOL91, named after the paper/publication/year. Currently they are using VASP, which is the GPU version.
Re: (Score:2)
Re: (Score:2)
> Microsoft and google would both show you the door the second you handed them code belonging to another organisation
If the intellectual property is worth enough, the door they show you is a door to the senior management offices and, apparently, your own parking space. Microsoft in particular hired David Cutler to design their next operating system, and he brought core software and his old team from DEC to write NT.
Intellectual property theft is a way of life for many powerful companies. I'm afraid that
Re: (Score:2)
If a job candidate walked in and handed me proprietary backend code from his current employer, you can pretty much be guaranteed that he wouldn't be getting the job.
This.
I've had candidates do that before, but it's rare. (That I could tell -- obviously, it's not always possible to tell). When it's happened, I've asked for the written release from the employer saying that they are allowed to share the code. If they have one, that makes them even more appealing. If they don't, they aren't getting the job.
Re: (Score:2)
Exactly...
If a prospective employer wants code samples, work on some open source code during your spare time and release it for people to see.
Tell them you cannot disclose any samples from your employment because your employer won't allow that.
Re: (Score:2)
Nothing says you can't share that.
Nothing except copyright law and the NDA he signed at his current job.
Re:Share the backend code? (Score:5, Insightful)
Which means that you should contribute to open source projects now and then just to leave some traces of your worth.
Or even develop some demonstration application that you can show. Doesn't really matter what.
Re: (Score:2)
Right - go find a project you use that uses the tech you know and look for their 'up for grabs' issues. Contribute. Keep in mind that your professionalism on the issue tracker is going to be more important than your indent style on the code, as long as your algorithms' runtime is correct.
Re: (Score:2)
More importantly, you're not trying to walk the edges of copyright law here; you're trying to impress the next guy who's going to give you access to their codebase.
Re: (Score:2)
stop dreaming of being a video produce.
Everybody dreams of being a video produce, but in Soviet Russia, produce video you!
Re: (Score:2)
stop dreaming of being a video produce.
And here I was, thinking this guy's fantasy was to be lettuce in a TV documentary.
Re: (Score:2)
Who's Chris
WE'RE ALL CHRIS
Re: Well, Chris, here's what you do (Score:5, Insightful)
Re: (Score:2)
Chef/Puppet
2010 called, they want their unreliable, kludgy alternatives to Ansible back.
Re: (Score:2)
You want a pull, image-based deployment strategy? Docker.
You want a push, idempotent playbook deployment strategy? Ansible.
You want something heavy that requires a client on each machine, and that requires a central database that poorly scales and that easily gets out of sync? Chef/Puppet.
Of course if you've learned your Devops skills in 2010 and can't be bothered to upgrade yourself, feel free to stick with Chef or Puppet. Or why not Microsoft SCCM or IBM Maximo while you're looking at obsolete junk?
Re: (Score:2)
You want a pull, image-based deployment strategy? Docker.
You are doing it wrong then. Docker is for partitioning physical hardware without having to pay the I/O overhead of virtualization (which is about 75%). Image based deployment is dumb but if you want to do it, Packer is better as you don't waste so much time moving image diffs over the network that way. The issue with image-based deployment is the need for a central registry to make it all work and that makes testing a PITA. Its a classic case of operations wagging the company. The most poorly managed
Re: (Score:2)
Hmm. Immutable docker images are a beautiful way of assuring consistency through dev/test/prod, across different on and off premise hosting locations, at client sites and when scaling horizontally.
They have downsides, but they're pretty much fuck all to do with partitioning physical hardware.
Re: (Score:2)
The fact that it's also a hardware partitioning strategy is still important, though, for the lack of security it implies between containers.
Re: (Score:3)
Perhaps you should stop hiring them off a street corner.
Re: (Score:2)
Re: (Score:3)
I have to agree, I see more excuses then actual proof that you can write good code. In short for most organizations the ability to write perfect code is nearly impossible. The aspects of what is considered good code are mostly academic and abstract in nature, rarely consider real world problems, such as speed to delivery, compatibility with legacy systems, having to try to justify to share holders why there isn't any visible change to the product...
As someone who had started out as a programmer and had adv