Самореклама
Danila Kutenin @DanlarkЯ работаю в Google над внутренней файловой системой и по правде говоря не могу получить/задать тот темп, который меня устраивает. Из-за этого начинаются проблемы с мотивацией, техническим развитием и энтузиазмом. И кажется, что мои скиллы уходят на не самую мощную разработку, которую я могу показать. С менеджерами у нас разное видение того, куда я и система должны двигаться. Также я достаточно ограничен в коммитах в опен сорс проекты. Я не говорю, что я хочу уйти из Google, но я точно открыт пообщаться по поводу лучших команд.
Что я пробовал и умею неплохо на мой взгляд:
- Алгоритмы. Если конкретно, я увлекаюсь как и теоретическими вещами, так и сильно практическими. В том числе multithreading, scheduling, synchronization итд
- Писать C и C++ код, разрабатывать API, настраивать окружение, линтеры, писать тулзы для улучшения кода, следить за качеством, новыми трендами.
- Читать engineering, mathematical статьи, пробовать методы на практите, превносить математику в инженерию и наоборот.
- Выжимать максимальный перформанс засчёт архитектуры приложения, CPU, диска, памяти, знаю много возможностей линуксового ядра.
- Учиться абсолютно всему, что связано с инженерной разработкой, распределёнными системами.
- Тестировать и настраивать hardware, особенно процессоры и диски.
- Понимать проблемы в продакшене и держать прод на сотни тысяч-миллионы человек.
Что я пробовал и умею плохо на мой взгляд:
- Машинное обучение, душа на придумывание моделей не лежит и вряд ли будет в ближайшее время. Сюда не входят написания движков, я открыт писать что-то вроде tensorflow, catboost итд.
- Заниматься безопасностью приложений достаточно долго. Средне получается, не интересно, энтузиазм пропадает.
- Долгое время писать на не C-подобном языке. Я готов писать на Python, Go, Rust, Java, но точно как не major язык на длительный срок. Для меня инструмент, которым я пользуюсь, очень важен, я хочу глубоко понимать его и его тренды.
- Я плохо понимаю физику. Поэтому для меня достаточно загадочным до сих пор является сетевое взаимодействие, и я не являюсь экспертом в сети. Я плохой разработчик самого железа.
- Держать work-life balance. В основном это work-work balance.
Что я не пробовал, но мне может казаться перспективным
- Писать движки геймдева.
- Взаимодействие с аудио, видео процессинг.
- High performance trading.
- Embedded software.
Что я делал и делаю:
- 2 года разрабатывал ядро поискового движка в Яндексе. От кодеков до полной его реконструкции
- Паралельно полгода разрабатывал алгоритмы в ClickHouse пробуя все возможные библиотеки и решения, принеся очень много сэкономленных CPU циклов
- Уже почти 4 месяца занимаюсь распределённой POSIX файловой системой на 2 сотни тысяч человек
В целом, я хочу то, что умею неплохо и то, что не пробовал и не хочу то, что пробовал и не нравится. Также для меня достаточно важным фактором является то, что мой сервис аффектит сотни тысяч-миллионы людей. Также я очень хочу драйвовую команду, где люди не боятся абсолютно никаких сложностей.
Если вы вдруг знаете такие команды в Google, я тоже хочу о них знать. Но, если вы вдруг знаете идеальную или близкую к идеальной позиции в других достаточно крупных компаниях (по охвату аудитории), где я могу быть полезным и приносить пользу с большим энтузиазмом, я бы пообщался на эту тему. А если вы ещё можете дать сильную рекомендацию, так вообще идеально. А если вы ещё находитесь в Америке, так просто не думая напишите и поговорите со мной! @Danlark