Начинать изучать программирование с C++ — легко

Начинать изучать программирование с C++ — легко

Многие утверждают, что научиться писать на С++ сложно и этому надо учиться много лет, а еще что новичку тяжело найти работу. А я считаю, что на С++ писать очень просто и главное - перестать бояться и сомневаться и начать. Дорогу осилит идущий! Я хочу поделиться с вами историей о том, как одна моя подруга научилась писать на С++. Анна (имя изменено для сохранения анонимности) часто прогуливала занятия (училась она на маркетолога) и целыми днями играла в WoW. Как-то она рассказала нам, что мечтает вообще бросить учебу и пойти работать программистом WoW. В этом плане была только одна проблема — она не умела программировать.

Мы посмеялись и взяли ее на слабо: Анна подала заявку на стажировку в компанию, создавшую ее любимую игру. К нашему удивлению, ее позвали на собеседование. Анна уверена, что это ее навыки коммуникации и знание рынка помогли ей выделиться среди других кандидатов. Это сейчас собеседования проходят по видеозвонку, а тогда они проходили очно. Понимая, что шансов пройти собеседование самостоятельно у нее нет, Анна запросила помощь друга, который уже несколько лет работал программистом. И вот с наушником в ухе, скрытым под распущенными волосами, она отправилась пересказывать интервьюеру непонятные ответы на непонятные вопросы и корябать на вайтборде код под диктовку (это гораздо сложнее, чем кажется, если вы никогда этого не пробовали!). Все прошло просто отвратительно, она долго молчала, неправильно произносила слова, писала не те скобки, которые нужно. В конце ей пожелали всего самого лучшего и сказали “мы вам позвоним”. Все знают, это “мы вам позвоним” означает, что тебя не взяли.

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

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

Настоящие сложности начались позже, когда обсуждение вариантов решения задачи всем надоело и от Анны стали все более настойчиво требовать показать код, который она должна была написать. На помощь Анне пришел Виталий (все тот же друг, который проходил за нее собеседование). По выходным и по вечерам он стал выполнять за Анну ее работу, а она обещала отдать ему часть зарплаты. При этом, чтобы коллеги ничего не заподозрили, она смотрела видео с выступлениями разных людей на конференциях по С++ и училась говорить правильные слова в правильных последовательностях, например: “Давайте перестанем плодить синглтоны, ведь они нарушают принцип единой ответственности”.

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

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

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

Боясь вылететь с работы своей мечты, она пошла на еще одну опасную авантюру — Анна стала приходить со своими задачами к коллегам, причем с задачами разного типа ходила к разным людям, и они пытались ей что-то объяснить, но чаще - просто выполняли за нее ее работу. Так Анна оставалась на плаву, пользуясь чужой экспертизой. В конце стажировки коллеги дали честный отзыв на ее работу, они считали, что она очень хорошо справляется с некоторыми задачами, хотя с другими, казалось бы тривиальными, у нее возникают непонятные сложности, но в целом ее код выглядит очень хорошо, и так Анна стала full-time employee.

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

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

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

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

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

2525
98 комментариев

Комментарий недоступен

50
Ответить

Ты же не прочел дальше заголовка, верно мой хороший?

2
Ответить
Автор

А ты уже научился программировать? Расскажи, что было для тебя самым сложным?

1
Ответить

Поясняю статью, для тех, кому лень читать. Есть тяночка, которая не умела программировать, но умела играть в WoW. Тайм-скип, её взяли на работу в (Blizzard, видимо), потому что, ну, ей же нравится играть в игры Blizzard.
При этом программировать подруга всё ещё не может.
Через пару абзацев появился Виталий, который... делал за неё всю работу.
После Виталий делать всё за подругу отказался, потому что у него есть и своя работа.
Подруга же перекинула все дела на коллег, которые за неё всё делали.
Стажировка закончилась, её взяли в штат.
Так ещё и по итогу этой подруге дали учить другого стажёра, и она... перекинула на стажёра все свои задачи, тот не справился, и его уволили.

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

30
Ответить
Автор

Никого она не подставляла!

Ответить

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

4
Ответить