# Компьютеры, телекоммуникации, ПО... > Программирование >  Как начать карьеру программиста?

## joffstick

Учусь в КА Шаг (еще год остался). Вот уже начал думать о работе...
Интересует вопросы: с чего начать, куда пойти, где готовы взять новичка?
Пока имею базовые знания с/с++, с#, WinForms, WPF, WinAPI, JavaScript, HTML/XML/CSS.

----------


## crackjack

У нас в Одессе найти работу на c/c++ думаю не так-то просто, темболее приличную) Про WinForms, WPF вообще без понятия.
А такие языки как JavaScript, HTML/XML/CSS болше приветствуются в комплекте с ASP.NET / PHP
Если есть некоторые знания PHP, то можно для начала пойти попрактиковаться в одну из многочисленных web-студий в Одессе.
Средняя зп пэхэпэшника в Одессе 500-1000 у.е. в зависимости от студии и для какого рынка делаются проекты.
Но лучше всего всётаки подучиться на ASP.NET! Минимальная зарплата аэспэшника у нас в офисе - 1500 у.е. У тимлидов зп порядка 2-3К у.е.
При этом ежегодные командировки в Голландию и всякие другие интерестности))) (зы: нам сейчас нужен гуд аэспешник)
Если просто пойти верстальщиком, то это занятие унылое и не особо прибыльное, там зарплаты могут быть вообще баксов 200-500)
Фрилансером я бы не рекомендовал, проектов у вас я так понимаю готовых нету, а индусы делают всё за копейки и перебивать их цены только себе в убыток))))))
Ещё один момент, хреновых php программистов как говна, нормальных не так много, а свободных asp программистов мы по пол года ищем в лучшем случае)))))
Ещё совет, лучше всего работать с иностранцами или в аутсёрсинге и знать английский, а лучше ещё и говорить на нём)
Там совершенно другие деньги и они мозги не так сильно имеют как отечественные клиенты, которые хотят всё сразу и даром)))

----------


## Яр

Определись, чем ты хочешь заниматься.
Не можешь определиться -- рассылай резюме во все конторы в стиле "джуниор без опыта, есть великое желание" во все конторы и показывай себя толковым новичком. В процессе поймёшь чего хочешь, и куда дальше стремиться. Легче всего начать с Веба (PHP/HTML/JS), но лучше с чего-то более серьёзного для веба (ASP.NET || Java). Ещё вариант быстрого старта, из которого можно хорошо вырости - Ruby on rails / Python, с этим в Одессе сложнее, но возможно.

----------


## joffstick

> Определись, чем ты хочешь заниматься.


 Вообще мне сейчас все направления интерессны, хочу хоть немножко опыта получить (и денег, естественно :smileflag: )
Но, к сожалению, пока не работал ни с PHP, ни с ASP.NET...

----------


## joffstick

> У нас в Одессе найти работу на c/c++ думаю не так-то просто, темболее приличную) Про WinForms, WPF вообще без понятия.


 Жаль... прийдется еще год учиться.
Для меня, если честно, как раз эти направления более интерессны. Просто программирование на с/с++ на порядок сложнее, и с этим .NET уже начал понемногу забывать... Не хочется так...
Интерессна также работа с обученим (если есть такая). Например, писать софт для конкретных устройств на с/с++.

----------


## joffstick

> Минимальная зарплата аэспэшника у нас в офисе - 1500 у.е. У тимлидов зп порядка 2-3К у.е.


 А где Вы работаете (если не секрет)? :smileflag:

----------


## -=TigeR=-

> А где Вы работаете (если не секрет)?


 цифра понравилась?
по корпоративной этике и договоренности уровни зарплат сотрудников знают всего несколько человек в фирме...
и это правильно...
за разглашение - увольнение...
так что эти цифру - реклама НR...
реальность отличается... как в большую так и в меньшую сторону...

----------


## crackjack

> цифра понравилась?
> по корпоративной этике и договоренности уровни зарплат сотрудников знают всего несколько человек в фирме...
> и это правильно...
> за разглашение - увольнение...
> так что эти цифру - реклама НR...
> реальность отличается... как в большую так и в меньшую сторону...


 Простите, конечно, но я вообще-то ниразу не из кадровой службы, а такой-же самый программист как и все здесь, причём даже не аэспэшник)))))))
