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

Номер один. Сделай это.

Лучший способ научиться чему-либо — делать это. Вот цитата Конфуция, известного китайского философа: «Что я слышу, то забываю. То, что я вижу, я помню. Что я делаю, я понимаю». Пассивное обучение, такое как простое чтение учебников и просмотр лекций, — самая большая ошибка, которую я совершил изначально; это не эффективный способ обучения. Программирование — это активное обучение; вы должны написать код, чтобы понять это. Чтение и просмотр онлайн-уроков не является ошибкой. Но когда вы это сделаете, всегда следуйте за. Напишите код, закончите упражнения, запустите программу и проверьте свои ответы. Вам нужно сделать это, чтобы сделать его своим.

Номер два. Построй свою карьеру заранее.

Если вы учитесь в колледже, приложите все усилия, чтобы получить средний балл 4.0. Серьезность вашего среднего балла снижается по мере роста вашей карьеры, но он жизненно важен для вашей первой работы. Если бы у меня был отличный средний балл, я мог бы начать свою карьеру в FAANG 🤷. Не позволяйте вашим летним каникулам пропадать даром; найти стажировки. На самом деле, это мое самое большое сожаление; Я ничего не делал. Не смущайтесь, потому что у вас нет стажировки в FAANG. Учиться чему-то лучше, чем отдыхать на пляже. Если вы учитесь в колледже, на учебном лагере или учитесь программировать самостоятельно, начните проект. Не останавливайтесь на минимальных требованиях. Вам понадобится гораздо больше, чем простой CRUD и несколько сертификатов, чтобы быть конкурентоспособными. Потратьте хотя бы месяц на его совершенствование. Относитесь к этому как к неоплачиваемой профессиональной работе. Работа над проектами — лучший способ научиться программировать и накопить опыт. Если вам интересно, что или как начать проект…

Номер три. Копировать.

Не код, а идея. Копирование — один из самых быстрых и эффективных способов чему-либо научиться! Так я быстро научился программировать и играть на барабанах! Например, попробуйте скопировать такие игры, как Судоку или Сапер. Я сделал свою версию Бомбермена. Какие структуры данных следует использовать? Какие алгоритмы? Как бы вы сцепили бомбы, чтобы они взорвались полностью? Ответьте на эти вопросы во время копирования. Попробуйте скопировать мое приложение для бухгалтерии, если хотите испытать себя. Что насчет игры на барабанах? Вместо того, чтобы создавать свои собственные барабанные партии и сбивки, я копирую профессиональные. Это экономит огромное количество времени и усилий, чем изобретение моего собственного. Вот моя точка зрения: вам нужны навыки, чтобы копировать чужую работу. Как любитель, сначала сосредоточьтесь на технике; творчество приходит позже. Чтобы спроектировать следующий небоскреб, вам нужен прочный фундамент в математике. Точно так же вам нужна прочная основа в кодировании, чтобы построить следующий Amazon или Facebook. Начните с имитации относительно простой идеи, которая уже существует. Существует множество ресурсов, которые вы можете использовать в качестве справочного материала. Помните, сейчас не время развивать самую оригинальную идею в мире. Не хочу вас разочаровывать, но даже если вы это сделаете, вы не первый.

Номер четыре. Быть инициативным.

Не ждите, пока вы будете готовы на 100%; вы никогда не будете. Есть ли что-то, что вы хотите создать, например веб-сайт, мобильное приложение или игру? Просто начните. Будьте агрессивны. Гугли как создать сайт. Ищите как сделать игру на ютубе. Вы можете найти ответы на 99% ваших вопросов в Google. Как только вы начнете, вы естественным образом придете к правильным вопросам. Как добавить кнопку? Как изменить цвет при клике? Как заставить моего игрового персонажа прыгать? Ищите ответы по мере появления вопросов. На самом деле, именно так мы делаем это в больших технологиях! Мы делаем набросок дизайна высокого уровня, а затем заполняем детали по мере написания кода! Если бы я знал, что Google — это путь, истина и жизнь, я бы не был так неуверен в себе, начиная проект. Ваш проект никогда не начнется, если вы подождете, пока все не будет идеально спланировано. Приложение – это огромная коллекция результатов поиска, объединенных по мере необходимости. Не ждите. Просто сделай это.

Номер пять. Вкладывать деньги.

Берите макбук. Поверь мне в этом. Я пользуюсь Windows более 30 лет. Только недавно, когда я попробовал MacBook M1, я осознал мощь кремния Apple. Задержка — величайший враг продуктивности и концентрации; нет ничего более раздражающего, чем дерьмовый старый ноутбук, на загрузку, компиляцию и запуск которого уходят годы. Вам нужно инвестировать в настройку, которая поможет вам погрузиться в целенаправленное, спокойное и непрерывное обучение. Есть причина, по которой MacBook является ноутбуком для разработчиков по умолчанию в некоторых компаниях. Я не могу больше подчеркнуть важность надежной машины для разработки. Начните с MacBook Air M1; он стоит менее 1000 долларов и достаточно мощный для разработчиков начального уровня. Сейчас не время быть мудрым и глупым; инвестировать в свои знания.

Номер Шесть. Овладейте языком программирования.

