что нужно знать любому программисту

Что должен знать и уметь хороший программист на самом старте карьеры

Программисты – это люди, которые создают программы или, как говорят на профессиональном языке, разрабатывают. Браузеры, аудио- и видеопроигрыватели, антивирус, торрент-клиент и многое другое создано программистами.

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

что нужно знать любому программисту. Смотреть фото что нужно знать любому программисту. Смотреть картинку что нужно знать любому программисту. Картинка про что нужно знать любому программисту. Фото что нужно знать любому программисту

Базовые знания

Любая профессия начинается с изучения фундаментальных основ. Что должен знать программист на старте – дискретную математику, теорию вероятности, математическую статистику, линейную алгебру, функции и т. д.

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

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

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

Расширенные навыки

Начинающие студенты часто задаются вопросом – какие еще навыки нужны программисту, кроме базовых?

Где изучать

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

Если студент выбирает путь самостоятельного изучения, то ему потребуется гораздо больше времени стать разработчиком.

В качестве вуза студент может выбрать онлайн-университет, который преподает курсы программирования с нуля. Ученику не нужно регулярно ездить на занятия и тратить время на дорогу. Он может выбрать удобную для себя форму обучения – например, в свободное время слушать лекции и сдавать практические занятия. Диплом в онлайн-университетах приравнен к обычным вузам.

Один из вариантов изучения онлайн–курсы на сайте https://checkroi.ru/. Веб-сайт предоставляет огромный список разных учебных материалов.

На какого программиста пойти учиться – выбор за студентом. Он вправе выбрать область, которая для него наиболее интересна. Программирование творческий процесс: если работа не интересна, то и результата не будет.

Сфера применения

При возникновении вопроса у начинающего программиста – какое образование выбрать, сначала стоит определиться с областью программирования.

На 2020-2021 года актуальные темы:

Существует и другие области, в которых также востребованы программисты – контейнеризация, DevOps, QA engineer и др.

Уровень зарплат

Стоимость услуг программиста варьируется в зависимости выбранной сферы и профессиональных навыков. Например, начинающий разработчик мобильных приложений в среднем получает на руки до 70-80 тысяч рублей, а опытный – 200-300 тысяч.

Поэтому на вопрос какая зарплата у программиста – нельзя дать четкий ответ. Также учитывается и компания, которая наняла сотрудника. Apple платит на порядок больше, чем небольшая компания.

Резюмируем

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

Источник

Семь вещей, которые нужно знать начинающему программисту

Если вы недавно в мире профессиональных разработчиков, вы могли слышать о вещах, которым не учат в университете или на курсах.

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

что нужно знать любому программисту. Смотреть фото что нужно знать любому программисту. Смотреть картинку что нужно знать любому программисту. Картинка про что нужно знать любому программисту. Фото что нужно знать любому программисту

Загляните под капот

Знание языка программирования — основа разработки программного обеспечения. Но не менее важно понимать, что скрывается у языка под капотом.

Пит Балл, инженер поддержки в Acquia, сказал: «Многие языки абстрагированы от того, что происходит на уровне системы, и эта абстракция полезна, поскольку позволяет разработчикам быстрее разрабатывать. Но когда вы натыкаетесь на грабли, действительно неприятный баг, нужно понять, что же происходит внутри. Совершенно необходимо тогда уметь заглянуть внутрь процесса, посмотреть системные вызовы и понять, как кусок кода взаимодействует с остальной системой».

Точно так же говорит Роберт Дуглас, вице-президент отдела удовлетворенности клиентов Platform.sh: «Когда я начинал программировать, были вещи, которые я действительно не понимал. Три примера таких вещей — файловые системы, сеть и то, как данные хранятся в памяти. Это значит, что я не обязательно понимал цели некоторых программ, с которыми сталкивался».

Знайте инструменты командной строки

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

Ветеран с двадцатилетним опытом, пожелавший остаться анонимным, сказал: «Иногда вы оказываетесь перед машиной с ограниченным набором инструментов и задачей, которую надо сделать прямо сейчас. Знайте командную строку, как пять пальцев; инструменты, такие как find, comm, diff, vi/vim, sed, awk; умейте писать небольшие скрипты прямо в командной строке, чтобы найти файл, который надо подправить прямо сейчас, потому что продакшн сломан, а Джо, который полез своими ручонками не туда, — в отпуске на Фиджи».