И примерные цены я назвал человеку для ориентирования, что бы он понимал в какой области ему лучше крутиться, и это исключительно из человеческих соображений, а не замануха какае-то или ещё чего, т.к. я не сообщал ничего о компании и т.п.)
Но нужно учитывать, что эта зп для хороших опытных программистов со свободным владением английским) А примерный уровень зарплат я знаю т.к. у нас здесь одна большая дружная семья и если кто-то получает больше, значит он знает лучше))
Но на счёт реальности вы совершенно верно подметили, если человек с небольшим опытом или вообще без него, то реальность для него будет суровей) Правда во всём офисе нет ниодного программиста с опытом меньше лет 5-6, по тому и такой уровень зп)

----------


## joffstick

Ну насчет опыта это понятно. Вопрос только в том где его братать? Везде требуются сотрудники с опытом работы (как минимум) 1-2 года. Где эти один два года опыта набрать?

----------


## Foxmorg

> Ну насчет опыта это понятно. Вопрос только в том где его братать? Везде требуются сотрудники с опытом работы (как минимум) 1-2 года. Где эти один два года опыта набрать?


 найти единомышленников и на энтузиазме разработать какой-нибудь проект...

----------


## joffstick

> найти единомышленников и на энтузиазме разработать какой-нибудь проект...


 И что? Прокатит? Свои проекты можно демонстрировать как "опыт работы"?

----------


## crackjack

> И что? Прокатит? Свои проекты можно демонстрировать как "опыт работы"?


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

----------


## Аратор

> Ещё как!!!! Как пример - есть одна интересная студия в молдавии, которая открыла свой небольшой блог и показывала в нём процесс создания героев и сцен для своих короткометражных мультиков про Циган. И в один прекрасный день к ним звонят из компании Пиксар и предлогают приехать в гости, после чего начинают сотрудничество!
> Т.е. вы можете даже не обращаться за работой, но если кто-то увидет чем вы занимаетесь и это дейтсвительно стоящее дело, вы очень быстро сможете подняться!


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

----------


## Alexander_S

Прошу оставить ваши контакты в лс.
Мне нужны такие люди что бы осуществлять одну идею...
С каждым месяцем заработок все больше и больше!

----------


## Аратор

> Прошу оставить ваши контакты в лс.
> Мне нужны такие люди что бы осуществлять одну идею...
> С каждым месяцем заработок все больше и больше!


 звучит как "большая компания с иностранными инвестициями ищет сотрудников " и "сотрудник в офис,зарплата от 2к у.е.")))))))))0

----------


## joffstick

> звучит как "большая компания с иностранными инвестициями ищет сотрудников " и "сотрудник в офис,зарплата от 2к у.е.")))))))))0

----------


## karagan

> Учусь в КА Шаг (еще год остался). Вот уже начал думать о работе...
> Интересует вопросы: с чего начать, куда пойти, где готовы взять новичка?
> Пока имею базовые знания с/с++, с#, WinForms, WPF, WinAPI, JavaScript, HTML/XML/CSS.


 учиться сложно в шаге?

----------


## joffstick

> учиться сложно в шаге?


 Нет, я на ЕКО. Ничего лишнего, никаких гуманитарных наук, только все необходимое: сначала математика, Word/Exel/PowerPoint, Photoshop, Illustrator, HTML/CSS, Linux, администрирование, введение в сети, Hardware, Си (первые два курса), а потом (на специализации):С++, WinAPI, JavaScript, XML/XSLT, C#, GDI+, WPF, MS SQL Server, ADO.NET ну и т.д.

В общем интерессно, только пока незнаю куда пойти... Хочется уже с чего-то начинать...

----------


## karagan

