Hello!

My name is Yaroslav Golubev, I am a senior researcher in the Machine Learning Methods in Software Engineering group at JetBrains Research, led by Dr. Timofey Bryksin. I also enjoy philosophy, linguistics, history, study the Chinese language and culture, and sometimes write. Feel free to drop me a line using any of the links on the left!

Background

In 2018, I obtained a Bachelor’s degree in Applied Physics from ITMO University, with a major in laser technologies, and planned to become a researcher in this field. While there, I worked as a lab assistant, a guide in the educational museum of optics, as well as a secretary in the Foreign Students office, and participated in the THE BRICS & Emerging Economies Universities Summit as a representative of Russian students. Every summer, I also worked as a camp leader.

In 2020, I obtained a Master’s degree with honors in Laser Technologies from the same university, with a major in biological and medical applications. During the first year, I worked as an engineer in the lab and a scientific interviewer at the university’s news portal, and also led the School of Laser Technologies for highschoolers. While studying there, I was lucky to join JetBrains and fell in love with Data Science.

I also have an unfinished Bachelor’s degree in Philosophy from Herzen University. In my studies, I focused on Chinese philosophy, especially Taoism, and conducted preliminary research about the concept of relativity in ancient Taoist texts.

Research

The overarching theme of my studies is mining large corpora of existing source code and analyzing them to discover various patterns and dependencies, better understand how developers write software, and create tools that can help them do it more efficiently. While I was lucky to participate in a number of practical collaborations, my personal interest leans closer to the analytical and the descriptive side of things. I also help my colleagues in designing their studies and writing papers, and generally enjoy various kinds of writing, administrative, and supporting work. My main interests in the domain of software engineering are:

  • code clones,
  • open-source software licenses,
  • code changes (patterns and automatic fixes),
  • refactorings,
  • code and test smells,
  • evolution of ecosystems.

However, since I assist in a lot of different projects, I enjoyed the privilege of learning about and touching on all kinds of subjects, like serverless computing, embeddings of code, bug triage, Jupyter notebooks, code completion, code quality, and others. I also sometimes teach classes, advise students, and serve at various conferences, all of which I really love doing.

Hobbies

My main hobby outside the realm of software engineering is philosophy. While I love all philosophy in general, I care especially deeply about Eastern philosophy — mainly, Taoism, Buddhism, and Ājīvika. As far as specific studies go, I am most interested in ontology, natural philosophy, and the problem of free will. Sometimes together with philosophy, sometimes separately, I also really love the studies of religions and the history of religious thought.

Another major love of mine is the Chinese language and sharing with people how awesome it is. In addition to learning it, I love analyzing its content, popularity, history, and evolution. In general, I am interested in all major humanitarian fields, especially linguistics and history. In my free time, I sometimes write a little poetry (in Russian).

Finally, while I am not an avid traveler, I did write down all the places where I have been. There aren’t too many of them, but luckily, the number can only go up!