Требования к программистам

Часто мне задают вопрос: есть ли у нас открытые вакансии? Какими именно знаниями и умениями надо обладать, чтобы успешно работать в нашей компании? Об этом данная статья.

Личностные качества

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

Знания и умения программиста

  • Знание английского языка. Уровень: уметь общаться в IM и вести почтовую переписку по обсуждению фич программы. Желательно иметь возможность общаться голосом (skype, непосредственно). Умение выражать свои мысли и отстаивать свою точку зрения.
  • Язык SQL и реляционные базы данных. Умение проектировать базы данных, умение оптимизировать данные и SQL запросы. Желательно иметь навыки работы с MySQL, PostgreSQL, SQLite.
  • Язык Python. Объектно-ориентированное программирование. Умение и желание писать качественный код. Желательно также:
    • Уметь ориентироваться в базовой библиотеке
    • Иметь навыки работы с XML: lxml, elementtree, другие пакеты
    • Иметь навыки работы с DB API, MySQLdb, psycopg2
    • Иметь навыки работы с протоколом HTTP: urllib, urllib2
    • Уметь ориентироваться в мире OpenSource, использовать доступные утилиты и программы
    • Быть знакомым с шаблонами проектирования
    • Уметь писать тесты для своих программ (nittest, twill, django testing framework, funkload)
  • HTML + CSS + Javascript. Программисту вряд ли придётся писать HTML "с нуля", но знать все базовые структуры языка он обязан, чтобы править страницы. Кроме того, понадобится разрабатывать динамические приложения с использоваением Javascript + AJAX.
  • Желательны навыки работы Linux и/или FreeBSD. Умение установить apache, python, mysql, прочие пакеты для организации своего рабочего места.

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

Рекомендуемые шаги для освоения Web-программирования на Django

  1. Получить общие знания по языку HTML, протоколу HTTP, создать и опубликовать тестовую HTML страничку
  2. Пройти курсы CSS
  3. Пройти курсы Javascript
  4. Пройти обучение языку Python (возможно, вам понравится книга "Lerning python hard way")
  5. Пройти обучение Django (4 части)
  6. Создать сайт (для себя, для друзей или на заказ - не важно - главное, чтобы на Django)
  7. Почитать книгу "Dive Into Python"
  8. Почитать остальную документацию Django

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

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

Comments: 0

No comments.

Post a comment

Guests can\'t leave comments.