С чего начать свой путь в программировании? Советы Филипа Экберга

С чего начать свой путь и как добиться хороших результатов в IT? Таким вопросом задавался каждый, кто решил связать свою жизнь с программированием. Сегодня мы представляем вашему вниманию перевод статьи одного успешного программиста, который точно знает с чего стоит начать.
 Филип Экберг является разработчиком программного обеспечения. Пишет на таких языках как C#, WPF, ASP.NET MVC, ASP.NET. Сейчас работает на Invoice2go в Сиднее в качестве главного разработчика ПО. В 2013 Филип был награжден  премией Microsoft Most Valuable Professional in Visual C#.
Своими советами Филип делится через личный блог на Blogspot.Именно там и была выложена следующая статья:
 "Довольно часто мне задают вопросы про мою работу разработчика ПО. Мы имеем хорошую репутацию благодаря нашим хорошим зарплатам и приятной атмосфере на работе, по крайней мере это то, что люди думают о нашем занятии. Не похоже, что нам платят так много, как звездам кино, хотя некоторые притворяются, что мы звезды, сфера IT остается достаточно востребованной  благодаря зарплатам и неком массовом "буме".
   Во время учебы на программиста, на нашем курсе были самые большие отчисления студентов, из-за непонимания того, что должен делать и знать разработчик ПО. Некоторые студенты хотели просто веселиться во время учебы и выбыли бы  вне зависимости от специальности, которую они выбрали. Другие думали, что будут просто играть в компьютер целый день. Правда, "игра в компьютер"- это  действительно то, чем мы занимаемся, только наши "игры" требуют намного больше размышлений, чем просто гейминг.
 Когда я встречаюсь со своей семьей, друзьями, просто знакомыми они часто спрашивают меня:" Так чем ты по сути занимаешься?" И этот вопрос стоит перед "Ого, звучит круто, как кто-то может стать программистом?"Ответ на первый вопрос зависит от того с кем я говорю. Если передо мной человек,не знающий про программирование ничего, я не могу использовать такие сложные термины, как "непрерывная интеграция", "C#", "Azure"; я должен изложить  все более простым языком. Все дело в использовании вездесущего языка, который подходит  как для работы, так и для  многих проектов.
 Так чем же я все-таки занимаюсь? Я помогаю клиентам решать требуемые задачи, чтобы повысить продуктивность и доход, с помощью создания нового ПО, обычно разработанному специально под запрос и нужды.
Этот ответ весьма распространен и может подойти к любой специальности. Тем не менее, следующим вопросам меня просят привести пример. Так как все давно привыкли загружать на свой телефон приложения, то я просто рассказываю над какими я работаю сейчас. В общем, я говорю моим друзьям, семье и знакомым, что создаю приложения и сайты, которые помогают клиенту решить все его бизнес проблемы и сделать его жизнь легче.
  Большинство расспросов заканчиваются именно на этой стадии, дальше все становится слишком техническим, когда ты рассказываешь о "строительстве сайтов" или "строительстве приложений". Иногда вы услышите такие слова от собеседника: "Это просто сайт с текстом и картинками! Что может быть сложным?" Тогда вы даете еще несколько примеров, которые сопровождаются долгим "Оооо... Я этого не знал".
 Несколько моих друзей, неплохо разбирающихся в IT, часто спрашивают: "Я хочу научиться программировать. С чего мне начать"?
 Это достаточно сложный и интересный вопрос. Конечно, я могу просто выложить перед ними тонну литературы по одному из языков, но принесет ли это результат? Подойдет ли им мой язык как хороший старт? Может быть, а может и нет. Вы должны учитывать их цели, помогая новичкам. Может они хотят лучше понять как работают программы и компьютер? Может  хотят написать программу, чтобы разыграть друзей? А может им нужна помощь в решении их проблем?
Первое что я всегда пытаюсь узнать, почему они решили изучать программирование. Я думаю, что все должны знать свои цели, чтобы точно понять, что они хотят получить из этого.Это не изменит моего ответа, но всегда полезно узнать цели человека и его мотивацию.
"Когда в очередной раз вы найдете себя за выполнением одной и той же задачи, подумайте, возможно есть способ как выполнить это действие с помощью программы".
Если у вас есть реальная проблема или цель, намного легче давать советы и помогать в обучении. Создание ПО и изучение языков программирования могут занимать намного больше времени, чем просто повторение, и это, честно, нужно всегда помнить. В любом случае, когда вы поймете как написать и напишите свой первый код, то второй будет намного проще и быстрее составить.
 Я хочу программировать. С чего мне начать? 
 Очень просто поставить первой целью решение настоящей задачи, но это не сможет помочь новичку понять, как это делать. Поэтому я всегда протягиваю им руку помощи в виде хороших инструментов для обучения.Когда я советую им книгу или программу, я всегда учитываю тот факт, что им не нужно слишком много сложных знаний для их первой программы "Hello world!". Если нет результатов, скорее всего, что этот человек просто сдастся и забросит обучение. Программирование не только про код, который мы пишем, это про вещи, которые мы соединяем вместе.
 Я хочу, чтобы человек почувствовал вкус некой победы настолько быстро, насколько это возможно.Не имеет значения, будет ли вашим достижением одна строчка кода или целый сложный алгоритм, главное, что они вложили в него свои усилия и могут гордиться этим. с чувством достижения, новички начнут быстрее обучаться и захотят глубже вникать в процессы написания кода.
 Последние несколько лет я принимал много участия в обучении программированию, и, когда меня спрашивают, с чего начать обучение, я отвечаю: "Сделайте это, как сделал бы ребенок". Как мы учим детей кодированию? Существует прекрасный сайт Code.org. Этот сайт позволяет создавать свои программы прямо в веб-браузере, что является весьма удобным. Вы даже сможете создать своего собственного клона Flappy Bird! Конечно, это не ускорит вашу постоянную работу и бизнес проблемы, но это поможет вам понять, что такое разработка программ.
 Не существует простого ответа на вопрос с чего стоит начать обучение, но очень много хороших ресурсов для обучения, базирующихся на ваших знаниях и готовности к обучению. Построение алгоритмов на Code.org- это только первая ступень в изучении программирования, но  у вас еще долгий путь впереди. Когда вы поймете, что готовы сделать новый шаг, вы, возможно, захотите найти хорошую книгу, которая сможет объяснить вам основы работы с ПО.
 Правда, я просто хочу научиться программированию, посоветуй ресурсы!
Многие люди просто хотят, чтобы их "накормили с ложечки" знаниями, что, к сожалению, невозможно. Обучение займет очень много внимания и времени. Вы будете учиться на своих ошибках и вы испытаете много "Ого, я это сделал!" моментов. Если вы действительно сосредоточены на изучении ПО компьютера, то вы легко найдете кучу книг для новичков.Даже если у вас не выйдет написать собственное ПО, полученные знания, несомненно, пригодятся вам в IT сфере.
 Когда я учился Java, я использовал книгу Head First Java, которая прекрасно подойдет новичкам. Многие из тех с кем я учился никогда до этого не имели опыта в программировании, и язык написания книги, и  иллюстрации были простыми и полезными. Head First- это  целая серия книг, которая была выпущена для многих языков программирования. Я бы особенно порекомендовал Head First Python.
 Не очень любите читать книги? Тогда я рекомендую попробовать ресурс Pluralsight's Programming for Kids videos. 
 Если у вас есть дети, то обучение программированию вместе принесет больше плодов. Дети всегда задают интересные и важные вопросы, которые заставят вас задуматься. Еще одним плюсом является совместное общение и решение задач. Не могу дождаться дня, когда смогу научить своих детей программированию!
 После прочтения книг, игры на Code.org и, возможно, просмотре некоторых видео, вы, скорее всего, захотите изучать дальше и глубже. Я посоветую записаться на курсы, и тогда наверняка у вас появится достаточно знаний и опыта для создание уже своих алгоритмов, которые интересны вам.
 Как я сказал, здесь представлен список сайтов, которые я рекомендую всем, кто захотел начать изучать программирование без предварительного  опыта:

Мой последний совет: представьте небольшое оборудование у вас в гараже, которое оповещает вас, что вы слишком близко подъехали к стенке; это то, что вы сможете сделать с помощью алгоритмов. Возможности безграничны, вам просто нужно найти что-то, что будет щекотать ваш ум и заинтересует вашу семью в программировании".










  
Original:https://www.filipekberg.se/2014/05/28/i-want-to-learn-programming-where-do-i-start/




























Комментарии

Популярные сообщения из этого блога

Структурная схема компьютера. Принципы работы аппаратных средств компьютера

Классификация программного обеспечения. Разновидности операционных систем

Представление данных в компьютере. Двоичное кодирование