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

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

Давайте разберемся прямо здесь и сейчас! Вот несколько вещей, которые должен знать каждый новый разработчик программного обеспечения.

То, что вы изучаете в школе, важно, но не то, как вы думаете

Вы, вероятно, посещали массу уроков, пока учились в школе. Я взял 46 во время учебы в бакалавриате! Однако, приступив к своей первой работе, вы можете быть удивлены, обнаружив, что содержание этих курсов было наименее важной их частью. Самым ценным, что вы получили от них, на самом деле были навыки, которые вы развили с помощью повторяющихся действий и распознавания образов.

Какой у вас класс алгоритмов и структур данных? Да, вы могли бы закодировать сортировку кучи, чтобы пройти собеседование в Google / Facebook / Amazon. Но на самом деле вы действительно научились разбирать проблемы. Разделяй и властвуй: разбейте проблему на более мелкие, с которыми легко справиться. Вы узнали, что у многих разных проблем есть похожие или связанные решения, так же как определенные алгоритмы и структуры данных будут иметь аналогичные свойства.

Программы бакалавриата по информатике и инженерии безумно сложны. Но вы выполнили много групповых проектов и научились работать в команде (независимо от того, насколько хороши или плохи были ваши товарищи по команде!). Вы научились работать в условиях цейтнота. И, пожалуй, самое главное, вы научились учиться, быстро овладев многими новыми навыками в процессе учебы.

Вы будете тратить больше времени на разработку, чем на кодирование

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

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

Как только ваш обзор и исследование будут выполнены…. еще нет кодирования! Вы будете придумывать свое решение проблемы. Что-то вроде высокоуровневого стиля конвейера / блок-схемы. По сути, это разделяй и властвуй, которому вы научились в школе! Такой простой, но такой мощный. Проведение исследований и проектирования до того, как писать код, гарантирует, что вы не будете стрелять вслепую в темноте.

Изучите хитрости торговли

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

Может быть, ваши коллеги используют отличную среду разработки или редактор, которая делает их более продуктивными, так что попробуйте! Огромная проблема, о которой люди часто забывают, - это сохранить весь код, который вы пишете, если вы хоть на секунду думаете, что можете использовать его снова. По моему опыту, вы или один из ваших коллег обязательно это сделаете. Лично я даже захожу так далеко, что сохраняю определенные функции, которые, я думаю, я буду использовать снова; У меня есть собственная библиотека функций, которую я могу импортировать и использовать в любое время. Например, мне приходилось сотни раз разделять строку файла и его расширение, поэтому я написал для нее функцию Python, которую я могу быстро захватить, когда она мне понадобится.

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

Все эти уловки приходят с опытом практики торговли.

Люди просто люди

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

У вас могут быть коллеги, которых вы считаете супер крутыми; вы тусуетесь после работы и многому учитесь друг у друга! В других случаях вы получите кого-то, кто вам действительно действительно не нравится.

В этом нет абсолютно ничего плохого! Это человеческая природа; мы ладим с одними людьми и конфликтуем с другими.

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

Примите других, какими они есть от природы, и то, как они действуют в соответствии со своими интересами. Вам не обязательно соглашаться с этим, но вы должны жить с этим! Вы делаете это и не беспокойтесь об этом. Люди - это просто люди.

Любите учиться?

Следуйте за мной в твиттере, где я публикую все о новейших и величайших достижениях искусственного интеллекта, технологий и науки! Присоединяйтесь и ко мне в LinkedIn!