Я плохой программист на Python и я в безвыходной ситуации

Привет всем! Меня зовут Василий (имя пациента изменено редакторами Либератума по соображениям гуманности). Я хочу поделиться своей своей тяжелой проблемой. По образованию я учитель химии. Работать по такой специальности в России — это значит обрекать себя и своих детей на полунищенское существование. Поэтому еще во время учебы я увлекся программированием.

Становиться ли программистом?

Программирование — это легко, весело и доходно

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

Python

Я быстро выучил самый простой язык. Как вы уже, наверное, догадались, это был Python. А через полгода стал писать свою программу, которой со временем начали пользоваться другие. Реальные люди решали реальные задачи с помощью софта моего авторства! Я поверил в свои силы. Когда я выпустился из универа, то пошел трудоустраиваться программистом. Тут и начались сюрпризы.

Засвети-ка, милок, свой код на GitHub

На первом собеседовании я рассказал о том, что пишу программу, которой уже пользуются сотни людей. Меня попросили засветить исходники на GitHub, что я с гордостью и проделал. И практически сразу меня стали втаптывать в грязь. Хотя программа работала и большинство алгоритмов было реализовано грамотно (с их же слов), меня обвинили в том, что мой стиль программирования пренебрегает корпоративными стандартами. Мол, одиночка в таком стиле работать еще может, но работа в коллективе предполагает следование общим правилам. Я согласился принять эти правила, на что мне ответили, что у них там за дверью еще сотня соискателей и вместо переучивания меня им проще взять человека, который сразу начнет работать в нужной парадигме. Заключительным аккордом — а точнее пинком под зад — стали слова о том, что я никакой не программист.

С чего ты взял, что ты программист?

После этого была еще серия собеседований в компаниях попроще. Там к корпоративному стилю и никаких особых требований уже не предъявлялось. Но появилась новая напасть — практически везде меня срезали вопросом «какое покрытие тестами у вашей программы». Я объяснял, что мне важно было как можно быстрее создать работающую программу, которая приносила бы людям пользу, а все глюки и ошибки я готов исправлять, взаимодействуя с пользователями. Практически в каждой компании мне после этого отвечали: а с чего вы взяли, что вы — программист? Идите домой.

Сейчас сижу без работы и без денег. Как программист я не состоялся, но забавнее всего, что и как учитель химии тоже, ибо потерял интерес к предмету примерно тогда же, когда меня увлекло программирование. Идти в школу и заниматься нелюбимым делом за копейки не тянет. Идти заниматься любимым делом за достойную оплату — не берут. Ситуация кажется безвыходной, но если читатель может предложить решение, то буду очень-очень рад его услышать.
Ваша оценка: Нет Средняя оценка: 4.7 (7 votes)

Ссылку на github репозиторий товарища в студию, тогда и поговорим.

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

Но, повторюсь, это всё домыслы. Выложите, пожалуйста, ссылку на github-репозиторий кандидата.

Ваша оценка: Нет Средняя оценка: 3.7 (3 votes)
reflexius

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

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

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

Ваша оценка: Нет Средняя оценка: 3.7 (3 votes)

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

Ваша оценка: Нет Средняя оценка: 5 (5 votes)

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

Ваша оценка: Нет Средняя оценка: 5 (2 votes)

Тот факт что программа работает — абсолютно ничего не значит, особенно потому что код читается гораздо больше раз, чем пишется. Поэтому к нему должны быть следующие требования:
1. Необходимо сразу понять, что и почему тут происходит. У людей нет времени распутывать ваши клубки перекрученные, поэтому учитесь писать так, чтобы было просто.
2. Стиль и форматирование — есть pep8 под питон, или ещё десять тысяч стайлгайдов под каждый язык. Опять таки, потому что ни у кого нет времени распутывать клубки.
3. Структура приложения (допустим, из нескольких модулей на том же питоне) должна состоять из максимально автономных модулей, потому что использование глобальных в одном, которые меняются в другом и используются третьим — превращают исходники в долбаное спагетти, распутывание которого — отдельное развлечение. Но на это всё нет времени. После джунов, обычно, проще переписать, чем что-то с этим делать.

Ваша оценка: Нет Средняя оценка: 4 (4 votes)
pomodor

Во многом согласен, но справедливости ради стоит отметить, что программа и пишется, и читается ради того, чтобы она, в конечном итоге, работала. Работала согласно техническому заданию заказчика. Если программист делает, заказчик доволен, то какие могут быть претензии по стилю? Он чо теперь, не программист? Другое дело, когда приходится работать в команде. Тут либо соблюдай общие правила, либо работай в одиночку, раз такой умный. Чувак не против был осваивать правила, но его зачмырили так и не дав шанса.

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

Ваша оценка: Нет Средняя оценка: 5 (4 votes)
Texnoline

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

Ваша оценка: Нет Средняя оценка: 5 (1 vote)

Не только. Есть еще и чисто психологические мотивы — унизил другого, возвысил себя. Если кому то не сделал гадость — день прожит зря. Особенно это среди начальства и мнящих себя начальством развито. Часто даже в ущерб делу и бизнесу собственному

Ваша оценка: Нет Средняя оценка: 5 (1 vote)

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

Ваша оценка: Нет Средняя оценка: 5 (2 votes)

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

Ваша оценка: Нет Средняя оценка: 5 (2 votes)

В коллективах программистов порой страсти бушуют шекспировские. Даже работая вместе по 3-4 года и более. Подсидеть, сделать гадость, подставить — обычное дело. Люди, обыкновенные люди.
Сколько такого дерьма можно вспомнить в тех же историях знаменитых IT фирм.
P.S. Тех, кто придумал и делает капчу, должен ждать свой особый котел в аду. Особенно плохочитаемые, те, что человек по 5 и более раз не может разгадать ))) Да и что за дискриминация роботов ! )))

Ваша оценка: Нет Средняя оценка: 5 (3 votes)

Был не так давно случай на фирме. На одном проекте, загнивающем под грузом костылей, архитектурных ошибок, велосипедов, работал не так давно принятый молодой программист. Спустя год, вникнув в страдания, он предложил радикальные перемены, да еще сдуру начальству их озвучил. Его заклевывали все командой. В вину было поставлено все, от медленной работы, что плохо соблюдал код-стайд и до того, что он часто работал дома, не любил офис, где все сидели как в аквариуме. Запинали, затравили. Уволился. И спустя пол года стали реализовывать ВСЕ его предложения. Уже от своего имени.

Ваша оценка: Нет Средняя оценка: 5 (4 votes)

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

Ваша оценка: Нет Средняя оценка: 5 (3 votes)

Самый главный критерий успешного рабоустройства в ресурсной федерации.
Это умение филигранно полировать очко начальству. До зеркального блеска. И если ты шнырь 80 левила то проблем с нырянием в очередную шаражку не будет. Ну и конечно нужно быть мега лояльным вертикальшине. И уметь качественно плясать под дудку. Начиная с детсадовской шконки. А всё остальное это уже лирика. Примеров из житухи навалом. Можете нарыть сплошь и рядом.

Ваша оценка: Нет
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.