Записи с меткой «разработка по»

0

HR говорит

Татьяна Молодских
13 мая 2011 года

Добрый день, меня зовут Татьяна, я — HR-менеджер Центра Высоких Технологий.
Последние полгода большая часть моих телефонных разговоров начинается именно так.

Меня зовут Татьяна, и я хочу предложить вам наши вакансии. А ещё мне очень хочется узнать, чем вы хотели бы заниматься, что вы умеете и чему хотите научиться. Вы говорите, что ЦВТ может помочь вам самореализоваться? Да, это несомненно. А что вы можете дать Центру Высоких Технологий взамен?

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

Если вы пришли на собеседование — это не значит, что всё решено. Вы берёте на себя не обязательство, но ответственность за время: своё и человека, который вас собеседует.

Коллеги, не стесняйтесь, мы не кусаемся :) Звоните и приходите, будем общаться. Наверняка нам есть, что предложить друг другу.
Если же вам пока сложно решиться на встречу, или вы не определились, чему хотели бы посвятить себя в профессиональном плане — не страшно.
В следующих постах я расскажу о том, как вести себя на собеседованиях, как найти то, к чему лежит душа, о том, какие качества важны для работы в сфере IT, и о многом другом. А также здесь будут появляться новые вакансии.

Будем на связи! :)

Метки: , , , , , , , , ,

Оставить комментарий
8

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

Andrey Lapin
3 мая 2011 года

На написание этой статьи меня вдохновила статья 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

Из чего складывается работа профессионального программиста

Andrey Lapin
14 апреля 2011 года

Бывает такое, что клиент не понимает, почему за разработку необходимо так дорого платить. Иногда это бывает из-за технической некомпетентности, как описано здесь: http://wiki4tech.ru/Проблема_понимания_клиентом_сложности_проекта. Но последнее время как правило бывают технически подготовленные клиенты, имеющие специальное профильное образование, но не ставшие на путь разработки и занимающиеся менеджментом. В этом случае сталкиваемся с непониманием другого рода. Будучи студентом решая различные лабораторные работы создается впечатление о том, что программирование — это достаточно легкое занятие. Довольно сложные задачи могут решаться быстро и впечатлять нас.

Дело в том, что лабораторная работа в сравнении со зрелым продуктом — это картонный автомобиль в сравнении с настоящим автомобилем. Смотрите, это же работает, какая красивая картинка. Но откуда берутся дополнительные часы и дни на разработку? Попробую перечислить, что же нам вставляет палки в колеса.

  • Программа должна быть легко сопровождаема, необходимо писать красивый понятный код
  • Программа должна быть протестирована самим программистом (а не только тестировщиком)
  • В вузах как правило не преподают как эффективно проектировать интерфейс взаимодействия с пользователем. Интерфейс пользователя — это та неуловимая для многих вещь, которая заставляет писать дифирамбы программе, а иногда отбивает желание пользоваться.
  • Программирование — это не спринт, а марафонский бег. Нужно достаточно хорошо подумать, чтобы что-то сделать.
  • Иногда бывает, что время днями тратится на решение какой-то технической проблемы. При этом проблема не имеет какого-то понятного пользователю описания.
  • Когда программисты работают в команде, необходимо тратить время на взаимодействие внутри команды.
  • Любой проект с первого дня разработки начинает меняться и дополняться новыми требованиями. Если вы не меняете проект, то готовьтесь выкинуть его на помойку.

Как же решить эти проблемы с обоих сторон? Думаю, нам поможет модель Agile разработки ПО, которая учитывает непостоянство окружающего мира и в том числе процесса разработки. Эта модель построена на взаимном доверии, когда бюджет заранее не фиксируется, либо имеет ограничение сверху с запасом, позволяющее развивать проект. При подходе Agile программный продукт выпускается очень часто. Может быть каждую неделю, а может быть каждый день. Для больших проектов — это единственный путь, способствующий созданию успешного продукта. Подход Agile может существенно сэкономить средства на разработку и в короткие сроки создать работающий продукт. Старый подход, когда сначала пишется огромное ТЗ, а потом долго-долго реализуется часто приводит к провалу. А иногда даже к провалу до начала работы программиста. 

Метки:

Оставить комментарий
1

Как нанимать программистов?

Andrey Lapin
30 марта 2011 года

Вышла поучительная статья http://devinterviews.pen.io/ про неудачный опыт набора кадров.
Многие компании любят давать зубодробительные задачки для программистов,
задавать вопросы по тонкостям языка программирования, которые бывают
нужны в 0.01 % случаев.

В результате автор статьи пришел к выводу, что все это туфта и нанимать
нужно по-другому. Вот основные вопросы, которые рекомендует автор
задавать:

  • Над каким последним проектом вы работали?
  • Какие ваши любимые проекты?
  • Над какими проектами вы работаете в свободное от работы время?
  • В каких онлайн-сообществах вы состоите?
  • Какие программные техники вам нравятся?

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

Метки: ,

Оставить комментарий
0

Правила оформления программного кода

Andrey Lapin
23 марта 2011 года

Существуют различные книги по оформлению кода. Например, книга Алена Голуба "Правила программирования на С и С++".

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

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

  • Повышают читаемость кода
  • Легче находить ошибки
  • Легче отлаживать код
  • Повышают общее качество кода

Ну и наконец ссылка на правила: http://wiki4tech.ru/Правила_оформления_кода 

Интересно услышать комментарии и предложения.

 

Метки:

Оставить комментарий