Как стать программистом без технического образования. Как стать компьютерщиком
Как стать программистом: советы, личный опыт, ресурсы
Профессия программиста сегодня является одной из самых востребованных, перспективных и высокооплачиваемых. Оплата труда колеблется от 1000$ до 5000$, в зависимости от компании. Вы мечтаете попробовать себя в ИТ, но не знаете с чего начать? Что же нужно для того, чтобы стать айтишником?
Прежде всего это любовь к этой сфере. Если у вас аналитический склад ума, сильное желание обучаться, вы терпеливы и усидчивы, умеете работать в команде — тогда ИТ вам подойдет. Вы должны быть готовы к тому, что на первых этапах обучения вы не будете понимать, что происходит вокруг. Через время это пройдет, но этот этап поможет преодолеть большое желание и стремление научиться языку программирования.
Если вы определили для себя, что хотите стать программистом и эта сфера вам подходит, тогда следующий этап — это самообучение. Есть множество ресурсов, литературы, статей, видеоуроков, платных и бесплатных курсов для начинающих. При поиске вы сможете найти для себя подходящие источники для обучения, опираясь на направление, которое вы хотите изучить. Ниже приведены источники, которые мы рекомендуем.
Ресурсы:
Codecademy
На этом сайте язык программирования изучают 25 миллионов людей. Ресурс постоянно обновляется и подстраивается под вас.
Code.org
С помощью этого сайта вы сможете изучать язык программирования во время игры, а в видео вам расскажут азы лучшие специалисты мира.
Udacity
Когда вы изучили основы можете переходить к изучению курсов. На этом сайте вы найдете множество курсов, которые помогут стать вам настоящим профессионалом. На сайте доступны такие курсы, как « Введение в Java-программирование», «Введение в параллельное программирование», «Мобильная веб-разработка».
Codeavengers
Здесь вы сможете интересно обучаться HTML5, CSS3 и JavaScript.
Coursera
Это платформа созданная профессорами Стэндфордского университета с бесплатными курсами. Вы сможете найти множество курсов по обучению ИТ.
Udemy
На сайте можно пройти такие курсы, как iOS8 and Swift App Programming Crash Course, Kids Coding — Introduction to HTML, CSS and JavaScript и Advanced Java Programming.
Microsoft Virtual Academy
Здесь вас обучат разработке приложений для HTML5, Windows и Windows Phone, Microsoft Office 365, SQL Server, Azure и System Center.
Приложения:
Learn Programming: Coding Tutorial
Для тех, кто мечтает научиться создавать крутые сайты. Вы узнаете больше об Python, Django, HTML и CSS.
L2Code HTML
Приложение пошагово рассказывает о том, как создать веб-страницу с использованием HTML.
Книги:
Бьерн Страуструп — Язык программирования C++
Руководство, написанное создателем языка, которое содержит описание всех средств С++. Книга дает описание языка, его ключевых понятий и основных приемов программирования.
Герберт Шилдт — Искусство программирования на С++
Вы узнаете о том, какими возможностями обладает C++, как создавать многие немаловажные приложения, такие как сборщики мусора, пользовательские контейнеры, загрузчики файлов из интернета, программы финансовых расчетов. Также вы узнаете о том, как создавать многопоточные приложения на C++ и о том, как решать задачи методами искусственного интеллекта.
Д. Э. Кнут: Искусство Программирования
Это великолепное учебное пособие по составлению и анализу компьютерных алгоритмов. Книга является очень популярной во всем мире.
Стив Макконнелл — Совершенный код
Более 10 лет первое издание этой книги считалось одним из лучших практических руководств по программированию. Сейчас в обновленном издании вы сможете получить практическое руководство по разработке программного обеспечения
Изучили основы? Что же дальше?
Далее переходим к практике. Конечно же, всегда проблема в недостаточном опыте работы. Где его получить? Начинайте писать свои первые строки во время обучения. Делайте все задания, перечитывайте примеры, усовершенствуйте и усложняйте задачи.
Перейдите к фрилансингу. Делайте небольшие проекты знакомым, знакомым знакомых. Если у вас есть знакомый программист, предложите ему помощь или попросите стать вашим наставником. Пробуйте искать заказы на биржах фриланса, ищите небольшие проекты.
Ищите проекты open source. У вас есть возможность найти в проекте ошибки и предложить методы их решения. Найти такие проекты вы сможете на сервисах хостинга кода.
Самый сложный способ — собственные проекты. Хакатоны или работа в коворкинге.
Любой опыт пригодится вам для написания резюме.
Невероятно, но программистами не рождаются, ими становятся. При большом желании любой может стать айтишником. Доказать это можно на живом примере Александра Макаренка. Хоть Александр и не программист, а тестировщик, на его опыте вы можете убедиться, что освоить какую-либо айтишную профессию не так сложно, как может показаться. Он расскажет вам о том, как музыкант может стать айтишником и поделится личным опытом.
Александр, расскажите о себе.
Музыкальный этап в моей жизни начался в 8 лет, первые концерты в 10, а в 17 лет мы уже играли квартетом на дипломатических приемах у Президента и в мэрии. Но где-то на втором курсе консерватории я стал замечать, что в классической музыкальной сфере не многим удается соответствовать понятию «средний класс», несмотря на то, что люди более чем профессионалы в своей сфере. Потом началась революция и стало понятно, что искусство в нашей стране силами самих музыкантов не поднять. Максимум — поиграть редким ценителям классики. Я стал искать альтернативные сферы деятельности — сначала мы проводили мастер-классы по музыке и живописи для детей. Дело пошло неплохо, но с ростом курса доллара это стало все больше благотворительностью, но не работой.
Как тебе пришла идея поменять роль деятельности и пойти в ИТ?
У меня были знакомые, которые давно и успешно работали в этой сфере не имея профильного образования. Друг скрипач — разработчик PHP в Австрии, и подруга — главный QA автоматизатор, которая делает отличную карьеру, хотя ее образование с IT никак не связано.
Это интеллектуальная работа, где грамотно вложенные усилия наверняка отобьются как в карьерном росте так и в росте вознаграждения. А также это возможность поработать за границей и при желании остаться там с семьей.
Ты искал варианты того, как можно стать айтишником? Если да, какие варианты были и по какому пути пошел ты?
Работая в сфере классической музыке не было времени изучать что-либо, кроме своей специальности. Потому, когда пришло время менять направление, вопросов было намного больше, чем ответов.
Стороннему для создания софта человеку сходу очень сложно понять что к чему. Все форумы, статьи и прочая информация быстро завариваются в жуткую кашу. Мне повезло, что у меня были друзья в теме, и это безобразие удалось быстро прекратить, а необходимые вещи — прояснить. Можно долго говорить о самообучении и прочих подвигах личности, но именно наличие гуру — знающего специалиста в интересующей области, который знает ответы на ключевые вопросы — позволяет продвигаться значительно быстрее и не растерять по пути мотивацию. Мне с этим повезло.
Учитывая, что опыт был до этого только в музыкальной сфере, было решено обратиться не в разработку, а в тестирование софта. Тут очень повезло — знакомая посоветовала курсы QA, которые основал и вел ее коллега. В тот же день я зарегистрировался и честно говоря это едва ли не самая эффективная инвестиция в себя за последнее время. Там дали ясное понятие того, как создается софт и зачем вообще нужны тестировщики.
Расскажи о поиске работы.
Курсы продолжались месяц и практически сразу по окончанию я был в состоянии проходить собеседование на trainee/junior позиции. Я был готов к переезду в любой город в Украине и потому выбор вакансий получился значительно больший, чем у большинства конкурентов.
После 5-го собеседования я получила дв оффера в Запорожье и в Харьков в геймдев компанию. Я выбрал второй вариант, т. к. в компании большой qa-отдел и есть у кого учиться.
Чем ты занимаешься сейчас? Доволен ли ты и не жалеешь ли, что выбрал сферу ИТ?
Совершенно не жалею о смене специальности и работе в своей компании. Часто говорят, что нетехнари идут в айти из-за денег. Отчасти это так. Но об этом можно говорить, когда ты бросаешь работу за 2к $ и идешь валять дурака за 5к $, меняешь Форд на Мерс. Но когда твое любимое дело при всех вложениях сил и интеллекта может принести не более 500$ в месяц, задумываешься о реальной цене своих способностей и усилий. Кроме того, айти — это интересно и если ты соответствуешь — почему нет?
Для действительно ощутимых успехов в этой сфере требуется отдать очень много времени, сил и готовности вкалывать. Сама специальность предъявляет естественные для человека требования — развиваться. Нужно много менять и учиться постоянно, даже когда тебе 30 или 40. И это правильно.
Сейчас я заканчиваю курс автоматизированного тестирования в том же месте, где мне помогли войти в айти сферу. Это новый уровень знаний и возможностей, новый этап и самое приятное — далеко не последний.
Как видите, при желании и целеустремленности любой может стать айтишником. Если вы задумывались о смене рода деятельности, тогда будьте уверены в своих силах и вы сможете познать этот загадочный язык программирования. Не прекращайте саморазвиваться, пробуйте и ищите новое.
Главное фото взято с сайта Depositphotos
Читайте также:
9 полезнейших сайтов для изучения программирования
10 самых распространенных ошибок начинающих программистов
Уроки по Java для начинающих
say-hi.me
Как становятся программистами? 12 интервью с экспертами.
Как стать веб-разработчиком? Как научиться программировать? Как найти работу программистом? Нужно ли для этого высшее образование? Долго ли нужно учиться, чтобы начать зарабатывать на разработке?
Этими вопросами задаётся, наверное, каждый, кто думает о карьере программиста. Основываясь на собственном опыте, я сделал всё возможное, чтобы ответить на большую часть этих вопросов, написав Самообразование веб-разработчика. Но моё мнение касательно самообразования и способов обучения – это лишь мнение одного человека (хотя я, безусловно, не сомневаюсь в его правильности :) ).
Поэтому мне пришла в голову идея: взять 12 программистов, в профессионализме которых нет повода сомневаться и спросить у них, как они начали свой путь, как они научились тому, что знают сейчас, и как дошли до оплачиваемой работы. Ниже вас ждут 12 историй становления профи, людей, с опытом работы превышающим количество пальцев на одной руке (с некоторыми оговорками). Надеюсь, вы сможете извлечь из этих историй правильные выводы (спойлер: самообразование рулит) и найти пару-тройку подходящих вам советов.
Программисты
- Максим Кремнев, Aviasales
- Павел Хрулёв, Ruby on Rails разработчик, фрилансер на odesk, elance.
- Варвара, Ruby и node.js разработчик, Social Quantum
- Даниил, программист, Social Quantum
- Михаил, тимлид, Social Quantum
- Роман Колеснев, Fullstack Rails developer; Social Quantum
- Сергей Резванов, ruby-разработчик, IkitLab
- Константин, тех. лид в одном из стартапов Санкт-Петербурга
- Корнеев Евгений, тимлид, SmartSpace
- Антон Черепанов, web-разработчик в Evrone, ментор в mdkev.me
- Кирилл Ширинкин, консультант
- Дмитрий Василец, консультант
Максим Кремнев, Software Developer, Aviasales
Сколько лет в веб-деве?5-6
Почему выбрал программирование и веб-разработку?Возможность зарабатывать деньги, делая то что тебе нравится
Какими путями учился этому мастерству?Самообразование
Расскажи подробнее о начале своего пути: как, когда, что?18-19-20 лет. Работал в это время системным администратором, паралелльно увлекался всякими интересными вещами вроде gentoo, bash, python, django (первое что вспомнил). Как-то на одном локальном джоб борде наткнулся на вакансию руби программиста от @ipronix, решил, стоит попробовать и может им питонисты тоже нужны. Но оказалось не нужны, а вот рубисты, даже джуниоры (я тогда этого слова не знал), да, нужны. Ну а что... предложили деньги, причем больше чем я получал системным администратором и решил совмещать офлайн и онлайн работу.
Через 1 месяц. Все @ipronix
С чего стоит начинать новичку?С How To или Get started
Чего тебе не хватало в начале твоего пути?Времени
Какие нибудь книги, сайты, которые можешь посоветовать?google.com
Как сейчас проходит твоё самообразование, какие новые направления изучаешь?golang, python, chef, различные db
Павел Хрулёв, Ruby on Rails разработчик, фрилансер на odesk, elance.
Сколько лет в веб-деве?6 лет
Почему выбрал программирование и веб-разработку?Сложный вопрос. Программирование – потому что есть к этому страсть, это интересно для меня. Веб-разработку – просто как-то так сложилось. Я начал свою карьеру, когда веб-разработка начала становиться популярной, появился большой спрос на веб-разработчиков. Спрос родил предложение в виде меня :)
Какими путями учился этому мастерству?Самообразование
Расскажи подробнее о начале своего пути: как, когда, что?Когда начал увлекаться программированием - написал небольшую игру. Возникла необходимость сделать для неё сайт. Так я сделал первый сайт на html. Потом меня попросили сделать сайт за деньги другие люди, а впоследствии я устроился на работу веб-разработчиком. Было это где-то в конце 2007, начале 2008.
Спустя какое время после начала изучения получил первые деньги за веб-разработку? Как получил первый заказ?Первые деньги - месяца через 4 после того, как сделал первый сайт на html для своих нужд. Заказ получил просто – о моих талантах рассказали, и заказчик сам меня нашёл.
С чего стоит начинать новичку?Со страсти и жажды новых знаний и умений. Изучать что-то, разрабатывать что-то для себя, для удовольствия, используя полученные знания.
Чего тебе не хватало в начале твоего пути?По полочкам изложенной информации. Нормальных сайтов и книг на русском было мало, а английским я еще настолько не владел. Т.е. знания английского не хватало тоже.
Какие нибудь книги, сайты, которые можешь посоветовать?Все зависит от интересующей темы. На каждую тему есть не по одной книге. Могу рассказать то, что нужно для общего развития, как разработчика:
- Для изучения и улучшения английского - книги "English for Russians" и сайт lingualeo.com
- О новых технологиях, тенденциях и т.д можно узнать с habrahabr.ru
- Решения проблем - stackoverflow.com
- Практические навыки кодинга по современным технологиям и в веселом формате можно получить на codeschool.com
Сейчас изучаю Cordova и Rhodes framework, т.е. мобильную разработку, совмещенную с веб-технологиями.
О новинках и тенденциях узнаю на хабре. Если что-то заинтересовало, начинаю копать глубже, читать книги на эту тему, статьи на сайтах.
О каких-то подходах, практиках разработки узнаю из блогов разработчиков, на которых я подписывался. Как правило, это какие-то не последние люди в популярных open-source проектах.
И постоянно работаю над улучшением грамматики английского, увеличением словарного запаса, избавлением от акцента. Помогает в этом, как я уже писал, книги "English for Russians", сайт lingualeo.com и практика общения с заказчиками.
Варвара, Ruby и node.js разработчик, Social Quantum
Сколько лет в веб-деве?С вебом как таковым не очень близко знакома, вообще – лет 6.
Почему выбрала программирование и веб-разработку?Училась в профильном ВУЗе, получалось и было интересно.
Какими путями училась этому мастерству?Университет, самообразование
Расскажи подробнее о начале своего пути: как, когда, что?Сразу после института попала в контору, которая выиграла тендер на проект по информатизации Санкт-Петербурга – кабинки госуслуг. Проработала там года полтора, на flex интерфейсы к этим кабинкам писала, поиск по БД адресов и все такое.
Спустя какое время после начала изучения получила первые деньги за веб-разработку? Как получила первый заказ?Я не фрилансила никогда, все время в офисе.
С чего стоит начинать новичку?С выбора хорошей компании и коллектива, который за полгода научит новичка не наступать на стандартные для новичков грабли ) Привьет хороший кодстайл и прочие полезные штуки в духе тестирования и профайлинга своего кода.
Чего тебе не хватало в начале твоего пути?Как раз вот хорошего коллектива, сидела, зарывшись в книжки и наступая на общеизвестные грабли. Зато хорошо в плане самодисциплины.
Какие нибудь книги, сайты, которые можешь посоветовать?Надо что-то узнать – гуглю. В первую очередь, конечно, доки читать.
Как сейчас проходит твоё самообразование, какие новые направления изучаешь?ruby & haxe.
Даниил, программист, Social Quantum
Сколько лет в веб-деве?3
Почему выбрал программирование и веб-разработку?Программирование - так уж вышло, с 7 лет за компом, начиная еще со спектрума. Круто быть волшебником и архитектором одновременно :)
Веб разработку я не выбирал – всегда мечтал заниматься играми, чем сейчас и занимаюсь. Но до этого работал в вебе, уже не помню сколько, поэтому написал 3 :)
Какими путями учился этому мастерству?Университет, самообразование
Расскажи подробнее о начале своего пути: как, когда, что?7 лет ZX Spectrum на день рождения, BASIC. Подростком - FIDONET, Си, немного паскаля. Юность – Linux, Python. Молодость – веб-девелопмент, Python, JS, Pylons, Zope, чуть-чуть Django. Ближайшие годы – Python, JavaScript, AS3, C#, Haxe, node.js, Flash, Unity3D.
Спустя какое время после начала изучения получил первые деньги за веб-разработку? Как получил первый заказ?Около 20 лет просто выложил резюме и начал работать, в офисе, веб-разработчиком на Python.
С чего стоит начинать новичку?С постигания прицнипа – "пиши как можно меньше кода, но не меньше чем необходимо”
Чего тебе не хватало в начале твоего пути?Общения с гиками.
Какие нибудь книги, сайты, которые можешь посоветовать?Даже не знаю. В своё время прочитал довольно много интересных книг так или иначе связанных с программированием, но советовать в общем случае не возьмусь.
Как сейчас проходит твоё самообразование, какие новые направления изучаешь?Компиляторы, OCaml.
Михаил, тимлид, Social Quantum
Сколько лет в веб-деве?Конкретно вебом занимался лет 5.
Почему выбрал программирование и веб-разработку?Программирование – т.к. с детства было интересно. Веб – легкий порог вхождения: по знаниям (куча мануалов), по практике (чтобы начать, нужен только браузер и блокнот, ну и пейнт, не нужно тянуть по диал-апу никаких тяжелых ide и проч) и по заработку (free-lance.ru, внезапно есть люди которые готовы платить за то, чему я научился из интереса)
Какими путями учился этому мастерству?Университет, самообразование
Расскажи подробнее о начале своего пути: как, когда, что?Средняя школа, каникулы, 486й, мать притащила диск с обучающими видео по visual basic, где показывали, как делать настоящие программы с окошками и проч. Компилятора на диске не было. Неделю истекал слюной. Потом надыбал компилятор и начал все пробовать.
Где-то позже выпросил книжку по основам html, стал эксперементировать и пилить домашнюю страничку на народе –тогда это было модно.
А так же – кружок по лого, курсы по паскалю, курсы по php, паскаль и си на информатике в старшей школе, чтение xakep.ru, увлечение вирусами и ассемблером, флеш. Если честно, не помню, когда именно все началось.
Как-то отец рассказал такую историю из моего дошкольного детства: он снес на своем компе винду, и там был голый DOS. Приходит вечером с работы и видит что я шпилю в игрушки. На вопрос "как" получил ответ, что я набрал подсмотренные команды "cd nc", "nc", а дальше "открылось синенькое", то бишь нортон коммандер, в котором я уже вполне ориентировался (:
Спустя какое время после начала изучения получил первые деньги за веб-разработку? Как получил первый заказ?Первый заказ нашел на фрилансе где-то во времена старшей школы. Не помню уже что именно – возможно флеш-баннер, возможно доработка верстки. Я тогда, понятное дело, не был уверен в своих силах, и поэтому в основном ошивался во всяких конкурсах и работал в основном ради портфолио а не ради денег. По совету Лебедева, вычитанному в ководстве, клепал работы для вымышленных заказчиков, чтобы заполнить портфолио и показать, что я могу.
С чего стоит начинать новичку?Easy way:
- научиться пользоваться гуглом
- нагуглить тутор типа "введение в html"
Hard way:
- школьный курс физики
- электротехника
- цифровая схемотехника
- основы информатики
- программирование микроконтроллеров
- ассемблер
- структурное программирование, C, массивы, указатели, динамические структуры данных, работа с сетью, etc
- объектно-ориентированное программирование, C++
- операционные системы
- whatever you like
Скорости диалапа
Какие нибудь книги, сайты, которые можешь посоветовать?htmlbook.ru stackoverflow.com
Как сейчас проходит твоё самообразование, какие новые направления изучаешь?Из интересных моментов – практически не читаю цельных книжек по технологиям. Ибо:
- устаревшие знания
- однобокий взгляд
- сомнительная компетенция автора
- много букв
Вместо этого, когда сталкиваюсь с какой-то технологией, первым делом ищу офсайт, какой-нибудь getting started guide, доки по апи, примеры. Если идет туго, то в гугл по конкретным вопросам (чаще всего попадаю на stackoverflow), если совсем туго – то в тематическое сообщество, чтобы задать вопрос (это крайняя мера, т.к. очень напрягает дожидаться пока тебе ответят).
Конкретно сейчас эксперементирую с common node (обертка вокруг node.js, которая реализует соглашения CommonJS и работает через fibers) и mongodb. Ну и по работе приходится изучать рельсы.
Роман Колеснев, Fullstack Rails developer; Social Quantum
Сколько лет в веб-деве?3
Почему выбрал программирование и веб-разработку?Написал программу, отдебажил, тесты наваял, все прошло и потом встаешь во весь рост и тычешь в нее пальцем со словами "теперь я твой бог!”.
Какими путями учился этому мастерству?Самообразование
Расскажи подробнее о начале своего пути: как, когда, что?Программировать по мелочи я начал еще в начальной школе, поэтому информация о том, как я начинал не поможет начать другим. Я вообще не до конца понимал во что ввязываюсь, глупец. Но, in suma, могу сказать следующее: самообразование здесь все, но на первых этапах очень полезны хорошая книга или видеоуроки да старший товарищ по цеху, который в правильное русло мысль направит.
Спустя какое время после начала изучения получил первые деньги за веб-разработку? Как получил первый заказ?Освоение веба было прерывистым и непостоянным, но после того, как сконцентрировался на rails прошло полгода до получения зарплаты в 30к со свободным графиком и совмещением с учебой на 3-м курсе МФТИ. До концентрации на rails был довольно большой опыт в программировании, базовое понимание JS, CSS, HTML и немного PHP (на PHP в сумме писал 40-50 человекочасов где-то, не больше)
С чего стоит начинать новичку?codeschool.com
Чего тебе не хватало в начале твоего пути?Ментора
Какие нибудь книги, сайты, которые можешь посоветовать?codeschool.com stackoverflow.com
Как сейчас проходит твоё самообразование, какие новые направления изучаешь?Scala, Play framework, Unity 3D, в скором будущем Swift
Сергей Резванов, ruby-разработчик, IkitLab
Сколько лет в веб-деве?4 года.
Почему выбрал программирование и веб-разработку?Компьютерными технологиями начал интересоваться еще в школе, чувствовал во всем этом что-то необъяснимое и притягивающее, такой своеобразный симбиоз машины и человека. В наше время компьютер без человека – простая железка, но и человек не в силах уже прожить без компьютера. А вместе, образуют тандем, где каждый занимает нужное ему место. Для меня разработка и вообще программирование ничем не отличаются, например, от исскуства, т.е. художник с мольбертом, музыкант с инструментом – это равносильные образы креативной личности, точно такой же как и разработчик с его знаниями и умениями.
Какими путями учился этому мастерству?Самообразование
Расскажи подробнее о начале своего пути: как, когда, что?Путь программиста начался у меня, когда я устроился oracle-разработчиком в компанию CompassPlus в моем городе (с вебом эта работа не была связана), где оставил 5 лет моей жизни и профессиональной деятельности.
В последний год работы я заинтересовался веб-разработкой и сопуствующими технологиями. Все это сыграло злую шутку – уже невыносимо было работать в ComplassPlus, где технологический стэк был родом из 90-ых. Тогда я решил найти параллельно удаленную команду, с которой смогу развивать свои скиллы как веб-разработчик. Так попал в Secoint, тверская компания, разрабатывающая интернет-магазины на Spee. Какое-то время я работал на двух работах – днем в CompassPlus, сидя в офисе, а вечером удаленно в Secoint.
Через несколько месяцев стало чертовски трудно совмещать две работы (у меня тогда уже была семья), тогда я оформился как ИП и уволился из CompassPlus. И полностью погрузился в веб-разработку и изучение технологий, продолжая сотрудничать с компанией Secoint.
С тех пор я сменил уже несколько компаний, но остался неизменен веб-разработке и работаю исключительно удаленно.
Спустя какое время после начала изучения получил первые деньги за веб-разработку? Как получил первый заказ?После пары месяцев изучения. Обратился в компанию веб-разрботчиков на ruby и предложил свои услуги удаленно. C той стороны пришел ответ "Да".
С чего стоит начинать новичку?Хорошенько подумать, нужно ли тебе это все. Если да, то писать код, читать чужой и снова писать код.
Чего тебе не хватало в начале твоего пути?Общения с такими же как я... К сожалению, я до сих пор не знаю ниодного ruby/rails разработчика из моего города. Все профессионалы, которых я знаю, виртуальные, я не встречался с ними лично.
Какие нибудь книги, сайты, которые можешь посоветовать?Мой любимый книжный магазин – PragProg. Я частенько покупаю там книги связанные с веб-разработкой (чаще электронные версии). Чего-то конкретного нет, все интересно.
Ответы на вопросы иногда нахожу на StackOverflow или подобных ресурсах. Но чаще всего, все же смотрю исходники крупных проектов, порой там находишь больше нужной тебе информации, чем в книгах и статьях.
Как сейчас проходит твоё самообразование, какие новые направления изучаешь?Последние месяцы я работаю над очень крупным проектом мобильной аналитики - http://inside.ly. И могу сказать только одно: данные правят миром, а за теми, кто умеет эти данные собирать и анализировать – будущее. Поэтому data science это наше все…
Константин, тех. лид в одном из стартапов Санкт-Петербурга
Сколько лет в веб-деве?5-7
Почему выбрал программирование и веб-разработку?Всегда увлекали компьютеры и интернет.
Какими путями учился этому мастерству?Университет, самообразование, работа с ментором
Расскажи подробнее о начале своего пути: как, когда, что?Начал с самообучения и программирования на Delphi, Pascal, C++. Потом увлекся Unix системами и программированием на Perl. Из него постепенно перешел в вэб-разработку и остановился на Ruby (ну и JavaScript, разумеется). Пробовал Python (Django), но душа к нему не легла.
Спустя какое время после начала изучения получил первые деньги за веб-разработку? Как получил первый заказ?Первый полноценный заказ получил на фрилансе. Делал небольший сайтик на Perl. Сложно сказать, сколько времени я на том момент я потратил на обучение. Пожалуй, это было самое начало "пути”.
С чего стоит начинать новичку?С азов и алгоритмов. Книжки, скринкасты, побольше практики.
Чего тебе не хватало в начале твоего пути?Грамотного наставника, который бы рассказывал мне как и чего надо делать. Ну и как не надо делать тоже :)
Какие нибудь книги, сайты, которые можешь посоветовать?Чем больше читаешь – тем лучше. Мне лично очень понравилась "Design Patterns in Ruby" (для рубистов) и "Искусство алгоритмизации" (простым языком показаны несложные, но популярные алгоритмы).
Как сейчас проходит твоё самообразование, какие новые направления изучаешь?Везде по чуть-чуть. Планирую серьезней заняться Clojure и побаловаться со Swift :)
Корнеев Евгений, тимлид, SmartSpace
Сколько лет в веб-деве?5
Почему выбрал программирование и веб-разработку?Потому что мне нравится создавать вещи, которые потом будут использовать люди.
Какими путями учился этому мастерству?Самообразование.
Расскажи подробнее о начале своего пути: как, когда, что?Я увлекся программированием еще лет в 12, причем тогда у меня даже компьютера не было. Лет в 14 я уже вовсю кодил простые программы под винду на C++ и Delphi, лет в 16 – компьютерные игры :)
Потом был год застоя в университете, где я развлекал себя только лишь варкрафтом и написанием курсовых для старших ребят. Поняв, что ничего полезного в вузе я не получаю, ушел оттуда и пошел работать. В 17-18 лет меня не хотели брать программистом, поэтому я пошел продавать диски в магазин компьютерных игр. Через полгода директора посадили меня настраивать и конфигурировать 1С в головной фирме. Еще через год, когда мой мозг начал засыхать от 1С, я ушел во фриланс и занялся разработкой сайтов. Сначала интернет-магазины на php-движках, а потом, через некоторое время, заинтересовался крутыми фреймворками и выбрал руби и рельсы.
Спустя какое время после начала изучения получил первые деньги за веб-разработку? Как получил первый заказ?Если говорить про ранние этапы, когда я делал сайты под ключ на свяких вордпрессах, то я уже не помню. Скорее всего кто-то из знакомых попросил сделать что-то и заплатил, как оно обычно и бывает. Если говорить про рельсы, то вышло почти также. Я предложил танцевальной студии, в которой я преподавал, сделать нормальный сайт за небольшое вознаграждение. Первую свою фултайм-работу я получил тоже благодаря дружеским связям – один из знакомых разработчиков передал мне заказчика одного из своих проектов.
С чего стоит начинать новичку?Во-первых, с изучения английского :) Во-вторых, с каких-то базовых вещей – HTML, CSS. Можно попробовать зайти с другой стороны и сначала просто научиться программировать – выучить паскаль, бэйсик или что-нибудь еще. Хорошего программиста отличает умение мыслить алгоритмами. Это путь долгий, но качественный.
Чего тебе не хватало в начале твоего пути?Наверное, наставника.
Какие нибудь книги, сайты, которые можешь посоветовать?Cамое крутое, что я видел про веб-разработку: http://www.railstutorial.org/book. Из общеразвивающих – "Совершенный код” Макконнелла.
Как сейчас проходит твоё самообразование, какие новые направления изучаешь?Сейчас пробую разное: от разработки под ios до игровых движков. Если про веб: постоянно смотрю и, по мере надобности, изучаю новые веяния и технологии, но ничего конкретного.
В целом стараюсь не зацикливаться на вебе, но и щупать новые сферы.
Антон Черепанов, web-разработчик в Evrone, ментор mkdev.me
Сколько лет в веб-деве?3
Почему выбрал программирование и веб-разработку?Исторически сложилось, играл в wow, а потом захотел свой сервер ну и естественно сайт.
Какими путями учился этому мастерству?Самообразование, работа с ментором.
Расскажи подробнее о начале своего пути: как, когда, что?По молодости, очень любил играть в WoW, потом мне стало скучно и я подумал, а что если создать свой сервер? Тут то и закрутилось всё, сначало просто скачивал сайтики и ставил, потом начал из одного в другой html копировать, потом css.
Далее, я познакомился с mangos и trinity - это open source движки wow, написанные на C++. Было очень тяжко в них копаться, не понимая особо что и как, но компилировать и накатывать патчи, я научился определённо :) Далее, я узнал что за это можно получать деньги и продолжил обучаться, но только веб разработке, потому что это показалось более приятным для души, нежели возиться с C++.
Потом поступил в колледж по профессии "Программное обеспечение вычислительной техники и автоматизированных систем”, он дал хорошую базу в алгоритмизации и базах. Год на php и затем прекрасный мир ruby.
Спустя какое время после начала изучения получил первые деньги за веб-разработку? Как получил первый заказ?Не скоро, долго не знал что за это можно получать деньги вообще, может спустя года два)
С чего стоит начинать новичку?С поиска ментора и чтения руководств.
Чего тебе не хватало в начале твоего пути?Всё было.
Какие нибудь книги, сайты, которые можешь посоветовать? Как сейчас проходит твоё самообразование, какие новые направления изучаешь?Мы активно игрофицируем процесс нашей работы, используя Track2Win.
Сотрудники трекают какие-то действия: посмотрел конференцию, прочитал книгу, выступил на митапе, законтрибьютил и прочее. И чтобы не отставать, ты так же идёшь в ногу со всеми и стараешься чем то отличиться.
Из технологий: AngularJS, Go
Кирилл Ширинкин, консультант, ментор.
Сколько лет в веб-деве?7
Почему выбрал программирование и веб-разработку?Непреодолимая тяга делать веб-приложения. 37signals и другие вдохновляли.
Какими путями учился этому мастерству?Самообразование.
Расскажи подробнее о начале своего пути: как, когда, что?В какой-то момент, в возрасте между 13 и 14 годами отец предложил мне делать сайты. Я потыкал в Dreamweaver, посмотрел CSS и забил на всё это дело на какое-то время. А потом, в 15 лет, вдруг решил, что я всё таки хочу делать сайты. Начал учить HTML, CSS, немного JS. Спустя ещё какое-то время формулировка изменилась на “хочу делать крутые веб-приложения”. Услышал о тогда ещё новых и модных Rails на хабре. Решил не слушать советов знакомых программистов, которые рекомендовали мне PHP и Java. Начал учить Rails и написал на нём пару приложений для себя. Одним из них пользуюсь всё ещё и каждый день. Спустя примерно год после начала изучения Rails судьба свела с Димой Васильцом, @pronix, который стал моим ментором и работодателем на следующие полтора года.
Спустя какое время после начала изучения получил первые деньги за веб-разработку? Как получил первый заказ?Точно не помню время, помню что мне было 16, а значит не больше года мытарств с html и css. Мне нужно было сделать с нуля вёрстку для http://digitalshop.ru. Тогда сайт был свёрстан таблицами, а один товарищ, работающий там веб-программистом, предложил мне переверстать всё на блоки. Тогда я познал муки вёрстки под IE6, счастье, которого лишены современные веб-разработчики :-)
С чего стоит начинать новичку?С Самообразования веб-разработчика. Это написанное мной бесплатное руководство для всех, кто не знает откуда начать и куда двигаться. По сути, это 60-ти страничный ответ на вопрос “С чего стоит начать новичку” ;-)
Самое важное: найти свою мотивацию и не растерять её. И держать фокус на цели. Это универсальный совет, который подходит для любой ситуации, его легко дать и ему очень тяжело следовать :-)
Чего тебе не хватало в начале твоего пути?Никогда не устану твердить, что для успеха в сфере веб-разработки нужны две вещи: желание постоянно заниматься самообразованием и крутой ментор. Мне невероятно повезло: на протяжении всей моей карьеры у меня были потрясающие наставники, которым я буду обязан всю жизнь. Один из них, Евгений Янусов, помог мне получить самые первые знания в веб-разработке (html, css и т.п.). Другой, Дима Василец, не просто научил меня работать, но ещё и сыграл решающую роль в переезде в Берлин :-)
Какие нибудь книги, сайты, которые можешь посоветовать?Это будет похоже на безжалостный самопиар, но в моей бесплатной книге) я собрал ссылки на все необходимые книги и сайты, которые я могу смело посоветовать.
Как сейчас проходит твоё самообразование, какие новые направления изучаешь?Chef (и DevOps в целом), AngularJS, всякие умные книжки, нацеленные на углубление знаний по тем сферам, где я уже преуспел. Ещё я усердно учусь грамотнее писать. Например, мне почему-то с большим трудом даётся написание "чтобы" слитно :-)
Дмитрий Василец, консультант
Сколько лет в веб-деве?9
Почему выбрал программирование и веб-разработку?Никогда не был сфокусирован на вебе. Просто решаю задачки максимально просто и быстро.
Какими путями учился этому мастерству?Самообразование.
Расскажи подробнее о начале своего пути: как, когда, что?Учился в универе в году 2007.
Была в студенческой общаге своя шарашка по раздаче интернета и подработке на этом.
Проект был крайне успешным – больше 100 клиентов и стабильная прибыль.
Что б самому не общаться с клиентурой – написал панель управления и учета, сразу на рельсе. И отдал все надежному человеку. Он еще лучше организовал всю работу и прибыль стала предсказуемой.
В итоге проект работал без меня, и каждый месяц я был обеспечен.
Жаль продолжалось счастье всего годик.
До этого на рубях писал системные скрипты и тесты для оборудования.
Спустя какое время после начала изучения получил первые деньги за веб-разработку? Как получил первый заказ?Сразу. Бесплатно работать грех. Взял задачу на фриланс бирже, честно написал ,что сделаю дешево, но долго. А потом аппетит рос пропорционально загруженности задачами.
С чего стоит начинать новичку?Стоит начать делать. Закрывать тикеты. Парсить файлики. Часы на js. Если ни чего не сделав , задает вопросы – значит пора бросать.
Чего тебе не хватало в начале твоего пути?Всего было в избытке. Жизнь прекрасна всегда.
Какие нибудь книги, сайты, которые можешь посоветовать?Библию, Литвака, Булгакова, Золотого Теленка.
Как сейчас проходит твоё самообразование, какие новые направления изучаешь?Data science , management , finance, математика, химия.
На этом всё. Внимательный читатель заметит во всех интервью один и тот же паттерн:
- Все начинали со страсти делать что-то, будь то игры или веб-приложения. Программирование зачастую, таким образом, является не самоцелью, а инструментом, мастерством, которым нужно овладеть для достижения своих целей. Что не отменяет любви к этому мастерству ;-)
- Все без исключения активно занимались самообразованием, а для большинства это был единственный способ обучения
- Наличие наставника, ментора является значительным преимуществом и помогло многим (если не большинству) достичь успеха.
Профи, прочитавшие эту статью – делитесь своими историями в комментариях, вдохновляйте тех, кто только вступил на пройденный вами пути и помогите им не сбиться с него.
Новички, уже вставшие на этот путь – расскажите, какие техники, источники, люди помогают вам и делают образование более эффективным.
mkdev.me
Как стать программистом без технического образования — Вопросы на vc.ru
Добрый день. Меня зовут Борис, мне 21 год.
Сейчас обучаюсь на третьем курсе юридического факультета, но я понял, что эта профессия меня совершенно не привлекает.
С детства меня интересовали высокие технологии, а в школе я уже начал заниматься веб-программированием — писал сайты. С возрастом интерес к этому нисколько не упал. В общем, я понял, что выбрав путь гуманитария, сильно ошибся .
Что мне делать? Возможно ли будет трудоустроиться в техническую контору программистом с гуманитарным образованием? Не знаю как поступить. Институт бросать сейчас не планирую — как-никак 1,5 года осталось. Закончу в 23 полных года.
Может, после окончания обучения стоит поступить на техническую специальность ради корочки? Необходимы ли знания, даваемые на бакалавриате программирования, для успешной карьеры? Или там, как у большинства специальностей, дают теорию, которая на практике вообще никогда не пригодится? Или стоит для корочки поступить на магистратуру в области программирования? Два года — и диплом магистра в области программирования на руках.
Сейчас учусь самостоятельно — меня сильно увлекла мобильная разработки. Для начала выбрал Unity3D. Подскажите, какими языками должен владеть хороший разработчик мобильных приложений? В данный момент изучаю C#, дальше буду C++ и Java. Этого достаточно? Или нужно что-то еще?
Стоит ли поверхностно распыляться на многие языки? Или достаточно изучить несколько основных?
Вопросов много, и я буду рад, если читатели vc.ru смогут мне что-нибудь посоветовать.
Спасибо.
#вопросы #Вопрос_читателям
Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.
Написатьvc.ru
Как стать программистом | Начальная школа прогера
data-ad-client="ca-pub-9038233983914754" data-ad-slot="5706208564">—
—
На сегодняшний день профессия программист — является не только актуальной, но и одной из самых загадочных, и не до конца понятных профессий. Я думаю, что вы не раз ловили себя на мысли, что все что вы можете сказать об этом — это то, что программист это человек, который пишет программы.
Несмотря на такую, требующую точности работу, его внешность никак не соответствует тем гениальным процессам мозгового импульса, которые происходят в голове этого уникального, своими противоречиями, человека. Непременным атрибутом его внешности являются взлохмаченные, от неуспокоенности мысли волосы, вылинявшая футболка, длинные ногти на ногах и обломанные о клавиатуру на руках. Он непомерно много курит, и его жилище больше похоже на оптовый склад в момент инвентаризации. Надо сказать, что чувствует он себя там вполне комфортно. Именно эта атмосфера способствует его творческому процессу, в который он окунается по самые уши и может не есть и не спать пару дней к ряду.
Не верите? Но все это действительно так. Точнее уже не скажешь, потому что все, что еще можно добавить по этому поводу, членораздельно и удобокомпактно может поместиться только в голове этого самого программиста или таких же чудиков, как он сам. Единственно, чем можно еще дополнить эту немногословную характеристику, только тем, что это человек без личной жизни, полностью погруженный в свою работу.
Но на девушек это загадочное слово «программист» производит просто магическое действие и вызывает различного рода ассоциации. Ассоциации первого уровня связаны со словами «гений» и «деньги» . Ассоциации второго уровня — с логическими закономерными последствиями предыдущих двух слов. Поэтому, как только в поле слышимости одной из красавиц , вибрации звуковых волн создают это сладкое звучание «программист» у неё сразу же возникает желание взяться за одного из таких умников: помыть его, побрить, выпрямить и отправиться с ним прямой дорогой в ЗАГС.
data-ad-client="ca-pub-9038233983914754"data-ad-slot="5706208564">
Все, с сегодняшнего дня я программист! С такой мыслью проснулся я сегодня и твердо решил, что пока не достигну какого либо результата от компа не отойду. Я понимаю, что мне будет не легко, но «дорогу осилит идущий» и если я буду настойчив в своем желании, то у меня обязательно все получится. Говорят, что программистами не рождаются ими становятся, поэтому шанс у меня определенно есть, а главное у меня есть непреодолимое желание научиться.
Если это про вас, то естественно, что первый ваш вопрос будет: «с чего начать?»
А начинать нужно с себя любимого. То есть: нужно, прежде всего, определить есть ли у вас наклонности к этому не легкому, скажу я вам , делу. Точнее нелегкое оно для того, у кого нет к нему интереса...
Если вам не составляет труда объяснить человеку как доехать из одной точки города в другую с тремя пересадками, не жестикулируя при этом руками, то у вас, определенно, есть шанс овладеть этой фантастической профессией и больше того, возможно, вас ждет карьера крутого прогера.
Способности к программированию вытекают из умения составлять алгоритмы. Это могут быть как математические модели, так и словесные. Если уделять этому процессу, ежедневно, определенное количество времени, то вы вскоре освоите процесс поэтапного воспроизведения события, что и является алгоритмом. А когда эта необходимость перерастет в потребность, это будет сигналом, что вы стали готовы к тому, чтобы начать грызть гранит, состоящий из цифр и тегов.
Хоть и говорят, что программистами не рождаются ими становятся, но внимательное наблюдение за образом мышления такого человека, убеждает меня, что все-таки, наверное рождаются.
Обычно программирование привлекает людей, склонных к логическому мышлению и аналитическим складом ума. Это любители самосовершенствоваться, приобретать новые знания, разгадывать заковыристые ребусы, решать неподдающиеся задачи, находить выход из любой ситуации, а главное, получать от этого удовольствие. Этими качествами своей личности они пользуются повседневно, применяя их в обыденной жизни, так как для них это естественно. Если бы Барон Мюнхаузен жил бы в веке компьютерных технологий он, определенно, выбрал бы профессию программиста.
Так что, дорогие мои, если вы все-таки решили, что программирование это то, что вам просто необходимо, чтобы идти в ногу со временем, то я с удовольствием поделюсь с вами своим опытом и надеюсь, у вас все обязательно получится.
И в заключении анекдот, чтобы немного понять образ мысли программиста:
Жена отправляет мужа-программиста в магазин за хлебом.
— Купи батон, и спроси есть ли яйца? Если есть, возьми десяток...
В магазине:
— Дайте батон. (Даёт) А у вас яйца есть?
— Есть.
— Тогда дайте еще 9 батонов.
Кто не понял, пишите в комментарии, подскажем.
-----------------
Если у вас возник вопрос, который не достаточно освещен в данной теме, задайте его в комментариях ниже или на форуме, я обязательно на него отвечу.
---------------
Присоединяйся к нам на форуме
data-ad-client="ca-pub-9038233983914754"data-ad-slot="5706208564">
www.zhakanov.com
Как стать программистом?
Как Вы представляете себе состоявшегося программиста? Человек, с ног до головы обмотанный проводами, при этом чрезвычайно мало видящий солнечный свет, или офисная крыса не способная оторвать очки от своего носа, а может это сверхчеловек, обожествленный в том мире нулей и единиц, где проходит большая часть его времени? У каждого возникнет свой образ, при упоминании этой профессии.
Выделяя тех, кого действительно интересует вопрос «Как стать программистом?», стоит отметить, что в их умах, облик этот (по понятным причинам) имеет светлую сторону. Кроме того, заранее предполагается, что эти субъекты ответили на вопрос «стоит ли?», поскольку он более фундаментален.
Итак, взвесив все «за» и «против», путем рационального анализа, попробуем решить поставленную перед нами задачу, а именно понять как все-таки стать хорошим (ну или хоть каким-нибудь) программистом.
Обучение или насильственный аскетизм
Одной из главных проблем в жизни человека, является осознание необходимости обучения, для достижения тех или иных вершин. Именно на этой ступени, мы спотыкаемся чаще всего. Предположив, что другого выхода нет, кроме того как стать аскетом (отказаться от удовольствий и жизненных благ) и пойти учиться, человек, в подавляющем большинстве случаев, предпринимает один из двух вариантов действа:
- Идет учиться, понимая, что ему предстоит страдать и обитать вне воли;
- Кладет на все, продолжая жить как раньше, но при этом осознавая, либо не осознавая свою немощность.
В подростковом возрасте, обычно за все наши важные поступки отвечают родители, поэтому приходиться ступать по первому пути. Но когда личность достигает приемлемого возраста для принятия самостоятельных решений, и внезапно возникает желание обуздать ту или иную специальность, мы склоняемся ко второму варианту. И призвание «Программист», также попадает под это странное стечение обстоятельств.
Существует третий вариант, он заключается в следующем: под воздействием краткосрочного аффекта, индивид, с большим желанием начинает обучаться, но быстро завязывает, так как такое состояние проходит. Вот на этом то и стоит заострить свое внимание, а именно на ключевом слове «желание».
Многие не единожды испытывали яркий всплеск эмоциональной активности. И тот, кто читает эту статью, вероятно, находиться в похожем состоянии, которое в 90% случаев скоро пройдет. Возникает вопрос: «Как продолжительное время оставаться в этом состоянии восторга?», ответ на который в значительной степени важен для того чтобы процесс обучения проходил без ощущения лишений, а наоборот — приносил радость.
Для решения выше стоящей проблемы, самым объективным действием будет обратиться к элементарной психологии. Известно, что это мимолетное состояние восторга возникает не просто так, а мы как бы сами цепляемся на крючок случая. В случае программирования это может быть прочтение статей про IT, история или ролик про хакеров, желание «творить» и т.п.
Так вот, человек суть механизм, но механизм способный на самообман и самовнушение. И было бы глупо, в достижение своих целей не воспользоваться этим преимуществом. Смотрите вдохновляющие фильмы, читайте книги, которые своим влиянием будут втягивать вас в «мир кода», обзаведитесь окружением, имеющим соответствующие интересы, либо сами создайте его!
Существует бесчисленное множество частных вариантов поддержки интереса, главное осознать, что в наших силах преобразовать «исключение» в «правило». Легкая смена климата, явится знаком нужного пути. Это может проявляться в разногласиях со старыми знакомыми, желании говорить только на одну интересующую вас тему, смене старых привычек и т.д. Но сам факт посадки плодов, пусть даже и на такой черноземной земле, не дает права их собирать. Предстоит долгий путь!
Способности и одаренность
Бытует мнение, что программисту необходимо быть хорошим математиком. Спешу вас огорчить, но этого недостаточно! Занимаясь программированием профессионально и на высоком уровне, специалист должен обладать знанием математики, логики и теории алгоритмов. Абстрагируя, только что сказанное, придем к заключению: «Программист – обладатель алгоритмического мышления». Его вполне реально развить, изучая упомянутые дисциплины, а также решая разного рода визуально-пространственные задачи. По мнению большинства специалистов, результативность обучения определяется врожденными качествами, о которых мы поговорим немного позднее.
В повседневной жизни человек постоянно ставит перед собой определенные задачи, достижение которых требует обдуманных, либо спонтанных алгоритмов. Собственно цели эти могут быть совершенно различными, от чистки обуви до открытий в области физики элементарных частиц. Алгоритмы, также будут различаться, в зависимости от желаемых результатов, возможностей и индивидуальных качеств субъекта.
Но часто цели могут быть тождественны между собой, например, ежедневное приготовление пищи или поездка на работу. Суть метода в том чтобы составлять разные алгоритмы для их достижения, развивая тем самым алгоритмическое мышление, не тратя дополнительного времени, так высоко ценимого ныне.
Концентрация, также присутствует в «сундуке» положительных качеств программиста. Умение сосредотачиваться может, как присутствовать, так и приобретаться. Думаю, не стоит перечислять весь тот огромный список полезных качеств, которые несет в себе человек, обладающий этим свойством! Лишь замечу, что обучающим источником концентрации, является только практика.
Каждый слышал о людях, для которых решение задач особенно необычным, элегантным способом, является не как в большинстве случаев исключением, а скорее правилом. Считается, что именно из них вырастают «светлые умы» или даже гении. Вот тут-то принято говорить о врожденных способностях, даровитости. Последняя, приписывается всем без исключения людям, достигшем заоблачных вершин в одной или нескольких областях познания.
Приобретается гениальность или нет, лишь предстоит выяснить ученым, чья деятельность затрагивает этот феномен. Но кто бы, что не говорил, всех гениальных людей, от Пифагора до Хокинга, объединяет то состояние упоения, о котором мы говорили ране. Оно влечет их в мир познания и открытий, путь в который может быть как невероятно тяжким (Джордано Бруно, например, был сожжен за свои еретические взгляды, а Кантор чуть не лишился рассудка), так и необременительным (в древней Греции мудрец высоко почитался), что впрочем, не так важно.
Выбираем снасти
Что касается языка программирования, кой так или иначе стоит упомянуть, то тут (не смотря на повсеместное мнение) он значительной роли в вашем становлении программистом не играет. Спрос и популярность языков машинного кода меняется крайне не стремительно. Но это не значит, что можно уверено заявить, о том, какой из них спустя определенное количество лет будет «на пьедестале». Куда более важно определиться со сферой, в которой Вы желаете работать. Тут можно выделить три основных направления: веб, прикладное и системное программирование.
Под термином «Веб-программирование» обычно подразумевается работа с Интернет-ресурсами, отображаемыми в браузере. Начинающий веб-программист знакомится с HTML (язык гипертекстовой разметки) и CSS (каскадные таблицы стилей). Это можно назвать необходимым посвящением в круг разработчиков этого направления. Далее начинается куда более сложный, но, тем не менее, интересный период в жизни веб-разработчика.
Языки веб-программирования (ЯВП) делятся на два типа: клиентские и серверные. Основное отличие в том, что первые выполняются на стороне пользователя (в его браузере), так как для работы вторых необходим сервер, принимающий и обрабатывающий запросы. Дельный веб-программист изучает как минимум один клиентский ЯВП (например, JavaScript, AJAX, JQuery, VBScript, ActionScript) и один серверный (PHP, ASP, С#, Perl, SSI, Ruby). Для использования серверного языка нужно понимать, как работает СУБД (система управления базами данных). Из них наиболее популярными являются: Microsoft SQL Server, Microsoft SQL Server Express, MySQL, Oracle, PostgreSQL, SQLite. Довольно популярна связка PHP – MySQL.
Главной характеристикой прикладного программирования является создания приложений направленных непосредственно на взаимодействие с пользователем. Приложения могут быть как сетевыми (Skype, Opera, µTorrent), так и чисто персональными (CCleaner, Paint, Photoshop). Многие языки программирования достаточно универсальны, что способствует написания программ разной направленности. Но выбирая, мы в первую очередь обратим внимание на востребованность ЯП, иначе, уподобимся гитаристу, покупающему ржавые струны, надеясь что коррозии со временем не останется. В этой категории языков программирования популярными являются:
- Java
- C
- C++
- Python
- Visual Basic
- Delphi
- Pascal
На рынке востребованы программисты, обладающие знанием написания кода на Java и C++. Конечно ситуация может поменяться, но именно эти языки держаться в лидерах довольно долгое время.
Системное ПО не всегда можно отделить от прикладного. По большому счету это совокупность программ, отвечающих за корректную работу пользовательского программного обеспечения, выступающих слоем между ним и аппаратным обеспечением. Часто для написания программ этого рода идут в ход низкоуровневые языки программирования.
Ассемблер – вероятно единственный ЯП, бесспорно обладающий титулом «низкоуровневый». Применяется, как правило, там, где работа программ тесно связана с железом, или требуется их высокая пластичность (драйвера, вирусы, ядро ОС и т.д.). Программист, использующий в качестве своего главного оружия язык низкого уровня, по сути, выполняет огромное количество рутинной работы, так как написание кода имеет низкий уровень абстракции. Но все же «Светлые головы» способны переманить врага на свою сторону, что положительно скажется на конечном продукте.
Встав на путь разработчика ПО, первое, что следует сделать, это выбрать направление, в которое двигаться будет приятнее всего, а уже потом думать о языке. Уверенное и продолжительное стремление к цели уменьшает расхождение путей, из которых Вам приходилось выбирать, и как следствие, перепрыгнуть с одного на другой (в случае разочарования) будет значительно легче.
Есть ли на кого ровняться
Почти две сотни лет прошло с тех пор как не стало первого программиста. Несмотря на то, что в 1843 году графиня Ада Августа Лавлейс написала программу, решающую уравнение Бернулли, первая ЭВМ, обладающая всеми свойствами современного компьютера, была выпущена лишь спустя сотню лет.
Возможно, это наблюдение даст стимул начинающему программисту, возвеличив специалиста этой профессии над объектом его стараний. Обойдя вниманием то, что первый программист – девушка, хотелось бы указать на срок, который обуславливает «Эру компьютеров и программистов». В отличие от большинства популярных профессий, рассматриваемая нами, вполне компактно вмещается в 1 век, что дает нам возможность более полно рассмотреть таланты, зародившееся в ней! Предлагаю рассмотреть таблицу сравнения талантливых программистов.
Имя | Дата рождения | Страна рождения | Сфера деятельности | Интересы и особенности |
Кнут Эрвин | 1938 | США | Математика, программирование, компьютерные науки | математика, физика и музыка |
Мацумото Юкихиро | 1965 | Япония | Программирование, компьютерные науки, писатель | Занимался самообразованием до окончания школы |
Таненбаум Эндрю | 1944 | США | Компьютерный ученый, профессор университета | Имеет степень бакалавра по физике |
Рэймонд Эрик | 1957 | США | Разработчик программного обеспечения, писатель | Занимался тхэквондо, страдал церебральным параличом. |
Хоппер Грейс | 1906 | США | компьютерный учёный, военный деятель и контр-адмирал | В детстве любила узнавать, как устроены вещи |
Столлман Ричард | 1953 | США | президент движения свободного ПО и проекта GNU | Ведёт образ жизни «проповедника» и «философа» движения свободных программ |
Кей Алан | 1940 | США | Компьютерные науки | Работал как профессиональный джазовый гитарист |
Мейер Сид | 1954 | Канада | Разработчик компьютерных игр. | Поет в хоре евангелическо-лютеранской церкви |
Бьерн Страуструп | 1950 | Дания | Программист | Общая история, фотография, музыка |
Джон Бэкус | 1924 | США | Информатика | В детстве имел опухоль черепной кости |
Джон Маккарти | 1927 | США | Вычислительная техника | В юности самостоятельно изучал математику |
Никлаус Вирт | 1934 | Швейцария | Информационные технологии | В детстве увлекался электроникой и системами программного управления |
Сеймур Пейперт | 1928 | США | Информатика, математика, эпистемология, педагогика | Философия и социология |
Линус Торвальдс | 1969 | Финляндия | Программист, хакер | В школе преуспевал в физике и математике |
Питер Нортон | 1943 | США | Предприниматель, программист и филантроп | Некоторое время был буддистским монахом |
Сергей Брин | 1973 | СССР | Вычислительная техника, информационные технологии и экономика | Во время учебы интересовался Интернет — технологиями |
Кевин Митник | 1963 | США | Системная безопасность, бывший взломщик, писатель | В детстве взламывал телефоны, изучал мануалы и компьютерные сети |
Алан Тьюринг | 1912 | Великобритания | математика, логика, криптография, информатика | В детстве проявлял незаурядные способности по математике |
Тим Бернер-Ли | 1955 | Великобритания | Информационные технологии | Родители ОБА математики |
Касперский Евгений | 1965 | СССР | Программист, специалист по информационной безопасности | Увлекался математикой в детстве |
Данные, собранные в четвертом столбце, указывают на увлеченность наукой и в частности математикой в раннем возрасте. Этот вполне нормальный факт, говорит о той огромной роли увлеченности в процессе становления. Далее, более 52% из всех приведенных программистов рождены в США, а некоторые эмигрировали в штаты. Не секрет, что Америка является одной из самых развитых стран в сфере IT-индустрии, из чего следует большое количество заинтересованных людей.
Родители многих талантливых программистов, да и вообще гениальных людей – научные работники, либо представляют «аристократические» слои общества. Например, у Сергея Брина отец — профессор, дед — кандидат физико-математических наук, а мать – работник в NASA. Отец Алана Тьюринг — представитель старого шотландского аристократического рода. Но кроме схожих связей, указывающих на некие тождественные обстоятельства жизни, рассматриваемых нами людей, имеется большое количество расхождений. В этом причинно-следственном переполохе не изменяется только одно – склонность к познанию.
Пройдет время, кто то станет тем, кем мечтал и будет счастлив, кто то не станет и все же будет счастлив. Самая увлекательная профессия может иметь скверные стороны, а рутинна — отбрасывать дивную тень. Важно лишь отношение наблюдателя к самому себе, к своим поступкам, требованиям, целям и мотивам. Одни довольствуются малым, не задавая смелых вопросов и выбирая стереотипные ориентиры, оставаясь тем самым в той лужи полной грязи, что так ласково пригрела их сердца. Другие, воодушевленные своим стремлением, знают: «кто хочет многого достигнуть, должен стремиться к утопическим вершинам, непреклонно карабкаясь наверх, по их обрывистым склонам».
Похожие записи:kvodo.ru