Какой язык программирования начать изучать?
привет всем.
собственно вопрос в заголовке.
развитие для участия в проектах интернет платформ. таких как пикабу, джойреактор, 9гаг, реддит, вконтакте, фейсбук, различные форумы....
т.е. создание массивных платфом для обмена информацией между людьми.
какой наиболее подходящий старт вы бы порекомендовали?
если кто то знает хороших программистов сидящих на пикабу, просьба позвать в комменте.
не топите пож. комментов для минусов будет достаточно. хотелось бы побольше инфы.
да пофиг какой язык, если не понимаешь что делать надо
скопирую тебе сюда пост, который мне помог в свое время
Вход в профессию.
- Первые этапы
- Какие знания нужны для начала
- Что вам за это перепадет
Этапов 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 в час через три года после того как вы были "никто" вы сможете найти
Программистом может стать каждый, но не каждый может программировать.
Я верю в вас.
Если ты хочешь стать толковым программистом то тебе желательно иметь хотя бы вечернее образование айтишника. Программирование базируется на множестве предметов, от дискретной математики до архитектуры компьютеров. Выучить их все и ясно понять и решить по ним практику в одного едвали возможно в короткие сроки, разве что если ты не светоч науки. Т.е. как конструктив это либо вечерние лекции либо заочка на айти, но тут надо быть внимательным к выбору универа. Когда ты выучишь всю эту базу и получить минимальный опыт в программировании хотя бы на том же Си или Java, которые с горем пополам стали преподавать в университетах ты можешь переходить к конкретной практике (начинать карьеру Junior %язык который выучил самостоятельно% developer. Как вариант есть программы по подготовке юниоров в разных компаниях по окончанию которых есть шанс устроиться юном в ту же компанию. Далее по языкам и технологиям, если очень кратко то чаще проект состоит из 3х частей (Frontend,Backend,BD).
Frontend - лицевая сторона приложения, это может быть веб страничка, это может быть десктопное приложение и прочее.
Backend - это внутренняя логика приложения, тут содержится сердцевая часть, она считает что нужно, возвращает данные, обращается в базу, делает over9000 вещей.
Backend может быть написан на большом количестве языков, java, c#,phython,php,nodejs, и так далее.
BD - база данных, как неудивительно хранит данные, сюда ходит backend для сохранения, записи, удаления данных.
И так на каждую часть есть свои специалисты, хотя почти каждый должен знать как работают все три (хотя есть чисто дизайнеры, верстальщики - хотя они не программисты, но также живут в IT да и без них норм проект немыслим). К примеру в разработке энтерпрайза (программного обеспечения для компаний) на java senior developer могут спросить вопросы от того какие заголовки ходят в http запросах а также как разруливаются sql инъекции на стороне oracle сервера (читай - требуют знать огромное количество вещей из разных доменов).
Поэтому в зависимости от того, где ты себя видишь разрабатывать красоту веб страниц и писать маленькие сайты ты выбираешь скорее что нибудь javascript разработку (разные фраймворки вроде angular,backbone,knockout) + знания html5 + css и технологии которые это все будут тестировать т.е karma или смежные.
Если ты хочешь писать много логики для жирных компаний, которые чаще солидно платят (хотя и солидно спрашивают на собеседованиях) то тебе нужно подаваться в java,C#.
Честно говоря за домены питона, руби и прочих не беру судить, практики имел с ними почти ноль, но слышал на руби платят не хуже чем на java. Есть кстати computer science в питере, всегда хотел его закончить, хотя все его лекции в свободном доступе.
Если хочешь без образования стать, то тебе надо выучить
основы дискретки
структуры и алгоритмы данных
основы программирования
конкретный язык программирования (смежные технологии я немного описал выше).
базы данных (для начала sql будет достаточно).
и идти джуном в какую нибудь контору, там с опытом будешь понимать чего не знаешь и куда двигаться.
Мир программирования слишком большой чтобы все сразу и описать, я вообще упустил понятия тестирования без которых щас норм приложения немыслимы (разве что малые). В общем главное двигайся по чуть чуть, платят в IT хорошо и я думаю ближайшие лет 10 точно такая тенденция останется.
"создание массивных платфом для обмена информацией между людьми. "
это очень сложно так что начинай тупо с веба. а веб это:
0) базовое знание osi, протокол http и другие сетевые технологии
1) html css js
2) php
3) ruby/python etc
4) фрейморки и либы
5) highload