Что общего у крупнейших мировых компаний?

Когда вы набрали первую строчку кода? Мне было 15. Я пошел в класс информатики, потому что в старшей школе мне нужно было набрать несколько тупых кредитов. Сначала я подумал, что это пустая трата времени.

Кто бы мог подумать, что это приведет меня к этому? Опровергать React перед десятками тысяч людей в Интернете. Жизнь такая богатая.

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

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

В любом случае, что хотят делать все новички? Сделайте собственную операционную систему. Создайте MMORPG с помощью WebAssembly. Создайте нейронную сеть с нуля с помощью Python и Redis. Уважаемые опытные инженеры, заметили здесь проблему?

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

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

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

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

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

Но настоящая звезда шоу - это бэкэнд. Что в целом включает в себя дизайн API и хранение данных. И это широкий спектр сочных знаний.

Как вы передаете фото и видео с сервера на клиент. Как и где хранятся фото и видео. Как все оптимизировать, чтобы загрузка одного изображения не занимала 5000 миллисекунд. Все хитро.

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

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

Потому что все это гладко? Это сложно. Особенно в масштабе. Поскольку фото и видео - это большие файлы, вам не нужно много трафика, чтобы все стало вяло.

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

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

Некоторым из самых популярных приложений в мире нужны такие инженеры: Instagram, Snapchat, TikTok, Twitter, YouTube, Netflix. Что общего у крупнейших мировых компаний? Мобильное видео.

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