“Dangerous Dave in Copyright Infringement”
Tried out GitHub’s Copilot. I was coding my way through the Ray Tracer Challenge. Turn on copilot. Wow. Just tab to complete. Microsoft (M$) shipped this thing? The lawyers let them!?
The Crutch
Of all the dumb things I’ve talked about in interviews, talking about integrated development environments as a crutch, is probably the dumbest. I think the special mix of jet lag, booze, and delays in travel really set me up for anti-success for my Microsoft interview right out of undergrad. It couldnt have been a skillissue.org.
Twasn’t good but here is how it went.
Ready to Move to Washington State
So how do you land a job interview at M$? Well… they come to your campus, if you are going to a college with a decent programming reputation. Once or twice a year they will be there. At the career fair, or just sometimes they setup in the Harris Building at UCF. Then look at your resume and pass you to a very, very, very easy interview on campus.
If you pass, you get free trip to Washington! At this point I bought a copy of cracking the coding interview and pretty much made plans how I’d slice up the company when I was running it. I was surely hired. I’m best programmer I know. Besides Arup maybe.
Hiring Pipeline
Microsoft has one of these impressive hiring pipelines. They send out their jesters into the universities of the world. And send them all back to the mothership. Right away I knew something was wrong, I was overdressed. Though my scrum master look was on point with corduroy jacket. There was at-least a HUNDRED other people interviewing at same time as me. Of course they bussed us all around Redmond. Washington is beautiful.

The Lead Interview
Let’s just skip to the main dude for the coding. I got bussed to a building that was pretty nice and old. It reminds me of a 90s mall. Looks legit though, I could work here.
Meet guy, guy is nice. Indian (not that it matters) — impeccable skills/english/etc a pro. I think he is the lead of his team. Ok, turns out he is running some division of Onenote. Due diligence has not been done, but I do know Onenote, well some of it.
Pleasant meeting start. He is obviously passionate about the tool he creates. We talk multi-player editors and how Onenote was first before google docs in collaborative editing. I point out you can actually see the cursor change in google’s implementation 🙂
Anyways. Leet code challenge.
Order and remove duplicates in a list. Can only pass through list one time, and You cannot allocate any new memory?
Leet Code Challenge 1 – M$ Onenote 2014
Calculating the hash is too expensive (he says), can’t use dictionaries… ugh. I struggle through and think i get a decent whiteboard of flow. But I pretty much try and get more help than the Lead is willing to give me. This is my worst nightmare. Score 5/10 (my scoring) — I feel like there was another gotcha, but I blocked it out.
Coding on Demand
Coding on a whiteboard with no auto-complete, google (at the time), and now no co-pilot. It is a different skill than anything you normally do for the job. Except when you teach people how to code, of course. This is what you are doing when you run code in your head with 2 people, 1 marker, and a whiteboard: The Mind Compiler
This is the opposite of what I do when I try to hire a programmer BTW :*
The Nerd Interview
I get the sense that I failed the first interview, but I have 2 more. He is moving me again to another person on the team. I am in the Onenote enclave i’m realizing.
Ok so I get dropped off with another team member, immigrant from western Europe. Nice older fella. This interview is more personal and we talk about my projects and OpenCV and he is shocked that it has is a C++ API. Dude is living under a rock. But really nice and we both learned something from each other. The coding challenge was tough, but I can’t remember it now. I probably got 9/10 on it.
The Yeoman Interview
Ok so now i get dropped off into an office with no windows. This dude is cookin’ something up in here. Probably building serious shit. He worked in somewhat of a lab. He was closest to my age, although I may have been older than him. The other two were def 10+ years my senior.
He hits me how to see if there is a cycle in a linked list. I wink at him and regurgitate it. We goto lunch. In this lunch I open up about some philosophies.
“I love IDEs but they are crutch” he nods in agreement, but you can see the look in his eyes. I will not fit in here. I can remember it turning quickly. Maybe it was my shit performance in the beginning with the lead. But I only had 3 interviews that day.
I went back to central FL with a story and a fire in my belly.
Back to Copilot
Please understand that I’m not a acc/decc but this technology is not to be taken lightly. Ok so what is Copilot?
GitHub Copilot has multiple offerings for organizations and an offering for individual developers. All the offerings include both code completion and chat assistance. The primary differences between the organization offerings and the individual offering are license management, policy management, and IP indemnity.
Organizations can choose between GitHub Copilot Business and GitHub Copilot Enterprise. GitHub Copilot Business primarily features GitHub Copilot in the coding environment - that is the IDE and CLI. In early-2024, it will also include GitHub Copilot in GitHub Mobile. GitHub Copilot Enterprise includes everything in GitHub Copilot Business and adds an additional layer of customization for organizations as well as GitHub Copilot integrated into GitHub.com as a chat interface to allow developers to converse about their codebase and action buttons throughout the platform. GitHub Copilot Enterprise can index an organization’s codebase for a deeper understanding of the customer’s knowledge for more tailored suggestions and will offer customers access to fine-tuned custom, private models for code completion.
GitHub Copilot Individual is designed for individual developers, freelancers, students, educators, and open source maintainers. The plan includes all the features of GitHub Copilot Business except organizational license management, policy management, and IP indemnity.
I turned it on fully leaded at first. Is this fair use? Hell nah. GPL is viral. You can’t spoon feed off entire codebase like this. This isn’t clean roomed reverse engineering for sure.
Ok so lets try turning on “don’t produce public code” whatever that means.
I was going to make videos, and talk and aand and… just go use it.
Beware.
Admonitions
This copy pasta machine will need to be severely neutered to be useful in a codebase you want to maintain ownership of. The virality of some of the licenses, you will lose control. For instance at the job, we cannot use copilot. Legal will not allow it!
- copy and pasting code is generally frowned on, you should go through the motions to actually type. think and internalize it. just like you are playing a song on a guitar 🙂
- remember: most of us old timers learned by copy pasta from a 1980s tech magazine basic.
- Use the crutch, but walk without it sometimes!