12 Тумблеров. Как Вы Стали Программистом?

Программист рождается дважды.

Впервые - как человек, известными вам способами.

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

Именно это понимание, осознание способности создавать и изменять отличает программиста.

Оно приходит внезапно, как озарение.

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

Единого алгоритма включения тумблера не существует. Любое образование – школьное, среднее специальное, высшее, платное и бесплатное – не гарантирует, что лампочка загорится.

По моим скромным оценкам, второе рождение происходит у 1-5% получивших такое образование.

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

Мотив — мощная личная причина стать программистом.

Презентация – это способ представления информации или постановки проблемы, который помогает донести суть темы.

И мотив, и подача индивидуальны.

И их много.

Это и хорошо, и плохо.

Хорошо – потому что всегда есть другой вариант, если предыдущие не помогли.

Это плохо – потому что мало кто хочет возиться с человеком, пытаясь выбрать мотив и подачу.

Проще назвать его идиотом и отправить работать менеджером в салон сотовой связи.

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

Всё из жизни, конечно.



1 - я сам

Я начну с себя.

Я стал программистом в 9 классе.

В целом я был отличником, не понимал только одного предмета – информатики.

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

И вроде бы с ним все в порядке, но был страшный мотив – мой родственник был учителем информатики.

Мне было ужасно стыдно перед ним.

Потому что я знал, что он знает, что я туп как пробка в информатике.

И как бы я ни старался, я вообще не мог понять программирование.

Однажды он вызвал меня к доске и велел написать код — ввести строку и вывести ее на экран, на БЕЙСИКЕ.

Я мучился около 15 минут. Это было дно.

Он тоже расстроился и сказал: «Блин, хоть книжки почитай».

Сразу после занятий я побежала в школьную библиотеку и нашла книгу «Основное для всех».

Я прочитал это на выходных, и переключатель щелкнул.

В книге содержались только элементарные понятия — переменные, циклы, процедуры (подпрограммы), ввод/вывод. Но это именно то, чего мне не хватало.

Ну и всё, с тех пор я никак не могу его запрограммировать.



2 - Ирина

Ирина пару лет работала «программистом».

Она написала какой-то код на C++, ей заплатили какую-то зарплату, что-то даже вроде работало.

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

Я устроился программистом 1С - формальный опыт помог мне устроиться.

Но на новом месте стало гораздо хуже.

На С++ она участвовала в разработке какого-то большого продукта и могла «спрятаться», а здесь, в 1С, работала один на один с клиентом и его задачей.

Сначала я плакала от бессилия только дома, потом начала плакать на работе.

Ей повезло с начальником – он знал, что ей нужно найти повод или мотив.

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

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

Это продолжалось шесть месяцев.

Ирине очень нравилась компания и ее коллеги, и ей очень хотелось закрепиться и остаться – это был ее главный мотив.

Босс нашел запас методом случайного поиска.

Он отправил ее на несколько дней в офис клиента — там систему как раз вводили в эксплуатацию (до этого Ирина работала только удаленно).

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

Вернувшись в офис, я изменился навсегда.

Выступление было одним из лучших в команде.

Все начало получаться.



3 - Дмитрий

Программистом Дмитрий стал под влиянием одного из самых распространенных мотивов.

Дмитрий взял ипотеку.

В общем работал 1С:Механиком.

Это когда ты не программируешь, а устанавливаешь, обновляешь, «решаешь проблемы» методом тыка и поиска в интернете.

Поначалу так жить можно, но потолок доходов очень низкий.

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

Ипотека послужила мотивом.

Никакой подачи не требуется.



4 - Толик

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

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

Ему нравились более фундаментальные предметы – башня, соотношение сил, техническое оснащение?, численные методы, статистика.

анализ и т.д. Затем друзей отправили на производственную практику на завод. Во-первых, им пришлось протестировать некоторые статистические методы в производстве.

анализ, из области менеджмента качества.

Мы делали это в Excel, но быстро поняли, что нужно это как-то автоматизировать.

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

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

Соответственно, пришлось написать две программы.

Друг Толика, естественно, предложил свою помощь — он хотел сделать оба продукта.

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

Что впоследствии могло превратиться в хороший диплом.

Поэтому Толик решил сделать все сам.

Он настолько запутался, что поставил перед собой цель — сделать что-то принципиально отличное от своего друга.

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

Друг не стал заморачиваться с рисованием схем, а отобразил их на форме — Толик сел изучать Fast Report. И т. д. В результате Толик все лето просидел за компьютером.

К осени я стал программистом.



5 - Русская жена Надя

Надя работала инженером, в самом облегченном варианте этой профессии – работала на извещениях на большом заводе.

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

Она вышла замуж, родила ребенка и ушла в декретный отпуск.

Однако муж решил развестись с Надей.

Он был, как выразилась сама Надя, «хвостом, которому не место на кобыле».

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

И вот в чем загвоздка: после развода исчезли практически все источники дохода, включая алименты.

Бывший муж Нади решил устроиться на работу программистом 1С и пошёл на стажировку.

Там нужно было одновременно учиться и работать — решать задачи все большей сложности.

Чувак, напомню, «кобыле хвост не пришивай».

Он ни черта не мог сделать.

В отчаянии он обратился за помощью к бывшей жене.

Они начали работать в тандеме.

Бывший муж сидит на работе и делает вид, что решает проблему.

В это время Надя, сидя дома с ребенком на руках, срочно углубляется в программирование и решает задачу несчастного идиота.

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

Когда вернулась из декрета – лично.



6 - Вова

Вова учился на инженера, но в программировании совершенно не разбирался.

Больше всего ему нравилось все, что связано с «железом» — аналоговая электроника, проектирование устройств, расчет площади радиатора и т. д. Программированием аппаратного обеспечения не занималось — было абстрактное изучение C++, Builder, СУБД, MatLAB и т. д., оторванное от производства.

задания.

Вова всего этого не понимал.

А потом начался курс ассемблера.

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

Задачи более «аппаратные».

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

Или отображение секундомера.

Или звук раздается при нажатии кнопки более 3 секунд. Программирование стенда было тем, что Вова понял.

Дальше все пошло как по маслу — C++, СУБД и все, что попадалось под руку.



7 - Игорь

Игорь работал «программистом» на заводе, в составе небольшого коллектива.

Раньше опыта программирования не было, кроме списанных лабораторных в институте.

Коллеги были более опытными и смогли справиться со всеми задачами по поддержке и развитию информационной системы на заводе.

Игорь тоже пытался решать задачи по программированию, но заканчивалось всегда одинаково.

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

В этот момент коллеги берут задание у Игоря и выполняют его сами.

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

И сформировалась устойчивая модель поведения.

Игорь вроде бы что-то программирует, но его код так и не попал в продакшн, потому что так и не был доработан.

Естественно, коллегам было проще сделать все с нуля.

И начальник, и его коллеги говорили Игорю, что таким образом он не станет программистом.

Пока у него есть «группа поддержки», он всегда будет пробовать половину, а то и 5%.

Умом Игорь понимал, что они правы, но ничего не мог с собой поделать – он уже к этому привык.

Но судьба решила помочь Игорю.

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

Мотив оказался суровым – завод в любой момент мог оказаться под ударом.

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

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



8 - Виктор

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

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

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

Это будет творчество, и оно даст вам необходимый мотив вникать, учиться и пробовать.

Виктор подчинился, и через месяц стал другим человеком – программистом.

И все начало дичать.



9 - Сёма

Сёма хотел быть лучшим.

В принципе, ему было все равно, что именно – лишь бы он был лучше всех остальных.

В школе и институте он выделялся своими оценками – учился лучше всех.

Потом он пришел работать программистом.

Знания были только академическими, никакой специальной практики.

На работе Сёма тоже хотел быть лучшим.

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

Он не сам это придумал — так говорили бывалые программисты.

Сёма, говорили они, лет 10 должно пройти, прежде чем с тобой вообще смогут поговорить о программировании.

Но Сёма всё равно хотел быть лучшим.

Я решил, что буду следовать управленческому вектору.

Я нашел себе наставника-начальника, попросил побыстрее научить его управлять и был готов выполнять любую работу.

Начальника удивило рвение Сёмы, но он решил попробовать.

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

Но Сёма не справился.

Увидев, что с Сёмой что-то не так, начальник поговорил с ним по душам.

Потом я узнал, что Сёма просто хочет быть в чем-то лучшим.

Босс сказал, что у Сёмы есть потенциал стать отличным программистом.

Он ответил, что не хочет тратить на это 10 лет. Начальник был очень удивлен этой цифрой и спросил, откуда она взялась.

Рассмеялся.

Я открыл и показал Сёме несколько примеров кода, написанного «бывалыми» людьми.

Мы смеялись вместе.

Сёма от всей души поблагодарил своего начальника, окунулся в программирование и через год стал лучшим в компании.



10 - Лена

Лена училась в институте на инженера и пыталась найти работу программиста.

Город был небольшой, вакансий было мало, но на всех собеседованиях просили решить тестовые задачи.

Лена не смогла решить ни одну из них.

Были варианты пойти работать инженером на завод, но Лена не хотела – на примере мужа видела, насколько это бесперспективно.

Я хотел быть программистом.

Но, как поняла Лена, программист она не очень.

Я немного горевал и поделился своей болью с друзьями.

Оказалось, что мать одного из моих друзей была директором школы.

И возникла потребность в учителе информатики.

Лена без всякой надежды на успех позвонила, ее позвали на собеседование и, как ни странно, пригласили на работу.

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

Лена взяла из школьной библиотеки учебник информатики и с головой погрузилась в его изучение.

Она очень боялась, что ей встретится школьник, который сможет программировать лучше нее – что было вполне вероятно.

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

Я очень быстро понял, что не смогу объяснить детям программирование.

Формулировка из учебника не устроила ни ее, ни детей.

Лену это не устраивало – она переживала, что ее выгонят за некомпетентность.

Поэтому вечера, ночи и выходные я проводил в Интернете, ища способы научить детей программированию.

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

Я старался применить то, что мог.

Пока я пытался объяснить детям программирование, я сам это понял.

Через пару лет я бросил школу, уехал из города и устроился программистом.



11 - Рома

Рома чем-то похожа на «не пришить кобыле хвост».

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

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

Когда-то у меня было неоконченное высшее инженерное образование – системный администратор.

В начале 2000-х, когда все это происходило, компьютеров на заводах было не так много.

Там, где работал Рома, почти весь парк был в бухгалтерии.

Где есть бухгалтерия, там и 1С.

Где 1С, там всегда что-то не так.

Вот они и стали просить Рому о помощи.

А он в принципе не очень увлекается.

Но напомню, это было в маленьком городке.

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

Это дало Роме мотивацию заняться программированием.

К счастью, больше никто в городе программировать не умел, интернета не было, а вся бухгалтерия подлежала «бэкапу» — абсолютно всё дублировалось на бумаге.

Вы можете изучать программирование в совершенно безопасной среде.

Рома очень быстро увлекся.

Взял на себя все.

Как говорили тетушки-бухгалтеры, скажи ему в полслова, что где-то проблема - он уже сидит, что-то строчит. Вполне возможно, что за годы работы Рома написал много лишнего, ненужного кода.

Но он взял это в свои руки.

Когда я решил, что мне нужно двигаться дальше, я уехал в большой город и начал устраиваться на работу программистом.

Интервьюеры корчили рожи, когда узнавали о неоконченном высшем образовании и работе на заводе.

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

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



12 - ?

Честно говоря, у меня ко всем подобным историям чисто практический интерес.

Занимаюсь в том числе и выращиванием программистов.

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

Я пытаюсь создать эти обстоятельства искусственно.

Пробуешь одно, если не получается, пробуешь другое и т. д. Я верю, что вариант обязательно найдется.

Я просто не знаю всех сочетаний мотива и подачи.

Поэтому пункт №12 оставляю вам.

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

Спасибо.

Теги: #Карьера в IT-индустрии #программирование #Читальный зал #Управление персоналом #кто знает что

Вместе с данным постом часто просматривают: