Как стать программистом или Выучить Java за 1 год

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

Programmer HD Wallpaper by PCbots
 

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


Публикация начинает выглядеть как многие подобные материалы. По закону жанра я должен буду написать название пары тройки языков программирования, назвать парочку плюсов и минусов и, в итоге, так и не ответив на вопрос, перейти к следующей части. Отчасти в этом есть доля правды, ведь каждый выбирает для себя тот язык, который ему ближе, исходя из того, разработкой какого вида продуктов он хочет заниматься в будущем. Большинство из вас изучали в школе Turbo Pascal и вряд ли для вас будет новостью, что на этом языке сейчас уже практически ничего не пишут. Так и в данном случае, выбирать язык надо грамотно, хотя много знаний никогда не бывает, но если вы хотите за короткий промежуток времени эффективно влиться в ряды программистов, к выбору языка надо подходить с умом. В самом начале запомните: хороший программист никогда не останется голодным, а в большинстве случаев сможет купить себе много икры (это определение подойдет для любой специальности, но ни одна специальность не даст вам такой свободы выбора места работы, как в плане компаний, так и стран — программист он и в Индии программист).

Логично, что чем популярнее язык и востребованность, тем больше шансов будет найти  работу в будущем, при этом язык должен быть несложным в освоении. Потому что хотя на C++ и пишут большое количество игр и получают за это хорошие деньги, новичку, тем более не знакомому с ООП (объектно-ориентированное программирование)  лучше отложить на некоторое время этот язык куда подальше. Далее по ссылке предоставлен список самых популярный языков  программирования 2014 года, и как видно, на первом месте стоит Java, далее идут C языки, затем Phyton, JavaScript, PHP, Ruby и т.д. Если самим поискать подобные статистики, то вы увидите, что в разных источниках места заняты по разному, но в целом первые 10 мест по содержанию везде будут совпадать.

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

Исходя из этих двух источников мы уже можем себе представить, какие языки программирования сейчас «в моде». Как видно по названию, автор статьи выбрал для себя Java. Хотя я считаю его лучшим для изучения ООП, найдется много людей, которые не согласятся со мной, и это логично — сколько людей, столько и  мнений. Тут мы встаем на небольшое перепутье дорог: выбирать Java, С# (очень похож на Java), Phyton, если мы хотим работать с начинками программ и приложений (back-end) или же PHP, JavaScript, HTML, если хотим заниматься веб-разработкой (front-end). В первом случае я бы свой выбор остановил на Java, а во втором — на PHP, хотя опять же, тут больше по вкусу, надо уже самому искать информацию о различных языках и вообще понимать, чем ты хочешь заниматься. Для размышлений вот подборка языков, которые используются в крупнейших интернет компаниях мира.

Есть 2 основных причины, почему бы я выбрал либо Java, либо PHP. Первая — это очень популярные языки и найти соотвествующую работу не составит труда, а вторая — в том, что ни по каким другом языкам вы не найдете столько обучающего материала как по этим двум, причем как на русском, так и на английском.

10001798275020e27dcdde1
 

Обучение


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

Вообще, у меня есть своя теория, не раз подтвержденная мною же на практике: абсолютно всему можно научиться за  1 год. . Поверьте мне, это сущая правда, кому-то даже понадобиться меньше времени, но если человек не перестает сдаваться и в течение года с умом подходит к обучение, то практически невозможно, чтобы он не научился. Это не только в программировании, абсолютно в любой сфере: хочешь играть на гитаре — без проблем (у меня это заняло не так уж много времени и сил), научиться аргентинскому танго, кататься на серфе — на все это хватит одного года. Главное — учитесь!

В данном случае я буду рассматривать язык Java, так как он мне все таки ближе. Благо в интернете полно людей, которые безвозмездно помогают другим в обучение, поэтому найти подходящий для вас материал не составит труда. Здесь выложены более 1000 часов лекций по Java, которые можно с пером и бумагой просматривать в стенах свою уютной квартиры (пока только на русском языке). Для тех, кто привык вчитываться в проходимый материал, опять же интернет предоставляет большие возможности и это только один из всевозможных сайтов с уроками по Java. Теории хоть отбавляй, но не могу сказать про такой обучающий сайт, как Coursera.org, где вы сможете найти обучающие курсы на различных языках и по различным областям, в том числе и программированию — опять же все абсолютно бесплатно. Таких сайтов не один и не два, стоит всего лишь поискать.

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

