newsmode
search
Меню
arrow_back Назад

Alexey Grigorev on His Career, Data Science, and Writing

auto_awesomeКраткое саммари

Eugene Yan беседует с Алексеем Григорьевым, lead data scientist в OLX Group, о его пути в data science. Алексей начинал как Java-разработчик, затем прошёл магистратуру по Business Intelligence в 2013-2015 годах, хотя сейчас считает это не самым оптимальным путём — достаточно курсов и проектов. Он рассказывает, что senior data scientist — это человек, способный взять end-to-end ответственность за проект, общаться со стейкхолдерами и определять, нужен ли вообще ML. Алексей делится взглядами на работу в стартапе vs корпорации, советует фокусироваться на проблеме, а не на модной модели, и подчёркивает важность письма для структурирования мышления. Также он основал сообщество datatalks.club, где проводит еженедельные митапы и отвечает на вопросы о data science.

Alexey Grigorev on His Career, Data Science, and Writing

Алексей Григорьев о своей карьере, data science и письме

[ career writing ] · 23 min read

[ карьера письмо ] · 23 мин чтения

This week, we chat with Alexey Grigorev, a lead data scientist from OLX Group. We actually met in-person last year at OLX Group’s Prod Tech Conference where he presented how to deduplicate images. However, we didn’t recognize each other online, and only found out when I asked him about it right before this chat!

На этой неделе мы беседуем с Алексеем Григорьевым, lead data scientist в OLX Group. Мы лично познакомились в прошлом году на Prod Tech Conference в OLX Group, где он рассказывал, как находить дубликаты изображений. Однако онлайн мы друг друга не узнали и поняли, что это был тот самый человек, только когда я спросил его об этом прямо перед этим разговором!

Alexey has an interesting career. He started as a software engineer focused on Java. Then, he stumbled upon something that made him want to switch to data science. He did this by taking a Master’s in Business Intelligence (which he will share was not the best time investment).

У Алексея интересная карьера. Он начинал как software engineer, специализирующийся на Java. Затем он наткнулся на нечто, что заставило его захотеть переключиться на data science. Он сделал это, получив степень магистра в области Business Intelligence (о чём он позже скажет, что это была не лучшая трата времени).

After that, in a single interview, he secured his first data science role, and has since grown in his career. In this chat, I probe him about his thought process, as well as his advice for others looking to emulate his career.

После этого, на единственном собеседовании, он получил свою первую роль в data science и с тех пор продолжал расти в карьере. В этом разговоре я расспрашиваю его о его образе мышления, а также о советах для тех, кто хочет повторить его карьерный путь.

Prefer to watch us banter instead? Here’s the video.

Хотите посмотреть нашу беседу вживую? Вот видео.

• • •

• • •

First, let’s have Alexey introduce himself…

Для начала, пусть Алексей представится…

Alexey: Hi, I’m Alexey, a lead data scientist at OLX. My role includes too many things and involves overseeing anything related to machine learning. I try to help where help is needed, and stay on top of everything.

Алексей: Привет, я Алексей, lead data scientist в OLX. Моя роль включает слишком много всего и предполагает курирование всего, что связано с machine learning. Я стараюсь помогать там, где нужна помощь, и быть в курсе всего.

I also work a lot with infrastructure, such as making sure that once we have a model, we can serve it to real users. I also mentor a lot of people, such as data analysts or engineers who want to get into machine learning. I help them with training their first model and then deploying it.

Я также много работаю с инфраструктурой — например, забочусь о том, чтобы, когда у нас есть модель, мы могли отдать её реальным пользователям. Ещё я много менторю людей — например, аналитиков данных или инженеров, которые хотят прийти в machine learning. Я помогаю им обучить первую модель и затем задеплоить её.

In 2010, you graduated with a degree in IT and became a software engineer, mostly focused on Java. Then, in 2013, you underwent a Master’s degree in BI. What was your thinking behind it? Why switch from software engineering to data? What did you see in 2013?

В 2010 году ты окончил вуз по IT и стал software engineer, преимущественно на Java. Затем, в 2013-м, ты пошёл в магистратуру по BI. Что было у тебя в голове? Почему переключение с software engineering на данные? Что ты увидел в 2013-м?

Alexey: It’s funny that you asked what I saw. I actually saw a video, or rather, a video course by Andrew Ng (laughs). I saw that course, and I thought, okay, this is what I want to do. This led me to taking more courses, also on Coursera, and chatting with a couple of companies who were looking for data scientists.

Алексей: Забавно, что ты спросил, что я увидел. На самом деле я увидел видео — точнее, видеокурс Andrew Ng (смеётся). Я посмотрел этот курс и подумал: окей, вот чем я хочу заниматься. Это привело меня к тому, что я стал проходить ещё курсы — также на Coursera — и общаться с парой компаний, которые искали data scientists.

However, everyone was telling me that I didn’t have enough education and the background wasn’t a good fit. This was how I decided that I needed to get a Master’s.

Однако все говорили мне, что у меня недостаточно образования и бэкграунд не подходит. Так я решил, что мне нужно получить степень магистра.

Back then, I didn’t know that BI is not really data science (laughs). But, I still had a couple of courses on machine learning, and the BI courses were also helpful.

Тогда я не знал, что BI — это не совсем data science (смеётся). Но у меня всё же было несколько курсов по machine learning, да и курсы по BI оказались полезными.

For people looking to emulate your journey, how should they think about it? Should they take on a Master’s or further education, like you did?

Для людей, которые хотят повторить твой путь, как им стоит об этом думать? Стоит ли им идти в магистратуру или получать дополнительное образование, как сделал ты?

Alexey: I think the path I took wasn’t the most optimal. I spent two years doing the Master’s, but I think I could have done the switch in like 6 months. Just watching courses, doing projects, and trying to find a job. But back then, it wasn’t easy to get a job without “proper” education; the field was still new, and people didn’t know who to hire, what kind of background was needed.