Одной из моих самых больших ошибок в качестве новичка было то, что я перескакивал с одного языка программирования на другой, не овладев ни одним из них. Посвятите себя глубокому изучению одного языка программирования. Создание одной прочной и глубокой основы в одном языке имеет первостепенное значение для поверхностного знания нескольких языков. Как только вы освоите язык, вы поймете, что все языки программирования практически идентичны. В качестве стартового я рекомендую Python. Это чрезвычайно универсальный и простой в изучении язык со многими приложениями в отрасли; Хотел бы я сначала изучить Python. Это также лучший язык программирования для кодирования интервью. Синтаксис языка настолько лаконичен, что вы можете реализовать такое же решение с минимальным количеством кодов по сравнению с другими языками. Это именно то, что вы хотите. Больше думать, меньше кодировать.

Номер семь. Будьте автономны.

Автономность или способность работать независимо, возможно, является самым важным навыком в отрасли. Научитесь решать проблему, не полагаясь на других. Ваш лучший друг снова Google. Поиск в Google — это навык; каждый может искать, но не каждый может хорошо искать. Научитесь находить выход, прежде чем просить о помощи. Вот вызов. Разместите свой проект в облачной службе, такой как AWS, Azure и Google Cloud, все самостоятельно. Я рекомендую AWS, так как он является лидером рынка и имеет бесплатный уровень. Технология облачных вычислений — один из лучших навыков, которым можно научиться сейчас. Используйте эту возможность, чтобы обеспечить высокую видимость своей работы и доказать, что вы можете закончить работу самостоятельно. Научитесь справляться с делами самостоятельно. Не оставайтесь индивидуальным участником; стать независимым автором.

Номер восемь. Научитесь отлаживать.

printf, System.out.print, Console.Write, эхо, console.log. Я не помню большинства библиотек и методов ни в одном языке. Но я помню те, что выводились на консоль. Почему? Потому что они отлично подходят для отладки. Например, откройте браузер Chrome. Нажмите Ctrl + Shift + J в Windows или Cmd + Option + J на ​​Mac, чтобы открыть консоль разработчика Chrome. Введите console.log(это). Вы можете увидеть все свойства и значения, хранящиеся в объекте в JavaScript. Не каждый язык выводит весь контент на консоль, но вы поняли. Visual Studio Code и Visual Studio — лучшие IDE в мире; не ищите в другом месте. Научитесь ставить точки останова; это лучший способ отладки. Воспользуйтесь преимуществами инструментов отладки и часто выполняйте отладку. Если вы не занимаетесь отладкой между разработками, вы делаете это неправильно. Сделайте отладку привычкой.

Номер девять. LeetCode рано.

Сделай мне одолжение и перестань спорить о том, насколько актуален LeetCode в реальной жизни; просто сделай это. Неважно, кто прав, потому что вам все равно придется использовать LeetCode, чтобы пройти собеседование по программированию. Нравится вам это или нет, но эта система не изменится в ближайшее время, поэтому лучше начать раньше, чем опоздать. Во-первых, я знаю, насколько пугающим может быть LeetCode. Тем не менее, это навык, которому можно научиться и улучшить. Как бы то ни было, даже инженеры FAANG все еще разрабатывают LeetCode за 2–3 месяца до того, как покинуть корабль. Почему? Потому что это тяжело! Я никогда не был хорош в этом и до сих пор так не считаю. Но разница в том, что я никогда не сдавался! Вы хотите присоединиться к FAANG? Знайте свои структуры данных. Относитесь серьезно к временным и пространственным сложностям; поймите их неправильно, и вы проиграете игру. Вопросы могут быть неуместны в реальной жизни, но анализ сложности актуален. Научитесь оптимизировать и писать эффективный код. Решения грубой силы неприемлемы в FAANG. Хотите знать, как я готовился к интервью FAANG? Посмотрите это видео.

Номер десятый. Победить.

Примите победное мышление. Вы победитель, если стремитесь быть лучше тех, кем вы были вчера. Что бы ты ни делал, обещай мне: делай все возможное. Неудачи — это нормально, но научитесь принимать неудачи как ступеньку к победе. Кодить сложно, и вы не выживете без правильного отношения. Если бы я мог вернуться в прошлое, я бы дисциплинировал себя в следующих трех областях: Настойчивость. Научитесь сидеть часами. Сосредоточьтесь, пока не достигнете важной вехи. Неудача — это часть кривой обучения; сдаваться нет. Смирение. Нет места для роста, если ваша чаша уже полна. Примите тот факт, что компьютеры никогда не могут ошибаться, а вы можете. Если вы сражаетесь со своим ноутбуком, вы сражаетесь не с тем противником. Определение. Никогда не теряйте из виду свою цель. Делайте все возможное, чтобы реализовать свои амбиции. Обращайтесь за помощью, когда это необходимо. Опять же, Google и YouTube — ваши лучшие ставки. Где есть воля, там и способ.

Краткое содержание

Все, что я упоминаю здесь, может быть сделано параллельно, то есть нет фактического порядка. Это десять подлинных советов, которые я бы дал себе, если бы мог путешествовать во времени. Какой из них показался вам наиболее полезным? Позвольте мне знать в комментариях ниже. Не забудьте поставить лайк и подписаться, если это видео было для вас полезным. 🏴‍☠️👑

Первоначально опубликовано на https://www.piratekingdom.com 27 августа 2022 г.