Как вы программируете?
От: Аноним  
Дата: 22.07.11 11:33
Оценка:
Сижу "программирую" очередной проект-идею. Начиналось все как обычно, возникла идея, продумал стратегию маркетинга и извлечения доходов. все прекрасно, глаза загорелись, настроение приподнятое.

Спустя неделю...

С утра, сижу и пытаюсь решить проблему с паролем, который должен будет вбивать пользователь в настройках программы. Хочу сохранить его в файле конфигурации на диске. Нужно както видимо его шифрануть... придумал свой шифр-на-коленке. Шифр не работает. все задолбало. прогулялся. подумал... Возникла мысль, а нахрена я вообще этой проблемой задался?? оно мне сейчас денег принесет? от этого глупого шифрования данных, какойто глупой программки зависит заработаю я миллионы или нет??? Помоему если даже кто-то когдато заметит что пароль не шифруется, то это будет 1-2% пользователей, но тогда возможно будут бабки и желание чтото прикрутить и доделать качественно....

Я правильно рассуждаю?

А если серьезно, то меня беспокоит то, что когда я начинаю программировать, то я начинаю работать против себя, против своих доходов. Я решаю проблемы, которые вообще решать не нужно или покрайней мере не сейчас. Ну сделаю я шифрование паролей или более быструю загрузку данных, ну а если не получится продать и загнется проект? Зато буду бить себя в грудь и кричать, что я сделал крутую криптозащиту конфиг файла несуществующего пользователя?

Нет ну если я работаю в компании Google, то стыдно не задаться вопросом оптимизации на стадии Альфа идеи, но если я хочу тупа срубить бабло, оно ведь не нужно?

А как у вас? Как вы программируете? Вам не мешают инженерные-мозги? Неужели я один такой?
Re: Как вы программируете?
От: Anpek  
Дата: 22.07.11 11:36
Оценка: 1 (1)
Здравствуйте, Аноним, Вы писали:

Необходимо определиться, ЧЕТКО!, что будет в первой версии. Что должно быть и что из этого будет приносить деньги. И делать ТОЛЬКО это. Не отвлекаться ни на что другое. Будут мысли типа "ой, блин, крутая фишка, дай-ка и её прикручу" — гони нафиг такие мысли или записывай куда-нить.
Re[2]: Как вы программируете?
От: C0x  
Дата: 22.07.11 11:46
Оценка:
Здравствуйте, Anpek, Вы писали:

A>Здравствуйте, Аноним, Вы писали:


A>Необходимо определиться, ЧЕТКО!, что будет в первой версии. Что должно быть и что из этого будет приносить деньги. И делать ТОЛЬКО это. Не отвлекаться ни на что другое. Будут мысли типа "ой, блин, крутая фишка, дай-ка и её прикручу" — гони нафиг такие мысли или записывай куда-нить.


Не всегда можно ЧЕТКО определить, что должно быть в первой версии. Например, я сначало, в голове составляю примерную "зарисовку" того что будет и как заработать. Потом сажусь писать код. По мере написания, возникают необходимости чтото убрать, чтото добавить. Базовая "зарисовка" проекта не меняется, но технологические моменты легко. Причем пока идет разработка продукта, могут возникать внешние обстоятельства требующие пересмотра изначальных планов. Железных планов для стартапа быть не может
Re: Как вы программируете?
От: Pzz Россия https://github.com/alexpevzner
Дата: 22.07.11 11:54
Оценка: 1 (1) +1
Здравствуйте, Аноним, Вы писали:

А>А если серьезно, то меня беспокоит то, что когда я начинаю программировать, то я начинаю работать против себя, против своих доходов. Я решаю проблемы, которые вообще решать не нужно или покрайней мере не сейчас. Ну сделаю я шифрование паролей или более быструю загрузку данных, ну а если не получится продать и загнется проект? Зато буду бить себя в грудь и кричать, что я сделал крутую криптозащиту конфиг файла несуществующего пользователя?


Ну вы можете, конечно, наступить на горло собственной песне , и выпустить первую версию, которая ничего не шифрует, ничего не оптимизирует и вообще делает все так, как вы "для себя" бы не сделали.

Вопросов два:
1. Вам не противно будет делать то, что вы считаете откровенной халтурой?
2. Сможете ли вы потом сделать "правильно", или рука уже привыкнет делать побыстрее, в ущерб качеству?

Собственно, выбор у вас простой: срубить бабла побольше, или работать так, как вам приятно. Вопрос в том, не будете ли вы потом жалеть, сидя на мешке с баблом, что всю жизнь занимались не тем, чем хотели?
Re: Как вы программируете?
От: Grayscaler Россия  
Дата: 22.07.11 11:56
Оценка:
Здравствуйте, Аноним, Вы писали:

А>А как у вас? Как вы программируете? Вам не мешают инженерные-мозги? Неужели я один такой?


Так поначалу вообще важно как можно быстрее наваять работающий прототип. Неидеальный, но выполняющий что от него требуется. Когда стоит именно такая цель — мозги не мешают
Re[2]: Как вы программируете?
От: VladFein США  
Дата: 22.07.11 12:00
Оценка: 1 (1) +1 :)
Здравствуйте, Pzz, Вы писали:

жалеть? на мешке? с баблом?
Re[2]: Как вы программируете?
От: C0x  
Дата: 22.07.11 12:27
Оценка:
Где-то уже слышал, что "для себя" в бизнесе всетаки не прокатит. Нужно решать чью-то проблему. Шифрование паролей может не быть этой самой проблемой, которая на первый взгляд самому таковой кажется.

Pzz>Вопросов два:

Pzz>1. Вам не противно будет делать то, что вы считаете откровенной халтурой?

Иногда противно заниматься тем, что не приводит к поставленной цели

Pzz>2. Сможете ли вы потом сделать "правильно", или рука уже привыкнет делать побыстрее, в ущерб качеству?


Можно будет потом купить хороших инженеров и переписать все с нуля. Но до этого нужно прощупать почву, а будет ли на что их потом купить?

Pzz>Собственно, выбор у вас простой: срубить бабла побольше, или работать так, как вам приятно. Вопрос в том, не будете ли вы потом жалеть, сидя на мешке с баблом, что всю жизнь занимались не тем, чем хотели?


Такой вопрос даже не стоит помоему
Re: Как вы программируете?
От: funikov  
Дата: 22.07.11 12:30
Оценка: +1 :))
Здравствуйте, Аноним, Вы писали:

А>Сижу "программирую" очередной проект-идею. Начиналось все как обычно, возникла идея, продумал стратегию маркетинга и извлечения доходов. все прекрасно, глаза загорелись, настроение приподнятое.


А>Спустя неделю...


А>С утра, сижу и пытаюсь решить проблему с паролем, который должен будет вбивать пользователь в настройках программы. Хочу сохранить его в файле конфигурации на диске. Нужно както видимо его шифрануть... придумал свой шифр-на-коленке. Шифр не работает. все задолбало. прогулялся. подумал... Возникла мысль, а нахрена


А>А как у вас? Как вы программируете? Вам не мешают инженерные-мозги? Неужели я один такой?


Не волнуйтесь, если "свой шифр-на-коленке" не работает, то у вас нет никаких инженерных мозгов. Бросьте это дело, займитесь чем-нибудь другим, танцами например.
Re[2]: Как вы программируете?
От: ishare  
Дата: 22.07.11 12:51
Оценка: 1 (1) +1
Здравствуйте, Pzz, Вы писали:

Pzz>Ну вы можете, конечно, наступить на горло собственной песне , и выпустить первую версию, которая ничего не шифрует, ничего не оптимизирует и вообще делает все так, как вы "для себя" бы не сделали.


Не, лучше не так. Сидишь и два года пишешь супер программу, которая, как потом выясняется, вообще никому не нужна.
"Инженерные мозги" это главная беда шароварщика, т.к. заставляют делать не то за что заплатят, а то что интересно. Надо, как уже сказали, сделать прототип как можно быстрее и начать его раскручивать. Только так можно оценить реальный интерес аудитории. Еще лучше вообще с сайта начать, а не с программы.
Re[3]: Как вы программируете?
От: newus  
Дата: 22.07.11 13:18
Оценка:
I>"Инженерные мозги" это главная беда шароварщика, т.к. заставляют делать не то за что заплатят, а то что интересно. Надо, как уже сказали, сделать прототип как можно быстрее и начать его раскручивать. Только так можно оценить реальный интерес аудитории.

Истину глаголите!

А ГОРЕ ОТ УМА ПРОХОДИЛИ ?!! Вотс...


I>Еще лучше вообще с сайта начать, а не с программы.


Ну да ?!!

Может с маркетинга ?
Re[3]: Как вы программируете?
От: Pzz Россия https://github.com/alexpevzner
Дата: 22.07.11 13:46
Оценка: 6 (1)
Здравствуйте, ishare, Вы писали:

Pzz>>Ну вы можете, конечно, наступить на горло собственной песне , и выпустить первую версию, которая ничего не шифрует, ничего не оптимизирует и вообще делает все так, как вы "для себя" бы не сделали.


I>Не, лучше не так. Сидишь и два года пишешь супер программу, которая, как потом выясняется, вообще никому не нужна.


А на другом полюсе — пишете вы за полторы недели программу, которая пользуется бешеным спросом. Одна беда, она постоянно падает, тормозит и нихрена не работает. И пока вы ее доводите до ума (начиная каждый рабочий день с разгребания почтового ящика, полного жалоб пользователей), вы преобретаете прочную репутацию производителя некачественного товара. А ваши конкуренты, тем временем, содрав у вас идею, выпускают работающий аналог. В результате они обогащаются, а вы сидите и кусаете локти.

Мораль: все хорошо вмеру, и истина — она где-то посередине между крайностями.
Re[4]: Как вы программируете?
От: C0x  
Дата: 22.07.11 13:50
Оценка: +2
Здравствуйте, Pzz, Вы писали:

Pzz>А на другом полюсе — пишете вы за полторы недели программу, которая пользуется бешеным спросом. Одна беда, она постоянно падает, тормозит и нихрена не работает. И пока вы ее доводите до ума (начиная каждый рабочий день с разгребания почтового ящика, полного жалоб пользователей), вы преобретаете прочную репутацию производителя некачественного товара. А ваши конкуренты, тем временем, содрав у вас идею, выпускают работающий аналог. В результате они обогащаются, а вы сидите и кусаете локти.


Если программа пользуется Бешеным спросом, то пора подтягивать инвестиции, нанимать инженеров и переписывать все с нуля и как надо.

Pzz>Мораль: все хорошо вмеру, и истина — она где-то посередине между крайностями.


Это Точно!
Re: Как вы программируете?
От: Brice Tribbiani Россия http://vzaguskin.github.io
Дата: 22.07.11 14:11
Оценка: 1 (1)
Здравствуйте, Аноним, Вы писали:

А>А как у вас? Как вы программируете? Вам не мешают инженерные-мозги? Неужели я один такой?


Если кодить с настроем "тупо срубить бабла", вряд-ли что хорошее выйдет. Лучше стремиться сделать хорошо. Плохо само получится

Проблема концентрации усилий не на том, что важно, естественно у всех бывает. Решение тут наверно одно — разобраться для себя, что действительно важно, а что рюшечки. Желательно список составить. И смотреть его в начале каждого рабочего дня.

Приоритетными фичами заниматься регулярно и дисциплинированно. Остальным — по настроению, если уж очень хочется, но не слишком часто.

А пароль зашифруй пока xor-ом, будет настроение — вернешься, и додебажишь
хотел уже на боковую
папаху снял и сапоги
но в комментариях проснулись
враги
Re[2]: Как вы программируете?
От: lozzy  
Дата: 22.07.11 14:51
Оценка:
Здравствуйте, funikov, Вы писали:

А>>А как у вас? Как вы программируете? Вам не мешают инженерные-мозги? Неужели я один такой?


F>Не волнуйтесь, если "свой шифр-на-коленке" не работает, то у вас нет никаких инженерных мозгов. Бросьте это дело, займитесь чем-нибудь другим, танцами например.


Какая нелепость. Не все зациклены на алгоритмах (я бы даже сказал, что таких меньшинство), кому-то надо и формочки выпиливать.
Re: Как вы программируете?
От: share_profi  
Дата: 22.07.11 17:20
Оценка: 9 (1) :)))
Здравствуйте, Аноним, Вы писали:

А>А как у вас? Как вы программируете? Вам не мешают инженерные-мозги? Неужели я один такой?


ИМХО, программы писать надо правильно. То, что вы не довели до ума какой-то там шифр — это говорит не в вашу пользу. Вообще, любую новую задачу/программу нужно начинать с написания нового и обязательно своего компилятора. Как по мне, то 5-10 своих компиляторов в новом продукте это есть очень гуд. Если есть настроение, можно еще включить еще парочку своих файловых систем — имеющиеся к сожалению не идеальны. Потом можно переписать STL/QT/Delphi и т.д. — и только потом браться за логику самого приложения. Код писать нужно так, как буд-то вы наемный разработчик и боитесь, чтобы вас не уволили — никто в нем нихрена не должен понимать. Всем известно, что шаблоны с меньше чем 8-мю параметрами используют только лохи. В свободное от написания время можно подрочить в туалете на основателей опенсорса. Это и есть секрет успешного коммерческого продукта
Re[4]: Как вы программируете?
От: CEMb  
Дата: 22.07.11 17:33
Оценка: :)
Здравствуйте, Pzz, Вы писали:

Pzz>А на другом полюсе — пишете вы за полторы недели программу, которая пользуется бешеным спросом. Одна беда, она постоянно падает, тормозит и нихрена не работает.


А на третьем полюсе — вы пишите программу за один-три дня, всё здорово, ни падает, ни тормозит, всё работает, все рады. Одна беда — никто не купит.
А ещё, когда количество трафика и радостных отзывов и пожеланий подкупает, то вы переползаете на полюс №1
Re: Как вы программируете?
От: J_K  
Дата: 22.07.11 17:36
Оценка: 2 (2) +1
Здравствуйте, Аноним, Вы писали:

А>Сижу "программирую" очередной проект-идею. Начиналось все как обычно, возникла идея, продумал стратегию маркетинга и извлечения доходов. все прекрасно, глаза загорелись, настроение приподнятое.


А>Спустя неделю...


А>С утра, сижу и пытаюсь решить проблему с паролем, который должен будет вбивать пользователь в настройках программы. Хочу сохранить его в файле конфигурации на диске. Нужно както видимо его шифрануть... придумал свой шифр-на-коленке. Шифр не работает. все задолбало. прогулялся. подумал... Возникла мысль, а нахрена я вообще этой проблемой задался?? оно мне сейчас денег принесет? от этого глупого шифрования данных, какойто глупой программки зависит заработаю я миллионы или нет??? Помоему если даже кто-то когдато заметит что пароль не шифруется, то это будет 1-2% пользователей, но тогда возможно будут бабки и желание чтото прикрутить и доделать качественно....


А>Я правильно рассуждаю?


Нет, неправильно.
Если это хорошая и полезная фича, ее надо обязательно сделать. Но потом. И хорошо, и чтобы работала. И когда вы ее сделаете, то, выпустив очередной релиз, крупными буквами напишете "Шифрование пароля" и тогда ее заметят. Можно также в блоге статейку набросать.
Сейчас эта фича не нужна, запишите ее в список задач и поставьте более низкий приоритет.

Если вы считаете свою программку глупой, то лучше тогда ей вообще не заниматься. И да, если хотите заработать миллион, то придется и шифрование реализовывать и разные другие штуки. Но если вас тошнит от того, что вы делаете, может, вы вообще зря выбрали программирование? Мне вот интересно кодить, искать решения, при этом я осознаю, что на поиски может уйти энное количество времени, а раз так, то надо четко распределять, что сделать сейчас, а что потом. А если вам неинтересно и если вы хотите получить результат тут же, и когда не получается, у вас сразу опускаются руки — может, ну ее, эту шаровару, в баню?

А>А если серьезно, то меня беспокоит то, что когда я начинаю программировать, то я начинаю работать против себя, против своих доходов. Я решаю проблемы, которые вообще решать не нужно или покрайней мере не сейчас. Ну сделаю я шифрование паролей или более быструю загрузку данных, ну а если не получится продать и загнется проект? Зато буду бить себя в грудь и кричать, что я сделал крутую криптозащиту конфиг файла несуществующего пользователя?


Эта проблема решается просто — по мере разработки тщательно распределяйся задачи по приоритетам. В первом релизе важно сделать только главную функциональность, которая, тем не менее, будет как-то отличать вас от конкурентов. Рюшечки можно и после навесить.

А>Нет ну если я работаю в компании Google, то стыдно не задаться вопросом оптимизации на стадии Альфа идеи, но если я хочу тупа срубить бабло, оно ведь не нужно?


Так вы только бабла хотите...эээ уважаемый форумом ошиблись... вам тогда в торговлю, а не в шаровару...

А>А как у вас? Как вы программируете? Вам не мешают инженерные-мозги? Неужели я один такой?


Инженерные мозги не мешают при правильно поставленных целях, правильно распределенных задачах и желании не только заработать бабла, но и сделать что-то полезное.
Life is very short and there's no time
for fussing and fighting... (C) Paul McCartney & John Lennon
Re[3]: Как вы программируете?
От: CEMb  
Дата: 22.07.11 17:45
Оценка:
Здравствуйте, ishare, Вы писали:

Pzz>>Ну вы можете, конечно, наступить на горло собственной песне , и выпустить первую версию, которая ничего не шифрует, ничего не оптимизирует и вообще делает все так, как вы "для себя" бы не сделали.


I>Не, лучше не так. Сидишь и два года пишешь супер программу, которая, как потом выясняется, вообще никому не нужна.

I>"Инженерные мозги" это главная беда шароварщика, т.к. заставляют делать не то за что заплатят, а то что интересно.

А делать то, что неинтересно, и за что платят — добро пожаловать на наёмную работу!
Надо совмещать интересное с полезным

I>Надо, как уже сказали, сделать прототип как можно быстрее и начать его раскручивать. Только так можно оценить реальный интерес аудитории. Еще лучше вообще с сайта начать, а не с программы.


Про сайт не уверен (тока чтоб пауки пожевали — ага), а про как можно быстрее первую версию — это да!!!
Причём тут есть один ОЧЕНЬ важный момент, про который я уже где-то тут писал: первые быстрые версии, как правило:
— имеют очень простой и понятный интерфейс
— очень простой и (скорее всего) не глючный функционал
Юзеры очень быстро втыкаются в такую программу, подсаживаются, и на следующие версии уже переходят проще, чем если бы садились с нуля на 2 года "додумываемую" программищу.

PS. Я вот сёдня дописал свою новую программу, которую давно планировал, но никак не мог собраться...
В ней всего одно окно, и на нём одна кнопка.
Re: Как вы программируете?
От: AnonThisTime  
Дата: 22.07.11 20:21
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Сижу "программирую" очередной проект-идею. Начиналось все как обычно, возникла идея, продумал стратегию маркетинга и извлечения доходов. все прекрасно, глаза загорелись, настроение приподнятое.


А>А как у вас? Как вы программируете? Вам не мешают инженерные-мозги? Неужели я один такой?


Автор, почитайте ReWork (только прочитайте пару раз, сразу, если так не работал, не вкуришь) и такие вопросы отпадут сами собой.
Если кратко:
* не уделять внимание деталям в начале проекта. "Детали" тут понятие растяжимое и с некоторым я не согласен, но доля правды 100% есть.
* делать наброски вместо детальных планов, которые потом могут не понадобиться.
* делать только то, что принесет пользу проекту! Феньки на потом.
* и т.п.

Даже имея опыт в разработке, книженция могзи вправляет отлично тем, что возвращает из своего мирка "мой проект Гугл 2.0" в реальность.
Re[4]: Как вы программируете?
От: Matrix_Failure http://matrixfailure.wordpress.com/
Дата: 22.07.11 21:23
Оценка: 4 (2)
Здравствуйте, newus, Вы писали:


I>>Еще лучше вообще с сайта начать, а не с программы.


N>Ну да ?!!

N>Может с маркетинга ?

Нет, вообщето надо начинать с сателлита

Прощу прощения за длинный и пространный текст, но вот решил таки поделиться.

Я начал с выбора области в которой я буду делать программу. Критерии выбора области были такие: пересечение с моим профессиональным опытом, растущий рынок (до этого я неудачно пробовал делать продукт для рынка на спаде) и относительная изолированность от основной массы программистов.

Первое что я стал делать после выбора области — стал делать сайт-сателлит (СДЛ) по выбранной области и параллельно нащупывать неудовлетворенную потребность рынка в ней.
Так я подходил к идее конкретной задачи которую нужно решать.

Причем, тут торопиться не надо.
Идея, что пришла мне первой, оказалось неудачной, хорошо что я потратил на неё всего несколько дней. На данном этапе лень помогает не делать ненужной ерунды.
Т.е. идея была довольно тривиальной, и вскоре появилась просто толпа конкурентов, при очень большой трудоёмкости. И теперь эти конкуренты как тараканы в банке пожирают прибыли друг у друга, демпингуют и просаживают бюджеты на развитие — вообщем у них там "Ад, просто Ад".

Потихоньку я пришел к идее №2 типа B2B которая лежит в стороне от идеи№1 и начал потихоньку программировать.

Когда у меня уже была готова первая минимально полезная версия программы "Идея№2" у меня давно был готов раскрученный сайт сателлит для привлечения первых посетителей. Т.е. не пришлось кричать в пустоту в поисках early adopters.

И я считаю что это было правильно.

Потом я делал неуверенные шаги пытаясь понять куда надо двигаться дальше. Слушал сеть, анализировал что люди ищут, каждый день смотрел статистику заходов на сайт программы и на сателлит.
Списывался с первыми клиентами, пытался понять что им нужно — а также думал над тем что им реально нужно, и о чём они не знают

И программа от идеи №2 приходит к идее №3, а идея№2 становится лишь небольшой составляющей идеи №3.


На определенном этапе у меня возникло вИдение, как должна выглядеть программа. И я долго вытёсывал из программного кода тот образ что уже созрел в голове.
Что интересно, оказалось, что в области идеи№3 уже был один старый игрок — лидер. С которым конкурировали только несколько кривых фривар.

Перед тем как делать свой продукт, лучше всего, чтобы у начинающих шароварщиков накопился определенный background. Мне с ним повезло:
До начала своей программы мне посчастливилось активно поучаствовать в качестве и программиста и руководителя в создании и продвижении большого, и как оказалось в последствии, успешного коммерческого продукта работая на дядю.
Также мне удалось поработать за границей, т.е. и подтянуть английский язык, и приобрести опыт общения с западными людьми (разница в менталитете есть и очень существенная).
Мне посчастливилось увидеть как работают нескольких успешных компаний, создавших свои продукты с нуля.

И поэтому я не особенно опасался конкуренции. Т.к. я уверен, что мой background сильнее. И что характерно, на определенном этапе, главный конкурент начал тупо копировать мои фичи, маркетинговые ходы и ценообразование.

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

Когда в книгах о стратапах пишут об эмоциональных "американских горках" то не врут.
Т.е. когда в одно утро ты просыпаешься и понимаешь как всё выходит клёво, а на следующее утро просыпаешся и понимаешь как всё ужасно, а при этом фактически за эти два дня ничего не изменилось.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.