Ordinarily, this would seem like a no-brainer, but maybe not...

I am a college student currently applying for a summer internship at a company where I would be doing a lot of software development with a team of interns. As part of the application process, I gave them a link to my GitHub profile.

As a hobbyist developer, I've worked on a large variety of projects, including writing a shell for the esoteric programming language BrainF*** (except the actual name doesn't contain '*'s). This shell showcases some of my best work as a hobbyist developer. It's written entirely in cross-platform C code, uses the GNU Build System, and is the only project on my page which has these traits. On the flip side, it's also the only project I've ever released under the somewhat vulgar WTFPL license agreement.

Naturally, as soon as I realized I would have to share my repository link with the recruiting team, I made my BrainF*** shell a private project, thus hiding it from public view, but I'm still not sure that this was the best idea. Should I leave the project hidden to seem more professional, or should I make it public again to showcase my diverse skill set?

I decided to hide the repository during the candidacy process. Whether this made any difference or not I'll never know, but I did get the job, and I've now made the repo public again.

  • 1
    @Aoradon it's a BF interpreter/shell, but it's written in C.
    – user100524
    Feb 25 '19 at 23:06
  • 7
    @joeqwerty there's a chance I could censor it, but BrainF*** is the proper name of the programming language I designed the shell to operate on, so renaming it to something else would make it much more difficult to understand what it actually does.
    – user100524
    Feb 26 '19 at 0:38
  • 3
    If you're sharing it with potential employers you should consider it an extension of your resume, and you wouldn't use the F-word on that now, would you? Feb 26 '19 at 1:59
  • 5
    The reason it is called Brainfuck is not to curse at people, so there is no need to censor it. Have you taken a moment to look at how programs in that language look? If you have, the name makes perfect sense.
    – Brandin
    Feb 26 '19 at 18:32
  • 4
    FWIW when I read the title my knee-jerk reaction was "absolutely, unless they are talking about BF"
    – Summer
    Feb 26 '19 at 18:47

Leave it hidden.

It really is not appropriate in a corporate business setting and it is even worse to have as a first impression.

Some people might not mind but others might be completely offended and repulsed by it. You have no way of knowing how someone will react so the safer bet is to not go there.

  • 39
    Personally, after 20 years in the industry, I would never choose to work for a manager who is offended by a good bit of BF. On the other hand, I probably can afford to be more picky about my employers than a new grad can. In your situation, I'd probably wait for the interview question about personal projects to mention you've written an interpreter shell for "an esoteric language with an impolite name". Use the reaction to judge how much more you should share.
    – AShelly
    Feb 25 '19 at 22:59
  • 6
    @AShelly good point but you gotta remember in some corporate environments even opening that page on a web browser can activate their IT blocking systems and cause problems about why they were trying to access a website with that in it. It is best to err on the side of caution.
    – solarflare
    Feb 25 '19 at 23:13
  • 2
    What @solarflare says especially true for companies like the one to which OP has applied.
    – Blrfl
    Feb 26 '19 at 0:54
  • 3
    -1 Brainfuck is the proper name of the programming language, not something OP named, and demonstrates their programming capabilities as, in OP's words, it "showcases some of my best work". You are choosing to hide it based on speculative concerns that management will be offended by a word, vs the upside of realising how talented the OP is. It acts as a good filter for the programmer too, because do you really want to work for an employer that discriminates based on the name of a programming language you used?
    – Roy
    Feb 26 '19 at 17:09
  • 3
    Everyone is missing one important point: HR will see this as well, do you think they will share the same enthusiasm as a developer?
    – solarflare
    Feb 26 '19 at 21:40

It's the official name of the programming language.

List it as such in quotes and explain that it's an external language you write code in.

No need to hide it nor to censor it.

  • Great idea but what would a HR staff member think?
    – solarflare
    Feb 26 '19 at 21:39
  • 1
    @solarflare if they can read, they'd understand.What should they think? It wasn't OP's decision to name the language.If not, I wager OP probably doesn't want to work there anyways...Also quite frankly, outside of the U.S. and maybe Canada, that "F-word", it's not that big of a deal.So it depends where OP applies. Feb 26 '19 at 22:21
  • I'm in Australia and outside of work the F word (amongst friends at least) is part of my everyday vocabulary. But in the corporate world it is a huge no-no. If I were to receive an application with that being showcased as a great skill I'd honestly think the applicant was an idiot and probably not a good fit for the corporate office environment. Smaller companies might not mind. It is highly subjective. I've seen a guy get knocked back on his application because his email address was 'flexit@...'. He was a bodybuilder and was deemed to be unprofessional (ie an idiot).
    – solarflare
    Feb 26 '19 at 22:28
  • 1
    @solarflare it's true that in work environments that is to be avoided (though only to cover their behinds from lawsuits mostly) but OP is not throwing it into the conversation. It's the official name of a programming language and as such is (should be by rational minds) exempt from being a curse word hurled at you. I agree though there might be people who think otherwise but I'm convinced they're the "idiots" as you say, for dismissing a developer who is capable enough to work with such a language...oh and they need to grow up... Feb 26 '19 at 22:52
  • 1
    The fact that it's the official name of the language doesn't magically turn it into a non-offensive name.
    – user1602
    Feb 27 '19 at 8:04

Definitely keep it. It's an excellent demonstration of your software engineering skills, and a filter for companies you don't want to work with. You obviously like esoteric programming, don't you want to be with like-minded coworkers?


I say leave it. Programming is programming, whether you use Java or C or Golang or Brainfuck. It shows what you can do. In fact, programming in Brainfuck is arguably better because of how limited the language is and how difficult it is to do even the most simple of operations (iirc "Hello World" is like a 50-line program in Brainfuck).

If you would like to mitigate the possible repercussions of having the F-word on your GitHub, you can add a link to the Brainfuck website in your README files for your Brainfuck projects. Then, if some recruiter wants to know why you have the F-word on your GitHub, they can click the link and look at it. To be honest, if a recruiter is going to pass over an engineer capable of working in Brainfuck over the fact that they chose a language called Brainfuck to work in, that recruiter is going to miss out on a lot of very capable talent. I personally once wrote a Brainfuck interpreter (in Java), although I regrettably never published it to my GitHub.

  • Technically, it's still only a one line program... ;) Feb 26 '19 at 20:19
  • 1
    It's a one-line program in the same way that the entirety of the Google codebase is a one-line program. One, VERY LONG, line ;-)
    – Ertai87
    Feb 26 '19 at 20:20

Hide it. Here’s why…

It’s a risk/reward scenario where the main considerations are: who will see it; how will they react; and what will it accomplish?

Odds are resume crawlers, recruiters and HR people will never dig into GitHub and hiring managers lack the time to do hours of research. They have multiple candidates, a day job and you already know they’re short-handed. So yes, it’s unlikely it will be seen before you get to talk to someone and frame it first. But of those who might, you run some risk of being weeded out before the content itself is ever considered. So there’s little benefit to having it available.

To how would someone react, that first impression won’t be forgotten. Yes, most won’t care, but until you get a chance to have conversations, why run any risk of removing yourself from consideration.

As to what it will accomplish, its esoteric nature makes it unlikely they’ll dig in to really the beauty of your accomplishment. So their main takeaway will be the name of the language.

Once you can talk with them you can frame it as you like. “I wrote this really cool piece, but should warn you the name of the language is indelicate.” Then offer to allow them access as you see fit. Until you get a call, your goals are to stand out quickly and not weed yourself out. Once an actual conversation is opened, you have some freedom. Until that time, tiny things can take you out of the running before your actual skills are ever considered.