Алексей: Я думаю, что путь, который я выбрал, был не самым оптимальным. Я потратил два года на магистратуру, но думаю, что мог бы сделать переключение месяцев за 6. Просто смотреть курсы, делать проекты и пытаться найти работу. Но тогда было непросто получить работу без «правильного» образования; область была ещё новой, и люди не знали, кого нанимать и какой бэкграунд нужен.

It’s easier now. People kinda know more or less what they want to see in a data scientist. For example, a PhD is a nice to have, but it’s not a showstopper.

Сейчас проще. Люди примерно понимают, что они хотят видеть в data scientist. Например, PhD — это приятный бонус, но не критичный фактор.

Thus, I wouldn’t advise doing a Master’s—you’ll spend two years doing it, and not all the courses are needed. While I did study useful things, not all of them turned out to be useful for me.

Так что я бы не советовал получать магистра — потратишь два года, а не все курсы реально нужны. Хотя я изучал полезные вещи, не все они оказались полезными для меня.

If someone doesn’t have a Master’s or PhD, would you hire them?

Если у кого-то нет ни магистра, ни PhD, ты бы его нанял?

Alexey: Haha, of course! (Smiles). Yes, I know that people can acquire useful skills from a Master’s or PhD. But, I don’t think it’s the only way of doing this.

Алексей: Ха-ха, конечно! (Улыбается). Да, я знаю, что в магистратуре или PhD можно получить полезные навыки. Но я не думаю, что это единственный способ.

Eugene: There you have it everyone. I mean, a lead data scientist, a hiring manager himself is saying that it’s not necessary to have a Master’s, if any recruiters turn you down, you can show them this video (haha).

Eugene: Ну вот, друзья. То есть lead data scientist, сам нанимающий менеджер говорит, что магистратура необязательна — если какие-то рекрутеры вам отказывают, можете показать им это видео (ха-ха).

After completing your Master’s in 2015, you were a research assistant for a while. Then, you secured a role as a data scientist at Searchmetrics, focused on SEO, text mining, etc. How did you do that? What did you have to demonstrate to the hiring manager and team?

После завершения магистратуры в 2015 году ты какое-то время был research assistant. Затем получил позицию data scientist в Searchmetrics, где занимался SEO, text mining и т. д. Как ты это сделал? Что тебе нужно было продемонстрировать нанимающему менеджеру и команде?

Alexey: I remember that interview. It was a long interview, just one interview. Usually these days, you have a series of interviews. But that was just one interview, 2.5 hours; it was pretty tough.

Алексей: Я помню это собеседование. Оно было длинным — всего одно собеседование. Обычно сейчас бывает серия. Но тогда было одно — 2,5 часа; довольно тяжёлое.

Most of the time, we talked about my thesis. It was about math information retrieval. Basically, trying to work with formulas in Wikipedia. Let’s say we have an expression, e = mc**2; we want to know that e is referring to energy.

Большую часть времени мы обсуждали мою дипломную работу. Она была про math information retrieval. По сути, работа с формулами в Wikipedia. Скажем, у нас есть выражение e = mc**2; мы хотим знать, что e здесь — это энергия.

My takeaway is that it’s good to have a project to talk about. It doesn’t have to be a thesis, you don’t really have to do a Master’s. But you should have a real-life project, a real application of machine learning.

Мой вывод такой: хорошо иметь проект, о котором можно рассказать. Это не обязательно дипломная работа, магистратуру совсем не обязательно проходить. Но у тебя должен быть реальный проект, реальное применение machine learning.

This is especially important if you don’t have a lot of experience in your CV, if it’s your first full-time job. It can be a thesis, a course project, a side project, a Kaggle competition. If you have something to talk about, it’s a big plus; it makes the conversation smoother.

Это особенно важно, если в твоём CV мало опыта, если это твоя первая работа на full-time. Это может быть дипломная работа, курсовой проект, side-project, соревнование на Kaggle. Если у тебя есть, о чём поговорить, — это большой плюс; это делает разговор более гладким.

One other thing the hiring manager was interested in was my Java experience. The company had a lot of services written in Java, and they needed somebody who can help integrate machine learning into these services.

Ещё одно, что заинтересовало нанимающего менеджера, — мой опыт работы с Java. У компании было много сервисов, написанных на Java, и им нужен был кто-то, кто сможет помочь интегрировать machine learning в эти сервисы.

So knowing Java, and having a project (I could talk about), made the interview go well.

Так что знание Java и наличие проекта (о котором я мог рассказать) сделали собеседование удачным.

Eugene: That’s a great experience.

Eugene: Отличный опыт.

I had a similar experience where I attended a three-hour long interview which included lunch. The company, an e-commerce startup, was interested in my experience in a Kaggle competition on product classification. Turns out that they had a problem with product classification too, and needed someone to fix it. And eventually, I got hired.

У меня был похожий опыт, когда я был на трёхчасовом собеседовании, которое включало обед. Компания, e-commerce-стартап, заинтересовалась моим опытом в соревновании на Kaggle по классификации товаров. Оказалось, что у них тоже была проблема с классификацией товаров, и им нужен был кто-то, кто это исправит. В итоге меня наняли.

But these are very unusual experiences, and I think I got lucky. Maybe you got lucky too. And so, for the benefit of our listeners…

Но это очень нетипичный опыт, и я думаю, мне повезло. Может, тебе тоже повезло. И поэтому, на благо наших слушателей…

How did you fail in your first application? What were some of the interviews you failed?

Как ты провалился на своей первой заявке? Какие собеседования ты провалил?

Alexey: (Laughs) Sorry, I’m going to disappoint you. After graduating, I just had one interview, got an offer after that, and accepted it.

Алексей: (Смеётся) Извини, я тебя разочарую. После выпуска у меня было всего одно собеседование, после него я получил оффер и принял его.

Maybe it was a mistake actually. Maybe I shouldn’t have stopped at one interview. Maybe I should have interviewed with more companies.

