вторник, 3 мая 2011 г.

Как стать web-программистом за 1 год?

На написание этой статьи меня вдохновила статья J.P. Stacey
Не все советы подходят для российского программиста, поэтому я решил ее адаптировать.
  • УЧИТЕ английский. На русском языке значительно меньше полезной и актуальной информации,чем на английском. Если даже вы не слишком хорошо знаете английский, пусть вас это не останавливает. Чем больше вы будете читать на английском, чем быстрее вы его освоите.
  • ЧИТАЙТЕ: Hacker News - очень важный источник полезной информации в наши дни. Это аналог Digg для программистов и предпринимателей в IT. Многие участники работают в Силиконовой Долине. Иногда там бывают общие разговоры о карьере программиста и индустрии. Публикуются новинки и стартапы, интересные для разработчиков.
  • ЧИТАЙТЕ: Stack Overflow. Это большая база данных, содержащая решения проблем в области разработки. Часто гугл в поиске дает ссылки на этот ресурс (если вы делаете поиск на английском).
  • ТАКЖЕ ЧИТАЙТЕ: Wired, Techcrunch, 37signals, UXMovement, Coding HorrorDiveintomark. Избегайте: Slashdot и The Register; сейчас эти ресурсы полны информационного мурора.
  • УЧАСТВУЙТЕ: в конференциях по веб-разработке типа http://devconf.ru/. Включайтесь в сообщество программистов. Лучше всего, если вы будете работать в компании, где есть чему научиться.
  • ПРАКТИКУЙСЯ. Делай пусть небольшие, но работающие проекты. Получай отзывы от коллег и пользователей. Сейчас можно купить достаточно недорогой хостинг, чтобы начать размещать в интернете свои проекты.
  • ИССЛЕДУЙ. Посмотри, как работают облачные сервисы. Это сервисы от Амазона: EC2, S3. Альтернативные сервисы: Rackspace. VM hosting from e.g. Bytemark. Google App Engine. Посмотри на их API, по крайней мере составь представление о том, что там можно делать. Изучай новые технологии. PHP все еще черезвычайно популярен, но не останавливайтесь только на нем. Ruby (on Rails) и Python (Django) набирают популярность и показывают себя довольно хорошо. Изучите, как работает принцип MVC в этих фреймворках. Познакомьтесь с AOP (разновидность событийно-ориентированного программирования) и другими не MVC-моделями. Популярные CMS наших дней - это Drupal и Joomla являются зрелыми и богатыми возможностей продуктами. Wordpress проще, но более популярный. Попробуйте что-нибудь написать с их помощью, чтобы оценить их возможности. MySQL все еще является стандартом в вебе, но обратите внимание на решения NoSQL типа CouchDB.
  • ИССЛЕДУЙ Dive into HTML5 - это великолепный ресурс по web-стандартам. Изучи возможности CSS3 и способы создания динамического контента без Flash. Javascript вкупе с jQuery дает вам богатые возможности по созданию интерфейсов. В качестве систем управления версиями (VCS) все большую популярность набирают распределенные системы типа git и mercurial. Поставьте для себя правилом использование VCS. Мне лично нравится Git. Для его изучения рекомендую Pro Git book.
  • ПРИСОЕДИНЯЙСЯ к сообществам разработчиков через TwitterLinkedIn, Github
  • ИГРАЙ. Выберите язык, с которым вам хотелось бы поиграться. Мой персональный выбор - это Python. Python - объектно-ориентированный язык с возможностями функционального программирования. Имеет строгую, но динамическую типизацию.
  • ПИШИ много кода. Пробуй на вкус фреймворки и языки. Составляй примеры. Делай разработки на базе существующих проектов, коих сейчас бесчисленное множество.
  • ОТТАЧИВАЙ мастерство. Выбери что-нибудь почитать отсюда: these recommendations off Stack Overflow. Я бы также предложил почитать The Pragmatic Programmer и Mythical Man Month. Если у вас еще останется свободное время, почитай в википедии про принципы разработки: Agile, XPScrum, Kanban и т.д., чтобы вы могли работать по этим принципам, если предоставится такой случай
Не все советы могут подойти каждому. Некоторые могут никому не пригодиться. Я не хочу ввязываться в споры по поводу этих советов. Лучше напишите, что вы рекомендуете, чтобы стать профессионалом за указанные 12 месяцев.

4 комментария:

  1. Блин, прикольно, в Dive into HTML5 шрифт под старую печатную машинку не картинкой сделан, как раньше - все буковки можно выделить, это текст. Ха!

    ОтветитьУдалить
  2. One of the best ways in getting deeply involved in everything you do is the method - Learning By Doing. As you have an interest in something just keep on doing in the same way and you will grow up as soon as you can.

    ОтветитьУдалить
  3. Не знал, Руслан, что ты читаешь этот блог. Практика - это очень важно. Но если будешь практиковаться в одиночку, то быстро не вырастешь.

    ОтветитьУдалить
  4. Я ваш коллега! Только не программер, а аналитик, то есть разработчик. мой блог вам для ознакомления. в свободное время http://rodigor.blogspot.com/

    ОтветитьУдалить