Резюме программистов. Часть 2 (хорошие). Качества для резюме программиста


Какие личностные качества нужны разработчику? / Хабр

Начинающий программист Ewa Mitulska-Wójcik описала в недавней публикации на Медиуме свои мысли о необходимых разработчикам личных качествах. Публикуем перевод этой заметки и небольшой комментарий в самом конце.

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

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

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

  1. Делиться возникшими проблемами с другими ребятами в команде.
  2. Отчитываться о деталях прогресса в системе управления проектами, вроде Jira.
  3. Выражаться ёмко и конкретно, насколько возможно, когда этого требует ситуация.
  4. Уметь слушать и быстро реагировать
  5. Чётко объяснять все потребности, сомнения, риски и прогресс проекта в понятной остальным членам команды, менеджеру или клиенту форме.
  6. Объяснять технические проблемы так, чтобы вас понимали клиенты и члены команды, не связанные с технической частью.
  7. Полное профессиональное владение английским. Знать больше одного иностранного языка — всегда плюс. Я за испанский ;)
  8. Открыто высказываться о проблемах, заниматься поиском решений до появления конфликтов.
  9. Приводить состоятельные аргументы в пользу предложенных вами технических решений
  10. Дотошно относиться к коду, документации, отчетам и тикетам.
  11. Быть готовым к общению с другими программистами на форумах, в блогах и на конференциях. Делиться своими знаниями и не бояться выступать с микрофоном перед большой аудиторией.

Это только несколько ситуаций, когда коммуникативные навыки имеют решающее значение.

"Много будешь знать — скоро состаришься" — это не про разработчиков. Желание всё знать — самое реактивное топливо для новых изобретений и саморазвития. Экспериментаторство помогает видеть картину в целом и находить новые решения.

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

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

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

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

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

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

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

Быть хорошим стратегом — значит замечать подводные камни до момента столкновения с ними.

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

Разработка — плохая карьера для интеллектуальных лентяев. Если вы мечтаете о стабильной, хорошо оплачиваемой работе без особых усилий, даже не пробуйте! Специализация в одной области будет приносить хороший доход, только если вы остаетесь открытыми к новому и готовы учиться.

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

Со временем некоторые фреймворки и языки становятся более популярными, а вы можете увеличить заработок, зная какие языки, фреймворки и библиотеки более востребованы.

Быть открытым новым идеям также означает быть терпимым и проявлять уважение и инициативу. Не будьте хейтером React'а только потому, что не знаете его и работали на Angular последние несколько лет. Отрывайтесь иногда от монитора и ходите на конференции, митапы. Общайтесь с другими разработчиками в реальности и оффлайн. Оставайтесь голодными! Оставайтесь безрассудными!

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

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

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

Позаботьтесь о своём брэнде. Создайте портфолио, которым можете похвастаться, соберите рекомендации, покажите свой опыт, давайте только те советы, которые сами применяете. Это поможет вам выделиться из толпы разработчиков, претендующих на конкретную работу или проект.

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

Путешествие без цели интересно, но оно не лучше прогулки. Я начинающий разработчик и знаю, кем хочу стать.

А каким хотите стать вы? С каким типом разработчика идентифицируете себя вы? Насколько вы уверены, что движетесь в правильном направлении как новичок? Если вы работаете годами программистом, чего вы достигли?

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

(Перевод Наталии Басс)

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

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

Многие программисты стали программистами именно потому, что не хотят много общаться с людьми, не хотят публично выступать, не хотят вдаваться в бизнес-вопросы. Они нашли для себя такую профессию, где эти качества и желания не являются настолько критичными, как в некоторых других профессиях. И это успех: человек нашел свое дело. Это не плохо, это не "неудачники-интроверты", это просто их природа и особенность. Некоторые не любят такие качества в себе и хотят измениться: супер, в статьях вроде этой есть хорошие советы для них. Другие же не хотят меняться, и они ничего никому не должны. Это не делает их плохими программистами. Хороший менеджер умеет работать со всеми и строить такую среду, где каждый сможет работать без страданий. Или же открыто объяснит, что это невозможно, и человеку, возможно, стоит найти более подходящую для него работу. Не потому что "ты нам не подходишь", а потому, что "мы тебе не подходим".

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

Настоящие программисты получают удовольствие от программирования.

habr.com

Личные качества специалиста в сфере IT-технологий

← Вернуться в раздел «Все об IT-технологиях и телекоммуникации»

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

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

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

