Программист « В помощь выпускникам « Полезная информация. Профессия программист Где можно получить профессию программиста

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

Умение общаться

IT-специалист вынужден отправлять огромное количество электронных писем, согласовывать проекты и техзадания. Потому даже самый талантливый программист должен быть банально грамотным. Устное общение также важно. Очень ценное умение для айтишника - способность объяснить сложные вещи простым языком тем, кто не разбирается в них.

Умение слушать

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

Командная работа

Очень часто IT-проекты реализуются командой профессионалов, а не одним человеком. Потому айтишнику очень важно научиться работать в команде. Как уже говорилось выше, он должен уметь высказывать свои мысли и идеи коллегам, а также уметь выслушивать и принимать чужую точку зрения.

Лидерство

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

Наставничество

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

Гибкость

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

Креативность

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

Умение вести переговоры

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

Умение делать презентации

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

Целеустремленность

Многие IT-проекты умирают из-за недостатка финансирования, проблем с клиентами, плохой командной работы. Чтобы проект жил, люди, которые в нем работают, должны быть сфокусированы на конечном результате и понимать, чего же они намерены достичь в итоге. Работодатель всегда будет ценить заинтересованного и целеустремленного айтишника, который не покидает проект в случае возникновения временных проблем, а остается с ним от начала до победы.

Программирование

История профессии

В пору своего зарождения программирование было сродни искусству, так как еще не были выработаны основные законы и правила. Примечательно, что первым программистом была женщина – Ада Лавлейс, дочь замечательного поэта Байрона. В 1833 году английский математик Ч.Бэббидж изобрел и сконструировал первую в мире модель механической "аналитической" машины, выполнявшей простейшие арифметические действия. Ада Лавлейс написала несколько программ для этой машины.

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

Позднее создаются алгоритмические языки высшего уровня (специальные языки программирования), что позволяет свести процесс составления программы к записи алгоритма в специальной символической форме в соответствии с правилами данного языка. Были также созданы специальные программы, которые преобразуют алгоритмический язык в машинный.

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

Программист - специалист в области вычислительной техники, современ­ ного программного обеспечения, автоматизации производствен­ ных и других процессов.

ПРОГРаММИСТ

Качества, которые помогут быть успешным в этой профессии

(профессионально важные качества):

Способности, умения:

· высокий уровень развития логического мышления

· гибкость и динамичность мышления

· способность анализировать ситуацию (аналитические способности)

· хороший уровень развития долговременной и оперативной (кратковременной) логической памяти

· память на условные обозначения (знаки, символы, планы, схемы, графики)

· высокий уровень развития концентрации, объема, распределения и переключения внимания

· способность грамотно выражать свои мысли

· развитое воображение

· тактильная чувствительность (чувствительность пальцев)

· устойчивость кистей рук (низкий тремор)

· внимание к деталям

· способность к созданию образа по словесному описанию

· развитое абстрактное мышление

· креативные способности

· переносимость статических физических нагрузок

· умение быстро ориентироваться в окружающей обстановке

· умственная работоспособность

· склонность к исследовательской деятельности

· умение предвидеть результат

· высокий уровень развития технических способностей

· хороший уровень развития математических способностей

Личностные качества, интересы и склонности:

· внимательность

· аккуратность

· терпеливость

· самостоятельность

· настойчивость и упорство

· целеустремленность

· ответственность

· старательность, исполнительность

· склонность к интеллектуальным видам деятельности

· умение самостоятельно принимать решения

· независимость (наличие собственного мнения)

· самодостаточность (ориентация на собственные силы, уверенность в себе)

· усидчивость

· способность заниматься длительное время кропотливой, монотонной работой

· умение работать в команде

· наблюдательность

Качества, препятствующие эффективности профессиональной деятельности:

· невнимательность, рассеянность

· нетерпеливость

· низкий уровеньлогического и абстрактного мышления

· ригидность мыслительных процессов

· сильно развитая близорукость

В каких областях может работать программист?

· вычислительные и Научно-исследовательские центры (институты)

· предприятия и организации различного профиля

· система банков

· образовательные учреждения (школы, колледжи, ВУЗы)

· IT – компании

· отделы программистов в разнообразных коммерческих организациях

· органы управления

· промышленное производство

· разработка программного обеспечения

· разработка операционной системы, интерфейса, работа с сетями

· работа с глобальными сетями

· разработка технологии решения задач по обработке информации, определение схемы и алгоритма обработки данных, выбор языка программирования для описания составленных алгоритмов

· определение информации, подлежащей обработке на компьютере, ее объема, структуры, схемыввода

· определение возможности использования готовых программ

