Чему вас не учат в университете

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



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

1. Ваша ценность

Первое, чему вас не научат в университете, - это сколько денег вы должны и можете заработать. На большинстве собеседований вас спросят, какая зарплата вам подойдет, если они не указали ее в объявлении о вакансии. Как бы вы на это ответили? В университете этому не учат. Самое забавное в жизни разработчика заключается в том, что они могут сказать вам, что вы стоите в два раза больше, чем вы думаете, или в три раза меньше. Только когда вы начнете работать, поговорите с людьми из вашей компании, с друзьями-разработчиками или даже с разработчиками из других компаний, вы узнаете, сколько вы стоите. Не только это, но вы также будете знать себе цену, когда увидите, сколько вы вносите.

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

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

2. Контроль ущерба

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

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

3. Больше навыков

Навыки, которые вы изучаете в школе, не на 100% того, что нужно компаниям. Это то, о чем многие люди не знают или могут не полностью согласиться. Я чувствую, что это может быть немного спорно для обсуждения, но большинство университетов имеют своего рода партнерские отношения с разными компаниями. Это плохо? Нет, не совсем. Но вот в чем дело. Большинство университетов с указанными партнерскими отношениями сосредоточатся на обучении вас конкретным технологиям, которые используют компании, с которыми они сотрудничают. Это не так уж и плохо, потому что некоторые выпускники в конечном итоге проходят стажировку и работу в указанных компаниях. А как насчет тех, кто никогда не попадает? В конечном итоге им придется учиться, а скорее переходить на другие универсальные технологии, чтобы получить то, что компании сочтут востребованным на рынке.

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

4. Ответственность и подотчетность

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

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

5. Установление прочных связей

Получение степени CS не гарантирует высокооплачиваемую работу. Многие думают, что окончив университет, вы имеете право на хорошую работу или большую зарплату. Честно говоря, если у вас нет связей, никогда нельзя быть уверенным, что все встанет на свои места. Компании не будут выстраиваться в очередь, чтобы нанять вас только потому, что у вас есть степень в области CS. Большинство разработчиков получают работу по направлениям, по программам стажировки и т. Д. Остальные получают сразу же после отправки заявки. Я уверен, что попасть в высшую лигу труднее, чем попасть в небольшие компании, но таков мир.

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

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

Уровень кодирования

Спасибо, что стали частью нашего сообщества! Подпишитесь на наш канал YouTube или присоединитесь к Интервью по программированию Skilled.dev.