что нужно делать программисту
101 совет, как стать хорошим программистом (и человеком)
1. Научитесь гуглить
Быть программистом, — значит научиться искать ответы на свои вопросы. Научившись эффективно «гуглить», вы сэкономите много времени, затрачиваемого на разработку.
2. Не обещайте много, но делайте больше, чем обещали
Лучше сообщать вашей команде, что выполнение задачи займет три недели, но выполнять её за две, чем наоборот. Следуя этому принципу, вы выстроите доверительные отношения.
Примечание от переводившего:
Большая просьба снисходительно отнестись к замеченным ошибкам в переводе, грамматике или пунктуации, и сообщить о них для исправления.
Спасибо
3. Будьте добры к дизайнерам; они ваши друзья
Дизайнеры обеспечивают решения пользовательских проблем. Учитесь у них и работайте сплоченно, чтобы создавать эффективные продукты.
4. Найдите наставника
Найдите кого-то, у кого могли бы учиться и получать авторитетное мнение (в ориг. «bounce off»). Coding Coach — отличное место, где вы можете найти технического наставника.
5. Будьте наставником
Будьте тем, у кого другие могут чему-то научиться. Мы будем рады видеть вас среди наставников на Coding Coach.
6. Пишите полезные комментарии
Пишите комментарии, объясняющие «почему», а не «что».
7. Называйте переменные и функции соответствующе
Функции и переменные должны точно описывать их назначение, поэтому «myCoolFunction» не подходит.
8. Берите отпуск
Нам всем нужно отдыхать. Отправьтесь в путешествие, о котором мечтаете. Ваш мозг и сотрудники будут благодарны.
9. Удаляйте неиспользуемый код
Не стоит накапливать технический долг.
10. Учитесь читать код
Чтение кода — недооцененный навык, но очень ценный.
11. Установите здравый баланс между работой и личной жизнью
Вам требуется время, чтобы расслабиться после долгого рабочего дня. Отключите рабочие уведомления или удалите приложения из вашего телефона.
12. Личные встречи только при необходимости
Этот вопрос может быть решен по Email или Slack? Если да, не стоит назначать встречу. Если нет, не затягивайте её продолжительность без веских причин.
13. Парное программирование
Парное программирование позволяет вам побыть и в роли учителя и в роли ученика.
14. Пишите отличные email-письма
Научитесь захватывать внимание собеседника в email-письмах, выражаясь кратко, но ясно.
15. Станьте частью сообщества
Окружайте себя единомышленниками, мотивирующими вас преодолевать трудности.
16. Убирайтесь в своих ветках
Убирайтесь в ваших ветках систем контроля версий, как вы делаете это дома перед приходом гостей. Если вы не нуждаетесь в чем-то, выбросите это; не складывайте в шкаф.
17. Не занимайтесь фейс-контролем
Не говорите другим, что они недостаточно хороши, чтобы работать в отрасли. Каждый имеет ценность.
18. Постоянно обучайтесь
Вы выбрали профессию, которая требует непрерывного обучения. Учитесь любить и это.
19. Не сдавайтесь
Это не всегда будет легко. Но ведь мы все начинали с того же. У вас получится.
20. Беритесь за задачи, которые пугают
Если они вас не пугают, значит не помогут вам расти.
21. Уточняйте требования перед тем, как начать
Вы должны понять критерии выполнения задачи перед тем, как приступить к написанию кода. Это сэкономит ваше время.
22. Овладейте набором инструментов
Обзаведитесь набором инструментов, которыми вы владеете вдоль и поперек. Знайте, для каких целей они служат и когда выгоднее использовать тот или иной инструмент в проекте.
23. Учитесь любить конструктивную критику
Просите доверенных коллег и друзей о конструктивной критике. Это поможет вам расти как программисту и как человеку.
24. Будьте всесторонне развиты
Технологии меняются, и меняются быстро. Не противьтесь новинкам, а изучайте и формируйте о них своё мнение.
25. Оставайтесь актуальным
Будьте в курсе последних технических новостей, следя за публикациями, блогами, подкастами и новостями.
26. Сосредоточьтесь на решении проблемы
Развитые навыки решения проблем помогут победить любую проблему. Оттачивайте то, что поможет решить проблему.
27. Оставайтесь скромным
Независимо от того, какое у вас звание или в какой компании вы работаете, оставайтесь скромным.
28. Учитесь делать отличные презентации
Учитесь, как увлекать аудиторию и делать отличные презентации
29. Изучите все решения, прежде чем остановиться на чем-то
Не хватайте первое попавшееся решение. Изучите все варианты перед тем, как приступать к написанию кода.
30. Найдите свою нишу
В технической индустрии существует много разных сфер. Найдите область, которая будет интересовать вас больше других и станьте в ней экспертом.
31. Развивайте хорошие привычки
Старайтесь вырабатывать устойчивые и полезные привычки, такие как удаление отвлекающих факторов, планирование своего времени, присутствие на собраниях и привычка начинать с наиболее важных задач. Это может потребовать определенных усилий, но оно будет стоить того в долгосрочной перспективе.
32. Изучайте отладку кода
Исследуйте инструменты браузера для отладки кода. Изучайте эти возможности в вашей IDE. Изучая наиболее эффективные методы отслеживания ошибок, вы будете способны решить даже наиболее сложные проблемы.
33. Развивайте свои текущие навыки
Просто потому, что в данный момент вы овладели каким-то навыком, не значит, что не нужно продолжать развивать его. Навыки со временем теряются, если сознательно не совершенствуются, а индустрия эволюционирует настолько стремительно, что важно продолжать практиковаться. Избавьтесь от типа мышления «Я всегда это делал таким образом» и переключитесь на «Есть ли лучший способ сделать это?».
Даже если сейчас у вас отличный пресс, глупо надеяться, что вы сможете съедать по пончику в день и не потерять его
34. Поймите, почему
Будут ситуации, когда вы должны будете высказать своё мнение, поэтому предварительно важно понять, почему. Почему решение «А» лучше решения «Б»? Предоставьте правильные аргументы и ваше мнение будет более обоснованным.
35. Знайте себе цену
Вы — товар, и должны быть надлежащим образом оплачены. Будьте осведомлены о средних зарплатах в вашей сфере в регионе, где находитесь. Если вы получаете меньше денег, пора поговорить с менеджером. Идите за тем, чего заслуживаете.
36. Не бойтесь просить о помощи
Если вы застряли на проблеме и тратите слишком много времени на поиск решения, самое время обратиться за помощью. Все мы люди. Нам всем может понадобиться помощь. Нет ничего постыдного в том, чтобы обратиться к коллеге за поддержкой.
37. Учитесь учиться
Люди обучаются по-разному. Одним лучше обучаться с помощью видеоуроков, другим — через чтение книг. Определите подходящий вам стиль обучения и старательно практикуйте его.
38. Будьте добрым
Будут ситуации, когда вас попросят дать отзыв о коллеге. Будьте добрым. Вы можете высказать мнение о недостаточной инициативности Деборы, не разрывая её на части.
39. Делайте перерывы
Практически невозможно 8 часов подряд проводить за написанием кода. Вы быстро выгорите и наделаете множетсво ошибок. Поэтому установите таймер, чтобы напомнить себе останавливаться и сделать перерыв. Сходите на прогулку. Попейте кофе с коллегами. Отвлечение от экрана положительно скажется на вашей продуктивности и качестве работы.
40. Отслеживайте свой прогресс
Обучение программированию занимает много времени и может быть невероятно изматывающим, если вы не видите прогресс. Поэтому важно отслеживать достижения и прогресс в движении к своей цели. Держите небольшой список рядом с компьютером и каждый раз, когда достигаете чего-то нового, отмечайте это, каким бы незначительным оно не было. Большие награды состоят из маленьких достижений.
41. Не полагайтесь на фреймворк или библиотеку
Изучайте нюансы языка программирования больше, чем тонкости фреймворка или библиотеки. Не обязательно изучать язык перед знакомством библиотеками, но понимание того, почему фреймворк или библиотека работают определенным образом, поможет вам писать более чистый и производительный код.
42. Учитесь любить код-ревью
Присутствие кого-то, кто читает и анализирует ваш код, может вселять ужас, зато может обеспечить бесценную обратную связь, которая сделает вас лучшим программистом, чем до этого. Вы также должны работать над способностью проводить хорошее код-ревью.
43. Интересуйтесь смежными областями
Изучите основы смежных сфер деятельности, таких как дизайн, маркетинг, фронтенд или бекенд разработка. Это поможет вам стать более разносторонним программистом.
44. Не выбирайте удобную технологию; выбирайте правильную
У каждого проекта разные потребности и поэтому мы должны выбирать правильные инструменты для работы. И хотя гораздо удобнее выбрать технологии, с которыми вы работали ранее, если они не соответствуют потребностям проекта, нужно изучить альтернативы.
45. Берите ответственность за свои ошибки
Все люди делают ошибки и вы будете допускать их на протяжении всей вашей карьеры. Поэтому очень важно признавать это и брать на себя ответственность, когда допускаете ошибку. Это поможет выстроить доверительные отношения с членами вашей команды и менеджментом.
46. Проверяйте свой собственный код
Перед созданием пул-реквеста, проверьте свой собственный код. Если это была работа коллеги, какие комментарии вы бы сделали? Очень важно сначала определить проблемы или ошибки, прежде чем запрашивать проверку кода.
47. Учитесь на своих неудачах
Неудача — это просто не достижение ожидаемого результата, и это не обязательно плохо. У всех нас случается много неудач в течение карьеры. Учитесь на своих ошибках. Что вы можете сделать по-другому в следующий раз?
48. Определите свои слабые стороны
Узнайте себя. Какие у вас слабые стороны? Может быть, постоянно забываете обновить тесты перед пушем. Или вы плохи в плане ответов на email-сообщения. Изучите свои недостатки, чтобы активно работать над ними.
49. Оставайтесь любопытным
Эта сфера постоянно эволюционирует, поэтому любопытство важно. Если вы чего-то не понимаете, будь то требования проекта или строка кода, скажите об этом. Никто не будет критиковать вас за то, что вы попросили разъяснений, и в результате вы создадите лучший код.
50. Не пытайтесь учить всё
В мире огромное количество знаний и просто невозможно освоить всё. Выберите несколько тем для освоения и отбросьте остальное. Вы конечно сможете получить косвенные знания о других областях, но не получится их все освоить.
51. Убейте своих любимцев
То, что вы пишете какой-то код, не значит, что вы должны быть эмоционально привязаны к нему. Никому не нравится, когда его работа выбрасывается, но код имеет жизненный цикл, не стоит забывать об этом.
52. Поддерживайте свою команду
В хорошей команде все поддерживают друг друга. Это создаёт благоприятную почву пробовать что-то новое без страха наказания.
53. Ищите вдохновение в сообществе
Найдите несколько человек из той же сферы, которые вас восхищают. Это будет вдохновлять вас продолжать работать над своими проектами или пробовать что-то новое.
54. Цените свою работу
Независимо от опыта или должности, ваша работа имеет ценность. Цените её по достоинству.
55. Заблокируйте отвлекающие факторы
Отключение уведомлений в мессенджерах, email и социальных сетях поможет вам сфокусироваться и провести рабочий день максимально продуктивно. Джерри не умрёт, если вы ответите ему через 30 минут.
56. Оказывайте поддержку
Поддерживайте членов вашей команды, например, посетив важную презентацию или помогая, если они застряли.
57. Хвалите тогда, когда этого заслуживают
Если кто-то проделал отличную работу, скажите об этом. Похвала — отличный способ завоевать доверие членов вашей команды.
58. Тестируйте ваш код
Тесты важны. Юнит-тесты, регрессивное, интеграционное, сквозное тестирование. Тестируйте свой код и ваш продукт будет более стабильным.
59. Распланируйте свой подход
Когда вы получаете запрос на разработку нового функционала или тикет с ошибкой, сначала разработайте план атаки. Что вам требуется, чтобы решить эту проблему или разработать функционал? выделение хотя бы нескольких минут, чтобы спланировать атаку, может сэкономить часы разочарования
60. Учитесь псевдокодировать.
Псевдокодирование — отличный навык, потому что позволяет вам решать сложные проблемы без затрат времени на написание строк кода. Опишите выбранный подход на бумаге, смоделируйте различные примеры тестирования и посмотрите, где подводные камни.
61. Отслеживайте свои достижения
Если вы получили награду на работе, запишите это. Если вы разрабатываете важную функцию, запишите это. Вы создадите беклог моментов, которые могут помочь в продвижении по службе или повысить моральный дух в трудные моменты.
62. Изучайте основы программирования
Изучите некоторые основные алгоритмы сортировки и поиска, а также структуры данных. Это поможет вам в решении задач независимо от языка.
63. Выбирайте долговечные и поддерживаемые технологии
Хотя тестировать самые новые технологии интересно, выбирайте те из них, которые будет легко поддерживать в enterprise-приложении. Команда будет благодарна вам долгие годы.
64. Изучайте шаблоны проектирования
Шаблоны проектирования — это полезные инструменты для разработки архитектуры кода. Вы можете не нуждаться в них на каждом проекте, но общее представление о них поможет при создании больших приложений.
65. Уменьшайте неоднозначность
Вместо написания сложного кода, демонстрирующего ваши умелые навыки программирования, стремитесь к удобочитаемости и простоте. Это поможет членам вашей команды легче внести свой вклад.
66. Погашайте технический долг
Технический долг может иметь серьезные последствия для производительности, поэтому если можно провести рефакторинг, вы должны это сделать.
67. Обновляйтесь чаще
Вместо того, чтобы выпускать масштабные обновления раз в месяц, делайте это чаще с меньшим списком изменений. С меньшей вероятностью вы сделаете ошибки и сломаете изменения.
68. Делайте коммиты рано и часто
Делать коммиты рано и часто — лучший способ обеспечить чистоту вашей работы, а также уменьшить стресс от случайного возврата важных изменений.
69. Поймите, когда нужно просить о помощи
Вам следует не только не бояться просить о помощи, но и понять, когда это следует делать. Вы всегда должны пытаться решить проблему перед тем, как просить о помощи. Но когда вы боретесь с проблемой больше часа, стоимость перевешивает выгоду, и вам следует обратиться к коллеге.
70. Задавайте правильные вопросы
Когда задаете вопрос, старайтесь быть настолько конкретным, насколько это возможно
71. Получайте отзыв о незаконченной работе
Вам не обязательно заканчивать работу, чтобы получить отзыв о ней. Если вы не уверены в правильности выбранного направления, попросите коллег помочь проверить это.
72. Читайте документацию
Документация — это чистейший источник правды о технологии, поэтому умение читать её может быстро помочь вам стать экспертом.
73. Пробуйте всё
Ничего не мешает вам попробовать решение проблемы. Что вам терять?
74. Разговаривайте на встречах
Ваши идеи и мнения ценны, поэтому участие в митингах поможет вам развить взаимопонимание с командой и руководством.
75. Сотрудничайте с другими командами
Если появилась возможность поработать с другой командой в вашей компании, воспользуйтесь ею.
76. Обзаведитесь личными проектами
Когда вы работаете 40 часов в неделю, важно выделять время сторонних проектов, которыми вы увлечены. Они помогают оживить вашу любовь к программированию и попробовать новые технологии, к которым у вас может не быть доступа на работе.
77. Определите свои карьерные цели
Важно иметь представление идеального карьерного пути. Если этого нет, вы пытаетесь пустить стрелу, не видя цели.
78. Участвуйте в беседах
Комментарии в блогах, участие в разговорах в Twitter. Взаимодействуйте с сообществом. Вы узнаете гораздо больше, если будете активным участником, а не овощем.
79. Распределяйте задачи по приоритетам
Обучение расставлять приоритеты к задачам поможет увеличить продуктивность. Ведите текущих ежедневных задач, а также долгосрочных задач, и упорядочивайте их по наиболее важным.
80. Не упускайте из виду детали
Детали могут иметь большое значение в проекте
81. Доверяйте своей команде
Ваших коллег по команде наняли на работу за их навыки. Используйте их и доверяйте им, чтобы выполнить работу.
82. Учитесь делегировать
Если вы занимаете руководящую должность, учитесь эффективно делегировать полномочия. Это сэкономит вам время. Вы не можете делать все сами.
83. Не сравнивайте себя с другими
Единственный, с кем вы должны себя сравнивать, — это кем вы были вчера.
84. Окружите себя союзниками
Обучение программированию будет долгим, и не всегда легким, путем. Окружите себя людьми, которые будут подталкивать вас идти вперед.
85. Не начинайте с масштабируемости
Начинать масштабируемости — это верный путь перегрузить себя. Создавайте с учетом масштабируемости, но не начинайте масштабирование, пока в нем не появится потребность. Таким образом, вы не перегружаете свою команду, но сохраняете способность к росту.
86. Взвесьте последствия для производительности
Если вы хотите использовать крутую новую технологию, прежде вы должны взвесить последствия для производительности. Не можете ли вы реализовать что-то подобное без потери производительности? Если да, может возникнуть желание пересмотреть выбранный подход.
87. Не допускайте дискриминации
Не допускайте дискриминации новых технологий или идей. Будьте открыты возможности освоить новые навыки. Также не допускайте дискриминации людей. Мы все заслуживаем уважения.
88. Беритесь за работу, для которой недостаточно квалифицированы
Вы никогда не будете соответствовать всем требованиям для работы. Поэтому используйте шанс и приступайте! Что вы потеряете?
89. Разбивайте код на модули
Вы могли бы писать весь код в одном длинном файле, но это сложно поддерживать. Благодаря модульности, мы убеждаемся, что наш код легко воспринимать и тестировать.
90. Не следует просто копипастить
Если собираетесь скопипастить решение со StackOverflow, вы должны точно понимать, что оно делает. Разбирайтесь в коде, который решили внедрить.
91. Создайте вдохновляющую среду
Вы будете намного более мотивированы работать, если удовлетворены своим рабочим местом.
92. Помните, откуда вы пришли
Мы все начинали с одного и того же. По мере развития ваших навыков и карьеры не забывайте, откуда пришли.
93. Старайтесь оставаться оптимистом
Если что-то не получается, продолжайте пытаться и будьте оптимистом. Завтра новый день. Оптимизм поможет движению вашей команды и вашему психическому здоровью.
94. Постоянно переоценивайте свой рабочий процесс
Просто потому, что что-то работает сейчас, не значит, что так будет всегда. Переоценивайте свой рабочий процесс и вносите коррективы, когда это нужно.
95. Учитесь работать из дому
Если у вас есть возможность, работать из дому, учитесь делать это эффективно. Найдите отдельный офис, лишенный отвлекающих факторов. Boneskull написал отличную статью о работе из дому, с которой вам следует ознакомиться.
96. Создавайте доступные продукты
Каждый должен иметь возможность воспользоваться вашим продуктом
97. Соблюдайте свои обязательства
Если вы сказали кому-то, что сделаете что-то к определенной дате, соблюдайте свои обязательства. И если вы не можете уложиться в оговоренный срок, сообщите об этом заранее.
98. Будьте инициативны
Если у вас есть свободное время, помогите с выполнением задач своей команды. Они будут благодарны за вашу инициативу.
99. Создайте потрясающее портфолио
Отличное портфолио выделяет вас из толпы. Используйте это как шанс показать свои навыки программиста и дизайнера.
100. Помните, почему любите программирование
Вы подались в эту профессию, потому что она вызвала интерес. Если вы выгораете, сделайте перерыв. Дайте себе возможность возродить свою страсть к программированию.
101. Делитесь своими знаниями
Если вы освоили что-то крутое, поделитесь этим. Представьте на местом митапе или конференции. Обучайте своих коллег или подопечных во время обеда. Обмен знаниями укрепляет их.
Профессия программист
Как стать программистом
Говорят, что в мире есть 10 видов людей. Те, кто понимает двоичный код… и те, кто не понимает.
Юмор программистов
Программист – это специалист, создающий исходный код для программы. Такой программой может быть операционная система компьютера, видеоигра, web или мобильное приложение и даже алгоритм работы микроволновки. Программный код пишется на специальном языке программирования. Он состоит из обычных слов и некоторых специальных символов. Сегодня насчитывается несколько сотен языков программирования, но самые распространенные из них – Java, Python, PHP, C#, JavaScript, C, С++, Objective-C, Swift. Какой язык программирования выбрать, программист решает сам в зависимости от конкретной задачи (сделать игру, приложение для web или программу для сервера) и собственных знаний. Квалифицированный программист уверенно использует 2-4 языка.
Если вы думаете, что программист = компьютерщик, то это далеко не так. Самое удивительное, что программист не обязательно работает на компьютере. Он может писать код программы хоть на салфетке, а компьютер ему нужен, чтобы применить этот код и протестировать.
Не стоит также приравнивать программиста к «айтишнику». Под общим названием «IT-специалист» скрывается более 50 разных профессий и должностей. Например, UIX-дизайнер (разработчик интерфейсов), account-менеджер (специалист техподдержки), системный администратор, devops («инженер по автоматизации IT-процессов»), менеджер IT-проекта – это «айтишники», но не программисты. Однако стоит помнить, что в любую из IT-профессий можно попасть через образование программиста.
По специализации программисты делятся на системных, прикладных и веб-программистов. Прикладные программисты занимаются написанием различных программ и приложений: игры (например, популярная игра Angry birds), офисные приложения (например, Microsoft Office Word) и многое другое. Системные программисты занимаются созданием операционных систем (например, Android или iOS). Веб-программисты разрабатывают интернет-сайты и программы, которые поддерживают работу этих сайтов.
На сайтах вакансий вы найдете разделение программистов по тем языкам, с которыми они работают: программист C++, программист Delphi, PHP-программист. А также по типам задач, которые они выполняют: программист баз данных, фронтенд / бекенд разработчик, мобильный / десктоп разработчик, программист 1С, программист Битрикс, геймдев, архитектор ПО, системный инженер и т.д.
Плюсы и минусы профессии программиста
Профессия программиста очень притягательна для современных абитуриентов. В 2018 году в технических вузах самый большой конкурс пришелся на специальности «Прикладная математика», «Информатика и вычислительная техника», «Электроника и наноэлектроника». В 2021 году проходные баллы по ЕГЭ на эти специальности обещают только вырасти. Что так привлекает молодых в программировании?
Плюсы профессии программист:
✔ Высокая зарплата. Средняя зарплата высококвалифицированного программиста 70-100 тыс. рублей.
✔ Востребованность. Рынок труда для программистов растет за счет цифровизации всех сфер общественной жизни. Онлайн-образование, телемедицина, интернет вещей (IoT), даже сельское хозяйство не обходится теперь без IT-специалистов.
✔ Интересные задачи и простор для творчества. Что делает программист на работе? Пишет код, тестирует, проверяет на уязвимости, переписывает код. Тем не менее, конечный результат кодирования – это рабочая программа с разными целями. Одни программисты создают игры. Другие программируют роботов. Третьи делают полезное приложение под Android. Четвертые создают агрегатор, который соберет все билеты мировых авиакомпаний в один сервис для бронирования авиабилетов. Разнообразно, не правда ли? А когда продукт начинает исправно работать, программист испытывает радость, как персонаж папа Карло, который из деревянного полена выстругал живого мальчика.
✔ Возможность удаленной работы и свободный график. Программисты – это каста людей, к которым не применяют строгих офисных правил. Для поддержания креативности и работоспособности им разрешают работать из дома, приходить позже на работу. И, если вы еще не знаете, лучшие офисы принадлежат именно IT-компаниям. Загляните в Google, Microsoft, Яндекс и Mail.Ru.
✔ Карьерный рост в России и за рубежом. Для программирования нет географических границ. Во-первых, многие российский специалисты работают удаленно в иностранных проектах. Во-вторых, переехать в «Силиконовую» долину (более точно ее называть «Кремниевой») для IT-профессионала с отличным знанием английского гораздо проще, чем, например, бухгалтеру, юристу или инженеру-строителю, которым придется изучать специфику профессии в конкретной стране.
✔ Сидячий образ жизни. Без физических нагрузок в нерабочее время программист рискует большую часть зарплаты тратить на врачей. Особенно страдают зрение и опорно-двигательный аппарат.
✔ Быстрое устаревание знаний. Программисту необходимо постоянно учиться. Программирование развивается стремительно, поэтому программист обязательно должен читать профильные журналы и интернет-ресурсы, получать новые знания и сертификаты на курсах. Иначе его ценность как специалиста на рынке труда упадет.
Чтобы стать программистом, можно пойти тремя путями:
1. После 11 класса в вуз по направлению 09.00.00 «Информатика и вычислительная техника» или 10.00.00 «Информационная безопасность».
2. После 9 класса в колледж на эти же направления, а потом пойти или не пойти в вуз.
3. Учиться на курсах программирования и самому.
IT-сфера отличается молодостью и современным подходом к образованию. При трудоустройстве ценится не столько диплом, сколько те навыки (hard skills), которые у будущего сотрудника в багаже. Работодатель даст тестовое задание по программированию и по его результатам примет или не примет соискателя на работу. Именно поэтому приобретать знания и опыт в информационных технологиях можно и дома с помощью книг, online-курсов и создания небольших программ. Какой вариант образования лучше, решает каждый сам. Главный вопрос, который должен задать себе программист – «Достаточно ли я усидчивый и целеустремленный человек, чтобы выучиться и потом конкурировать с теми, кто пришел из вуза?».
В каких вузах и колледжах учиться на программиста
Для поступления в вуз необходимо успешно сдать ЕГЭ по математике, русскому языку, информатике и ИКТ, физике, английскому языку (4 из 5 экзаменов в зависимости от специализации). В Москве получить образование программиста можно во многих учебных организациях.
Полный список вузов, колледжей и техникумов смотрите здесь >>
• Компании-разработчики (сервисы Booking.com, Mail.ru, Yandex, Unisender)
• IT-отделы и отделы digital-маркетинга организаций (Сбербанк России, Газпром, Тинькофф банк)
• Системные интеграторы (Крок, Softline, Техносерв, Ланит, Ай-Теко)
Из-за бурного роста сферы IT и дефицита разработчиков ПО, работать программистом можно начать еще в институте. Со 2-3 курса можно устроиться junior-разработчиком и начинать движение по карьерной лестнице. И при этом получать достойную для студента зарплату в 30-50 тысяч рублей.
Сами программисты оценивают длительность каждой ступени следующим образом:
• Первые полгода-полтора года реального опыта вы junior
• При активном обучении следующие 1-3 года работы вы middle
• А программист с опытом работы 4-6 лет – это senior
Но, конечно, стоит помнить, что границы условны, и более активный и любознательный разработчик сможет освоить все навыки senior-developer за 3 года.
Кроме глубокой специализации в программировании, программисту доступно движение в смежные области внутри IT-компании – дизайн, маркетинг, аналитику, менеджмент. Программист может стать архитектором программного обеспечения, девопс-инженером, менеджером IT-проектов, если ему это интересно и у него есть нужные компетенции. Например, чтобы работать менеджером, ему потребуется коммуникабельность, инициативность, умение формировать команду и контролировать бизнес-процессы.
Оплата труда (диапазон зарплат)
Зарплата программиста напрямую зависит от специализации и квалификации. Наименее оплачиваемые должности – это junior-разработчики, которые только учатся. А наиболее оплачиваемые на рынке труда – архитекторы ПО и системные инженеры, на которых лежит ответственность за продукт или проект в целом. Поэтому диапазон зарплат программистов может быть очень широким:
- ✔ 30 000 – 260 000 рублей
Перспективы профессии (востребованность)
Сейчас отрасль IT в целом и программирование в частности находятся на пике востребованности. Компании конкурируют за квалифицированных специалистов. В перспективе ближайших 5 лет программистов ждет благополучная жизнь и высокие зарплаты, потому что молодых кадров станет немного меньше. Придет период демографической ямы из-за низкой рождаемости в начале 90-х гг.
Но рынок IT ждет несколько опасностей. Во-первых, обучение программированию сейчас начинается уже практически с детского сада. Самые известные обучающие языки — это Scratch от MIT и Blockly от Google. Вероятно, навык программирования будет настолько же распространен, как знание английского языка, то есть будет входить в «джентльменский набор» при приеме на работу. А если им владеет почти каждый, то и ценность работы снижается.
Во-вторых, IT-образование сейчас дает почти каждый колледж и вуз. После дефицита рынок может «насытиться» профессиональными программистами, и их зарплаты упадут.
В-третьих, есть страны, в частности Индия, где IT-образование развивается еще быстрее. И в определенный момент услуги программирования насытят мировой рынок, как сейчас произошло с товарами, произведенными в Китае. С индийскими программистами трудно будет конкурировать в цене.
Будущему программисту стоит помнить об этих рисках. Но, как и в любой профессии, настоящий специалист, который любит свое дело и профессионально развивается, в любые времена будет востребован.
Какие компетенции и личные качества необходимы программисту
Наверняка, вы сходу назовете 3 качества, которые отличают программиста:
✎ логическое мышление
✎ математические способности
✎ усидчивость
Есть несколько компетенций, которые делают из хорошего программиста лучшего:
✎ гибкость мышления
✎ хорошая память
✎ многозадачность
✎ развитое воображение
✎ умение ясно выражать свои мысли
✎ коммуникабельность
✎ работа в команде
Человек, который умеет придумывать новые идеи и хорошо взаимодействовать в коллективе таких же разработчиков, сможет попасть в самые интересные и передовые IT-проекты или открыть свой.
Что делать уже сейчас
Вы думаете о программировании или хотите в будущем работать в IT? Начать развиваться можно уже в сейчас:
- ✔ Углубленно изучать математику, информатику, русский и английский язык в школе.
✔ Программировать и создавать веб-сайты, небольшие редакторы и полезные утилиты.
✔ Читать новости из сферы IT: на порталах cnews.ru, habrahabr.ru, computerworld.ru, hightech.fm и github.com.
✔ Заниматься в кружках по программированию и школах юного программиста.
✔ Посетить iСмену лагеря «Профессионалы будущего», чтобы пообщаться с настоящими IT-специалистами и узнать больше о современных технологиях.
Если вы хотите разобраться, подойдет ли вам специальность программиста, то пройдите наш бесплатный тест: информационно-технологический профиль
Автор: Ольга Биккулова, ЦТР «Гуманитарные технологии»
Если вы хотите получать свежие статьи о профессиях, подпишитесь на нашу рассылку.