Imagine beginning as a summer intern and ending up as a speaker at an international developer’s conference. That’s just what one Intel intern did.
Is a journey like that even possible?
Turns out, it is. Especially when the summer intern shows passion, engagement, and a curious mind.
That’s the case with Michal Paszkowski, a 17-year old intern, who, over the course of two summer internships in 2018 and 2019, created a canonical form of LLVM compiler representation in cooperation with his Intel buddy, Radoslaw (Radek) Drabinski. Radek, a graphics software engineer in the Visual Technologies Team and served as Michal’s Intel mentor during both internships.
Michal presented their work at the 2019 LLVM Developers Meeting – Bay Area conference in October.
We recently talked with Michal and Radoslaw about how it all began and how their work together led to such a remarkable achievement.
Michal, how did you land at Intel?
Michal: I was 7 years old when I started programming. I read one book and got interested in it. But my interest in compilers was an accident. When I was 13 years old, I didn’t know what to program, so I started with compilers. In 2017, I took part in the E(x)plory Science Contest and came in 2nd place. One of the prizes was a trip to the United States for the International Science and Engineering Fair (ISEF), which was sponsored by Intel. When I was preparing for ISEF, I learned that Intel has summer internships. One year later, I decided to apply. It wasn’t easy because I was only a 16-year old high-school student, but Intel helped me with all paperwork for under-aged employees and here I am!
Where did the idea for this compiler project came from?
Radek: When I was working on a proof of concept of new compiler, I saw that a canonicalizer would save a lot of my time. I also realized it would be helpful in lots of other compiler development projects. When Michal joined Intel, he was strongly interested in compilers. It was an ideal situation to bring my idea to life. Thanks to support from our managers, Piotr Mochocki and Andrzej Chabraszewski, the idea became an internship program.
Michal: It’s not easy to create a good compiler. There are a lot of different ways to do that, and you can always improve it. You can try to predict what will happen in the language and continue developing it forever. That’s why I was interested in the project. When I saw Radek’s work, I noticed where the problem was, and I started to think how to solve it. During my summer internship in 2018, I wrote the code, and this year, I refined it so it could be officially accepted by the LLVM community.
What did your cooperation look like on every day basis?
Radek: During the first few days I explained the problem we wanted to solve and provided the necessary background information. Then we established a series of meetings during which we discussed problems and the ways they could be solved – we spent hours in front of the whiteboard drawing designs, discussing various ideas and results of experiments. Michal had total freedom in implementation – he did all the coding himself and he has done it great! The project gradually became mature enough to be published and here we are.
Michal, what did you take away from your Intel internship?
Michal: Thanks to the internships, I gained industry knowledge and learned how the process of developing brand-new technology works. I also discovered what every day work is like. There’s a lot of development opportunities at Intel, and I’m a great example of that. I can’t describe how much I learned during my internships. The person I was one year ago and the one I am today are two completely different people.
What surprised you the most from this experience?
Michal: My biggest surprise was the attitude of all the employees at Intel. They are very friendly. If someone needs help, he will get it from everybody. Also, the atmosphere is very cool. I was the youngest intern in Intel Poland history, but I didn’t feel any difference in every day work. I liked that everybody treated me seriously and professionally.
Michal: I hope this is only the beginning of my adventure. At the 2019 LLVM Developers Meeting – Bay Area conference in October, I presented our canonical form of LLVM compiler representation. I explained how we came up with the current solution.
I’ve also spoken with my manager about continuing my internship – I will be 18 years old then.
What would you say to those who still wonder about applying for internship at Intel?
Michal: I wondered if Intel would be a good fit for me, but I managed to collaborate well with others. I think it’s worth a try. There are so many different projects and different technologies being made in Gdansk that everyone will find something that appeals to them. I encourage everybody to try, as it’s difficult to find a better internship in Poland than at Intel.
Inspired by what Michal and Radek were able to accomplish together? Check out opportunities at Intel.