Юджин Козак о создании собственного фреймворка и становлении разработчиком высшего уровня
4 января 2023 г.Сегодня, чтобы стать младшим веб-разработчиком, не нужно даже высшее образование. Есть масса буткемпов и краткосрочных программ для тех, кто хочет начать свою карьеру в ИТ.
Но что нужно, чтобы стать разработчиком высшего уровня?
В моем разговоре с Юджином Козаком я обсуждаю некоторые профессиональные проблемы веб-разработчиков высокого уровня.
Евгений, у вас более 10 лет опыта программирования, и вы умеете программировать на разных языках. Вы сами этому научились?
Евгений: Я никогда не сомневался в своей будущей карьере, так как программирование интересовало меня с детства. До того, как я занялся программированием, я собрал более 300 компьютеров, так как моя первая степень была в области вычислительной техники. Но, по сути, даже если у меня есть ученая степень, я многому научился сам.
Кроме того, я очень рано начал работать над реальными проектами, когда учился в колледже, у меня уже было 2 работы. Поэтому у меня большой опыт, а главное, я понимаю основы программирования и всю его логику. Мне всегда было интересно пробовать что-то новое.
Язык программирования — это всего лишь инструмент, и для разных задач лучше использовать разные инструменты. Кроме того, это как знание многих языков: некоторые из них очень похожи (например, испанский и португальский), и, зная один, можно легко понять другой.
Например, среднему разработчику обычно требуется не менее 2-3 недель, чтобы начать работу над проектом, и это нормально, потому что нужно понимать стек, бизнес-модуль, бизнес-логику, стиль кода и все такое. Обычно я могу начать в течение 2-3 дней. Я пытаюсь понять все это, прежде чем приступить к работе над проектом. Итак, просто чтобы увидеть, насколько стары все эти вещи, и понять стиль кода, потому что вам нужно писать тот же стиль кода для таких вещей.
Кроме того, это помогает очень быстро переключаться между проектами. Так что здесь нужен не только опыт, но и особые способности, позволяющие увидеть всю архитектуру. И то, что я знаю, я имею в виду, что многие разработчики этого не делают.
Вы сказали, что работаете над собственной структурой. Как дела?
Евгений: я его уже построил. Я закончил свой фреймворк под названием Krypton, который может использоваться разными разработчиками, так что это означает, что многие разработчики могут взять этот фреймворк и просто создавать свои собственные веб-приложения. Я создал этот фреймворк, потому что в какой-то момент мне было недостаточно использовать только ReactJS. Что вам нужно сделать, так это иметь платформу, которая поможет вам перестроить компоненты или написать компоненты, чтобы иметь основу для этих вещей.
Итак, исходя из этого, я создал этот фреймворк, и на его создание с нуля ушло около девяти месяцев. Итак, я сделал все сам, поэтому уверен, что через несколько лет это станет очень популярным. В настоящее время я создаю чат искусственного интеллекта для Shell, и я создаю его на своем собственном фреймворке — Krypton. Так что, в принципе, это уже реализовано. Более того, у меня есть еще один клиент, Intel 471, и я использую свой фреймворк для работы и с ним. Но когда я начал его реализовывать, он не был опубликован, потому что это была альфа-версия. Итак, вы создаете фреймворк, а затем можете внедрить его для корпоративной работы. Значит, выгодно. На основе этой структуры мы можем создавать множество приложений.
Этот инструмент упрощает работу разработчиков и делает ее более эффективной.
Сколько разработчиков обычно требуется для создания такого фреймворка?
Евгений: У нас всего 8 фреймворков для ReactJS, верно? Большим фреймворкам нужно около 20 разработчиков для каждого фреймворка, но здесь я справляюсь один. Она уже общедоступна и, возможно, через 1-2 года станет довольно распространенной.
Как, по вашему мнению, будут развиваться языки программирования в будущем?
Евгений: Раньше разработчикам просто нужно было выполнять задачи быстрее, и им нужно было понимать, что требования к проекту на депозите очень низкие, поэтому PHP и JavaScript достаточно. Теперь у нас есть много языков и фреймворков, и у нас есть много инструментов, которые вы можете создать, потому что теперь требования к проектам намного выше, чем мы думаем. Итак, теперь нам нужно больше высококвалифицированных разработчиков. Итак, допустим, у вас сейчас есть GPT-3, который может написать то, что вы хотите, какой код вы хотите иметь, или просто функционал, какую прикладную ловушку, и он может создать ее для вас.
Обычно это не полное решение, потому что оно не заменяет разработчиков. Причина в том, что здесь нужно не только создать приложение с нуля, но и поговорить с заказчиком или клиентом. Кроме того, вам просто нужно исправить все ошибки, так много всего, так что это совсем не заменяет разработчиков. Что я могу сказать, так это то, что, возможно, он сможет заменить младших разработчиков. Например, GPT-3 или AI умеет делать много чего, я имею в виду много очень простых вещей. Обычно этим занимается младший разработчик.
Вероятно, в будущем младшим разработчикам будет немного сложно написать что-то здравое, чтобы найти работу. В настоящее время младшие разработчики делают много рутины, на которую у средних или старших разработчиков нет времени. Итак, ИИ может заменить младших разработчиков, но это не точно. В любом случае вход в разработку будет очень-очень высоким.
Но заменить старшего инженера-программиста или ведущего разработчика будет очень сложно. Вот почему я считаю, что каждый должен стремиться попасть в 1% лучших разработчиков. GPT-3 или AI не хватит мощности, чтобы строить как я, например.
На данный момент у нас нет инструмента искусственного интеллекта, который мог бы выполнять работу, которую могу выполнить я или любой другой разработчик с исключительными способностями. Так что хороших разработчиков вроде меня ИИ не заменит вообще, и я думаю, ни в будущем, ни через 20 лет.
Назовите самый амбициозный проект, над которым вы работали?
Евгений: я работал в компании GAN. Это крупнейшая компания в США, создающая онлайн-платформы для казино. Когда я присоединился к этой компании, многие казино хотели как можно скорее перевести свой бизнес в онлайн из-за COVID.
Я был в команде с двумя разработчиками, поэтому компания сказала: «Нам просто нужно найти решение; как создать двести веб-сайтов в кратчайшие сроки». Итак, нам нужно было найти платформу, найти решение, которое решило бы эту проблему.
Это означало, что нам нужно было создать платформу, на которой было бы очень легко просто собрать весь этот код и просто создать все эти вещи. Поэтому мы решили создать шаблон на основе ReactJS.
Так как есть некоторые общие вещи, которые должны быть реализованы на всех сайтах, такие как платежная система для PayPal или Stripe, мы решили просто добавить все это. Мне нужно было создать пакеты, а затем разработать, и создать все эти сайты. . Таким образом, у вас будет база веб-сайта, а затем вы добавите все эти пакеты, все эти расширения на веб-сайт. Итак, эта платформа была создана мной и двумя другими разработчиками.
Доставили вовремя, работа заняла около 10 месяцев. Теперь я знаю, что они создали большинство веб-сайтов на основе платформы, которую я создал с двумя моими разработчиками. Здесь больше всего казино в США. Итак, мы построили эту платформу; мы сделали это для GAN, для корпоративной работы, а затем GAN с парой разработчиков создали все веб-сайты примерно для двухсот казино в США, вот и все.
Что было для вас самым сложным?
Юджин: Самой большой проблемой было создание собственного фреймворка, потому что я думаю, что если бы у меня был фреймворк, многие компании могли бы его использовать. Даже если прямо сейчас он используется парой разработчиков, которые будут реализовывать проект или информационную панель через этот фреймворк для создания таких компаний, как eBay, Shell и Microsoft, видимо, я буду горд, потому что на основе вашей платформы или на основе вашего фреймворка, люди создают, строят приложения. Итак, это самое главное. Так что для меня это нечто подобное.
Как быстрее всего стать выдающимся разработчиком?
Евгений: Я не думаю, что есть особый способ. Вы можете найти множество руководств о том, как стать разработчиком, как выучить язык, как найти работу, как пройти собеседование и какие вопросы задавать. В настоящее время у вас много учебных пособий; у тебя много вещей. Но чтобы быть исключительным разработчиком, есть только одно решение: много работать. Лучшим советом будет просто пытаться все время делать разные сложные вещи, делать разные алгоритмы, делать что-то новое. Кроме того, очень важно не только много работать, но и работать с умом. Это означает, что вам нужно попробовать делать разные вещи и посмотреть, как у вас это получается. Если вы схватываете все эти вещи очень быстро и понимаете все эти вещи, возможно, вы действительно выдающийся разработчик.
Есть ли у вас лайфхаки, которыми вы хотели бы поделиться с нашими разработчиками?
Евгений: В общем, мой совет — посмотрите, как у вас вообще стек или просто язык программирования, которым вы сейчас занимаетесь, как у вас получается. Если вы все это понимаете, вы понимаете все эти вещи, у вас нет никаких проблем, потому что иногда разработчики выбирают, например, Python, и когда они пытаются сделать что-то более сложное, что-то более сложные в Python, они не могут этого сделать.
Во-первых, вам нужно понять, насколько гибкий код этого языка и сколько вы можете сделать с этим языком.
Например, чтобы быть очень хорошим в Python, попробуйте разные фреймворки на основе Python, но также попробуйте перейти на другой язык, который сильно отличается от Python, например, вы можете попробовать JavaScript, вы можете попробовать C++, который сильно отличается , чтобы увидеть, как быстро вы поймете, как быстро вы это поймете. Если вы можете это сделать, и вам нужно немного времени, чтобы просто понять, как это работает, это очень хороший знак.
Затем попробуйте сделать что-то другое, например, написать разные научные статьи, чтобы понять, сталкиваетесь ли вы с таким вызовом, попробуйте провести рецензирование разных статей и создать платформу, инструмент, который вы можете использовать. не найти в настоящее время, он должен отличаться от существующих и способен решать больше проблем или просто иметь больше плюсов, чем инструменты, которые вы используете.
Итак, создать инструмент или просто фреймворк или что-то, что может помочь людям делать все это быстрее. Это может быть то, что у вас уже есть, но оно должно иметь лучшие функции и лучшее качество. Это о том, что вы можете сделать, но самое главное, помните о своем психическом здоровье. Здорово пытаться делать все эти вещи, а затем пытаться все время комбинировать все, чтобы увидеть, как у вас это получается, но не напрягайтесь слишком сильно, если вы чувствуете усталость. Иногда это может привести к выгоранию, поэтому вам нужно быть очень точным; не доводите себя до выгорания, не впадайте в депрессию.
<цитата>Самое главное — быть довольным собой и получать удовольствие от того, что вы делаете. И, как я уже сказал, вам не нужно много работать, но вам нужно работать с умом.
Оригинал