Может, на самом деле это было ошибкой. Может, мне не стоило останавливаться на одном собеседовании. Может, мне стоило пройти собеседования с большим количеством компаний.

Don’t get me wrong, I’m very happy with my experience at Searchmetrics. It was a really great job. I learned a lot and met a lot of great people, some of whom I’m still in touch with.

Не пойми меня неправильно, я очень доволен опытом в Searchmetrics. Это была действительно отличная работа. Я многому научился и встретил много отличных людей, с некоторыми из которых до сих пор поддерживаю связь.

But now when I look back, I think it’s always good to have multiple opportunities to choose from. Maybe in some other instances, it’s good to have an offer, and continue to interview at other places. Maybe there’s something better out there. But if you don’t try, you don’t know.

Но сейчас, оглядываясь назад, я думаю, что всегда полезно иметь несколько возможностей на выбор. Возможно, в каких-то случаях полезно иметь оффер и продолжать ходить на собеседования в другие места. Может быть, где-то есть что-то получше. Но если не попробуешь — не узнаешь.

From 2015 to 2018, you had two stints as a data scientist. Then, in 2018, you joined OLX as a senior data scientist, and now, you’re a lead data scientist. For people who’ve had a few years of experience, what does it mean to be senior? I know some people who get the title of senior and suddenly have imposter syndrome.

С 2015 по 2018 ты дважды работал data scientist. Затем в 2018-м пришёл в OLX как senior data scientist, а сейчас ты lead data scientist. Для людей, у которых уже есть несколько лет опыта, — что значит быть senior? Я знаю людей, которые получают звание senior, и у них внезапно начинается imposter syndrome.

Alexey: First of all, let’s talk about the title itself; “senior”, what does it actually mean?

Алексей: Прежде всего, давай поговорим о самом звании; «senior» — что это вообще значит?

If you talk to people from different companies, maybe all the answers will be different. But I think there’s one common aspect in all the answers.

Если поговорить с людьми из разных компаний, все ответы, возможно, будут разными. Но я думаю, есть один общий аспект во всех ответах.

A senior is someone who can take end-to-end responsibility.

Senior — это тот, кто может взять на себя end-to-end ответственность.

And the important word is not end-to-end, but responsibility. If you have a problem, a senior is someone who will find a way to get it done. Even if it’s a complex project, even if there are obstacles, they will figure it out. They will find the right people and remove the blockers. Instead of sitting there with the blocker, they will find the solution. This is the most important quality of a senior, in my opinion.

И главное слово здесь не end-to-end, а ответственность. Если есть проблема, senior — это тот, кто найдёт способ её решить. Даже если это сложный проект, даже если есть препятствия, он разберётся. Он найдёт нужных людей и уберёт блокеры. Вместо того чтобы сидеть с блокером, он найдёт решение. Это, на мой взгляд, самое важное качество senior.

Specific to data science, I think a senior is someone who can do a project end-to-end. This includes talking to stakeholders, figuring out of ML is actually the right tool, translating requirements into the language of ML, understanding if the problem is worth solving, breaking a big, ambiguous problem into smaller tasks for other members of the team.

Если говорить именно о data science, я думаю, senior — это тот, кто может провести проект end-to-end. Это включает общение со стейкхолдерами, понимание того, действительно ли ML — это правильный инструмент, перевод требований на язык ML, понимание того, стоит ли проблема решения, разбиение большой неопределённой задачи на более мелкие задачи для других членов команды.

It doesn’t mean that they are a rockstar who can do everything. They’ll work with other people, with product managers, with stakeholders. But they’ll need to assess the situation—is it really worth spending time working on this problem? Do we need ML, or is something simpler good enough? They might work with data engineers, or build the data pipelines themselves. Then, they’ll train the model, and serve it.

Это не значит, что он рок-звезда, которая может делать всё. Он будет работать с другими людьми — с product manager, со стейкхолдерами. Но ему нужно будет оценивать ситуацию — действительно ли стоит тратить время на эту проблему? Нужен ли нам ML, или чего-то более простого достаточно? Он может работать с data engineers или строить data pipelines самостоятельно. Затем он обучит модель и развернёт её.

If someone can do all these things, they can 100% call themselves a senior data scientist. I think the important part here is the first part. A mid-level data scientist will also be able to train a model, or work with data engineers on pipelines. But to become a senior, the communication and problem framing aspects are essential.

Если кто-то может делать всё это, он на 100% может называть себя senior data scientist. Я думаю, важная часть здесь — первая. Mid-level data scientist тоже может обучить модель или работать с data engineers над pipelines. Но чтобы стать senior, существенно важны коммуникация и постановка задачи.

Some people might call this position a lead data scientist. For me, the main distinction is that a senior is mostly involved in one project. They’re making all the decisions in one project. They’re still very hands-on, spending more than 50% of the time coding.

Некоторые могут назвать эту позицию lead data scientist. Для меня главное различие в том, что senior в основном вовлечён в один проект. Он принимает все решения по одному проекту. Он всё ещё очень hands-on — проводит более 50% времени за кодом.

For a lead, it’s more projects, less hands-on. It’s more communication with multiple stakeholders.

Для lead — это больше проектов, меньше hands-on. Это больше коммуникации с несколькими стейкхолдерами.

Eugene: To summarize, a senior data scientist is someone you can trust. You give them a problem, they’ll be independent, they’ll run with it. (Alexey: Exactly)

Eugene: Если резюмировать, senior data scientist — это тот, кому можно доверять. Даёшь ему проблему — и он независим, бежит с ней. (Алексей: Именно)

And how do they do it? They need to have the end-to-end understanding. They might not be doing everything themselves. They can get other people to help them.

А как они это делают? Им нужно end-to-end понимание. Они могут не делать всё сами. Они могут привлечь других людей в помощь.

And it’s not just doing things the right way. It’s questioning even the decision of whether to do it or not. This is what makes a data scientist senior.

