21 янв. 2015 г.

Как стать программистом


Если вы читаете эту статью, вы или программист или хотите им стать.
Какие плюсы и минусы быть программистом? Какие сложности вас ожидают на пути программиста? Какие выгоды принесет программирование? И самое главное, что сделать, чтобы стать программистом и получить работу?  На эти вопросы вы найдете ответы в этой статье.


Кто такой программист

Компьютер, сама по себе, вещь тупая, беспомощная и палец о палец не ударит, пока ему не объяснишь что, да как сделать. Для этого и были придуманы программисты, которые ему пишут инструкции.

Языки программирования


Обычным русским и даже (!) английским языком инструкцию для компьютера не напишешь, поэтому были созданы языки программирования, которых, согласно данным Википедии, существует более восьми тысяч. При написании одной инструкции или решения одной задачи может использоваться, как один язык программирования, так и несколько. Например, чтобы получить вес с весов в программу «1С», может быть использован язык 1С и С, C++ или Delphi (для написания dll-библиотеки). Или же для написания одного сайта может использоваться язык PHP, HTML и CSS.
Почему нельзя получение веса в 1С написать на языке HTML, а сайт - на С++? Потому что каждый язык создан для своей сферы. У каждого свои возможности, своя сложность и свои особенности (класс, система типов, синтаксис и т.д.).

Плюсы и минусы быть программистом

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

 Что вас ожидает в программировании:

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

  1. Задачи не повторяются
    Задачи повторяются редко, а может и никогда. Но тут и хорошая новость, решения забываются, а мышление и понимание остается на месте. 
  2. Жизнь в напряжении
    С одной стороны, ваш мозг никогда не высохнет, а будет развиваться, с другой – вы никогда не сможете расслабиться и плевать в потолок. Всегда найдется то, чего вы еще не делали, не разбирались, не знали (или забыли). Правда, это временно, на каких-то лет 5. Потом, дойдя до какого-то уровня большинство вещей будет легко и понятно.
  3. Знать то, о чем другие не догадываются
    Поначалу вы должны будете знать, чем процедура отличается от функции, массив от коллекции, а примитивный тип от ссылочного. Потом, внезапно, вы можете столкнуться, например, с вопросом, «что и как делает объект класса SoapFormatter пространств имен System.Runtime.Serialization.Formatters.Soap?»
    Кому интересно, то тут все просто, вот что он делает:
    «Serializes and deserializes an object, or an entire graph of connected objects, in SOAP format.»
    Ничего не поняли? Ладно, вот по-русски:
    «Сериализует и десериализует объект или полный граф связанных объектов в формате SOAP.»
    Опять ничего не понятно? А я предупреждал. Да, кстати, в большинстве случаев, перевода на русский язык нет, вся документация на английском.
  4. Поэтому, придется все же выучить английский, это нужно
  5. Нужно постоянно разбираться в чем-то типа этого:
    clientSocket = serverSocket.accept();
    System.err.println("Client connection accepted from " 
    + clientSocket.getInetAddress().toString());
    // Read and process data from socket
    processConnection();
  6. Компьютер – ваш друг, враг и близкий родственник
    Большинство времени вы будете проводить за компьютером на работе, работая, а придя домой, окажется, что хочется еще вот это попробовать, то сделать, выучить еще один язык программирования, а на выходных переписать вот тот кусок кода, потому что он какой-то некрасивый.

Что вы получите от программирования:


Что получите? А это уже в первую очередь зависит от вас, ваших способностей, желания, навыков и т.д. Кроме того, 80% всей выгоды зависит от профессионализма. У хорошего специалиста привилегии и зарплата больше, а солнце над головой светит ярче. Чтобы стать хорошим специалистом, нужно потратить 10.000 часов проведя над программированием, а это 5-7 лет.
Скажу только то, что от программирования вы можете получить все, к чему стремится современный, успешный человек:
  1. Интересная, творческая работа
    Каждый день вы будете узнавать что-то новое. Каждый день вы будете что-то творить или создавать. Пусть этого не видно, пусть никто не знает, как оно работает, иногда, даже вы J. Но оно работает, и оно влияет на жизни других людей.
  2. Гибкий график
    Разве не приятно приходить на работу когда захочется и уходит так же? В большинстве компаний тебя никто на работе не держит, главное выполнять задачи и не валить проекты. Иногда можно договориться вообще, работать на дому, только тут самому нужно быть требовательному к себе и не расслабляться дома.
  3. Большие зарплаты
    Программист – это высокооплачиваемая профессия, в некоторых случаях даже очень высокооплачиваемая, как у нас, так и за границей. Все зависит от сферы, опыта и умения. Если у вас опыт больше 5 лет, то денег на хлеб вам точно хватит, а также на хлеб для ваших родителей, детей и даже больше.
  4. Возможность уехать за границу
    Программисту не важно, где работать. Если ты бухгалтер, то уехав в другую страну, ты не сможешь там работать, потому что там другой план счетов, другие стандарты ведения учета. Если ты юрист, ты тоже не сможешь работать за границей по профессии – другие законы, судебная система и т.д. У программиста все просто – те же стандарты, тот же язык. Но английский все же придется выучить и чем раньше, тем лучше.

Да, я хочу быть программистом


Итак, вы на кухне, за пивом послушали рассказы знакомых программистов, закончив ВУЗ по специальности программист или прочитав эту статью, решили стать программистом.
С чего же начать, спросите вы?
  1. Выбор сферы деятельности
    Нужно выбрать сферу в которой вы хотели бы работать, то чему вы хотите посвятить свое время, жизнь, что вам интересно. Как выбрать сферу деятельности можно почитать тут. Это может зависеть от ваших навыков, знаний, желаний. Например, вы любите серфить в интернете, вам интересно, как устроены сайты. Тогда вам прямая дорога в WEB.
  2. Выбор языка программирования
    Допустим, вы знаете, что такое база данных или всегда мечтали создать онлайн-игру. Поэтому вы выбрали эту сферу. Теперь нужно выбрать язык для обучения, от этого будут зависеть дальнейшие шаги. Для этой сферы подходит язык С# или VB.net.
  3. Поиск первого источника информации
    После выбора языка вы ищете книгу, соответствующую вашему уровню знаний (для чайников, для начинающих, по конкретной теме, которую вы хотели бы подтянуть, если уже есть знания). Благо, литературы много, только бы успевать читать. Главное, чтобы книга не была унылой и чтобы в ней были задачи. Без практики нет вообще никакого смысла в книге.
    Если нет задач, нужно пытаться придумать их самому.На этом этапе идеально бы устроиться на работу, пусть стажером, на первое время бесплатно. Главное, чтобы там могли вам подсказать ответы на ваши вопросы, направить на путь истинный.Также, на этом этапе уже нужно что-то пробовать сделать самому. Написать калькулятор или создать базу данных книг вашей бабушки, что стоят на полке. Главное практика!
  4. Заполнение пробелов в знаниях
    После прочтения книги и написания нескольких своих программ (у меня это был блокнот, калькулятор и программа для решения тестов) можно взяться за какой-нибудь интересный видео курс. Таких в интернете множество. Тут также нужно учитывать уровень своих знаний, полезность курса, его направление и тематика. На этом этапе практика будет еще важнее, чем на предыдущем. Этот этап поможет заполнить пробелы в знаниях.
  5. Еще немного практики
    Практика даст мышление и понимание, а главное, опыт.
  6. Устройство на работу
    Большинство людей берутся за программирование не из простого интереса, а интереса к деньгам, получению работы. Если на этапе 3 или 4 вам не удалось устроиться на работу, то здесь уже ничего не остается, как пробовать. Ходить на собеседования и пытаться добиться своего. Может повезти сразу, смотря, какую сферу вы выберете, и какой спрос в тот момент будет на рынке. Тут важно понимать, что в большинстве случаев, никого не интересуют ни ваши дипломы, ни знакомства. Для всех важны ваши знания, умения и портфолио с готовыми проектами, если такое имеется. На некоторых собеседованиях вам могут сказать, что еще нужно выучить, чтобы получить работу.
    Если не получается устроиться на работу: повторять шаг 3, шаг 4, и, особенно, шаг 5.
  7. Нашли работу
    Проявлять любознательность, интерес, желание учиться и все у вас получится!

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

Комментариев нет:

Отправить комментарий

Спрашивайте, критикуйте, оставьте свое мнение