Советы начинающему программисту
Не секрет для любого программера, что успешная карьера во многом зависит от того, как ее начать. Если изначально направить свои силы в правильное русло - можно сэкономить массу времени и усилий, гораздо быстрее прийти к стабильной зарплате и потребности в себе, как в специалисте. Однако, в самом начале пути, будучи еще студентами и устраиваясь на свою первую работу, программисты совершают одни и те же типичные ошибки, которые приводят к неопределенности и к неумению преподнести себя, как специалиста.
1. Отсутствие цели. Когда программер устраивается работать для того, чтобы решить свои финансовые проблемы в данный момент и ничего больше его не интересует - он может потерять много сил занимаясь совершенно не тем, что ему на самом деле необходимо.
2. Недальновидность. Это, грубо говоря, следствие из первого пункта. Как результат - начинающий программер может ухватиться за сомнительную возможность прямо сейчас получать больше, но без малейших перспектив. Так, например, работая в небольшой конторе над совершенно неинтересным проектом, но получая за это на начальном этапе порядка $1000 -может показаться гораздо привлекательнее, чем работа в серьезной компании с именем над интересным проектом, который научит гораздо большему, но всего за $600. И редкий начинающий осознает реальную важность этого опыта, а также то, что через года полтора в первом случае он сможет устроиться на $1500, а во втором случае - уже и на $2000.
3. Отсутствие стратегии и ограничений. На одной цели и без конкретных действий далеко не уедешь. Необходимо четко понимать, какие конкретно действия нужны для достижения этой цели. А вот заведомо лишних действий совершать не следует. Так, например, лучше сконцентрироваться на своей теме, стать востребованным специалистом в чем-то одном. Не совершать резких движений, перебрасываясь с одной темы на другую. Мало где требуется человек, который по чуть-чуть разбирается в 5и разных языках программирования, но очень востребован, скажем, хороший ASP.NET программер со знанием MSSQL или сетевой программист на C++ с отличным знанием стека TCP/IP. А вот начинающего, с малым опытом работы, который знает Assembler, PHP, C#, C++, Perl и Java - едва ли будут воспринимать серьезно. И даже если его возьмут на работу - эта работа наверняка не будет приносить удовольствия.
4. Пассивность. Удача редко приходит сама и для того, чтобы чего-то добиться, приходится действовать. Для наилучшего результата приходится следить за ситуацией на рынке труда, искать и пробовать. Постоянно обновлять свое резюме, обновлять свои знания, посылать резюме в компании, активно интересоваться возможностями и уровнем зарплат - это приходится делать для того, чтобы найти лучшую работу и построить свою карьеру.
5. Необщительность и нерешительность. Лучшие вакансии редко выкладываются в на сайты вакансий. Поэтому для того, чтобы найти лучшее - нужно общаться с наибольшим количеством людей из разных компаний, интересоваться у них про возможности, знакомиться с новыми людьми, подружиться с менеджерами по персоналу в крупных компаниях и агенствах по поиску персонала.
6. Беспорядочные действия по поиску работы. Хаос в голове очень мешает достигать целей. Все это также связано с отсутствием стратегии. Если посылать свое резюме в самые разные компании и беспорядочно ходить на собеседование - это врядли сделает поиск легким, быстрым и приятным.
7. Нежелание вкладываться в саморекламу и опыт. На предложение поработать практически бесплатно, даже на самой начальной стадии программеры зачастую отказываются. Но не всякий отказ здесь будет правильным. Если вам предлагают поучаствовать в интересном проекте, лучше подумать о том, что вы сможете написать в своем резюме и рассказать на собеседовании по окончании проекта, что вы узнаете и с кем будете сотрудничать. Также к нежеланию вкладываться в собственную рекламу относится неготовность потратить свое время и деньги на возможность научиться преподносить себя - писать хорошие резюме, эффективно общаться с людьми, красиво презентовать свои проекты и даже, казалось бы, такая мелочь, как хорошо выглядеть.
Заключение:
Не все йогурты одинаково полезны и не каждый начинающий специалист может хорошо преподнести себя. Но тем не менее, всем нам приходится периодически "продавать себя" и всем хотелось бы продать себя подороже. Этому редко учат в институте, но в конце-концов, это также необходимо, как и хорошо разбираться в своей области. И самое главное, если это уметь, то все в конечном счете выигрывают.
[COLOR="Red"]Всё писать в этой теме.Новых тем не создавать.По вопросам рекламы сайта обращаться к администратору - mike .[/COLOR]
1. Если у вас еще нет ни одного готового проекта - сделайте что-то небольшое за символическую плату, но подойдите к этому серьезно, будто вы пишете коммерческий проект.
Естественно, это "небольшое" должно быть намного больше, чем задачка для института. Можно сделать подходит курсовую работу для друга, не-программера. Это поможет оценить свои собственные силы, добавит ценного опыта и возможность от чего-то отталкиваться.
2. Если у вас мало законченных проектов, но много начатых - планируйте и иногда завершайте хотя бы небольшие начатые проекты. То, что можно закончить.
Это может показаться нецелесообраpным, но вы получите больше уважения как в собственных глазах, так и в глазах окружающих. Человек, который доводит дела до конца - зарабатывает себе хорошую репутацию. Особенно, программер.
3. Не беритесь самостоятельно за проекты, выполнение которых займет более чем в 2 раза больше времени, чем самый сложный ваш проект.
Иначе вы рискуете надорваться и не потянуть, как бы хорошо вы изначально не оценили собственные возможности. В конце-концов, вам может стать просто скучно и вы не доделаете работу до конца. А это просто страшно для новичка.
4. Не беритесь за проект, который более чем в 2 раза дороже вашего самого дорогого по опыту проекта.
Не у каждого получится одним махом заработать миллион. Увеличивать сложность и стоимость нужно постепенно. Чем меньше эта разница, тем стабильнее вы развиваетесь. Тем больше вы можете быть уверены в своем завтрашнем дне. Работайте на перспективу, а не на сиюминутную выгоду. Поймите, что вам нужно увеличить свою собственную стоимость, а лишний купленный девайс сделает вас счастливым очень ненадолго. И не рискуйте по пустякам.
5. При оценке трудоемкости, учитывайте свои ошибки.
Возьмите все свои проекты и посмотрите, на сколько вы ошибаетесь при подсчете трудоемкости. Ведете статистику и смотрите, как меняется этот коэффициент ошибок со временем. Учитывайте средний коэффициент плюс некую дельту каждый раз, когда беретесь за новое дело.
6. Рассчитывайте только на себя, но старайтесь всегда использовать более быстрые способы. Редкое решение проблемы не встретишь в интернете. А большинство алгоритмов давно написано. Научитесь сохранять свое время, в будущем это сработает на вас. Лучше научиться искать нужную информацию на "игрушечных задачках", чтобы это не стало проблемой на реальных коммерческих проектах.
Самым прямым образом этот навык заработает вам больше денег и позволит провести больше времени на отдыхе или занимаясь чем-то более интересным.
7. Всегда имейте в запасе нескольких более опытных знакомых, к которым можно обратиться с проблемой. Но по пустякам их не дергайте, они этого не любят.
8. Всегда щедро благодарите таких знакомых за помощь. Это окупается. При этом желательно с некоторыми из них поддерживать дружеские отношения и кроме "дел программерских", а с некоторыми - нет, исключительно деловые. Это на всякий случай, вдруг окажется, что вы случайно слишком много позволите себе в душевной беседе "за пивом".
Обязательно осознайте, зачем вы им нужны и что для них важно получить на самом деле за помощь вам: общение по душам ? пиво в благодарность ? удовлетворить собственную потребность кого-то поучить уму-разуму ? найти решение интересной и нестандартной задачи ? Или что-то еще ? Можете даже открыто спросить их об это. Будьте честны со своими более опытными помошниками, иначе они от вас отвернутся.
9. Разбивайте задачу на много маленьких.
Как много об этом говорится и как редко люди это выполняют. Разбивайте проект на последовательные шаги, создавайте свой алгоритм выполнения проекта. Соблюдайте четкий график и обязательно успевайте доводить шаг до некого конечного состояния за отведенный период времени. Так, чтобы можно было переходить к следующему шагу вовремя. При разбиении проекта на шаги и расчете времени - оставляйте время на доработку в самом конце.
10. Не беритесь улучшать уже написанный код, когда вы выбиваетесь из отведенного на него "time slice". Вы сможете вернуться к нему позже, когда настанет время для доработки.
Всегда хорошо иметь свою стратегию: план развития, принципы работы и жизни в целом. Ее необходимо постепенно дорабатывать, корректировать и улучшать, но никогда не менять резко и целиком. Всегда учитывайте, что в каждый конкретный момент вы можете думать немного по-разному. И настоящее "Я" заключается в среднем. Оберегайте это "Я" и не подставляйте его.
[COLOR=red][Кросс-постинг:Скрытая релама][/COLOR]