Нужен совет по направлению развития начинающего программиста?

Вопрос:
Какой план развития навыков программирования мне посоветуете вы ?

Дано:
Планирую стать веб-программистом.
Начал изучать программирование с нуля. До этого в этой области не крутился, ничего не знал вообще. Мотивацией была хорошая перспектива трудоустройства и зарплата, но по ходу дела понял, что мне это нравится и меня начало затягивать.
За полтора месяца я выучил свой первый язык – Python. Выбрал его потому что он простой как первый язык . Учил по самоучителю Доусона, дошёл до основ ООП и выучил их. Но дальше постала проблема: я не знаю что мне с ним делать. Вакансий по питону меньше чем php, да и порог входа в php меньше. (так то сердце к питону хочет)))
После этого решил, что в вебе по любому нужно знать основы верстки и повторяю html css (раньше я их уже учил). Конкретно сейчас играюсь с сайтами, пишу их, эксперементирую с дизайном и всё такое ... Но так, как я не планирую оставаться фронтенд разработчиком, то дальше хочу изучить javascript, mysql и либо php либо опять же таки python.
Конкретно вопрос:
1. На что лучше делать ставку ? питон или пхп ?
2. Что вы ещё можете посоветовать мне изучить, или изменить порядок учения ?
3. Что нужно уметь, чтоб явится к работодателю и работать стажером (по скорее хочу уже набирать опыт непосредственно в рабочей обстановке) ?
  • Вопрос задан
  • 4983 просмотра
Решения вопроса 1
@dmitryKovalskiy
программист средней руки
За полтора месяца я выучил свой первый язык – Python
А я выучил C++ за 21 день
Но так, как я не планирую оставаться фронтенд разработчиком, то дальше хочу изучить javascript
Вообще противоречите сами себе.
По сути вопроса - очередной вопрос "Что делать дальше?". Выучите 1 платформу хорошо. Знаете Python? Доучите Django и разберитесь с вебом. Если будете хреново знать Python и PHP - не нужны будете никому. Если хорошо разберетесь с одним стеком технологий - надежды появятся. У вас только ни слова про математическую и алгоритмическую базу. Разберитесь с архитектурой программных продуктов, паттернами. SQL и нормальными формами базы данных. Чтобы пойти стажером - вы должны уметь красиво протащить данные от БД до клиента и красиво отрисовать их.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 13
saboteur_kiev
@saboteur_kiev Куратор тега Python
software engineer
Никто не пишет на языке программирования, ну может за исключением brainfuck/assembler

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

Учи то, на что у тебя есть мотивация. Хороший специалист в любом языке будет востребован.
Ответ написан
Комментировать
@wittyrider
systemd есть людей
Учите и то и другое, потом сделайте выбор и углубляйтесь в чем то одном.

p.s. Ваш мозг способен изучать намного больше чем вы себя представляете, поэтому смело начните изучать оба, только тогда вы можете оценит достоинства и недостатки оба языка и сделать выбор, а полученные знание в другом ЯП идет вам в пользу.