· адаптация имеющихся программ под особенности конкретного предприятия (отладка разработанных программ, определение возможности использования готовых программ, разработан­ ных другими организациями)

· нахождение и устранение различных ошибок, которые возможно, содержатся в программе

· разработка инструкции по работе с компьютерными программами, разработка и оформление технической документации

· сопровождение внедренных программ и программных средств

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

Чем профессия привлекательна?

· высокий социальный престиж про­фессии

· возможность реализации творческих способнос­тей

· большая степень свободы и независимости в работе

· «интернациональность» профессии


«Подводные камни»:

· малоподвижный характер работы

· «рваный» рабочий ритм

· риск снижения уровня социальных контактов и связей

Возможные профессиональные заболевания:

· сердечно­сосудистые

· глазные

· заболевания опорно-двигательного аппарата

· гиподинамия и другие нарушения, вызванные малоподвижным образом жизни

· нервные рас­стройства

Противопоказания по здоровью:

· нервно–психические расстройства

· нарушение цветоразличения

· выраженные заболевания глаз

· расстройства координации движений

Карьерные перспективы связаны с административными должностями менеджера группы или проекта, администратора сети.

Профилирующие предметы школьной программы идо­полнительного образования:

программирование и информатика, математика, английский язык,


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

1. Сильные технические навыки

Большая ошибка кадровиков заключается в том, что они нанимают людей, исходя из списка требований. Вместо того, чтобы искать человека с тремя года опыта программирования на С++ и годом на Java, они смотрят на весь список того, что он умеет. А ведь на самом деле, если программист выучил нужный для работы язык всего год назад, но до этого много лет программировал на другом языке, то он идеальный кандидат для этой должности из-за хорошего бекграунда в других областях.

Пример вопроса на собеседовании: «Опишите свой опыт разработок на других языках программирования».

2. Готовность к обучению

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

Пример вопроса на собеседовании: «Что вы делаете, чтобы ваши навыки оставались актуальными?».

3. Навыки отладки

Создание кода — это лишь часть работы программиста. Когда программное обеспечение не работает, как ожидалось, программист должен быстро и эффективно добраться до корня проблемы. Вместо того чтобы вслепую тратить часы на внесение изменений в код, найдите программиста который будет изучать код и искать источник проблем до тех пор, пока не будет найден ответ.

Пример вопроса на собеседовании: «Как вы справляетесь с ошибками в коде?» (+можно выдать программисту тестовое задание по отладке кода).

4. Умение работать в любой обстановке

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

Пример вопроса на собеседовании: «Опишите свои идеальные условия работы».

5. Способность решать возникающие проблемы

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

Пример вопроса на собеседовании: «Как бы вы сделали (предложите решить какую-то совершенно невозможную задачу, применимую к вашей организации)?».

6. Увлечение работой

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

Пример вопроса на собеседовании: «Каковы ваши увлечения?».

7. Стрессоустойчивость

Программирование может быть чрезвычайно стрессовой профессией. Когда поставлены жесткие сроки и ничего не работает, легко потерять рассудок и начать сходить с ума. Идеальный программист может справиться с самой сложной стрессовой ситуацией, и, что самое главное — будет в состоянии продолжать работать.

Пример вопроса на собеседовании: «Опишите ситуацию, когда вы были под огромным давлением и ваше приложение не работало. Как вы тогда поступили?».

8. Навыки общения с «обычными людьми»

Обычно от программистов не требуется уметь общаться с клиентами — по большей части они весь день сидят за компьютером и общаются в онлайне. Тем не менее, программисты регулярно взаимодействуют с менеджерами, сотрудниками и клиентами, поэтому способность хорошо общаться с другими просто обязательна. Это особенно верно, если ваши программисты иногда просят принять участие во встречах с клиентами и объяснить, как работает система.

Пример вопроса на собеседовании: «Объясните, как работает ваше любимое приложение так, что бы это смог понять обычный человек».

9. Лень

Автор книги «Языки программирования Perl» Ларри Уолл считает, что три главных навыка хорошего программиста это лень, нетерпеливость и гордыня. Лень может звучать как плохая черта для любого сотрудника, но IT-менеджеры говорят, что, если вы хотите найти лучший способ что-то сделать, спросите ленивого человека как. Скорее всего, этот человек найдет самый быстрый и эффективный способ. Разработчики часто находят способы для автоматизации процессов, что экономит компании время и деньги.

Пример вопроса на собеседовании: «Расскажите, как вы экономите свое время за счет автоматизации процессов».

10. Понимание бизнес-процессов

Если фокусироваться только на создании ПО, то очень легко потерять из виду общую картину. Идеальный программист должен понимать, как работает бизнес и выходить за рамки создания приложений. Бизнес-ориентированный программист может предложить идеи для новых приложений, которые впоследствии улучшат работу.

Пример вопроса на собеседовании: «Вы когда-нибудь участвовали в улучшении бизнес процессов компании?».

11. Умение планировать

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

Пример вопроса на собеседовании: «Как вы начинаете работать над новым дизайном? Что вы делаете в первую очередь?».

12. Умение преодолевать неудачи

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

Пример вопроса на собеседовании: «Вы когда-нибудь проводили часы за изучением кода и поисками ошибки?».

13. Умение работать в команде

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

Пример вопроса на собеседовании: «Расскажите о своем опыте командной работы».

14. Готовность к исследованиям

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

Пример вопроса на собеседовании: «Приведите пример случая, когда вы должны были вникать в детали конкретного бизнеса? Как вы решали эту задачу?».

15. Соблюдение сроков

Большинство программистов работает над проектами с указанием сроков. Понятно, что менеджеры должны выставлять разумные сроки для разработки и отладки приложений, но и сами программисты должны проявлять уважение к дедлайнам. Важно определить, что кандидат будет делать все возможное, чтобы «вписаться» в назначенные сроки.

Пример вопроса на собеседовании: «Расскажите, как вы работаете в условиях постоянных дедлайнов».

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

Если вы обладаете всеми этими качествами, то можете также ознакомиться со , обладатели которых которые пользовались наибольшим спросом у работодателей в 2014 году по версии Linkedin.

Многие знают или где-то слышали, что хороший программист должен быть ленивым программистом, но я думаю, что не очень многие знают, откуда это вообще пошло и что за этим стоит. И все, почему-то, помнят про лень, но не помнят про два других качества, о которых говорил Ларри Уолл в своей книге «Программирование на языке Perl». Собственно он то и был автором этих «трех уникальных качеств для программиста», для хорошего программиста, как он считает, и эти три качества – лень, нетерпение и гордыня.

Давайте начнем с лени

Все думают что ленивый программист — это такой программист которому лень поднять зад и что-то делать и вот он такой сидит и поэтому он срывает сроки и поэтому ему лень что то ответить, ему лень писать документацию, ему лень писать тесты, ему лень писать все, он ленивый и поэтому как бы хороший программист. Но на самом деле это не так, это несколько особый вид лени и это тот вид лени который побуждает программиста автоматизировать те задачи, на которые он не хочет тратить свои силы или которые приходится повторять снова, снова и снова, собственно одно из качеств языка Perl это регулярные выражения. Сам Ларри Уолл, насколько мне известно, очень много работал с текстом и ему стало настолько лень постоянно делать одни и те же задачи с текстом, что он создал язык Perl чтобы автоматизировать в первую очередь обработку текста, конечно можно спорить на сколько хороший язык Perl или плохой язык Perl как язык программирования, но этот язык решал свои задачи и был одно время довольно сильным игроком, скажем так, на сцене программирования. Так вот давайте, почитаем, что же сам Ларри Уолл пишет про лень: «Лень, это то качество, которое заставляет тебя прикладывать огромные усилия чтобы создать инструменты, которые будут сохранять человеческий труд, твой труд и труд других людей», т.е. люди будут использовать эти инструменты день за днем и скажем так не будут тратить силы и труд на бесконечные эти вещи, которые вы автоматизируете с помощью этих ваших программ. Но также он пишет, что важно не только создавать эти инструменты, но очень важно документировать эти инструменты, потому что вам лень отвечать на эти бесконечные вопросы «как работает то», «как работает другое». Т.е. мало того, что вы создали что-то полезное, но вы еще и задокументировали это, чтобы к вам больше вообще не обращались за этим советом. Ларри Уолл как-бы говорит что «вот я ленивый, поэтому я мало того что написал (придумал) Perl, так еще и пишу эту книгу как Perl пользоваться, чтобы вы мне не задавали эти вопросы». Что еще можно отнести в эту же копилку? Я бы сказал, что иногда ленивый программист – хороший программист — когда он начинает задавать вопрос «почему?» и иногда ставит под сомнение «фичи», которые ему непонятны. Т.е. иногда бывает так, что проблему заказчика можно решить вообще не программируя, потому что например эта «фича» не нужна, или она может решиться одним email-ом, или она может решиться одной Google-таблицей или Exel-таблицей и вообще не надо ничего программировать и ты экономишь себе силы и ты в принципе решаешь проблему клиента – я считаю что это можно отнести тоже к лени.

Теперь давайте поговорим о втором качестве, это нетерпение.

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

И самое последнее третье качество программиста, о котором говорит Ларри Уолл, это гордыня.

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




Top