6 вещей, которым школа/буткемпы не могут научить вас быть программистом

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

1. Первый язык/инструмент, который вы выучили, не будет последним.

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

«Хотя я всю свою карьеру работал в основном на Java, изучение других языков, фреймворков и инструментов имеет огромную ценность. На самом деле, я провел время, работая со многими другими языками, такими как C++, C#, Kotlin, Groovy и Scala. Я понял, что один из самых важных навыков, который вы разовьете за свою карьеру в программировании, — это способность легко осваивать новые языки и фреймворки» — Сильвия Фрончак

«Во время учебы в вузе я была сосредоточена в основном на одном языке программирования и очень небольшом количестве фреймворков и технологий. На моей первой работе у меня был шанс поработать с Python, Hadoop и Blockchain. Я понял, что можно создать нечто потрясающее, если интегрировать различные технологии», — Омкар Хиремат.

2. Проблемы с конкретным языком/инструментом не означают, что вы плохой программист

«Я начал с Python и на несколько лет застрял. Я мог создавать только простые скрипты, потому что изучение Python шло для меня очень медленно. Это заставило меня задуматься о том, что, возможно, я просто недостаточно хорош для того, чтобы быть программистом. Я боялся, что просто зря потрачу время, пытаясь выучить JavaScript. Но это было лучшее решение, которое я принял. Мне просто не нравился Python настолько, чтобы изучать его. Итак, вот вам совет: если кажется, что изучение программирования не для вас, прежде чем отказаться от этой идеи, попробуйте сначала другой язык.» — Давид Циолковский

«Одна из ошибок, которую я совершил, когда начинал работать, заключалась в том, что я не выделил время, чтобы решить, какой язык, стек или фреймворк мне нужно изучать. Поскольку большинство моих друзей изучали JavaScript, я присоединился к ним. Через некоторое время я начал знакомиться с Rust, мультипарадигмальным языком. Хотя сейчас я все еще изучаю Rust, я думаю, что именно с него мне следовало начать» — Укпай Угочи.

3. Кодирование в реальном мире отличается от курсовой работы

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

«В большинстве формальных тренингов, которые я проходил, все было направлено на решение технических вопросов. Некоторые из них были сложнее других, но в общих чертах проблемы были очень хорошо сформулированы. Когда я впервые столкнулся с реальными пользователями программного обеспечения, которое должен был создавать, я понял, что между их желаниями и моей способностью воплотить их в рабочий код существует огромный разрыв. И это не значит, что я не знал, как написать код, который решил бы их проблемы. Проблема была в том, что я не знал, каким должен быть этот код.» — Мауро Чойрин

«В своей карьере программиста вы, вероятно, часто будете сталкиваться с ситуацией, когда для решения определенной задачи у вас будет несколько различных способов ее программирования. Другими словами, для достижения одного и того же результата у вас будет более одного способа написать код. И выбор наиболее эффективного способа иногда может оказаться более сложным, чем само кодирование. Безопасно ли это решение? Эффективно ли оно с точки зрения производительности? Соответствует ли оно стандартам передовой практики? Вам понадобятся ответы на все эти вопросы, и вы не найдете их ни в одном учебном материале, поскольку не существует общих ответов. Все зависит от конкретного случая использования.»- Давид Циолковский

4. Количество написанного кода — не лучший показатель вашего вклада

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

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

5. Ваши отношения с командой и пользователями определят ваш успех

«Ни один университет или курс не объясняет взаимоотношения с членами команды и менеджерами, а также ваши отношения с пользователем. Эти отношения так же важны в проекте, как и сам проект. Фактически, именно они определяют успех или неудачу проекта. Даже когда вы объединяетесь с другими учениками в школе, это никогда не будет таким, как в реальной жизни.»-Габриэль Айзкорбе

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

6. Ваша первая работа — это не конец вашего учебного путешествия, а его начало

«Обучение — это бесконечный процесс. Если вы думаете, что личностный рост для вас невозможен, вам нужно пересмотреть то, чем вы занимаетесь.» — Омкар Хиремат

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

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

Эти цитаты были взяты из интервью в серии Make Me a Programmer «Уроки от ветерана». Свяжитесь с нами, если вы тоже хотите принять участие в интервью.

Оцените статью
devanswers.ru
Добавить комментарий