P.S. Не слушайте тех кто предлагает изучать "какой то язык" при этом заявляет что все остальные языки УГ.
Ответ написан
Комментировать
@Kup9_NpS
Шесть месяцев назад я нашёл в Интернете книжку "Dive into Python". Странная книжка, толстая, да ещё на не русском языке. Усердно прочитал её, методично и вдумываясь, но таки ничего и не понял. Но что-то не отпускало меня - я пошёл на python.org и стал изучать стандартную библиотеку, старательно, скурпулёзно, от корки до корки. Гугля примеры кода, я наткнулся на пост в блоге одного гуру, где было написано про PEP8. То, что рассказывал этот умудрённый опытом кодер, настолько впечатлило меня, что я словно в припадке безумия бросился зубрить эту конвенцию по написанию питоньего кода. У меня тряслись руки, по телу прокатывали волны возбуждения, я, можно сказать, бился в экстазе всё это время - и теперь могу процитировать наизусть любой пункт, даже если меня разбудить посреди глубокой ночи.
Новые знания окрыляли меня, я бросился писать (что бы вы подумали?) очередную имиджборду. Я не писал раньше имиджборд, эта была моей первой. По пути пришлось освоить азы вёрстки на html и css, но там всё оказалось совсем не сложно.
Я плавно двигался вперёд, наращивая функционал. И знаете что? Я упёрся в недостаток производительности. Ну, так мне показалось. Я делал замеры, устранял места с тяжёлым кодом. Тысячи раз запускал ab, но так и не сумел перейти порог в 300 запросов в секунду. Я как-то ожидал большего и был немного разочарован.
Гугл, снова гугл. Десятки статей и тем на форуме... Довольно быстро я заметил, что люди часто пишут про какие-то "асинхронные веб-сервера". Часто встречались названия Tornado и Gevent. Я прочитал про них подробнее - и был просто ошеломлён. Как мне это раньше не приходило в голову?! Это же, это просто гениально, чёрт меня побери!
Исходники в ведро, всё переписать! Меня переполняло новое знание, поток мыслей ровно ложился в строчки кода. Я просто не мог остановиться. Чашка кофе... Ещё чашка... Мой небольшой кусочек софта приобретал кристалльную чистоту, я смертельно устал, но продолжал в умилении полировать его зудящими руками, нанося последние штрихи.
Пять тысяч. Я получил производительность в пять тысяч запросов в секунду. В ту ночь я так и не смог заснуть.
Наиувлекательнейший мир хай-лоада открылся передо мной. Позже я изучил ещё много классных вещей типа сверхбыстрых асинхронных key-value-хранилищ, или, например, такого необычного подхода к обработке данных, как map-reduce.
Это уже был другой я, новый, обновлённый. С незашоренным взглядом, с жаждой новых знаний и незнакомых концепций. Я летел вперёд, оставляя за спиной ступень за ступенью.
За пол-года я сменил несколько мест работы, и моя зарплата взлетела до умопомрачительных сумм. Сотни замечательных мест открыли передо мной свои двери. Любые, самые изысканные девушки проявляли просто чудеса изобретательности, чтобы находиться рядом со мной.
А ещё, я никогда не забуду тот момент, когда на одной из конференций я впервые в жизни поймал на себе завистливый взгляд. Это был взгляд какого-то сливающегося с толпой неудачника, взгляд преисполненный ненависти, презрения и желчного вожделения, направленного на мой Олимп. Наверное, он всю свою никчёмную жизнь писал на каком-нибудь си-шарпе или там на джаве, проводя долгие дни в одиночестве. И теперь начинал подсознательно догадываться, что долгие годы безуспешно пытался построить замок из навоза.
Ответ написан
Любой проект себе придумываешь, хоть даже состоящий из 25 строк кода, и допиливаешь его на все 100%, чтобы все работало с любыми входными параметрами. Рассчитывай на то, что твою программу будет использовать какой-нибудь ламер, который первый раз увидел компьютер. Ведь если сможешь реализовать 1 проект на все 100%, то реализовывать следующие будет не проблема, и при этом будешь накапливать опыт программирования, развивать логику и т.п.

Пример: возьми какую-нибудь формулу, например формулу по высчитыванию суммы чисел от 1 до 100.
Sum = n(a + b) / 2
n - кол-во чисел, которые будут суммированы.
a - первое число при сложении.
b - последнее число при сложении.

Sum = 100(1 + 100) / 2

И попробуй полностью реализовать в видео консольной программки/страницы на сайте/GUI интерфейса.

Пользователь вводит 1, дальше 100 и по формуле выше высчитываешь результат. Главное чтобы при любых входных данных от пользователя программа вела себя адекватно.
(Это чисто пример, и написать особого труда не составит)

В общем тупо придумывай себе программки и реализуй.
Ответ написан
@thepry
Ruby on rails, 1С разработчик
1. На что лучше делать ставку ? питон или пхп ?

Питон. Или руби :-) Про порог входа сомневаюсь - в питоне и в руби есть по одному основному веб фреймворку - Django и Ruby on Rails. В пхп же нет единого стандарта. Сами языки, вроде, не сложнее.

2. Что вы ещё можете посоветовать мне изучить, или изменить порядок учения ?

Фундаментальное - SICP.
Из технологий: git, SQL, javascript и все такое.

3. Что нужно уметь, чтоб явится к работодателю и работать стажером (по скорее хочу уже набирать опыт непосредственно в рабочей обстановке) ?