Балл, использовавший инструменты Microsoft, а теперь перебирающийся на Linux, соглашается: «Я узнал о командной строке и утилитах *nix все, что возможно. Я могу вспомнить код, который писал год назад, и как я проводил дни или недели, работая над тем, что решается однострочником на grep+awk».

Дебаггер — ваш друг

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

Научитесь писать тесты

Некоторые разработчики уверены в критической важности модульного тестирования, которое подразумевает написание небольших тестов, проверяющих, делает ли код то, что задумал разработчик. Среди этих людей — Ричард Хэндлофф, разработчик баз данных в Strategic Power Systems. Он пишет: «Думаю, что лучший совет, который я могу дать начинающему разработчику — научиться писать хорошие тесты как можно раньше».

Планируйте самообучение

С быстрым изменением технологий меняются системы, языки и инструменты, используемые программистами.

Адам Вульф, мобильный разработчик и основатель Milestone Made, предполагает, что новые разработчики должны быть готовы к изменениям и быть на гребне волны. «Прямо сейчас я хочу сказать, что вы должны быть готовы осваивать новый стек технологий примерно каждые четыре года. Хорошие базовые знания всегда будут актуальны, но инструменты и технологии, которые вы будете использовать каждый день, будут меняться не реже, чем с названной частотой».

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

Кооперируйтесь

Несмотря на то, что обычно разработчики работают обособленно, им приходится взаимодействовать с другими людьми. Бен Миллер, CTO Sinclair Digital Ventures, подчеркнул важность готовности к командной работе для вашей карьеры: «Большие проекты — это куча движущихся деталей, собранных вместе, и то, как они соединяются и разделяют проблемы, создаст невероятные инженерные сложности, если вы не будете осторожны», пишет он.
«Прежде чем браться за улучшение одного алгоритма, соберитесь с командой и убедитесь, что нет способа разделить проблему на всех, сделав ее проще. Разработка — командная игра!».

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

Анонимный источник, разделяющий мнение о важности командной игры, говорит: «Соберитесь и делайте что говорят, даже если это вас утомляет. Но осторожно: вы рискуете застрять так надолго».

Разрабатывайте для себя вне работы

Миллер дает достаточно интересный совет, который не кажется очевидным на первый взгляд. «Разработка для себя — путь к повышению», — говорит он. «Найдите простое решение проблемы, сделайте код понятным и легко модифицируемым, и вам подкинут еще больше работы. Со временем у вас даже будут просить совета» — объясняет он. «Короче говоря, стремление к спокойной безопасной работе затормозит карьеру».

Перевел: Андрей Никифоров
___

Полезные материалы для начинающих разработчиков от образовательного IT-портала GeekBrains:
Запись вебинара «Все, что вы хотели знать о профессии программиста»
Бесплатный онлайн-курс для начинающих «Основы программирования»

Источник

Правила «идеального программиста»

1. Старайся стремиться к профессионализму

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

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

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

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

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

2. Научись говорить НЕТ

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

У вас общие цели, но разные обязанности. Руководители, как и программисты — люди у которых есть свои обязанности с которыми (надеюсь) они умеют справляться. И также у них есть общие цели, в данном случае — добавление нового функционала, хотя порой они могут различаться в реализации, поэтому необходимо уметь приходить к оптимальному результату. Но это же «имя высокопоставленного начальника», как мне вступать с ним в полемику? Повторюсь, у вас общая цели, а для этого жизненно необходимы переговоры, а не слепо катить камень в гору. Увлекаться тоже не надо и вопросы «А зачем?», «А это точно?» будут довольно излишними для достижения общей цели. Эти вопросы должны всегда быть вне зоны вашей компетенции. Исключением будет являться, только тот случай, когда вы вплотную общаетесь с заказчиками и уверены в необходимости этих вопросов.

Вы не успели взвесить все нюансы. Этот момент касается в большинстве случаев — импульсивных людей, которые соглашаются на любой «кипишь». Это роковая ошибка, может стать для вас клеймом с надписью «А помнишь ты не …?», которое является результатом согласия, которое вы дали без задней мысли, которое более того будет обоснованным.

Как по мне, выходом из данной ситуации будет разговор с «торгами», в процессе которого, вы должны объяснить нюансы своей работы и возможные последствия такого указания (обычно это грязь в коде, что в будущем очень сильно скажется на сроках добавления нового функционала, не полная реализация всего, что было запрошено) и дать время на более детальное рассмотрение задания, чтобы вынести свой вердикт по времени его исполнения. Эта цифра навряд ли останется такой, какой вы ее озвучили, но точно даст руководителю более детальную картину происходящего, после чего и начнутся сами «торги».

3. Научись говорить ДА

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

Это зависит от другого человека?

Первые 2 вопроса нужны для определения важности дела по матрице Эйзенхауэра, что позволяет разбить положительный ответ разные временные рамки, в противном случае пробрести аргументы для отрицательного ответа и определения новых рамок посредством переговоров. Третий вопрос позволяет мне добавить в конечный ответ обещание либо с конечной целью (в случае с отсутствием зависимости), либо с обещанием действия для достижения этой цели. В любом случае говорить да легче, чем нет, но этот ответ должен быть с чётким пониманием и готовностью взять на себя ответственность, чтобы при следующем общении у собеседника не возникло сомнений в надежности этих обещаний.

4. Умей справляться с давлением

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

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

Умение контролировать свои обязательства. Помимо текущей задачи, скорее всего, у вас имеются и ряд других. Конечно, в критических ситуациях стоило бы пересмотреть приоритеты и сообщить об этом всем причастным, но для этого должна быть очень веская причина. Также стоит довериться своим собственным правилам, которые определяются индивидуально. Это может быть как и обычная физическая активность (подтягивания, бег), так и специфические методики по типу ведения документации проекта через PHPdocumentor. В любом случае у вас есть хорошая предметная база с фаворитами, которые помогут в таких ситуациях.

5. Цени время

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

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

Источник

Что следует знать перед тем как «увлечься» программированием

что нужно знать любому программисту. Смотреть фото что нужно знать любому программисту. Смотреть картинку что нужно знать любому программисту. Картинка про что нужно знать любому программисту. Фото что нужно знать любому программисту

Вступление

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

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

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

Я и сам пошел по этому пути — скачивал тучи роликов, впридачу купил несколько книг, читал их и забрасывал, потому что мне все-равно не хватало знаний и подготовки, несмотря на то, что все материалы были предназначены для «новичков». Я постоянно гуглил разные мелочи, задавал нубские вопросы на форумах, хватая минусы, и это убивало во мне желание продолжать самообучение.

Да, любые знания и любой накопленный (нагугленный?) опыт вам, безусловно, поможет и пригодится, однако ваша цель научиться тому, чему вы хотите научиться, и увидеть мало-мальский результат в обозримом будущем ведь так?

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

Это как если вы пришли работать, скажем, крановщиком, вас в первый же день посадили в башню, и похлопали по плечу со словами «Ну, удачи!». А как же техника безопасности и базовое объяснение что делать, а чего делать не нужно? Как мне пользоваться инструментами? Что вообще у меня за инструменты в наличии? Что я должен знать перед тем как приступить к работе?

Статья носит сугубо рекомендательный характер, однако попадись мне подобный топик на глаза пол года назад, я бы значительно увеличил свою продуктивность, сэкономил уйму времени себе, а так же множеству людей с форумов, отвечавшим на мои абсолютно идиотские вопросы. К каждому пункту я добавил несколько ссылок, как отправных точек для начала обучения. Так как текст предназначается для абсолютных новичков (да и сам я еще таким себя считаю) — я буду изъясняться предельно просто и понятно, поэтому если вы — гуру, и вы нашли в моем тексте оплошность — судите, но не строго!

Итак, что же следует знать, перед тем как увлечься программированием?

1. Терминал

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

Самообучение

2. Регулярные выражения