И дело не только в том, чтобы делать вещи правильно. Дело в том, чтобы ставить под вопрос даже решение, стоит ли это вообще делать. Вот что делает data scientist senior'ом.

You’ve had a pretty varied experience, in both startups and big companies. For people out there looking for a role, they’re probably thinking—should I join a startup, or big company. What’s your take?

У тебя довольно разнообразный опыт — и в стартапах, и в больших компаниях. Люди, которые ищут позицию, наверное, думают: пойти ли в стартап или в большую компанию. Что ты думаешь?

Alexey: What I liked at a startup was exposure to pretty much everything. I could do everything I wanted, there were no boundaries.

Алексей: Что мне нравилось в стартапе — это знакомство практически со всем. Я мог делать всё, что хотел, не было границ.

And there was a lot more work than everyone in the company could possibly do. Our data science team had only three people. When you only have three people, you really have to think carefully about what to do that would have the biggest impact on the customer. How would it affect our product? How does it help customers?

И работы было намного больше, чем все в компании могли в принципе сделать. В нашей data science team было всего три человека. Когда тебя трое, приходится действительно тщательно думать о том, что делать, чтобы это оказало наибольшее влияние на клиента. Как это повлияет на наш продукт? Как это поможет клиентам?

And we didn’t have anything, and had to build everything from scratch. How to do this so that everything doesn’t fall apart (i.e., sustainable), and yet still move fast? We had to make many trade-offs. In some areas, we decided to move faster. In other areas, we dedicated more time to make the product more robust and sustainable.

И у нас ничего не было — приходилось всё строить с нуля. Как сделать так, чтобы всё не развалилось (т. е. устойчиво), и при этом двигаться быстро? Нам приходилось идти на множество компромиссов. В каких-то областях мы решали двигаться быстрее. В других — выделяли больше времени, чтобы сделать продукт надёжнее и устойчивее.

That was a fun experience.

Это был весёлый опыт.

I think it’s also possible to have such experience in a bigger company. But, a bigger company has more people. You don’t always have as much freedom as a startup, to make all these technical decisions. Especially in a corporation, you have all these existing infra and tools that you have to use, so you’ll have some limits.

Я думаю, такой опыт возможен и в большой компании. Но в большой компании больше людей. У тебя не всегда столько свободы, как в стартапе, чтобы принимать все эти технические решения. Особенно в корпорации — у тебя есть вся эта существующая инфраструктура и инструменты, которыми ты должен пользоваться, поэтому будут какие-то ограничения.

Nonetheless, a start-up will also have such limits, such as time and money, which also forces you to be creative.

Тем не менее, у стартапа тоже будут такие ограничения — например, время и деньги, которые также вынуждают тебя быть креативным.

What I like about corporations, is that there’s always someone who can teach you how to do these things. At a start-up, you’re mostly on your own. In corporations, you might find more senior colleagues, more mature processes, and also more resources.

Что мне нравится в корпорациях — там всегда есть тот, кто может научить тебя, как это делать. В стартапе ты в основном сам по себе. В корпорациях можно найти более опытных коллег, более зрелые процессы, а также больше ресурсов.

What I would suggest to people who are just starting, and if they have two offers, is to go with a startup. It’s more likely that you’ll have a broader experience there. You’ll be exposed to many different things. You have to talk to sales, engineers, product. You’ll learn more.

Я бы посоветовал людям, которые только начинают, и если у них есть два оффера, — идти в стартап. Скорее всего, там получится более широкий опыт. Ты столкнёшься со многими разными вещами. Тебе придётся разговаривать с sales, engineers, product. Ты узнаешь больше.

Eugene: Haha people are going to listen to this, and just hear that Alexey said: “Startup” (Alexey: laughs).

Eugene: Ха-ха, люди послушают это и услышат только, что Алексей сказал «Стартап» (Алексей: смеётся).

I like the startup life too, but I’m going to add a bit of balance here.

Мне тоже нравится жизнь в стартапах, но я добавлю немного баланса.

I think that in a bigger company, you can work at scale (Alexey: nods). OLX is in 40, 45 marketplaces. You get to learn about the various cultural differences, regulation differences, and work at scale across multiple teams.

Я думаю, что в большой компании ты можешь работать с масштабом (Алексей: кивает). OLX присутствует в 40-45 маркетплейсах. Ты узнаёшь о разных культурных различиях, различиях в регулировании и работаешь с масштабом сразу через несколько команд.

For people who are very young in your career, I think there’s no way you can make a mistake. Everything is just going to be a great learning experience.

Для людей в самом начале карьеры — я думаю, ошибиться никак нельзя. Всё будет просто отличным опытом обучения.

Throughout your career, you’ve worked with many data scientists. Think about the most effective data scientists that you’ve worked with, or people you respect. What is it they do that’s effective? What is your definition of effective?

За свою карьеру ты работал со многими data scientists. Подумай о самых эффективных data scientists, с которыми ты работал, или о людях, которых ты уважаешь. Что они такого делают, что эффективно? Каково твоё определение эффективного?

Alexey: Effective is somebody who gets the job done, in a reasonable amount of time. Also, pragmatic to some extent, not a perfectionist.

Алексей: Эффективный — это тот, кто делает работу за разумное время. К тому же прагматичный в какой-то мере, не перфекционист.

I remember my team lead in Searchmetrics. I learned a lot from him. He was really effective. He could just come with a problem, dig deep, and focus on solving this problem. After a couple of days, he would have a solution.

Я помню моего team lead в Searchmetrics. Я многому у него научился. Он был действительно эффективным. Он мог просто прийти с проблемой, копать глубоко и сфокусироваться на её решении. Через пару дней у него уже было решение.

I found myself thinking, hey, I want to be like him. I want to quickly come up with an idea, and develop it. That was cool.

Я ловил себя на мысли: эй, я хочу быть как он. Я хочу быстро придумывать идею и развивать её. Это было круто.