Важно не просто иметь все эти качества, но и грамотно себя преподносить, например, во время трудоустройства. Главная визитная карточка здесь – резюме, в нём стоит обязательно указать свои преимущества и способности. «LinkedIn» – социальная сеть для установления деловых связей – изучила резюме IT-специалистов и составила список наиболее часто употребляемых ими качеств:

  • аналитический склад ума – 6,5% соискателей;
  • умение работать в команде – 4,3% соискателей;
  • трудолюбие – 2,5%  соискателей;
  • умение работать с большим объемом информации – 1,9% соискателей.

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

Портал «SuperJob» собрал статистику о том, какие качества встречаются в сотрудниках сферы IT-технологий:

____________

Читайте также:

moeobrazovanie.ru

Образец резюме инженера программиста - В помощь соискателю - Как обратиться

программист

ЦЕЛЬ

Получение работы в должности системного программиста.

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

КВАЛИФИКАЦИЯ

  • Языки и среды программирования: Borland Delphi (предпочтительно), Borland C++ Builder, Assembler, С, MS Visual C++ •Технологии OpenGL, Office programming, VBA, PHP, HTML, Lotus Notes/Domino xx, поверхностно SAP R/3 и «Парус». ОС: Windows 9x/Me/2000/NT/NT Server/XP/2003 Server.
  • Знание ПO: MS Office, архиваторы, файловые менеджеры, утилиты, антивирусы и т.п. программные редакторы.
  • Работа с "железом": Сборка, наладка, ремонт, подборка комплектующих, восстановление расходных материалов и техническое обслуживание компьютеров и локальных сетей.Установка и настройка системного и пользовательского ПО, работы с «железом» и мелкий ремонт.
  • Системное администрирование: Поддержка специализированного софта, оптимизация системы резервного копирования на файл серверах, подборка и заказ комплектующих, сопровождение серверов Windows 2000 и 2003 Server (AD, Domain, DNS, DHCP, групповые политики, разграничение прав доступа, файл сервер, резервирование данных).
  • ОПЫТ РАБОТЫ

    Функциональные обязанности:
  • Техподдержка сайта компании с целью обеспечения его бесперебойной работы
  • Разработка скриптов
  • Верстка web страниц
  • Работа с базами данных MySQL
  • Создание рекламных баннеров
  • Образец резюме программиста

    Содержание

    Ниже Вы можете просмотреть или скачать образец резюме программиста 1С. Остается лишь добавить в него свои данные.

    Как написать резюме программиста

    Образец резюме программиста

    Василец Артем Викторович

    Дата рождения: 06.09.1986 г.

    Адрес проживания: г. Москва, ул.Орджоникидзе, 53, кв. 68

    Телефон: (495) 666-66-66

    e-mail: [email protected]

    Цель: получение работы программиста 1С.

    Опыт работы:

    сентябрь 2008г. - наст. время - программист 1С v7.7, ООО Х, производство лакокрасочных материалов, г. Москва.

    Функциональные обязанности:
  • обновление типовых и нетиповых конфигураций, доработка конфигураций под требования компании
  • программирование средствами платформы 1С: Предприятие v.7.7
  • организация обмена данными между базами 1С.
  • Достижения:
  • создание конфигураций на платформе 7.7 с нуля.
  • Образование: 2003-2008 гг. Московский государственный технический университет им. Н.Э.Баумана, факультет информатики и систем управления, специальность Прикладная математика, диплом специалиста.

    Дополнительное образование: февраль 2011г. Курс Программирование в системе 1С: Предприятие 7.7. Вводный курс, центр компьютерного обучения Специалист, г. Москва, свидетельство 1С.

    Профессиональные навыки: опытный пользователь ПК: MS Word, Excel, 1С 7.7, Internet. Базовый уровень знания английского языка.

    Личные качества: ответственность, организованность, целеустремленность, трудолюбие, усидчивость.

    Рекомендации будут предоставлены по требованию.

    Образец резюме программиста

    Терещенко Роман Александрович

    Личная информация:

    Дата рождения: 12.10.1975г.

    Адрес проживания: г.Киев, ул. Саксаганская 73, кв. 14.

    Семейное положение: женат

    Контактные данные:

    Домашний телефон: 8(044)70001000

    Мобильный телефон: 8(050)4000100

    E-mail: Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script

    Цель: соискание должности программиста 1С.

    Образование: 1993 – 1998 гг. Киевский Национальный университет им. Т.Г.Шевченко, факультет: кибернетический, специализация: теоретическая кибернетика и теория программирования.

    Опыт работы:

    2005 – до настоящего времени: ООО «Евротранс», специальность: программист.

    Должностные обязанности: программирование, системное администрирование, администрирование сервера электронной почты и видонаблюдения, контроль программного и аппаратного обеспечения

    2002 – 2005гг. фирма «Галактика», специальность: системный администратор.

    Должностные обязанности: администрирование, проектирование и ведение баз данных 1998 – 2002 гг. интернет-центр «Олимпус», специальность: помощник системного администратора.

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

    Профессиональные навыки и умения:

    - администрирование серверов Windows и на базе Unix

    - проектирование и ведение баз данных

    - написание приложений и модулей

    - многопотоковое программирование на базе SIP, Radius server

    - владение Delphi, Firebird, MS Sql Server Delphi, С/С++(Unix/Linux), PHP, DHTML, XML

    Фамилия Имя Отчество

    Год рождения: 1983

    Место проживания: Киев, ул. Соискателей 12, кв. 45

    Телефон: тел. 777-7777

    E-mail: [email protected]

    Минимальный уровень заработной платы: 1000$

    Цель: получение должности программиста

    Образование:

    2000 - 2005 – Донецкий Национальный Технический Университет, факультет Вычислительной техники и информатики, специальность: «инженер-программист»

    Опыт профессиональной и трудовой деятельности:

    2007 – наст.вр. – «…», программист

    Должностные обязанности:

  • написание программ для персональных компьютеров (ПК) на языках: Ассемблер, Бейсик, Паскаль, Delphi, Perl (CGI скрипты), HTML (JavaScript).
  • написание программ для MCS-51 (8051) и AVR микроконтроллеров (МК) фирмы Atmel и совместимых на языке Ассемблера и Си.
  • разработка блок-схем программ
  • разработка цифровых узлов для ПК и МК узлов на основе МК
  • стыковка различных микросхем с ПК и МК
  • 2006 - 2007 – «…», инженер-программист

    Должностные обязанности:

  • поддержка системы "Клиент-Банк"
  • разработка новых модулей и их внедрение, SQL
  • система переводов "Avers", администрирование, поддержка
  • система переводов "MoneyGram". администрирование, поддержка
  • 2005 – 2006 – «…», системный администратор

    Должностные обязанности:

  • настройка и тех. поддержка офисной техники (компьютеры, факсы и т.д.)
  • оптимизация производительности работы персонала с офисной техникой
  • оптимизация производительности работы офисной техники
  • обучение персонала работе с ПО и офисной техникой
  • Другие навыки:
  • профессиональный пользователь ПК (Microsoft Windows 95–ME,Microsoft Windows NT4–XP, Linux, FreeBSD)
  • знание PHP, SQL, JavaScript, Visual Basic, VBScript, C, C++, Java, Python, Perl, Object Pascal, Assembler
  • умение проектировать информационные системы, реляционные базы данных (Borland Interbase SQL server 6.0, Firebird SQL server 1.0, MySQL server 4.0, Microsoft Access XP)
  • Личностные качества:

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

    Образец резюме - инженер программист

    text-autospace:none"> Должность: Инженер программист

    Опыт работы:

    text-autospace:none"> более 5 лет

    «Info Directions, Inc.» Виктор, Нью-Йорк.: с июля 2006 по ноябрь 2006

    Должность: Инженер-программист

    Разработчик сетей C# NET для береговой охраны в области учёта вызовов и времени разговора абонентов и разработки программ обслуживания клиентов в телекоммуникационных службах. Разработка регрессивных и испытательных нагрузочных аппликаций в сфере сравнительного анализа производительности для береговой охраны. Интернетовские аппликации для береговой охраны и автономные аппликации. Разработка для береговой охраны интерфейса прикладного программирования на основе MS 2.0 для разветвленных компьютерных сетей и обработки баз данных. Применение MS для структурированных запросов и хранимых процедур для управления базами данных. Основная деятельность в отладке программ, анализе и совершенствовании кодов в аппликации для береговой охраны с целью обеспечения стабильности работы, включая анализ выполнения плана структурных запросов. Широкое использование Visual Studio для кодирования и отладки программ. Составление документации, отчетности и динамичная коллективная работа.

    text-autospace:none">

    text-autospace:none"> Министерство сельского хозяйства США (МСХ США) Вашингтон, Округ Колумбия.: с июня 2005 по август 2005

    Разработка аппликаций интрасети в C# для обработки кадровых форм SF-52 служащих МСХ США в режиме онлайн. Основным занятием было совершенствование защиты регистрации и разработка устройств для администратора с целью лучшей обработки форм в режиме онлайн. Использовал MS SQL и занимался созданием хранимых процедур. Разработал несколько расширений для аппликаций SF-52 с целью обеспечения эффективности и безопасности. Задокументировал дополнительные технические требования и сценарии использования для проекта SF-52.

    Источники: web-resume.com.ua, working-papers.ru, www.resumelist.ru, rabota.zhzh.info, 7resume.ru

    pismovsud.my1.ru

    Резюме программистов. Часть 2 (хорошие) / Хабр

    Я сполна получил п***й за первый пост. Самое время писать продолжение! Итак, чего же мне надо от резюме разработчика?

    Все ниже в порядке приоритета.

    Код
    Я хочу видеть код, которым вы гордитесь. Я хочу знать, как вы называете переменные, как декомпозируете систему, как проверяете входные условия и насколько любите все усложнять. Очень желательно, если будет описание проблемы, иначе понимание кода и решения затруднено. Если у вас есть акаунт на GitHub — замечательно. Если нет — подойдет архив в zip (не используйте rar для этих целей, пожалуйста). Если у вас все под NDA — ну что же, всякое бывает, в этом случае обойдемся без кода.
    Блог, статьи, книги
    Если у вас есть блог, включите ссылку на него. Если у вас есть статьи по любой тематике — включите ссылки на них в резюме. Очень интересно посмотреть, как человек излагает свои мысли на бумаге. Если вы написали книгу — включите ссылку на нее в резюме.
    Ваши интересы, книги и ресурсы
    Я хочу знать, что вы читаете, как вы углубляете знания в своем ремесле. Если у вас есть акаунт на Shelfari или другом подобном ресурсе — отлично (у меня вот есть). Нету, тогда хотелось бы видеть в списке несколько книг, которые оказали на вас большое влияние. Ну вот, к примеру, SICP или Patterns of Enterprise Application Architecture, или еще что-то.

    Хотя бы так (можно и короче):

    Такой список сразу дает понять, чем человек интересуется. Это помогает лучше подготовиться к беседе, спрашивать более интересные и глубокие вопросы. Если вы не читаете книг, что ж, всякое бывает. Но я, пожалуй, с настороженностью буду смотреть на вас при первом знакомстве. И мне будет крайне интересно узнать, как вы развиваетесь. Может быть, вы на досуге изучаете код оупен соурсных проектов. Или же погружены в свежие препринты на arxiv.org.

    В крайнем случае, подойдет что-то вроде такого описания:

    Краткость
    Не нужно повторений, не нужно подробно описывать все проекты, где вы работали последние 10 лет. Не нужно в каждом проекте повторять весь список технологий и еще более одинаковый набор обязанностей. Опишите только самые интересные для вас проекты и расскажите, почему они для вас были интересными, какие проблемы вы там решили (на высоком уровне).

    Ваше стремление подчеркнуть собственную значимость объемом резюме работает не работает. Я понимаю, что написать резюме на 4 страницы проще, чем на одну.

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

    Вот списочек вполне зачетный, ну немножко можно было сократить:

    Боевой путь
    Мне интересно, где вы учились и когда. Мне интересно, в каких компаниях вы работали и как часто меняли работу. Если человек меняет работу каждые 6 месяцев — это меня насторожит (если нет внятных объяснений причин). Если смена происходит каждый год, то это в пределах нормы. Если человек провел на одном месте 5+ лет (что, надо сказать, редкость), надо поглядеть повнимательнее на его кругозор (может так случиться, что за 5 лет было мало разнообразной работы, что не особенно хоршо, хотя все зависит от контекста).
    Оформление
    По большому счету, мне все равно, какой шрифт будет в резюме и какие тире в предложениях. Я прекрасно понимаю, что программистам не всегда близка эстетика, что они вряд ли читали книги по типографике и дизайну. Для меня важно, что резюме будет либо:

    a) доступно онлайн по ссылке (и там же ссылка на PDF версию где-то есть). b) прислано в формате PDF.

    Простота оформления приветствуется.

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

    habr.com

    Какими качествами должен обладать программист

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

    Интеллект

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

    Любопытство

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

    Абстрактное мышление

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

    Внимательность

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

    Умение сдерживать своего внутреннего идеалиста

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

    Умение сосредотачиваться

    Что бы ни происходило в вашей жизни, радости или печали, вы должны прийти к 8 утра на работу, отрешиться от всего на свете и погрузиться в код. Очень важно, чтобы личные переживания вас не отвлекали и не вводили в ступор. Ничего личного – только бизнес.

    Лень

    Как ни парадоксально, но и эта черта нужна программистам. Лень – двигатель прогресса. Ленивый программист пишет уже готовые куски кода, так называемые «сниппеты», для различных задач. Например, функция загрузки картинок на сервер может быть написана один раз и использоваться во многих местах проекта, но она должна быть гибкой, чтобы помещать файлы в разные папки, давать им разные имена, менять размеры изображения по необходимости. Однажды написанная, такая функция сэкономит кучу времени программисту для выполнения других задач или чтения полезной литературы.

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

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

    moeobrazovanie.ru