Люблю работать
Вам не должно просто нравиться программирование — оно должно вам надоесть. Чтобы добиться успеха, нужно быть немного фанатиком, как Никола Тесла или Ричард Докинз.
Спросите себя, почему вы хотите стать программистом. Если ответ «Модно» или «Чтобы заработать», то лучше заняться чем-то другим. Нет ничего хуже, чем ходить на работу только потому, что так надо.
Без увлечения программированием сложно погрузиться в проект с головой. Сложные задачи будут вас не провоцировать, а угнетать. Ваш креатив будет на нуле, а результат будет ниже среднего.
Работодателю на заметку: хороший знак, если в резюме в графе "Хобби" соискатель на должность программиста указал: "Я пишу код".
Способность быть гибким
Одним из ключевых качеств программиста является системное мышление. Быть техническим специалистом недостаточно. Важно быстро вычленить главное, уметь разбивать и синтезировать задачи и просчитывать все на несколько шагов вперед.
Без системного подхода вряд ли у вас получится освоить несколько языков программирования.
Работодателю на заметку: специалист по C++ или Java — это здорово, но еще лучше, если программист, специализирующийся на конкретном языке, понимает все остальное, умеет не только back-end, но и front-end. конец.
Современный программист должен быть гибким в мышлении. Без него невозможно сосредоточиться на результате и посмотреть на продукт глазами пользователя.
Готов учиться
Качество, логически вытекающее из предыдущего. Технологии развиваются очень быстро. Чтобы быть конкурентоспособным, постоянно оттачивайте имеющиеся знания на практике и приобретайте новые. Самообразование в режиме нон-стоп.
- Читать книги по программированию.
- Подписываться на блоги известных программистов.
- Обмениваться опытом с коллегами в специализированных сообществах.
- Посещать тематические конференции .
- И, конечно же, смотрите онлайн-курсы.
Сервис GeekBrains.ru поможет. Там вы сможете улучшить свои навыки программирования на Python, PHP и других языках, с которыми вы работаете, и прокачать сопутствующие навыки. Например, в сфере системного администрирования, SEO или SMM.
Планирование
Программист знает, как выполнить задачу. Хороший программист знает, как сделать это вовремя. Сроки важны. Нельзя о них забывать, а тем более забивать на них. Клиент раз-другой простит срыв сроков, но на третий пойдет к ответственному исполнителю.
Примечание для работодателей. На собеседовании попросите программиста оценить, сколько времени ему потребуется для выполнения той или иной задачи. Если он медлит с ответом, значит, он ничего не знает о тайм-менеджменте.
Вы должны управлять своим временем, разумно распределять ресурсы и расставлять приоритеты. Это называется планированием.
Командная работа
Почему для программиста так важно следить за временем? Потому что он не один. От своевременности его действий зависит работа большого количества людей: дизайнеров, менеджеров, маркетологов.
Распространенным заблуждением является то, что программист — это махровый интроверт, который встает из-за компьютера только для того, чтобы подстричь бороду. На самом деле коммуникативные навыки для программиста так же важны, как и для любого другого ИТ-специалиста.
Примечание работодателю: предложите программисту-стажеру провести небольшую самопрезентацию перед коллегами — вы поймете, если у него возникнут проблемы с общением.
Человек, который испытывает трудности в общении, не является командным игроком. Он не будет объяснять задачу своим коллегам и не будет понимать обратную связь.
Возможность быстрого перехода в состояние потока
Во время работы программист предельно сосредоточен, отключен от всех внешних факторов. Кому-то для этого нужна полная тишина, кому-то добавляет музыку в наушниках. Некоторым нужно время от времени играть в аэрохоккей с коллегами, чтобы перезагрузить мозги, а других нельзя трогать, пока они не закончат.
Примечание для работодателей. Создайте идеальную среду для программиста, и вы увидите чудеса производительности.
Что нужно, чтобы войти в состояние потока? Изучите одноименную книгу Михая Чиксентмихайи и разработайте собственный алгоритм.
Терпение
Написание кода — половина дела. В работе программиста много рутины: проверка кода, поиск и исправление ошибок и — самое ненавистное — редактирование. Это требует настойчивости и терпения.
Простой тест: выберите один из бесплатных курсов GeekBrains и пройдите его от начала до конца. Выполните все миссии без заминки. Если вам удается, то с упорством (в хорошем смысле этого слова) у вас все в порядке. А стрессоустойчивость?
Навыки совладания
Если вы думаете, что профессия программиста спокойная, то ошибаетесь. Он полон стресса: от жестких дедлайнов до сложнейших задач.
Примечание для работодателя: прежде чем подписывать трудовой договор, попросите программиста решить сложное математическое уравнение. Если же он ограничился беглым анализом и сослался на невозможность решения, то, скорее всего, будет медлить всякий раз, когда перед ним возникает новая трудная задача.
Хороший программист не боится трудностей. Даже если на первый взгляд проблема не имеет решения, постарайтесь его найти. Здесь начинаются инновации.
Здоровая доза лени
Ларри Уолл, создатель языка программирования Perl, в своей книге называет три качества, которые важны для программиста:
- высокая самооценка;
- нетерпение;
- лень.
Да, да, лень. Для копирайтера или, например, руководителя проекта это плохое качество, а вот для программиста здоровая порция лени просто необходима. Это побудит его искать и находить самый быстрый и эффективный способ решения проблемы, а значит, экономить время и деньги для компании.
Примечание для работодателя: спросите, как ваш новый программист собирается оптимизировать и автоматизировать рабочие процессы.
Амбиции
Программист, который не мечтает стать главой ИТ-отдела или запустить стартап, — плохой программист. Амбиции — это рычаг, который приводит в движение остальные шестеренки качеств, составляющих великого кодера.
Сможешь ли ты стать программистом? Да, если вы полны энтузиазма, готовы учиться и работать над собой. Развивайте описанные выше качества и учитесь программировать.
Изучите основы программирования