Also, being effective is being able to focus. I know it’s very difficult. You have so many things you have to do, and have to spend the day in meetings. Now that I know this, I admire his work even more.

А ещё быть эффективным — это уметь фокусироваться. Я знаю, что это очень сложно. У тебя так много дел, и приходится проводить день в митингах. Теперь, когда я это знаю, я ещё больше восхищаюсь его работой.

I think what helps with effectiveness is to focus on the problem. When it comes to data science, what we often think of first is the solution.

Я думаю, что эффективности помогает фокус на проблеме. Когда речь идёт о data science, мы часто сразу думаем о решении.

Okay, I have this problem, and I’m going to hit it with this hammer of machine learning. We see this with people starting with the latest TensorFlow models that are huge.

Окей, у меня есть эта проблема, и я ударю по ней этим молотком machine learning. Мы видим это, когда люди начинают с самых свежих, огромных моделей TensorFlow.

It helps to take a step back, and think: Do we really need to solve this with the fanciest model out there? Or is there a simpler solution?

Полезно сделать шаг назад и подумать: действительно ли нам нужно решать это самой навороченной моделью на свете? Или есть более простое решение?

Just focus on solving the problem, not how to solve it. Usually, the simplest way to solve it is the right way.

Просто фокусируйся на решении проблемы, а не на том, как её решить. Обычно самый простой способ решить — это правильный способ.

Also, on learning effectively, I think it’s good to have the right balance of courses and hands-on practice. Don’t just do courses.

Также об эффективном обучении — я думаю, важен правильный баланс курсов и практики. Не просто проходи курсы.

Sometimes, we follow a tutorial and come away thinking that we can now do everything. Usually, this is not true. For me, after watching a tutorial, and then trying to apply it to a project, I find that I don’t know the topic well (Eugene: exactly).

Иногда мы проходим туториал и думаем, что теперь умеем всё. Обычно это не так. У меня после просмотра туториала и попытки применить это к проекту получается, что я не знаю тему хорошо (Eugene: именно).

Then I need to do a lot of googling, a lot of research. I think this is what helps. After doing a course, do a project. Or just do projects and learn along the way.

Тогда мне нужно много гуглить, много ресёрчить. Думаю, это и помогает. После прохождения курса делай проект. Или просто делай проекты и учись по ходу.

Eugene: Alexey mentioned a great point and I just wanted to add to that. After you do a course, and you try to apply what you learned, you’re gonna realize that there are 1,001 things that you don’t know.

Eugene: Алексей сделал отличное замечание, и я хочу добавить. После того как ты прошёл курс и попытался применить то, что узнал, ты осознаёшь, что есть 1001 вещь, которой ты не знаешь.

The same thing happens when you’re writing. You think you know something and try to write about it. Then you realize that your mind is a blank.

То же самое происходит, когда ты пишешь. Ты думаешь, что что-то знаешь, и пытаешься об этом написать. И понимаешь, что у тебя в голове пусто.

Doing projects and writing are a great way for you to consolidate your thinking and to fill the gaps.

Делать проекты и писать — отличные способы консолидировать своё мышление и заполнить пробелы.

When you interview and hire people, how do you think about it? What makes you go “We cannot hire this person?” And vice versa?

Когда ты собеседуешь и нанимаешь людей, как ты об этом думаешь? Что заставляет тебя сказать «Мы не можем нанять этого человека»? И наоборот?

Alexey: Usually, when I interview, I ask a simple Python question. It’s a very simple problem, similar to fizz buzz. It requires one for-loop and an if-statement within it. Some people can solve it in 3 - 5 minutes.

Алексей: Обычно, когда я собеседую, я задаю простой вопрос на Python. Это очень простая задача, похожая на fizz buzz. Она требует одного for-loop и одного if-statement внутри него. Некоторые решают её за 3-5 минут.

If someone has Python in their CV, and they can’t solve it, it’s a no-go. If someone starts on the problem, and then says “I usually google how to do for-loops in Python”, then for me, it’s very suspicious (Eugene: yeah).

Если у кого-то в CV указан Python, а он не может её решить — это no-go. Если кто-то приступает к задаче и говорит: «Обычно я гуглю, как сделать for-loop в Python», — для меня это очень подозрительно (Eugene: да).

I mean, then why do you put Python in your CV, if you need to google how to do a for-loop? For me, this is a big red flag.

Я имею в виду — зачем тогда указывать Python в CV, если тебе нужно гуглить, как сделать for-loop? Для меня это большой красный флаг.

Apart from this Python thing, there are no other showstoppers. It shows that the person claims they can program, but they actually cannot.

Кроме этого момента с Python, других showstopper'ов нет. Это показывает, что человек заявляет, что умеет программировать, но на самом деле не умеет.

On the other hand, what stands out?

С другой стороны — что выделяется?

Having projects stands out. Having end-to-end responsibility, delivered a project end-to-end, being able to talk about the trade-offs they made, all the decisions, why the project started. These stand out.

Наличие проектов выделяется. Наличие end-to-end ответственности, проведение проекта end-to-end, умение рассказать о компромиссах, которые приходилось делать, обо всех решениях, о том, почему проект начался. Это выделяется.

I understand that not everyone will work on this level to be able to answer this. But it’s good to ask, why are we doing that. And then be able to think through that question and answer it properly.

Я понимаю, что не все будут работать на таком уровне, чтобы быть способными ответить на это. Но полезно задаваться вопросом — зачем мы это делаем. А потом уметь продумать этот вопрос и нормально на него ответить.

You’ve worked with many data scientists in the past. What are the common challenges and pitfalls that most people trip on?

Ты работал со многими data scientists в прошлом. Какие самые частые трудности и подводные камни, на которых спотыкается большинство людей?

Alexey: People often underestimate the amount of time it takes to deploy a model. Not just the deployment, but building data pipelines, etc.

Алексей: Люди часто недооценивают, сколько времени требуется на деплой модели. Не только сам деплой, но и построение data pipelines и т. д.

Also, we don’t spend enough time making sure that we’re solving the right problem, making sure that what we do actually matters. If you spend half a year developing this great model that nobody cares about, then you’ve just wasted half a year.

Также мы недостаточно времени уделяем тому, чтобы убедиться, что мы решаем правильную проблему — что то, что мы делаем, действительно имеет значение. Если ты потратишь полгода на разработку отличной модели, которая никому не нужна, то ты просто потратил полгода впустую.

Ask yourself, why are we doing this? What kind of problem are we trying to solve? Who is the user? How will they use it? Are they going to use it the way we imagine, or will they do something different? Having this conversation with the user is very important.

Спроси себя: зачем мы это делаем? Какую проблему мы пытаемся решить? Кто пользователь? Как он будет этим пользоваться? Будут ли они использовать это так, как мы себе представляем, или будут делать что-то другое? Очень важно иметь этот разговор с пользователем.

As data scientists get more experience, they get to a point where they can choose to continue building products and systems, as an IC, or build teams and engage with stakeholders, as a manager. How do you think about these two different paths?

По мере того как data scientists набираются опыта, они достигают точки, когда могут выбрать: продолжать строить продукты и системы как IC или строить команды и взаимодействовать со стейкхолдерами как менеджер. Как ты думаешь об этих двух разных путях?

Alexey: Currently, I’m an IC as lead data scientist. I haven’t been a manager to answer this question.

Алексей: В настоящее время я IC как lead data scientist. Я не был менеджером, чтобы ответить на этот вопрос.

Nonetheless, for the IC track, what I see is exposure to many projects, with less hands-on. I like this. I like to guide and mentor people. What should they watch out for? What should they make sure to understand? Why do we need to solve this? I like asking these questions, and engaging with stakeholders, and mentoring people.

Тем не менее, что я вижу в IC-треке — это знакомство со многими проектами и меньше hands-on. Мне это нравится. Мне нравится направлять и менторить людей. На что им нужно обратить внимание? Что им нужно обязательно понять? Зачем нам это решать? Мне нравится задавать эти вопросы, взаимодействовать со стейкхолдерами и менторить людей.

Instead of solving the problem myself, I show others how to do it. This scales a lot better. As a lead, I can work on multiple projects, and teach people by showing them how to do it. While they may not be effective immediately, in a year, they’ll be able to work at the same level as I am now. This means I can scale out my skills, and in this way, be more effective.

Вместо того чтобы решать проблему самому, я показываю другим, как это делать. Это намного лучше масштабируется. Как lead я могу работать над несколькими проектами и учить людей, показывая им, как это делать. Хотя они могут быть не сразу эффективными, через год они смогут работать на том же уровне, что и я сейчас. Это значит, что я могу масштабировать свои навыки и таким образом быть более эффективным.

That’s what I like about being an IC. It’s technical, still hands-on, I still do a lot of pair-programming.

Вот что мне нравится в роли IC. Это технически, всё ещё hands-on, я всё ещё много занимаюсь pair-programming.

For a manager, it’s pretty different. They need to think about things like performance reviews, and other things. (Eugene: budgeting, fighting for resources, politics).

Для менеджера всё довольно по-другому. Им нужно думать о таких вещах, как performance review и прочее. (Eugene: бюджет, борьба за ресурсы, политика).

But now that I’m thinking about this, I think it might not be a bad idea to take on the managerial path too. Maybe it’s a good idea to first have a small team, maybe 3 - 4 people, and test if you really enjoy the people management aspect of the job. If after 3 months, and you find that it’s not your cup of tea, you can safely backtrack.

Но сейчас, когда я об этом думаю, я считаю, что попробовать менеджерский путь — не такая уж плохая идея. Возможно, хорошая идея — сначала иметь маленькую команду, скажем, 3-4 человека, и проверить, действительно ли тебе нравится аспект people management в этой работе. Если через 3 месяца ты понимаешь, что это не твоё, ты можешь спокойно отступить.

Eugene: I think that’s a great idea, and companies should provide that option to their technical contributors. It can be overwhelming for people to become a manager, and they realize there’s no u-turn, and they burn out and leave.

Eugene: Я думаю, это отличная идея, и компании должны предоставлять такую опцию своим техническим контрибьюторам. Стать менеджером может быть тяжело, и они понимают, что обратной дороги нет, выгорают и уходят.

Instead, if we give people an option of being a manager, with the option to backtrack, and after the trial, they decide it’s not for them, they can stop. And we still retain them. It’s a win-win.

Вместо этого, если мы даём людям опцию быть менеджером с возможностью откатиться, и после пробного периода они решают, что это не для них, они могут остановиться. И мы их сохраняем. Это win-win.

Looking back on your career, what are some things that were a waste of time? And what were some things that you think you should have done earlier?

Оглядываясь на свою карьеру — что было пустой тратой времени? И что, по-твоему, тебе стоило сделать раньше?

Alexey: The Master’s, I don’t think it was really necessary. Maybe back then it kinda was, but now, it’s not necessary for sure. Just doing courses and projects should be enough.

Алексей: Магистратура — я не думаю, что она была действительно необходима. Может, тогда вроде как и была, но сейчас точно нет. Просто проходить курсы и делать проекты должно быть достаточно.

One thing that helped was starting to freelance in parallel with my studies. That gave me a lot of projects, and gave me a great portfolio. That was helpful. While freelance is not for everyone, if you’re studying and have some free time, it’s probably a good idea to freelance a bit.

Одна вещь, которая помогла, — это то, что я начал фрилансить параллельно с учёбой. Это дало мне много проектов и отличное портфолио. Это было полезно. Хотя фриланс не для всех — если ты учишься и у тебя есть свободное время, это, наверное, хорошая идея — немного пофрилансить.

Eugene: Yes, that’s a great point. What’s difficult for people who just come out of school is that they don’t have much experience to show for it. Freelancing, internships, these are great ways to demonstrate your work. You’ll also learn a lot of stuff that you don’t learn in school.

Eugene: Да, это отличный момент. Что трудно для людей, которые только окончили вуз — у них немного опыта, который можно показать. Фриланс, стажировки — это отличные способы продемонстрировать свою работу. Ты также узнаешь много того, чему не учат в школе.

Alexey: Another thing is this document I have for each project. From the very first project meeting, I capture everything in a document. What’s the problem? Why do they think ML is a good solution? How does success look like? What are the next steps? Every time we follow-up on a topic, I capture it in the document. And over time, it captures the history of how this problem evolves.

Алексей: Ещё одна вещь — это документ, который у меня есть по каждому проекту. С самой первой встречи по проекту я фиксирую всё в документе. В чём проблема? Почему они думают, что ML — хорошее решение? Как выглядит успех? Какие следующие шаги? Каждый раз, когда мы возвращаемся к теме, я фиксирую это в документе. И со временем он отражает историю того, как эволюционировала эта проблема.

I started doing this in OLX, I didn’t do this previously. But now thinking back, I should have started doing this even when I was freelancing.

Я начал делать это в OLX, раньше я так не делал. Но сейчас, оглядываясь назад, мне стоило начать делать это ещё во время фриланса.

Another thing that’s helpful is writing blog posts about things and sharing online. A blog post helps you consolidate what you learn, what is important. I don’t think I did this enough, and only started it at OLX.

Ещё одна полезная вещь — писать блог-посты и делиться ими онлайн. Блог-пост помогает консолидировать то, что ты узнал, что важно. Я не думаю, что я делал это достаточно, и начал только в OLX.

You talk a lot about writing. Why do you think people should write?

Ты много говоришь о письме. Почему ты считаешь, что люди должны писать?

Alexey: It’s difficult to write, and make it crisp on paper. All my thoughts, it seems really clear in my head. But when I’m trying to pull it out into a document, it’s super difficult. Just two minutes ago, when I was thinking about this, it was so clear in my head. But why doesn’t it come out on paper like that?!

Алексей: Сложно писать и делать это чётко на бумаге. Все мои мысли в голове кажутся действительно ясными. Но когда я пытаюсь вытащить их в документ — это супер сложно. Всего две минуты назад, когда я об этом думал, всё было так ясно в голове. Но почему оно не выходит на бумагу так же?!

I know why people don’t write. It’s difficult. They spend days, or weeks writing something. And when they ask for comments, they get a lot of comments. And they get … sigh… discouraged, and they give up.

Я знаю, почему люди не пишут. Это сложно. Они тратят дни или недели, что-то пишут. И когда просят комментарии, получают много комментариев. И они… вздохнут… разочаровываются и сдаются.

I think it helps to do it more. The more you do this, the easier it becomes. Even though I’ve been writing for quite a while, it’s still very difficult for me. But when I force myself to write things, it becomes easier for me.

Я думаю, помогает просто делать это больше. Чем больше ты это делаешь, тем легче становится. Хотя я пишу уже довольно давно, мне это всё ещё очень сложно. Но когда я заставляю себя писать, мне становится легче.

Writing helps with speaking as well. In future, when I have a conversation, or a podcast, like now, these things are clear in my head, because I’ve written them. And speaking about it becomes easier.

Письмо также помогает с устной речью. В будущем, когда у меня разговор или подкаст, как сейчас, эти вещи у меня в голове ясны, потому что я о них писал. И говорить об этом становится легче.

I think this is the power of writing, and everyone should do this to structure their thoughts and think clearly. Even if you just write your own internal notes, that nobody sees, it still helps to structure your thoughts.

Я думаю, в этом сила письма, и каждый должен делать это, чтобы структурировать свои мысли и думать ясно. Даже если ты просто пишешь свои внутренние заметки, которые никто не видит, это всё равно помогает структурировать мышление.

More advice about writing from Alexey and other leaders here.

Больше советов о письме от Алексея и других лидеров здесь.

In our field, things progress very quickly. It’s impossible to keep up with all of it. How do you decide what to learn? How do you know if it’ll relevant and worth your time?

В нашей области всё развивается очень быстро. Невозможно за всем угнаться. Как ты решаешь, что учить? Как ты понимаешь, будет ли это релевантно и стоит ли это твоего времени?

Alexey: I remember trying. I had one RSS reader to subscribe to arXiv RSS. It was basically impossible to keep up. I also had a folder on Dropbox, and I called it “To Read”. At some point, it became half a gig. I remember that day, when I decided that I know I’m not going to read this, that was a good day (laughs).

Алексей: Я помню, как пытался. У меня был один RSS-ридер, чтобы подписаться на arXiv RSS. Угнаться было в принципе невозможно. Также у меня была папка на Dropbox, я назвал её «To Read». В какой-то момент она стала размером в полгигабайта. Я помню тот день, когда решил, что я знаю — я это не прочитаю; это был хороший день (смеётся).

At some point, I just thought to myself: Do I really need all this information? What am I going to do with it? Just realizing that there’s no way to digest all this information, it helps a lot.

В какой-то момент я просто подумал: действительно ли мне нужна вся эта информация? Что я буду с ней делать? Просто осознание того, что переварить всю эту информацию невозможно, очень помогает.

How to choose what to learn? I don’t know, I just try to focus on the problem that I’m solving. Whatever works for that problem, I try to find.

Как выбирать, что учить? Не знаю, я просто стараюсь сосредоточиться на проблеме, которую решаю. Что работает для этой проблемы, то и пытаюсь найти.

Also, for the last 2 - 3 years, I’m trying to learn things outside of data science. A bit of marketing, how to speak, how to read. If you like something, you learn, and when you stop liking it, maybe you’ve learned enough, and you move on.

Также последние 2-3 года я стараюсь учить вещи вне data science. Немного маркетинга, как говорить, как читать. Если тебе что-то нравится, ты учишься, а когда перестаёт нравиться — возможно, ты узнал достаточно и движешься дальше.