Soft skills. Посмотри это видео и вот это.
Ответ написан
slinkinone
@slinkinone
Агент "Везде успеть"
Я бы сделал ставку на python, язык набирает обороты, используется как для десктопа, так и для web.
Имеет много полезных, развивающихся framework-ов. Множество различных библиотек. Ну и повторюсь - он не ограничен вебом...Например sqlmap написан на python.
Прогесс обучения мне кажется должен быть таков - изучаешь материал, придумываешь себе задачку (например програмку, которая будет отправлять random-ую картинку на почту или допустим органайзер или мини прогамка для ведения дерева того что ты уже изучил - например python -> основы, ООП, Работа с сетью...Те уже в свою очередь ещё на более мелкие итд)
Доводи каждую задачу до конца, чтобы было что показать работодателю...
Ну и конечно - Алгоритмы и структуры данных...без этого никуда...
Удачи!
Ответ написан
Комментировать
@Elizavetta
Matroid: gamedev/js-разработка
Изучать дальше Python-инфраструктуру (django, фреймворки, микрофреймворки, инструменты), вы же еще, можно сказать, не начали.
Так как не планируете фронтенд, займитесь хранилищами, сначала, конечно SQL.
Но исключить javascript полностью веб-разработчику сейчас опасно, javascript повсюду, да и решения фронтенд/бекенд могут быть взаимозаменяемыми. Поэтому нужно отдельно ознакомиться с тем, что в целом происходит на стороне клиента, с устройством фреймворков.
Если цель устраиваться на работу (не фрилансить), надо больше внимания уделить базовой подготовке (алгоритмы, паттерны, и тд), так как джуниоров в основном отбирают по общему кругозору/умению решать абстрактную задачу.
Ответ написан
Комментировать
Дальше нужно разбираться с алгоритмами. "Алгоритмы: построение и анализ" Кормена нужно освоить на 5. Без этих основ даже на джуниора собеседование не пройти ни на PHP, ни на Python.
Ответ написан
@GaryH
Мое ИМХО:
с PHP, как и 1С, Basic - нельзя начинать: на них же и останешься, и останешься б*дло/г*вно-кодером. Последние несколько лет люди все активнее переходят с php - на python и ruby. Судя по статьям хабра, заказам на фрилансе, факту, что в нормальных учебных заведениях - преподают Python, который заметил Pascal/Delphi. Если и начинать - то с них. Здравый смысл порешал.

перестань слушать советчиков начинать с C++/PHP и вообще тебе стоит забыть пыху, как страшный сон. "зачем ждать капусту, если есть картошка?" (c)


делай перерывы - отдыхай. перестань в возводить прогерство во сверхценную идею, т.е. слижком многого возлагать/ожидать...
Ответ написан
Dit81
@Dit81
Security researcher, pentester, internet-marketer
Я бы остался на Python'е. Сейчас вакансий меньше, но они есть... И постепенно растут и места и зарплаты... ) А если вы чуть поизучаете основы, библиотеки и фреймворки, то уже можно будет смотреть в сторону middle программиста. Есть вариант поискать opensource решения или включится в разработку реальных проектов. И с этим идти к работодателю и просить большую зарплату... :)
Ответ написан
@Mintormo
Если не знаете куда, то попробуйте сначала PHP. Тем более если привлекала возможность заработка. Поработайте немного и там уже решите - остаться или уходить в Python. За пару-тройку месяцев работы вы все равно останетесь джуном и время будет не так много потеряно если не понравится. Веб хорош тем, что в разных специализациях многое пересекается: и питонисту и пхпшнику надо знать HTML/CSS/JS, cvs какую-нибудь, основы LInux, базы данных, SQL. Так что все навыки при переходе не потеряете. Что касается работы, то вакансий на джуна для питона я видел вообще мало. Я бы выбрал PHP, поварился в вебе, потом ушёл на питон если бы не устроило.
Ответ написан
Комментировать
customtema
@customtema
arint.ru
Пайтон - великолепный выбор!

Прочтите Фаулера и пройдите онлайн-курсы. Потом практикуйтесь. ИМХО, лучший путь.

Dive Into Python читали?
Ответ написан
Комментировать
Feodot
@Feodot
Учил по самоучителю Доусона, дошёл до основ ООП и выучил их. Но дальше постала проблема: я не знаю что мне с ним делать.


Книжка Доусона прекрасная, примеры на основе игр, быстрое прохождение ключевых моментов языка (в ходе написания игрушек)... Но прочтите все же Лутца его 4 книжки (Изучаем Python, Программирование на Python (обе книжки, два тома), Python. Карманный справочник, а дальше уже книжки по Django)

З.Ы. Сразу предупреждаю читать будет сложновато, особенно первую книжку (Изучаем Python, но она нужна для прочтения следующих), так что желаю набрать терпения, оно понадобится, я ее чуть ли не пол года читал (в то время как Доусона, прочел меньше чем за неделю с проработкой кода с книги). Советую поставить целью некоторое количество страниц или главу в день, тогда дело скорее пойдет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы