знаниями:)

Вообще, проконтролировать авторство той или иной программы очень сложно. ВУЗ, с его масштабами с этой задачей справиться не может. А когда нет контроля, то остается надеяться только на честность студентов. А человек склонен к тому, чтобы ничего не делать, когда ему это позволяют. И запомните, даже многие ботаны вокруг Вас, которые выполняют по-честному все ДЗ, сдают всё только на отлично, делают это не из-за того, что в них горит неудержимая жажда знаний (ну не может быть одинаковой жажды и к литературе, и к химии, и к черчению, и к программированию), а просто потому что:

- они боятся провала,

- их обучение кто-то жестко контролирует,

- им реально больше нечего делать:),

- так сложилось исторически с детства.

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

Следующая проблема, это устаревшая программа. Нам повезло, что мы учились в действительно сильном ВУЗе (и в плане программирования тоже). У нас, например, регулярно проводился Microsoft Day с различными конкурсами, викторинами и презентациями от вендора. Но те технологии, которые презентовались на Microsoft Day, попадут в программу обучения только через много-много лет. ВУЗ – это большая неповоротливая махина, которая с опозданием реагирует на все новое и актуальное. Моего друга совсем недавно в другом университете (в плане программирования сильно проще) семидесятилетняя бабушка учила FoxPro версии 2.6. Это программа 1992 года, если что.

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

Таким образом, ВУЗ для программиста должен быть, по крайней мере, не единственным средством получения профессиональных знаний и опыта. Программированию в институте можно научиться, ТОЛЬКО если занимаешься разработкой где-то ещё. На работе, либо на курсах.

Почему работа и курсы работают… но редко

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

Обычно, когда приходишь на первую работу, то первые год-полтора получаешь массу полезных и ценных знаний. Но вот дальнейшего роста может и не быть. Вполне вероятно, что Вы будете выполнять изо дня в день одни и те же рутинные действия. Через какое-то время Вы будете знать их наизусть и… ненавидеть. Просто у начальства есть конкретная потребность именно в этих действиях, оно даже готово за это адекватно платить. Только вот для Вас лично – это плохая альтернатива. Потом что нет никакого развития, и Ваша цена как специалиста перестает расти, что, конечно, очень плохо.

Курсы – другое дело. На курсы человек идет осознано, и это большой плюс. Потому что здесь Вы сами выбираете, что и в каком объеме изучать. Но к выбору курсов стоит отнестись внимательно. Дело в том, что многие из них грешат все теми же проблемами, что и высшее образование – недостаток практики, поверхностность обучения, неактуальность знаний. Результатом таких курсов будет в лучшем случае бумажка об их окончании и обрывистые знания по предмету, которые невозможно выстроить в четкую систему. Слава богу, есть места, где учат неплохо, но и они обладают одним существенным недостатком… Это цена.

За хорошие курсы по языку или среде программирования в Москве придется выложить от 15000 руб.

Повторюсь, речь о действительно хороших курсах, где внятная теория сопряжена с хорошей практикой. Если же брать более узкую область или обучение специализированным программам (например, по интеграции CRM системы Siebel 8.0), то здесь цен ниже $1000 вообще нет, и они легко могут превышать и $5000, и $10000. Так что, если есть деньги – записывайтесь на курсы, главное - не промахнитесь;)

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

Глава 4. Пора взглянуть на себя без прикрас

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

Критерии оценки программиста

Увлеченность новыми технологиями.

0 – не желаете узнавать ничего нового,

5 – регулярно читаете статьи о современных средствах разработки,

10 – регулярно применяете все новинки в своей области программирования.

Общение с себе подобными.

0 – Вы – волк-одиночка и не общаетесь с другими людьми на темы программирования.

5 – у Вас есть приятели, с которыми Вы порой можете обсудить собственные разработки.

10 – Вы – активный участник ряда блогов и форумов, посвященных программированию.

Отношение к программированию.

0 – считаете, что это утомительная и рутинная обязанность,

5 – нравятся отдельные моменты, Вы любуетесь результатами, но тяготитесь процессом,

10 – сам процесс программирования всегда доставляет Вам удовольствие, Вы программируете в сконцентрированном и умиротворенном состоянии.

Наличие собственных проектов и разработок.

0 – Вы никогда не занимались собственными разработками.

5 – имеется ряд задумок, но реализации либо не доведены до конца, либо заброшены.

10 – у Вас есть ряд завершенных проектов. Люди пользуются Вашими разработками.

Широта технических знаний.

0 – у Вас нет математической и технической подготовки. Вы владеете только одним языком программирования, который изучили по самоучителю с примерами.

5 – Вы получаете техническое образование. Вы знакомы с 2-3 языками программирования, 3-4 средами разработки, которыми приходилось пользоваться на работе или в учебе.

10 – Вы имеете высшее техническое образование. Вы не можете точно сказать, сколько языков программирования Вы знаете, потому что не совсем понимаете вопрос. Вы готовы написать что-то на незнакомом языке, как только появляется потребность и под руками есть документация. За время работы Вы столкнулись с бесчисленным множеством технологий, методов разработки, средств разработки, методологий ведения проектов, средств управления проектами.

Наличие технического образования.

0 – отсутствует среднее образование.

5 – выпускник технического ВУЗа.

10 – кандидат или доктор наук.

Упорство.

0 – вы не довели до конца ни одного начатого проекта.

5 – Вы участвовали в разработке ряда проектов, которые были успешно завершены.

10 – у Вас есть собственные успешно завершенные проекты и большое число совместно выполненных проектов.

Обучаемость.

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

5 – Вам необходимо достаточно большое количество времени на чтение документации и овладение новой технологией, но в результате Вы добиваетесь своего.

10 – Вы с легкостью осваиваете новое в течение одного дня, основываясь на богатом опыте разработки.

Кругозор.

0 – У Вас нет друзей. Вас интересует исключительно программирование. Все остальные сферы жизни кажутся поверхностными и несодержательными.

5 – свободное время обычно тратится на программирование/техническую литературу. Более половины Ваших друзей, также как и Вы, технари.

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

Подход к разработке.

0 – необходимость написания программы заставляет Вас сразу же приступать к разработке не задумываясь об архитектуре решения. В процессе разработки регулярно появляется необходимость переписывать часть кода ввиду неправильного изначально выбранного подхода.

5 – Перед тем, как приступить к разработке Вы продумываете какими средствами можно выполнить поставленную задачу.

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

Культура кода. Этому вопросу посвящен ряд статей у нас на сайте. Чтобы понять критерии, стоит с ними ознакомиться. Если коротко,

0 – код бескультурный, черт ногу сломит, расширяемость нулевая, комментариев нет.

10 – комментированный, хорошо оформленный код, которым легко пользоваться и легко масштабировать.

Оцените себя по каждому пункту. Мы не будем писать традиционное «от 0 до 30 баллов – Вы никудышный программист». Эта оценка нужна исключительно Вам, так что не обманывайте себя.

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

Глава 5. Начинаем взлетать. Концепция развития программиста

Есть такое выражение «Талантливый человек - талантлив во всем». Действительно, успешным людям часто сопутствует удача, за какое бы дело они не взялись. В чем же их секрет? Секрет в том, что они живут гармоничной жизнью. Они развиваются в разных направлениях одновременно, интересуются разными вещами, не зацикливаясь на чем-то одном. Всестороннее развитие позволяет смотреть на проблемы сверху и переносить идеи из одной сферы жизни в другую.

Кроме того, если не получается решить какую-то проблему, то можно попробовать её «отпустить». То есть переключиться на что-либо другое, и тогда ответ зачастую всплывет сам собой. Это все равно, что пытаться пробить стену головой. Иногда нужно просто сделать шаг назад и увидеть рядом открытую дверь.

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

Развитие профессиональных навыков. Естественно, профессии должно уделяться особое внимание.

Развитие сопряженных навыков. Помимо профессиональных существуют навыки тесно связанные с Вашей деятельностью, развитие которых позволит Вам существенно вырасти, как специалисту.

Развитие общих навыков. Не единым программированием жив человек, это надо понимать. Всестороннее развитие личности дает силы, энергию и настроение. Без этого, сами понимаете, никуда.

Далее подробно рассмотрим каждую из составляющих успеха.

Часть 3. ПРАКТИКА

Глава 6. Мощный рывок вперед. Развитие профессиональных навыков

Далее мы приведем ряд правил, которые позволят существенно повысить свой профессиональный уровень. Есть только одна сложность – эти правила необходимо ВНЕДРЯТЬ в свою практику, а не просто знать. Внедрять – это значит прочитал и сразу же применил, не завтра, не с понедельника, а СРАЗУ ЖЕ. Иначе эффекта не будет и можно забыть обо всех своих амбициях.

Регулярная практика программирования

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

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

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

Отметить Добавить цитату
×