Представьте себе, что вы решили выучить иностранный язык не вникая в его азбуку, алфавит или иероглифику. Конечно, это возможно. Но насколько это усложнит процесс и путь к пониманию сути вещей? Решение сомнительное, правда? Так вот, регулярные выражения (они же регексы, с ударением на первый слог) — это, объясняясь простым языком, в какой-то степени вспомогательная азбука любого программиста, или, выражаясь языком викисловаря — «формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов».

Выглядеть регекс может, например, так:

Задача регулярных выражений — помочь программисту с поиском чего-либо. Сейчас объясню.

Если я в своей программе захочу найти все слова, частью которых является слово car (car, carrot, cartoon), мой регекс будет выглядеть так:

Если же меня интересует только слово car, я напишу:

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

«Ну поиск, кому оно надо? Я же буду учиться программировать, а не искать слова!» — наверняка подумаете вы. Я вас услышал и даже понял. Так что если вы все еще сомневаетесь в необходимости заморачиваться с регулярными выражениями, просто поверьте мне на слово — они вам пригодятся. Многие книги и скринкасты используют регексы в примерах, вообще не объясняя, что происходит — авторы думают, что вы уже владеете этими азами и особенно не акцентируют внимание на разжевывании написанного.

Зубрить их совсем не обязательно, но, согласитесь, просмотр пары-тройки скринкастов на данную тематику вас явно не убъет.

Самообучение

3. Софт для разработки — знай свое оружие

Правило номер один — вы должны по-максимуму знать и владеть своими инструментами. Грамотно выбранный и изученный редактор, в котором вы вскоре обязательно начнете творить чудеса, я легко могу сравнить с превосходно подобранным самурайским мечом. Солдаты собирают и разбирают свои автоматы с завязанными глазами — вот насколько хорошо вы должны владеть софтом, которым пользуетесь! Пока вы буква за буквой пишете простую функцию, ваш враг, используя весь потенциал своего редактора, напишет несколько.

Для веб-разработки существует огромное количество програм, от простых текстовых редакторов до сложных облачных решений. В этой статье я не буду сравнивать эти редакторы между собой, вам придется сделать это самостоятельно — ведь вам с этим редактором жить, работать и смотреть на него и в горе и в радости. Я остановил свой выбор на редакторе Sublime Text 2. Помимо тонны возможностей, которыми обладает Sublime, необходимо отметить, что он условно-бесплатный и по нему существует множество отличной документации. Возможно совсем скоро, познав все хитрости Sublime и научившись подключать к нему плагины, подобная строка будет для вас обычным делом:

div>(header>ul>li*2>a)+footer>p (используется плагин Emmet, если кому интересно)

Самообучение

4. Система контроля версий

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

Резонный вопрос: «Зачем мне этот Гитхаб осваивать, ведь мне пока нечего выкладывать?» А причин на то несколько. Помимо содержания собственных репозиториев, GitHub, во-первых, поможет вам осознать себя частью огромного сообщества разработчиков (возможно, кто-то из читающих сейчас ухмыльнулся, но поверьте, это действительно важно, особенно на ранних стадиях обучения!). Кроме того, вы сможете взглянуть на чужой исходный код и научитесь правильно его скачивать и «форкать» (копировать). В дальнейшем GitHub частенько будет всплывать в различных онлайн-курсах и скринкастах, и, конечно же, их авторы будут уверены в том, что вы знаете, как Гитхабом пользоваться. Поэтому если у вас найдется немного времени на неделе, сделайте себе одолжение — попробуйте Git.

Самообучение

5. История и культура

Этот пункт, скорее, вспомогательный, но если программиста которым вы восхищаетесь зовут Стив Джобс, то прошу вас, продолжайте чтение. Программирование имеет богатую и интересную историю (говорю вам как историк по первому диплому), в которой следует поковыряться хотя бы для общего образования. Занимаясь чем-либо, всегда полезно знать, откуда у этого чего-либо растут ноги. Кроме того, я искрене считаю, что без знания истории предмета невозможно полностью понять его суть, и, следовательно, достичь предельных успехов в его освоении. Поэтому если по прошествии некоторого времени такие имена, как Линус Торвальдс или же Грейс Хоппер не будут для вас пустым звуком — уважение вам и респект!

Помните — тот, кто не изучает историю, повторяет ее ошибки.

Заключение

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *