Here is a new task by a company, but this time it isn't here in Hungary, this one is an internship abroad (I can't say the name, but I will refer to as the G). The process of the internship until the task was quite easy, just a couple of normal questions and nothing to worry about.
I got the first interview to be with HR. She was asking normal questions to get to know me better. After the meeting with her, I got a link for a task to finish. The requirements were good for me, you can check them in the repository.
The task by itself was easy to be done, the problem is that I don't know what kind of verification they wanted on the input. As this is the first interaction with an abroad company, I wanted to be as professional as possible. So I thought about it as if I were the user and wanted to use the program.
After finishing the code, I went to some of my friends and told them to use it, without any hints or anything about what to do. I noticed how they would interact with the page, some of them would keep adding an infinite amount of input fields (that is why I set the cap to be at 10). I got one of the best pieces of advice while testing "Never doubt the user's ability to be stupid" and actually, it does make sense.
I sent the task, and I got a reply to the email saying that she got it and sent it to be checked, which is actually a good way to keep me updated along the way.
I passed it, and got another link to pick a time for a technical interview, picked the date (for a 30-minute interview) and replied to the HR with it. I think one good thing is that I asked about the vision of the company and a little bit of history. It was good to show that I'm interested in knowing that goes beyond writing the code.
#Check everything
Usually for me before going to a technical interview, I just check the code I wrote, why did I use this and not that. If it is a web role, I try to see their code source on the website and guess if there would be something I could change in their site (it shows that I did my homework), but I have to tell you, that they didn't skip one point.
The start went well, with some ice-breaking questions. After that, he started talking about the workflow in the company, when they do have meetings, and the options to work from home. All of this was good until he went through my GitHub. I'm not going to lie, this is the first time one of the technical team members has gone through my repository and asked "why you did this in this project?". At first I was worried about it, but it gave me the chance to brag a little bit.
He asked me, "What is the most difficult task you have had in a project?" Without hesitation, I explained to him about the gap-fixing part of the thesis and how I did it on the X and Y axes, sketching it with a pen and paper.
Why is it better to take notes with a pen and paper during a meeting?
- It shows that you are totally in the meeting, so you don't have to say sorry that you are typing (thinking that the other person is texting with someone else).
- The typing sound can be bad (especially if you type fast).
- You can sketch anything you want (which was the case).
The time for the meeting should have been 30 mins, but it lasted for 50 mins. It was good to talk with someone with a similar background as me, I even asked him at the end, "What would you change about this thing I made in the task?" I learned a lot from what he explained (as he is the one that wrote the task in the first place), and it shows that I'm open to improvements from the others.
#How it went?
After the 50 min long interview and the task that I had to use JavaScript only in it without any JQuery (I'm not a big fan, but it can make your life easier), I was curious to know how it went, and I got accepted at the end ◝(⁰▿⁰). The G made the offer, but there is a catch, at least for me.
During the process of applying for internships in general, I applied to several places in different countries, I got the offer from The G first, but I was actually having different interviews in parallel with another place. I was more interested in the other position because it is closer to my thesis (AI development) and I got a better offer from them, which meant that I had to reject the offer from The G.
I didn't want to let the offer go without anything, so I recommended one of my friends for it.
If I could state the reasons that I got the offer, they would be:
- I was genuinely interested in the company, so I asked about their vision and their code of standards.
- I had similar projects to the technologies they were using, which showed that I won't be a "white paper" when I join.
- Giving the impression that I'm open for improvements by asking questions back.
- During the technical interview, I was taking notes about whatever they were using, and I said that I could learn them until I started the role.
- The important reason I wasn't worried while talking to him. I tend to see if the other person might give a small laugh (it may not always work, as he was also open to a small laugh on the other side). Take this one with a grain of salt.