Ну и конечно, кто-то спросит, а как же книга? Разве не надо их читать, а если надо — то что? На это я отвечу, что от чтения книг еще никто глупее не становился. Книг тоже очень много, но я перечислю только небольшую часть из них:
 



healthit-resized-600
 

Помощь в практике


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

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

  • Cyberforum — по моему мнению, самый популярный русскоязычный форум ITшников, тут можно найти ответы на вопросы, при чем и не только в области программирования;
  • Programmers forum — крупный русскоязычный форум;
  • Searchengines — небезызвестный форум, но специализируется больше в веб- программирование;
  • Stack overflow — а это уже, не побоюсь этих слов, самый популярный во всем мире IT-форум, ответы практически на все свои вопросы вы найдете именно здесь;
  • Dev shed — тоже крупный англоязычный форум;
  • Quora — форум прямо не специализирующийся на программировании, но зато большая вероятность, что вы получите ответ от настоящего профессионала.



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

Компилируем код


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

Наконец, для тех, кто хочет действительно стать программистом, желаю взять быка за рога, собрать всю волю в кулак и делать то, что вам нравится. До меня уже тысячи раз говорили, но я повторюсь, главное — желание и труд. Тогда все у вас получится. Запомните самое главное: воспринимайте изучение языков программирования и различных технологий не как цель, а как СРЕДСТВО. Только представьте, какие возможности перед вами открываются. Может быть, именно вы станете одним из тех, кто меняет мир в режиме реального времени. Так что удачи и спасибо за внимание!

Источник

Версия для печатиВерсия для печати
  • 1
  • 2
  • 3
  • 4
  • 5
Всего голосов: 3
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Страницы

Аватар пользователя savely

> Усиливая у заказчика ощущение собственной значимости. Грамотно.

Вадим, я таких "15 минут" насмотрелся. За день - по известным на данный момент вводным от Майка я на 99% ГАРАНТИРУЮ результат (процент - на форс-мажор). Кстати, неважно, чем я его добьюсь. Возможно, и тем же Excel. А, может, вообще awk'ом каким. 
А Вы гарантируете решение Вами за "15 минут"? 

+1
Аватар пользователя savely

Отлично, Вадим, Вы встали в красивую позу, мне нравится! ;)

P.S. Как там у Ленина в "Памяти Герцена"? 

P.P.S. "Пацанский" наезд выше переформулировал. 

+1

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

Аватар пользователя mike

Технарь -- это диагноз.

Будет вам диагнозы ставить. Этот технарь, возможно, в филармонии бывает чаще иных гуманитариев. Потому что от технарства отдыхать надо. Нет аргументов -- баньте. А фразы кирка-лопата -- не о технарях.  Нормальный технарь подбирает инструмент. И не станет использовать молоток вместо ножа.

Усиливая значимость у заказчика. Грамотно.

В порядке оффтопика дописываю. (Жена задралла, не даёт общаться с "придурками" по её мнению.) Ни о каком усилении значимости и в мыслях не было. С этим заказчиком работаю давно. Идёт техобслуживпние. Моя задача: как можно скорее помочь пои возникновении проблемы.

mike пишет:

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

Javascript - это секси язык. (С)

Аватар пользователя drezin

Vadim Stankevich пишет:

Усиливая у заказчика ощущение собственной значимости. Грамотно.

 Судя из рассказа это был определяющий фактор.

Аватар пользователя Petro47

Logicby twitter.com logicby пишет:

javascript - это секси язык. (С)

Как говорил мой друг (он давно сидит) - отвечай за то, что знаешь.:-)  я могу написать сайт на JS, несложный конечно, а ты хоть строчку напишешь?

Аватар пользователя mike

drezin пишет:

Vadim Stankevich пишет:

Усиливая у заказчика ощущение собственной значимости. Грамотно.

 Судя из рассказа это был определяющий фактор.

Сударь, пройдите в игнор. Если есть что сказать по сабжу -- плиз, отвечу.

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

Аватар пользователя drezin

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

mike пишет:

drezin пишет:

 Судя из рассказа это был определяющий фактор.

Сударь, пройдите в игнор.

Хорошо сударь впредь буду избегать общения с Вами:)

mike пишет:

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

Согласен кэп

+2

Страницы