Хочется хорошо и качественно разрабатывать, но как?
Здравствуйте, уважаемые постояльцы данного ресурса!
Я - самый обыкновенный мальчик-самоучка, пришел к вам, умным и серьезным мужам за очень серьезным советом. Я хочу овладеть правильными инструментами и средами разработки (надеюсь, я не сильно неточен в терминологии), узнать как правильно двигаться дальше и делать действительно качественные вещи.
Мне очень стыдно, но ни что такое системы контроля версий, ни фреймворки, ни какие-либо тонкости я, по сути, не знаю. Да, я прочел не одну книгу по программированию, вроде как даже вполне неплохие издания подбирал, так же несметное количество статей и документаций, как на русском, так и на английском (не без переводчика, конечно). Даже на курсы различные ходил очень долго, победы в олимпиадах давно были, отличия, первый криво работающий сайт написанный полностью на пхп в 15 лет, даже с файловым менеджером (на том же самом пхп).
Но по сути, я более менее знаю 3-4 языка, html, css, имею базовое представление о сетях и виндоусе и все. Все мои знания бессистемны, подходы и методы примитивны, память я транжирю похлеще чем java, и хитростей тонкостей не знаю никаких.
Сейчас, переживая не самый удачный свой период в жизни, я всерьез призадумался о том, что годы идут, а прогресс все менее заметен. Поэтому я бы очень прошу помощи и совета по поводу литературы, дисциплин, которые обязательно нужно выучить, а так же какое то представление о том, как правильно надо работать в этой сфере, чтобы это было не просто работоспособно, но еще красиво, удобно и интересно в процессе разработки. Из своих ночных блужданий по вашему замечательному форуму я для себя извлек 2 книги - Дискретная математика Дж. Андерсона и Алгоритмы построение и анализ. Параллельно я сейчас читаю Компьютерные сети Таненбаума (5ое издание) и на очереди Компьютерные сети. Принципы, технологии, протоколы Олиферов. Стремлюсь же иметь неплохие знания сетей, серверных языков программирования, JS\jQ\AJAX, ассинхронного кода, клиент-серверного взаимодействия и одноранговых систем (одна рабочая группа\ЛВС).
Так же был бы крайне признателен, если кто-нибудь бы нагрузил меня бесплатной практикой, с тем, чтобы либо помочь какому-то общему делу, либо чтобы я точно знал, где я косячу.
Здравствуйте!
Я считаю, что Вам надо не учебники штудировать, а набираться опыта. Т.е. решать конкретные задачи с использованием конкретных инструментов, а необходимые для этого знания черпать в процессе.
Только практические навыки и знания дадут Вам тот результат, которого Вы ожидаете.
Опытом я как раз и занимаюсь все время.
Только вот способы реализации оставляют желать намного лучшего.
Я даже не знаю, с какого края и как подступиться.
Все мои инструменты - это dreamweaver,drupal и wireshark, да и то, что-то мне подсказывает, что знаний у меня даже для этих инструментов недостаточно.
Ясно. В таком случае есть еще один момент: вариться самому в себе - не лучший вариант профессионального развития. Ищите проекты, устраивайтесь на работу, перенимайте опыт коллег. Работа в коллективе дает синергетический эффект в процессе накопления знаний и опыта.
Именно за опытом я и пришел сюда.
Пока что не знаю, вряд ли у меня получится куда-нибудь устроится на постоянную работу, но, я очень надеюсь, что в ближайшем будущем я смогу по достоинству оценить ваш совет.
Иван Квитко: Ищите работу. Либо, присоединяйтесь к какому-нибудь проекту. Для начала на небольшую зарплату, джуниором, кем угодно... Чем раньше начнете, тем быстрее получите результат.
Написано
Алексей Уколов
@alexey-m-ukolov Куратор тега Веб-разработка
Иван Квитко: здесь вы опыт не получите. Получение опыта - это процесс, а не разовое действие. Даже если кто-то здесь вывалит на вас весь свой опыт, вы не сможете им воспользоваться.
Иван Квитко: Ваш дримвивер, друпал и прочий шлак - это инструменты меня 8 летнего, детский сад штаны на лямках. Начинайте с изучения Шелла в UNIX, а не этого говна, в котором вы себя заляпаете, это лишняя абстракция для Вашего уровня компьютерного развития. Самое главное - зайдите ко мне в профиль, там мой ответ о компьютерном развитии под 40 лайков уже набрал, так что он полный и уточнять Вам я его не собираюсь.
А если серьезно Вам нужно 2 вещи:
1. Хороший IDE-редактор. Для веба подойдёт Webstorm или PHPStorm, но у каждого свои предпочтения. Кому-то может хватить самого обычного Notepad++.
2. Много практики. Нельзя кому-то объяснить что так делать хорошо, а так плохо. Сделайте 1, 2, 3 пробных проекта - разработайте каждый с нуля: придумайте идею, продумайте логику, напишите серверную часть приложения, потом клиентскую. И вот! Вы уже знакомы что такое Backend и Frontend Development. По мере разрастания проектов, вам станет тяжело обновлять их, тогда придётся внедрять версионность и вот Вы уже знакомы с системой контроля версий.
По сути, всё познается практикой. Чем её больше, тем больше опыта, а соответственно и понимания правильности своих действий в разработке.
Ну о том и речь, братан, я такой же самоучка, который на сегодняшний момент в 26 лет имеет долю (33%) исключительно своими силами в проекте суммарной стоимостью минимум в 5 млн евро, если я захочу её когда-нибудь продать. Но чтобы ты понимал, я запустил свой проект в 9 лет, в 1998 году, и развиваю его и сегодня, в 2015. Стремись к этому (постоянному проекту на всю WEB-карьеру, параллельному с другой деятельностью), если ты хочешь не обращаясь к ученым мужам своей головой в 26 лет сделать не один миллион долларов, причем для меня это ничем не удивившее меня только начало моей продуктивной жизни. Все своё остальное время, до этого сегодняшнего момента, мой проект был неоценен инвесторами, а сейчас мне готовы сотни тысяч баксов дать под мое слово без обязательств, если тебя интересуют возможности. И да, я давно читал те книги, которые ты тут раскопал, если это имеет значение.
P.S. Первый сайт я вообще в 95 запустил, это было время! Прикинь, CSS еще не существовало :)).
Сам столкнулся с такой проблемой, пол года сидел дома изучал PHP, JS, учился верстать, но когда почти остановился в продвижении, то стал искать работу (почти пол года искал) и параллельно продолжал учиться, вот сейчас работаю помощником программиста. Теперь понимаю, чему я обучился тут за 2 месяца, никогда бы не научился сидя дома. Так что ищи работу, даже если первое время на общественных началах. Удачи)
>Я - самый обыкновенный мальчик-самоучка,
Мальчик - это сколько лет? Просто я тоже считаю себя мальчиком, правда мне 26 лет и за плечами множество сделанных проектов.
>Хочется хорошо и качественно разрабатывать
>php
Несовместимые вещи. Не связывайтесь с php, вас там научат плохому.
>Все мои знания бессистемны, подходы и методы примитивны, память я транжирю похлеще чем java, и хитростей тонкостей не знаю никаких.
Это нормально, со временем и опытом все в голове разложится по полочкам. Конечно, если вы не будете сидеть на месте и будете перенимать чужой опыт.
>Да, я прочел не одну книгу по программированию,
Я программирую уже 13 лет и за это время дай бог чтобы хотябы 1-2 книги полностью прочитал. До какого-то момента вообще любил программировать "методом тыка", но потом неожиданно для себя обнаружил, что со знанием матчасти это получается быстрее.
>Мне очень стыдно, но ни что такое системы контроля версий, ни фреймворки, ни какие-либо тонкости я, по сути, не знаю.
Стыдиться тут нечему
>что годы идут, а прогресс все менее заметен.
Могу сказать по опыту, что спешить некуда! Вам это еще успеет надоесть. Успеете еще посидеть над кодом в офисе по 8 часов в день.
1) на самом деле в последнее время наплодилось куча очень крутых и качественных инструментов, но "профи старой закалки" ими практически не пользуются, банально потому что не слышали про них. На самом деле это забавное явление - если нет мощного медийного ресурса или бренда, донести информацию о том, что появилась новая крутая штука, даже до 5-10% сообщества - почти невозможно.
2) Из того, что "профи" в этом плане едва ли лучше тебя, следует, что инструменты - вовсе не главное.
3) Но чтобы все-таки повышать свой арсенал, советую подписаться на тематические хабы на реддите/модные почтовые новостные рассылки, и потихоньку впитывать информацию.
Компьютерные сети Таненбаума (5ое издание) и Компьютерные сети. Принципы, технологии, протоколы Олиферов это одно и то же от разных авторов. Не тратьте время на одно и то же.
Следующий уровень это что то типа Одома CCNA.