> Нет, я на ЕКО. Ничего лишнего, никаких гуманитарных наук, только все необходимое: сначала математика, Word/Exel/PowerPoint, Photoshop, Illustrator, HTML/CSS, Linux, администрирование, введение в сети, Hardware, Си (первые два курса), а потом (на специализации):С++, WinAPI, JavaScript, XML/XSLT, C#, GDI+, WPF, MS SQL Server, ADO.NET ну и т.д.
> 
> В общем интерессно, только пока незнаю куда пойти... Хочется уже с чего-то начинать...


 как вы думаете сложно ли совмещать обучение в шаге с работой? Дорого ли обучение?

----------


## -=TigeR=-

> .... Дорого ли обучение?


  ну так позвони им и все узнаешь...
как можно сказать дорого это или нет... если это относительная величина...

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

----------


## karagan

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


  а вы совмещаете или нет?

----------


## joffstick

Извините, но обсуждение Шаге в другой теме.

----------


## Agnetta

а кто из преподавателей тебя обучал HTML/CSS?

----------


## 18-я весна

Такой вопрос.

Насколько реально устроиться юниором при нулевом уровне владения языками и технологиями нужными для вакансии, но при этом с опытом в несколько лет программирования на другом, уже отмирающем и практически никому не известном языке, для внутрикорпоративного софта?
На какую начальную зарплату может такой человек рассчитывать в Одессе в софтовых конторах (после какого-то периода стажерства для вникания в новую технологию)?
Возраст - пару лет после института, 25-26
Человек стесняется ходить по собеседованиям под предлогом, что ничего, кроме того старья, о себе не может рассказать. Может кто-то разубедить?

----------


## Нулевой

готов помочь в проектах если таковые есть ))
могу верстать учу пхп и питон так что если у кого есть проект ни пригодится моя помощь с удовольствием помогу)

----------


## 081krieger

> Такой вопрос.
> 
> Насколько реально устроиться юниором при нулевом уровне владения языками и технологиями нужными для вакансии, но при этом с опытом в несколько лет программирования на другом, уже отмирающем и практически никому не известном языке, для внутрикорпоративного софта?
> На какую начальную зарплату может такой человек рассчитывать в Одессе в софтовых конторах (после какого-то периода стажерства для вникания в новую технологию)?
> Возраст - пару лет после института, 25-26
> Человек стесняется ходить по собеседованиям под предлогом, что ничего, кроме того старья, о себе не может рассказать. Может кто-то разубедить?


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

----------


## Аратор

> Такой вопрос.
> 
> Насколько реально устроиться юниором при нулевом уровне владения языками и технологиями нужными для вакансии, но при этом с опытом в несколько лет программирования на другом, уже отмирающем и практически никому не известном языке, для внутрикорпоративного софта?
> На какую начальную зарплату может такой человек рассчитывать в Одессе в софтовых конторах (после какого-то периода стажерства для вникания в новую технологию)?
> Возраст - пару лет после института, 25-26
> Человек стесняется ходить по собеседованиям под предлогом, что ничего, кроме того старья, о себе не может рассказать. Может кто-то разубедить?


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

----------


## 18-я весна

> а что мешает человеку выучить что-то поновее?...И что под старьем подразумевается?


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

Старье - это PowerBuilder.
Он конечно еще существует, что-то там копошится, и он во многом до сих пор не превзойден конкурентами, но...
Сейчас по нему есть лишь единичные вакансии (1 на 1000 других) и только в таких же, как на нынешней работе, корпоративных проектах с зарплатами программистов по остаточному принципу, с такими же отсутствующими перспективами.

----------


## oxigen_

Устроится джуном можно. 
Джунов вполне набирают. И человека с реальными навыками программирования и знанием ООП ИМХО возьмут охотнее, чем просто выпускника.
Но желательно конечно хотя бы базовые понятия нового языка изучить. Чтоб на собеседовании показать, что скилл "обучаемость" на уровне.

Главное - начать искать. Составьте грамотное резюме, разместите на work.com.ua , hh.ua и прочих. Разошлите его всюду. Походите на собеседования, посмотрите, что именно там спрашивают.. И обязательно после неудачного собеседования думайте - чего Вам не хватило для удачи. И изучайте эти вопросы.
Поиск работы джуна - это своего рода лотерея. Чем больше будете ходить на собеседования, тем больше шанс на удачу.

----------


## 18-я весна

> Устроится джуном можно. 
> Джунов вполне набирают. И человека с реальными навыками программирования и знанием ООП ИМХО возьмут охотнее, чем просто выпускника.
> Но желательно конечно хотя бы базовые понятия нового языка изучить. Чтоб на собеседовании показать, что скилл "обучаемость" на уровне.


 ОК, спасибо.
А какие сейчас ветки З/П в Одессе для джуниоров? По основным технологиям - Java/C#, Android/iOS, Python/Ruby

----------


## 18-я весна

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


 Ну, текущие знания языков - на уровне обучения в институте по специальности программирование. Т.е. сдал-забыл  :smileflag: 
Наверно при необходимости это все вспомнится.
Впрочем я не в курсе, что там они изучали, может тоже какое-то старье.

----------


## oxigen_

Зарплаты зависят не столько от языка, сколько от компании.
Найти работу на Python/Ruby без серьезного опыта на других платформах вряд ли стоит расчитывать.
А для прочих думаю есть смысл просить где-то $800.

Но вот стесняться ходить по собеседованиям абсолютно не стоит.
Я помню, когда я искал работу джуна. Собеседования - это реально офигенный опыт.
1) Понимаешь, что именно нужно знать для того, чтоб найти работу. Каких знаний не хватает. Пришел домой и читаешь о том, на что не ответил на собеседовании.
2) Некоторые компании дают тестовые задания - получаешь реальный опыт в использовании языка. Опять же изучаешь при этом возможности языка.
И при этом абсолютно ничего не теряешь.

----------


## Аратор

> Зарплаты зависят не столько от языка, сколько от компании.
> Найти работу на Python/Ruby без серьезного опыта на других платформах вряд ли стоит расчитывать.
> А для прочих думаю есть смысл просить где-то $800.
> 
> Но вот стесняться ходить по собеседованиям абсолютно не стоит.
> Я помню, когда я искал работу джуна. Собеседования - это реально офигенный опыт.
> 1) Понимаешь, что именно нужно знать для того, чтоб найти работу. Каких знаний не хватает. Пришел домой и читаешь о том, на что не ответил на собеседовании.
> 2) Некоторые компании дают тестовые задания - получаешь реальный опыт в использовании языка. Опять же изучаешь при этом возможности языка.
> И при этом абсолютно ничего не теряешь.


 время теряешь))))

----------


## 18-я весна

ОК, спасибо всем - более-менее понятно.

----------


## oxigen_

> время теряешь))))


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

----------


## Аратор

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


 согласен,теряя время приобретаешь опыт,что есть хороший обмен.

----------


## Аратор

Сегодня на хабре неплохую статью выложили,с автором которым я практически полностью согласен.
Так как ссылки "низя",то сделаем заветную комбинацию клавиш )))))

**************************************************  ******************************************
Программист. Путь самоучки 
Доброго времени суток, уважаемые хабровчане.
С появлением высокоуровневых языков программирования с низким порогом вхождения профессия программиста стала привлекать все больше людей, причем часто-густо довольно далеких от IT-индустрии вообще. В этом нет ничего удивительного — на фоне бедности подавляющего большинства граждан и прогрессирующей безработицы, эта специальность привлекает сравнительно неплохими окладами, обманчивой «непыльностью» и постоянным наличием вакансий. Тысячи праздных оптимистов садятся за изучение PHP по видео-курсам, не имея ни малейшего представления даже про HTML, а потом массово регистрируются на многочисленных сайтах для фрилансеров. Сотни разочаровавшихся поэтов, историков и географов пытаются найти себя в роли верстальщиков, дизайнеров, или, на худой конец, контент-менеджеров и копирайтеров. Десятки фотографов-любителей забрасывают свои зеркалки и достают не возвращенные 10 лет назад в школьную библиотеку учебники по алгебре, надеясь, что это приблизит их к заветной профессии программиста. В связи с этим появилось много пословиц, среди них, например, высказывание о том, что PHP не учил только мертвый. Конечно же, большая часть заинтересовавшихся этой специальностью теряют свое вдохновение столь же быстро, сколь его нашли. Несмотря на это, по многочисленным данным, процент самоучек среди трудоустроенных программистов достигает 60-70% от их общего числа (такие данные приводятся насчет Украины, но не думаю, что в России или Белоруссии ситуация кардинально отличается). Но есть и обратная сторона: даже огромное количество программистов-самоучек не обеспечивает нашу страну необходимым количеством кадров, а отечественные ВУЗы не дают достаточно актуальных знаний.

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

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


Направо пойдешь...

Существует два изначальных способа стать на путь программиста. Первый из них начинается тогда, когда вы долгими вечерами после школы сидите за учебниками по математике, вместо того, чтобы как все подростки придти домой пьяным и оправдываться перед мамой, что сигареты в карман вам друзья подложили ради шутки. Позднее, если излишняя прилежность 14-летнего подростка не превращает его в 18-летнего пьяного панка, орущего песни Гражданской Обороны на остановке общественного транспорта, Вы с блеском в глазах похвастаетесь поступлением в технический ВУЗ (а может быть, даже победно споете песню Гражданской обороны в честь этого). Там вы прежде всего изучаете математику, логику, основы вычислительных систем, строение микропроцессоров и многое другое. Последовательно вас учат ассемблеру, Паскалю, вы даже слышите такие неизвестные простым смертным слова, как Lisp или Ada. Далее — язык C, логическое программирование и PROLOG, высокоуровневые языки и вверх по накатанной дорожке. Если вы продуктивно для профессионального роста провели университетские годы, то через несколько лет Вас ждет прохладный летом и теплый зимой офис, хорошая должность и вполне резонный снобизм в отношении самоучек. А может быть, вы будете основателем фирмы или изобретателем новой технологии. Но так как данная статья как раз и посвящена самоучкам, мы не будем подробно останавливаться на первом способе стать на путь программиста. Спустимся на Землю, и взглянем на второй вариант.
Налево пойдешь...

Будущий кто-то

Если вы недавно стали называться веб-разработчиком (среди самоучек наибольшее число именно php-программистов, html-верстальщиков и прочих дизайнеров), то как никто хорошо понимаете, что ушло то время, когда человеку стыдно было признаться в просмотре порнофильмов — вместо этого Вы привыкли скрывать факт просмотра Вами чего-то менее приятного, менее познавательного и полезного, и более извращенного — конечно же, я говорю о видеокурсах для программистов. Видеокурсы бывают разные — будь то курсы по C#, которые создают студенты-партнеры Microsoft, или курсы JAVA, снятые олимпиадниками-отличниками — будущими сотрудниками Google или Oracle. В них, очевидно, есть какое-то рациональное зерно. А еще бывают видеокурсы по PHP. Как Вы можете догадаться, их снимают не отличники, и не олимпиадники. Тем не менее, и эти курсы пользуются популярностью у определенной аудитории, как, например, намозолившие глаза курсы Евгения Попова по PHP/MySQL – там Вы узнаете о том, что HTML произносится как «ХАТЭМЭЭЛЬ», или о том, что цикл for в общем-то не особо нужен (да простит меня Мастер за высказанное мнение о его трудах). Общее у всех видеокурсов одно — они подходят только для наиболее первоначального ознакомления с тем, что такое вообще программирование, и с чем его едят. Посему, если Вы не можете понять, что такое переменная, лучше сразу осознайте, что это не Ваше! настоятельно рекомендуется посмотреть пару видеоуроков. Но не увлекайтесь. Заранее прошу прощения у тех читателей, у которых этот совет вызывает стойкое ощущение дежавю.

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

Итак, стандартный первый этап самоучки — это видеокурс. После просмотра парочки неплохих видеокурсов будущий кто-то морально готов к тому, чтобы начать изучать программирование (если мы говорим о высокоуровневом языке вроде PHP, RUBY или Python). Обычно на этом этапе не отсеивается почти никто, кроме тех, кто скоропостижно умер, кого ни с того ни с сего забрали в армию или тех, кого вдруг приняли на работу верстальщиком.

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

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

----------


## Аратор

No way, punk!

Итак, вы полны энтузиазма и готовы свернуть горы. Проще говоря, вы готовы заставить себя прочитать учебник, а может даже несколько. Лично я, как представитель молодого поколения, начинал изучение программирования с языка PHP. Первым учебником для меня стал «Самоучитель PHP 4» Дмитрия Котерова, а впоследствии также «PHP5 в подлиннике» авторства Котерова/Костарева. Первый учебник всегда сложен. Тем больше удовлетворения вы получаете, прочитав его. И тут кроется еще одна проблема: по моим личным наблюдениям, на момент написания этой статьи, в странах СНГ все еще массово берут на работу так называемых monkey-кодеров. Проблема заключается вот в чем: у большого процента самоучек после прочтения первого же учебника появляется совершенно необоснованная уверенность в том, что они уже что-то умеют и знают. Многие начинающие программисты считают, что они изучили язык, прочитав одну книгу. Более не собираясь тратить время на чтение учебников и изучение теории, они приступают к поиску работы — будь то фриланс, или должность младшего кодера в какой-то маленькой конторе, нуждающейся в программисте только для каких-то мелких внутренних потребностей вроде составления и выведения списка телефонов сотрудников. Итак, первый же этап разделяет самоучек на две категории: первые понимают, что не знают ровным счетом ничего, и продолжают жадно поглощать информацию, и чем больше знают, тем яснее понимают, что ничего не знают. Вторые думают, что знают и умеют. Как ни странно, каждый из этих путей развития имеет свои плюсы, но практика и здравый смысл доказывают недееспособность второго варианта. Дело вот в чем: человек, торопящийся начать работать, имеет на пару лет больше практики, чем тот, кто решил сначала все хорошо изучить. Методом проб и ошибок такие торопыги по-своему учатся, и через года три практики они открывают для себя тот факт, что многие стандартные задачи в программировании решаются повторяющимися способами. Позже они узнают про существование паттернов проектирования. В тоже самое время жадные к знаниям самоучки уже благополучно дочитали «Паттерны проектирования» Банды Четырех, «Шаблоны корпоративных приложений» Мартина Фаулера и «Совершенный код» Макконелла. Разница заключается в том, что те программисты, которые потрудились изучить теорию, приучаются к культуре написания качественного кода, и, так сказать, не портят слух неправильным пением. В будущем и первые, и вторые перечитают вышеназванные книги еще не раз: первые после некоторой практики по-новому посмотрят на прочитанное раньше, и возьмутся повторять. Вторым же придется открывать для себя эти замечательные труды, но, как показывает практика, очень сложно переучиться писать плохой код. Напрашивается такой вывод: лучше изучать все более-менее последовательно, и по возможности закреплять практикой. Но уклон на начальном этапе все же должен быть в сторону теории. Лично моя первая практика имела место после прочтения замечательной книги «PHP — Обьекты, шаблоны и методики программирования» Мэтта Зандстры — такая себе хрестоматия, вводящая в курс ООП и доступно объясняющая самые популярные шаблоны из книг Банды Четырех и Мартина Фаулера ('Patterns of Enterprise Application Architecture'), но не заменяющая эти замечательные труды.

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

Начинающий программист. Версия 1.0

Итак, вы достигли определенных высот в первом изученном вами языке программирования. Не спешите считать себя всезнающими (впрочем, этого нельзя делать вообще никогда). Первое, что стоит сделать — это осмотреться, и последовательно изучить хотя бы на среднем уровне все технологии, которые вас окружают: так, например, если вы практикуете веб-разработку на PHP/MySQL, скорее всего на определенном этапе вы считали, что достаточно уметь писать простые SQL-запросы типа 'SELECT', в лучшем случае знать что такое 'JOIN'. Вы удивитесь, когда поймете, насколько обманчива простота этого языка, и какие широкие возможности он предоставляет. Выйдите за рамки привычного, изучите несколько учебников по MySQL, затем учебников по SQL, не привязанных к конкретному подмножеству языка. Изучите на высоком уровне html и css. Не спешите сразу браться за JQuery — Джон Райсиг дал нам не только эту библиотеку, но и учебники по JavaScript. Все, что я хочу сказать — последовательно доводите до совершенства свои навыки, а затем беритесь за новое.

Фреймворки

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

И напоследок я скажу

Если вы будете следовать всем этим простым правилам, будете достаточно настойчивы и трудолюбивы, если вы будете получать удовольствие от того, что вы делаете — успех вам гарантирован.

Парочка советов напоследок:

1. Изучайте более низкоуровневые языки программирования — это поможет Вам лучше понимать то, что вы делаете.
2. Доводите до совершенства что-то одно, прежде чем начинать что-то новое.
3. Рано или поздно вы столкнетесь с пониманием, что математика все же нужна в программировании — изучайте математику. Изучайте алгоритмы — как пример, могу посоветовать книгу «Алгоритмы и структуры данных» Н.Вирта.
4. Не расстраивайтесь, что ваш код неидеален — идеального не существует.
5. Если вы не учились в техническом вузе – поучитесь, никогда не поздно поступить хотя бы на заочное отделение – даже оно принесет вам огромную пользу.
6. Нет ничего плохого в том, чтобы сперва читать учебники на родном языке, но вы должны знать, что русскоязычные учебники – это капля в море. Учите английский, ведь замечательных трудов на английском – великое множество, в то время как на русском – раз-два и обчелся. До сих пор нет русских переводов некоторых основополагающих трудов, как пример – ‘Core J2EE patterns’ Дипака Алура.
7. Общайтесь на форумах, но пропускайте все, что вам посоветуют, через призму здравого смысла.
8. Пытайтесь разобраться во всем самостоятельно – потратите больше времени. Но запомните на всю жизнь.
9. Отдыхайте, потому что без хорошего отдыха не бывает хорошей работы.

З.Ы. Хотел бы сразу обратить внимание на то, что никоим образом не считаю себя каким-либо авторитетом в программировании, и уверен, что среди читателей этого топика найдется большое количество значительно более опытных и знающих людей. Данный топик является не более чем попыткой рядового программиста поделиться своим весьма скромным опытом и весьма скудными знаниями.

Успехов Вам!

Спасибо за внимание.

(с) Хабрахабр


ПыСы Запостил копипаст дабы люди смогли ответы,так как про хабр новички не знают)

----------


## Fallout

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

----------


## Нулевой

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

----------

> )))
>     ))))
>           )))


         ""  ,     :"    ?"
       ..,  :",      ,     ".
       -   .

----------

))))
         )))))))))))

----------


## Phoenixxe

> )))
>     ))))
>           )))


    ,    
1) 
2)  
3)   

don't let your emotions be expressed that way
be cool

----------

.
       .
               .
    ,    ;-)
           ,                 )

----------


## Alex Sanches



----------


## Gorn

!

----------

))))

----------

> ))))


       .

----------


## Grizli

> 1)


    ,       .




> 2)


         .




> 3)


         ?  ?

      . ()

----------


## Phoenixxe

> ,       .


  - ,      .
  -    -  .




> .


      ?
      ,      -      ,   ?




> ?  ?


  ,     ,    -  .
       -        "".




> . ()


     ?     .

    ,  HR   .
  () -           , ..   .

----------


## Evgenipost

++...   "++  "   "++  "...     .  ?        ++ developer,   MFC  API.      .
 .

----------


## oxigen_

API    .  :smileflag: 
API -    ,       ,      .
      API.

----------


## Alexandr_P

*Evgenipost*,     "Windows  .   WIN32-"

----------


## Evgenipost

> *Evgenipost*,     "Windows  .   WIN32-"


 ! )

----------


## Phoenixxe

,         
 Google Summer of Code
http://code.google.com/soc/

 -    ?

-     ?

----------


## lexar

> (  ).      ...
>  :   ,  ,    ?
>     /++, #, WinForms, WPF, WinAPI, JavaScript, HTML/XML/CSS.


 ,  ,  .
 :  $200      (   3).
$300      (3 )
 -   $500   junior programmer.    -   .

 :
1.   (    ++,  Java.       C#-)
2.    beginner.  -  .     pre-intermediate  
3.  

 ,  -  .

----------

,    !

----------


## Fallout

> - ** .


  :smileflag:

----------



----------


## Euqariot

,        Java (Java Core, Spring Core, Spring MV, Hibernate) ?
       Junior  Trainee   ?

----------

