15

Как становятся программистами

Всем привет.
Желание написать этот пост на меня навело участившееся количество материалов в разных пабликах о том, как это просто взять и стать программистом, первый язык, первое приложение/сайт/игра и горы предполагаемых денег.
После таких ободряющих постов заряженные надеждой молодые (и не очень) люди делают свой первый hello word и с ним, в качестве резюме, смело прут на биржи. На бирже, получив несколько отказов, даже перспективные и одаренные люди теряют надежду и оставляют начинание. Другая часть соискателей, которая каким-то образом умудрилась получить первый проект - пополняет ряды отечественных быдлокодеров, которые толпятся в заявках на копеечные проекты и задачи и генерируют код с запахом. И лишь малая часть преодолеват порог вхождения в профессию, получая настоящий полезный первый опыт благодаря стечению обстоятельств, везению либо собственным талантам.
Я люблю программирование и занимаюсь им с детства. Соответственно выбор профессии после школы для меня был очевиден, но несмотря на это, настоящим делом я занялся, только аж через 4 года после окончания универа. Оглядываясь назад, сейчас я точно понимаю причины почему я, работая 4 года инженером-программистом на большом предприятии, не являлся программистом вообще. И все мои попытки чего-то достигнуть окнчивались некоторое время провалом.
Современная система образования на постсоветском пространстве, как и посты, о которых я упомянул в начале, не учат нас - как же на самом деле стать и быть программистом, как искать клиентов, работать на компании, начинать и вести свои проекты, как зарабатывать деньги, как и о чем договариваться с людьми. Нам не говорят о подводных камнях, не прививают систему ценностей, без которых существование тебя, как программиста - в принципе не возможно. Нам не рассказывают о карьерной лестнице, ее ключевых этапах, разветвлениях и общих направлениях. Не рассказывают о работе с клиентом, о жизненном цикле программного продукта и его поддержке. Нас учат многому: технологиям, языкам, каким-то техникам. Но нас не учат как этим пользоватсья. Не обучают профессии программиста.
Сейчас мне чуть больше 30, через 4 года после универа мне наконец-то повезло. Я рискнул и вырвался из зоны комфорта, уволился с завода и получил свою первую должность юниора "удаленно". Лишь за первый год работы я влил в себя полезной информации больше, чем за всю жизнь до этого. Сейчас уже прошло 6 лет с тех пор и за это время через мои руки прошло несколько юниоров. Не всегда по работе, иногда по знакомству в жизни, не суть. У всех юниоров однозначно диагностируется неопонимание того, сколько времени и сил нужно затратить на профессию и на каком этапе чего стоит ожидать от нее. С этого и начну.

Часть 1. Вход в профессию.
- Первые этапы
- Какие знания нужны для начала
- Что вам за это перепадет

Этапов 3:
- Вы никто
- Вы начинающий перспективный юниор
- Вы начинающий перспективный юниор с кое-каким опытом

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

Пока вы никто - вам абсолютно все равно с чего начинать. На самом деле разница есть. Начинать следует с наиболее живого рынка. Он не самый оплачиваемый, но получить первый опыт в кратчайшие сроки есть шанс у вас именно тут. И этот рынок - web-приложения.
Для примера я однажды завел абсолютно пустой аккаунт, без резюме и без деталей об опыте работы, и смог в течении двух дней получить заказ на сайт-визитку на wordpress c итоговым заработком $250 за 5 дней (на самом деле было $350, но $100 ушло дизайнеру на той же бирже).

Итого - большой шанс получить первые заказы у вас есть именно на простых web-приложениях - сайтах-визитках и landing-страницах. Для освоения вам понадобится знать поверхностно:
- html
- css
- java script
- sql (mysql)
- какой нибудь движек типа wordpress
- понимание принципов рабоыт интернета
- минимальные навыки администрирвоания vps/хостинга
Да, и это только для минимального первого заказа.
Уже тут, если у вас нет никакой базы, я бы посоветовал вам пойти на какие нибудь курсы, на которых вас методично прогонят по must have технологиям. Ну или можно попытаться пройти все это самостоятельно, по вечерам. В результате усердных методичных занятий стадия "никто" будет преодолена.

...Прошло 6 месяцев

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

...Прошло еще месяца 3

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

Ну и по ценам, обещал упомянуть:
- если вам повезет сорвать по 500 рублей за курсовые - это будет подарок судьбы
- $50 за первые проекты
- $2-4 в час за первые юниорские месяцы
- $6-10 в час через три года после того как вы были "никто" вы сможете найти

Программистом может стать каждый, но не каждый может программировать.
Я верю в вас.

Продолжение следует...
Часть 2. Система ценностей хорошего программиста.
Вы смотрите срез комментариев. Показать все
0
Автор поста оценил этот комментарий

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

Найти наставника? Мама родная, я всю жизнь без них, и когда у меня бывали падаваны, я им жутко завидовал: у меня даже в свое время знакомых не было, с кем бы просто поболтать на подобные темы. Найти наставника, да еще внятного, да еще хотя бы на полгода - это практически не реально. Почему? Потому что тот, кто будет на вас тратить время, должен сам будет выполнять свои задачи, а за вас ему никто не платит (хотя, наверное, бывают в конторах какие-то обучающие программы...)


А еще очень умиляют те "монстры программинга", которые считают веб-сферу, особенно с php, чем-то недостойным и низким. Да, есть языки с низким порогом вхождения, но говнокод можно и на Java наваять. А php... А попробуйте-ка наваять проект, распределенный по десятку серверов, с нагрузкой до 20 млн хитов в сути, потом и поговорим и про быдлокодерство, и про криворукость и тд.


Так что учиться, читать, пробовать, и снова учиться и читать, а еще все это запоминать, и все получится. И да, чем больше молодежь пи#дить на стадии обучения, тем она меньше косячит на продакшене.


P.S. Никогда фрилансом не занимался.

раскрыть ветку (9)
1
Автор поста оценил этот комментарий
А php... А попробуйте-ка наваять проект, распределенный по десятку серверов
За чем мучить себя, есть же Akka, Erlang и т.п.
раскрыть ветку (4)
0
Автор поста оценил этот комментарий

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

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

А мучать или нет - это пустой холивар и и к теме он не относится. 

раскрыть ветку (3)
0
Автор поста оценил этот комментарий
Как язык для начинания и проектов средней сложности для web язык нормальный. Сам с него начинал, но вот когда люди из-за ограниченности платформы начинают изобретать вундервафлю - это имхо уже онанирование, а не программирование.
раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Что значит "проект средней сложности"? Проект суммарно на 16 серверах - это сложный/средний/какой? Как оценить сложность? Неужели объемом кода? :)

В чем ограниченность, и платформы чего? 

Еще раз: технологии неважны, если они решают ваши задачи. Пофиг, на чем вы пишете: на python, на php, на erlang - программист в первую очередь _решает задачу_, а уже потом смотрит на технологии.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Пока не ощущаете, что вас прижимает со всех щелей и приходится очень много думать, то проект средней сложности. В серверах мерить плохо без знания архитектуры. Может у вас там балансер перед ними который тупо раскидывает задачи по кольцу и вам этого за глаза хватает. И в этом вся распределенность. Php задумывался как простой язык для создания динамических веб приложений и не более, по этому в него не закладывали многопоточность и другие вещи. Так же и Erlang не очень для числодробилок и низкоуровневого программирования. Java кстати окажется самым универсальным языком из всех ранние перечисленных языков и менее требовательной к железу при большой нагрузке.
0
Автор поста оценил этот комментарий

Ваш ответ вне контекста и вас видимо тоже напрягают какие-то мейнстримовые движения.

Еще раз - веб не низость и не панацея. Но утт наиболее реально получить первый оплачиваеый опыт. Я ведь об этом писал? Как вы умудрились надумать там сверху коробку?

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

раскрыть ветку (3)
0
Автор поста оценил этот комментарий

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

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

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

Каюсь, и у меня самого есть какое-то иррациональное "опускание" вэба.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

А ничего, что вы этот коммент написали на ВЕБ-сайте, отображающемся у вас через ВЕБ-протокол посредством ВЕБ-браузера? :-D

Об этом почему-то забывают, оставляя негативные комменты про веб-технологии на веб-сайтах :-D

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества