31aidar
@31aidar
Учу Python/Django.

Как начать свой первый проект?

Изучаю программирование уже длительное время, изначально просто потреблял контент, и сейчас уже вполне достиг такого уровня, что мог бы начать свой первый pet-project, если так можно выразиться, потому что проект делается для определенной категории людей.

Проблема в том, что я уже длительное время обдумываю этот проект, но все никак не могу подступиться и понять с чего начать. Пытался реализовать проект на бумаге, но что-то как-то не выходит, провести все эти связи в базе данной, но почему-то как не выходит, когда начинаю думать уже о конкретных шагах, в плане реализации авторизации например, думаю, а правильный ли я стек выбрал, может выбрать что-то другое. Понимаю, что сначала нужно сделать MVP, но по сути сам MVP это просто огрызок который из себя ничего не представляет. Сам проект по итогу в конце должен получиться сложным и большим, но когда думаю уже о реализации, как будто появляется какой-то барьер. Не знаю, что делать и как к нему подступиться. Возможно проблема в том, что хочу реализовать одновременно все, и сделать причем это качественно: код, архитектуру и дизайн, но очевидно это вряд-ли выйдет.
  • Вопрос задан
  • 181 просмотр
Решения вопроса 1
@Dementor
программист, архитектор, аналитик
Особенность любого проекта - это начало и его конец. Допустим вы уже начали свой проект этим вопросом. Теперь главное выделить критерий, по которому вы скажете "стоп, снято". Другими словами, нужно максимально конкретизировать цель вашего пет-проекта, чтобы проект не был вечным.

Имея критерий завершённости, нужно написать ТЗ. Так как "без внятного ТЗ, результат всегда ХЗ". Если вы не любитель академизмов, то оформлять по ГОСТам не нужно. Достаточно просто описать в преамбуле цели, описать границы проекта, уровень приемлемого качества и контрольные примеры для этапа приемки работ. На этом этапе технологический дизайн можно не делать, но чем детальнее сделать функциональный дизайн, тем лучше!

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

Имея на руках проработанную задачу и выбранный стек технологий, остается обложится поисковиками с различными чатами ГПТ и "Just Do It"!!!

P.S. "изначально просто потреблял контент" - что за тиктоковщина??? Ты просто выбрасывал время своей жизни. Если материал интересен, то тут же повторяй на своем гитхабе. Если не интересен, то свайпай на следующий. Повторять до обретения просветления!

P.S.S. "Возможно проблема в том, что хочу реализовать одновременно все, и сделать причем это качественно" - выбрось из головы эту ерунду! Представители ведущих айти-компаний мира открыто говорят, что они всегда создают первую версию зная о том, что они ее точно выбросят и используют наработки в качестве черновика для следующей итерации попыток создания продукта. Ошибки делают все. Важно уметь их анализировать и исправлять!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
mindtester
@mindtester
http://iczin.su/hexagram_48
Aidar, краткое руководство, для начинающих первый проект:
- начните

ps если вы реально продолжите расти на этом пути, грабли и шишки будут, и будет их много ))
но вы ни когда не начнете рост, не начав движение ))

pps кроме хорошего ТЗ, есть еще и другие понятия, иногда это поможет сдвинуться со ступора, особенно пока вы одиночка (в команде будут оздоровительные пендели.. хотя и это зависит от стиля работы команды ;)))

ppps уже забыл когда и где, да и слова забыл )))... смысл остался.. он ярко резонировал с личным опытом, и примерно таков:
- жадно реализуйте множество мелких задач, для себя, а еще несоизмеримо полезнее для других, так вы наберете практику языка
- если есть время и азарт, реализуйте эти малые задачи на разных языках/средах, так ваше понимание программирования, будет расти не соизмеримо быстрее
- не рассматривайте свой первый проект, как нечто особое... пусть он вырастет из вашей жадной и азартной практики, как неизбежное следствие ;)))
Ответ написан
Комментировать
Целеполагание - mindmap - бизнесплан- оценка - декомпозиция - SMART по каждому куску и т п
Ответ написан
Комментировать
@My1Name
Рисуйте. Прорисуйте как можно детальней все страницы/окошки программы. Для этого можно использовать фотошоп, скриншоты и разные картинки с интернета. Если вы пишите веб-проект, то когда закончите рисовать - начните с вёрстки и разметки. А если вы хотите создать десктопное приложение, то вместо вёрстки и разметки, для начала напишите пустое окно ("чистый лист") и потом добавляйте управляющие элементы.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы