Исходный пост

Я разработчик с 5-летним опытом и знаю, как технологии работают, сменяют друг друга, растут и умирают (привет, кладбище Google). У меня огромный опыт переключения между разными стеками. Я работал разработчиком WordPress / Woocommerce (немного Laravel), разработчиком HTML / CSS (6 месяцев), разработчиком Angular / Typescript (1,5 года) и разработчиком iOS (более 2 лет). Я всегда старался найти то, что мне было бы интересно. И со всем этим опытом я понял только одно - учебные пособия, бесплатные курсы, приложения для задач за 5 минут и новые фреймворки каждый месяц - это полный ад, и вам нужно бежать из этого технического чистилища.

Front-end больше подходит для этой статьи, но я не знаю, что сейчас происходит в жизни frontend. (Я знаю только, что у них масса фреймворков, а компаниям, нанимающим персонал, нужны только эти технологии. Смешно, что одной команде нужны только навыки React, другой Vue, или Angular, или Svelte, и один сотрудник, например, в течение 3 лет в React. не могу устроиться на работу в команду Angular. Это просто веб-сайты и приложения. Каждый может изучить другой фреймворк за несколько недель, но это не имеет смысла.

Подобные проблемы существуют и в мобильной разработке прямо сейчас. Гибридные способы создания мобильных приложений также изменили мобильную разработку. Только на данный момент у нас есть огромное количество способов создать мобильное приложение: собственный iOS на Objective-C и собственный iOS на Swift, собственный Android на Java и собственный Android на Kotlin, Native iOS и Android с общей бизнес-логикой Kotlin, Технология Cordova, Hybrid Cordova на основе Ionic, React Native, Nativescript, Xamarin на C #, Kivi на Python, PhoneGap и, конечно же, Flutter. И это только самые популярные. (На самом деле я пробовал использовать Ionic, Nativescript и Flutter). И это огромная проблема. Два года я читал о новых Ionic, React Native, Flutter, все они убийцы нативной разработки. Но это неправда. Это просто еще одна технология. Все вокруг меня всегда пытаются узнать что-то новое: новые фреймворки, новую библиотеку, новый язык и т. Д., Но я перестал это делать по нескольким причинам. Все руководства учат вас делать что-то простое, и это круто, но совершенно бесполезно для чтения на каждый день. Позвольте мне уточнить. Это нормально - прочитать пост или посмотреть видео на тему, которая действительно нужна вам в вашей работе или для каждого проекта. Но я думаю, что читать сообщения об этом каждый день совершенно бесполезно. Например, у меня не было Firebase в моих проектах, и, возможно, я никогда не буду работать с этой технологией, но - у меня есть масса руководств, приложений и даже требований к вакансиям вокруг меня. Но почему? Если вы сильный разработчик с передаваемыми навыками, вы можете изучить любую технологию за несколько дней. И это меня огорчает.

Вы просто заботитесь о том, что ваш родной Swift iOS умрет, а я - разработчик React / Flutter / Ionic / Xamarin заменит вас!

Я так не думаю! Не поймите меня неправильно. Я думаю, что Flutter (лучший в нетрадиционном способе гибридной разработки) - это крутая технология. Но даже Objective-C в игре прямо сейчас. Это происходит из-за этой индустрии - это бизнес. Flutter не может быть единственным правильным способом написания приложений. Например, однажды написанное приложение на Objective-C нельзя переписывать каждые 2 года, потому что кто-то выпустил новый гибридный убийца нативной разработки, и нам всем нужно переписать все наши приложения. Вот почему все эти технологии просто имеют свое место и не могут ничего изменить. Некоторые из них исчезнут, другие будут, и все.

Меня не волнует нативная разработка iOS на Swift. Мне он очень нравится, потому что Swift - это современный гибкий и надежный язык типов. Но если завтра сдохнет - просто перейду на другой стек. Я делаю это трижды и могу повторить :-). Но большая часть разработчиков живет в страхе и всегда пытается найти какой-нибудь долговечный фреймворк, стек платформ и т. Д. Вот почему они всегда стараются знать обо всех новых фреймворках и библиотеках. Как по мне, бесполезно. Вы можете создать приложение todo на любой платформе, но это все равно приложение todo ...

Так что вы предлагаете?

Конечно, передаваемые навыки. Только передаваемые навыки могут развязать вас. Большим компаниям не нужны ваши навыки работы с React Native. Им необходимы ваши знания архитектуры, алгоритмов, структуры данных, навыков модульности, ООП (объектно-ориентированное программирование) и ООП (объектно-ориентированное проектирование), TDD (разработка через тестирование), паттерны проектирования, мягкие навыки, математика. , терминал, GIT, знание SQL. Все навыки, не относящиеся к конкретной платформе, библиотеке или платформе. Обладая этими навыками, вы можете легко изучить любой стек, который хотите, и наоборот - вы будете средним разработчиком, привязанным к определенному стеку, без интересных возможностей. Вам нужно решить, каким типом разработчика вы хотите быть. Конечно, я недостаточно разбираюсь в этих темах, но я двигаюсь в этом направлении.

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

Паттерны дизайна - отличный сервис с книгами и живыми примерами на большинстве современных языков.

EssentialDeveloper - чистый код, архитектура, передаваемые навыки для разработчиков iOS. У них есть подкасты, канал на YouTube, курсы. Отличные ребята!

Мои социальные сети

LinkedIn Twitter Оригинальный блог Github HackerRank

Фото Тома Холмса на Unsplash