Eugene: What Alexey is sharing is just-in-time learning (Alexey: Yes).

Eugene: То, чем делится Алексей, — это just-in-time learning (Алексей: Да).

You have a problem you need to solve, you try to learn about it, and immediately you get hands-on practice. That’s how it sticks.

У тебя есть проблема, которую нужно решить, ты пытаешься узнать о ней, и сразу же получаешь практику. Вот так это закрепляется.

Last question. Recently, you started the datatalks community. Why? How do you see it growing? How will it help people?

Последний вопрос. Недавно ты запустил сообщество datatalks. Зачем? Как ты видишь его рост? Как оно поможет людям?

Alexey: It somehow happened naturally. I’m writing a book, and one of the readers asked, “Is there a place where I can talk about this book?” I realized that there’s actually no such place, and decided to create a place for that.

Алексей: Это как-то случилось само собой. Я пишу книгу, и один из читателей спросил: «А есть ли место, где я могу обсудить эту книгу?» Я понял, что такого места действительно нет, и решил создать место для этого.

I also get a lot of questions on LinkedIn, Twitter, email, Quora. I try to answer these questions, but it doesn’t scale. That was another reason I started the community slack. People can ask these questions in public, and we can answer them. Maybe if I start by showing an example, more people can help with the questions?

Также мне приходит много вопросов в LinkedIn, Twitter, по email, в Quora. Я стараюсь отвечать на эти вопросы, но это не масштабируется. Это была ещё одна причина, по которой я запустил community slack. Люди могут задавать эти вопросы публично, и мы можем на них отвечать. Может быть, если я начну с того, чтобы показать пример, больше людей смогут помогать с вопросами?

The community also hosts meetups. One reason why I do this, is sometimes I want to talk at a conference, I submit a great proposal, and I’m rejected (laughs).

Сообщество также проводит митапы. Одна из причин, по которой я этим занимаюсь, — иногда я хочу выступить на конференции, отправляю отличный proposal и получаю отказ (смеётся).

It’s disappointing, and I think, why do I have to submit a proposal? Why do I need a conference? Can’t I just talk about it myself? And this is how it happened, maybe I can just host meetups.

Это разочаровывающе, и я думаю: зачем мне отправлять proposal? Зачем мне нужна конференция? Разве я не могу просто рассказать об этом сам? Так это и произошло — может, я просто буду проводить митапы сам.

Also, a friend asked, do you know of a place where I can give a talk? Why yes I do! This was the SageMaker event that you attended. It was our first talk.

Также друг спросил: знаешь ли ты место, где я могу выступить? Конечно знаю! Это было мероприятие про SageMaker, на котором ты был. Это было наше первое выступление.

Eugene: Currently, Alexey hosts one talk a week. I don’t know how he keeps up with the cadence, but it’s a great time to join datatalks.club.

Eugene: На данный момент Алексей проводит один доклад в неделю. Я не знаю, как он выдерживает такой ритм, но это отличное время, чтобы присоединиться к datatalks.club.

This was a great chat, thanks Alexey. I’ll share the videos on YouTube and write this up.

Это был отличный разговор, спасибо, Алексей. Я выложу видео на YouTube и оформлю это в текст.

• • •

• • •

This week, we chat with @Al_Grigor, lead data scientist @ OLX Group.

He started as a Java dev, did a Master's in BI, then in a single interview, got his first DS role.

I asked about his experience, thought process, and advice for new data scientists. https://t.co/8oDiVYqGJQ

— Eugene Yan (@eugeneyan) December 2, 2020

На этой неделе мы беседуем с @Al_Grigor, lead data scientist @ OLX Group. Он начинал как Java-разработчик, получил магистра по BI, а затем на одном собеседовании получил свою первую DS-роль. Я расспросил его об опыте, образе мышления и советах для начинающих data scientists. https://t.co/8oDiVYqGJQ— Eugene Yan (@eugeneyan) 2 декабря 2020

Related writing

Связанные тексты

  • Informal Mentors: Chip Huyen, Machine Learning Engineer at Snorkel.ai
  • View all chats with “Informal Mentors” here
  • Informal Mentors: Chip Huyen, Machine Learning Engineer at Snorkel.ai Посмотреть все беседы в рубрике «Informal Mentors» здесь

    Thanks to Alexey Grigorev for the interview. Thanks to Yang Xinyi and Alexey Grigorev for reading drafts of this.

    Спасибо Алексею Григорьеву за интервью. Спасибо Yang Xinyi и Алексею Григорьеву за чтение черновиков.

    If you found this useful, please cite this write-up as:

    Если этот материал был вам полезен, пожалуйста, ссылайтесь на него так:

    Yan, Ziyou. (Nov 2020). Alexey Grigorev on His Career, Data Science, and Writing. eugeneyan.com. https://eugeneyan.com/writing/informal-mentors-alexey-grigorev/.

    Yan, Ziyou. (Nov 2020). Alexey Grigorev on His Career, Data Science, and Writing. eugeneyan.com. https://eugeneyan.com/writing/informal-mentors-alexey-grigorev/.

    or

    или

    @article{yan2020alexey, title = {Alexey Grigorev on His Career, Data Science, and Writing}, author = {Yan, Ziyou}, journal = {eugeneyan.com}, year = {2020}, month = {Nov}, url = {https://eugeneyan.com/writing/informal-mentors-alexey-grigorev/} }

    @article{yan2020alexey, title = {Alexey Grigorev on His Career, Data Science, and Writing}, author = {Yan, Ziyou}, journal = {eugeneyan.com}, year = {2020}, month = {Nov}, url = {https://eugeneyan.com/writing/informal-mentors-alexey-grigorev/} }



    Join 11,800+ readers getting updates on machine learning, RecSys, LLMs, and engineering.

    Присоединяйтесь к 11 800+ читателям, получающим обновления о machine learning, RecSys, LLMs и инженерии.