специалиста, знающего С# от и до, абсолютно не знающего про торговлю в инете
Я не представляю, насколько это надо быть… хм… не хочу говорить «тупым»… но — отрешённым — что ли, чтобы не догадаться как может работать продажа на интернет-площадке.
Т.е. Вы представляете сам бизнес-процесс.
Я раньше этим не занимался, но поскольку там всё логично устроено, мне не составило труда разобраться за пару часов. Бизнес-процесс достаточно очевиден, чтобы в нём разобрался любой, у кого с головой всё в порядке.
Т.е. подсознательно Вы уверены, что знать языки не обязательно
Нет, я сознательно уверен, что в программировании знание языка — это не основной навык, основной навык — это моделирование. Не важно, на каком языке ты умеешь программировать. Если ты понимаешь принципы моделирования хотя бы в рамках одной парадигмы, то изучить, например, новый язык (относящийся к этой парадигме) для тебя не составит большого труда. Грубо говоря, если ты знаешь Паскаль, то изучить Яву для тебя не будет особо сложно. Да, первое время будешь нарываться на особенности языка и разбираться с базовыми библиотеками, но это очень быстро всё усваивается при наличии документации. Я, например, очень часто хожу в документацию, если пишу на малознакомом языке, потому что плохо помню подробности работы базовых функций/объектов и т.п.
А вообще, ещё раз: я не юрист, и про авторское право я знаю мало, особенно про доказуемость авторского права, можете обратиться с вашим вопросом к кому-нибудь ещё. Просто я кое-что знаю о свободных лицензиях и, в частности, о GPL, и поэтому решил изложить свои знания в этом посте
Да, я принимаю этот момент во внимание, именно поэтому я в начале написал: «Может кто ответить?»
В любом случае — спасибо. Мои мысли по этому поводу такие же, как у Вас, т.е. Вы их подтвердили — это немного укрепило мою уверенность в своей правоте.
Конечно, если мне реально приспичит решать этот вопрос, я постараюсь найти соответствующего юриста ;)
А мне вот такой вопрос интересен. Может кто ответить?
Я начал разрабатывать проект с другим человеком (от него — основная идея и административное сопровождение, от меня — вся реализация). Через полтора года он организовал компанию, и я устроился к нему по стандартному трудовому договору, в котором никак не освещён вопрос авторских прав на результаты труда, вообще никак. Так проработали еще два года. Потом я официально уволился, но продолжал еще год с ним работать. Никаких других договоров я с ним не подписывал.
Правильно ли я понимаю, что в данном случае авторские права принадлежат нам обоим на равных? Или, учитывая, что он только администрированием занимался, я могу считаться единственным автором? Или всё-таки права принадлежат ему, потому что я в определённый период работал у него официально (хотя и не передавал ему явно свои права)?
Не всегда создание собственного велосипеда хуже чем доработка/починка предыдущего.
Полностью солидарен! Но так же хочу заметить, что написание собственного велосипеда для всего — обычно очень плохая идея. Программисту нужно выполнить вполне определённую задачу в разумные сроки, и если он все велосипеды будет писать сам — они никогда не выполнит целевую задачу.
С другой стороны, если ты математик, ты тоже не станешь с нуля изобретать умножение, интегралы, волновые уравнения и т.п. — ты берёшь придуманное кем-то за основу и от этого пляшешь. Да, ты можешь улучшить и конкретизировать какие-то отдельные участки (для своей задачи или вообще), но тебе не придется всё делать с нуля. В математике так не принято — все достижения математиков очень быстро доходят до остального мира.
Я хочу сказать, что _иногда_ написать свой велосипед — это хорошо, но в большинстве случаев оно является только потерей времени. Именно поэтому наиболее популярны те языки программирования, в которых есть развитая структура готовых библиотек на все случаи жизни, а не мощные и гибкие.
Ну и например linux и bsd, так и не смогли завоевать сердец больше нежели windows и mac os.
Ну, вот, видимо, в этом наше ключевое отличие :)
Я всё-таки верю в Человека, верю в то, что, если избавить лиюдей от материальной мотивации, т.е. от необходимости что-то делать, чтобы получить (хорошие/качественные) пищу, жильё, одежду, медицинское обслуживание, предметы первой необходимости — у них всё равно останется духовная мотивация. Да, многие станут просто бессмысленно существовать как растения, но фигня в том, что они и сейчас этим занимаются… Толку от этих людей примерно столько же, сколько и вреда.
Опять же, если все и так без них делается, то зачем их мотивировать, чтобы они делали что-то?
Конечно, если разом на улицу высыпятся толпы бездельников — это может плохо кончится, но и разом не надо их выпускать, надо сначала подготовить культуру к изобилию. Естественно, современный человек привык к тому, что для выживания ему требуется вкалывать, а если ему дать пожизненную халяву — он тупо просрёт свою жизнь, но это в первую очередь потому, что до тех пор он успел возненавидеть необходимость работать. Но ведь не все такие, есть очень много людей, которым нравится работать, творить, создавать.
У современного человека очень часто почти нет выбора, чем заниматься, потому что, углубившись в определённую профессию, он начинает зарабатывать деньги, а если он решит сменить профессию, то его зарабаток резко упадёт, потому что начинать придётся с нуля, а семью надо кормить. А вот если бы ему не надо было прокормить семью, то и людей, которые не любят свою работу, было бы гораздо меньше. И гораздо больше людей занималось бы творчеством, наукой и т.п.
Много людей таких знаю. Только по факту ни кто абсолютно не может найти нормальную жилу. И основные заказы, это курсовые от студентов, либо самые дешёвые заказы от ларёчников, которые в итоге не могут заплатить
Много людей знаю, у которых всё успешно. И с проектами, и с деньгами у них всё в порядке. Даже пытался некоторых к себе на постоянку перетащить, но они не хотят менять привычный образ жизни.
Можем открыть любой фрилансный сайт и поглядим наполнение его заказами в соотношении с соискателями.
Как это ни удивительно, но помучавшись первые пару месяцев с тем, что тебе неохотно дают проекты, ты поднабираешь портфолио, поднабираешь отзывов и дальше проблемы найти себе проект практически нет. Кстати, я видел достаточное количество проектов, за которые никто не хотел браться, потому что они не совсем стандартные, хотя и вполне адекватные и выполнимые.
Мифы про свой сайт тоже посещают умы молодых людей, но помыкавшись год-два с этим неблагодарным делом и они меняют специализацию, ведь что-бы заработать на совём сайте требуется огромное кол-во денег, либо заниматься просто продажами и то, мало кто выходит за планку в 10 тысяч рублей в месяц за год.
Я лично знаком с 5 человеками, которые меньше, чем за год подняли планку выше 50 тысяч в месяц с нуля, продавая мобильные игры и контент. Двое из них в лучшие времена имели до 300 тысяч в месяц.
Что здесь студент найдёт? Он хоть один тендер выиграет? Конечно выиграет, но только тот, кто следует советам из статьи, в противном случае он завалится только на этапе запроса, потому что заказчику нужны красивые слова, а не знания кодирования.
Расскажу вам как человек, который имеет опыт не только исполнителя на фрилансе, но так же и заказчика.
Заказчики бывают разные. Есть большие и серьёзные заказчики с большими задачами, а есть обычные люди, которым надо «быстренько таймер вставить вон туда». Есть такие, которые точно знают, что им надо, есть такие, которые знают только «мне нужен сайт, чтобы продавать». Есть такие, которые знают, сколько стОит требуемая им работа, другие исходят исключительно из своих фантазий.
Заказчики попроще очень часто ищут не того, кто качественнее сделает, а того, кто дешевле сделает. Совсем не редко бывает, когда один фрилансер предлагает выполнить работу за 3000р., а другой тут же предлагает за 500р. В частности, это еще зависит от того, например, где живёт фрилансер: украинцы обычно просят меньше, чем россияне.
Это целая наука — правильно себя продавать и они совсем ни как не коррелирует с программированием.
Подать себя — это больше талант, чем наука (хотя и наука немножко тоже). Вы правы в том, надо уметь подать себя, однако есть два момента:
1. Если ты умеешь подать себя, но не способен выполнить проект, то проект вернётся к поиску исполнителя, а тебе поставят жирный минус к репутации.
2. Низкая цена предложения не редко выигрывает у умения подать себя.
Поэтому хороший программист так или иначе найдёт себе работу. Вполне возможно, что первое время ему придется поработать за еду, чтобы понабрать репутации, однако чем больше у исполнителя хороших отзывов, тем проще ему получить новые хорошие проекты.
Шанс есть у всех. Не у всех есть способности этим шансов воспользоваться.
В итоге отучившийся человек потеряет пару месяцев на этих ресурсах и пойдёт работать за реальные деньги на завод.
Из моих однокурсников на завод пошли два человека. Остальные нашли себя в совершенно разных областях. В т.ч. во фрилансе и собственных проектах.
Клиенту не важен код, ему самое главное нужно знание предметной области.
Нет, основным навыком любого программиста должно быть умение формализовать и построить модель любого бизнес-процесса, с которым ему придётся столкнуться. Да, в некоторых задачах предметная область требует довольно глубокого погружения, но в большинстве задач вполне достаточно наличие в прямом доступе эксперта в предметной области, который ответит на вопросы, требуемые для создания модели. При контакте с экспертом необходимые знания предметной области обычно набираются программистом в течение первых нескольких месяцев работы в проекте. Подчеркну: есть огромный пласт задач, не требующий специфических знаний в прикладной области, а только общих программистких навыков.
Что это? Да будь ты хоть профессором в кодировании, без представлении механизма регистрации только потратишь время на изобретение самоката.
Понимание принципов систем авторизации входит в джентельменский набор (опять же — любого) программиста, так же как и знание основных алгоритмов сортировки, принципов работы сборщика мусора, отличий между функциональными и процедурными языками, независимо от специализации этого программиста.
Без знаний про готовые механизмы проверки формата емайла будешь изобретать и этот костыль сам. Кому нужен такой изобретатель велосипедов? Думаю ни кому.
Если ты пошёл в программисты и не знаешь, что такое «поисковые системы» — ты зря учился. Такие вещи там находятся в 3 клика. С другой стороны, во многих задачах можно написать коротенький регэксп, который, может, и не отфильтрует все неправильные почтовые адреса, но в большинстве случаев отработает нормально — и этого будет достаточно.
Наименование позиции и реквизиты подтягиваются в счет
Это что? Задача для истинного кодера? Уверен, что если заказчик узнает, что исполнитель даже не представляет себе что такое счёт и какие там нюансы есть, он пошлёт его далеко и на долго.
Тут всё зависит от контекста. Если всё это надо сделать в рамках какого-нить 1С, то, ясное дело, тут придётся поискать специалиста по 1С, а если это какой-нибудь самописный движок, то подойдет любой ПХП-или какой там язык использовали?-программист. А нюансы предметной области обычно без проблем можно уточнить у заказчика — фишка в том, что заказчик, который идёт искать фрилансера, обычно понимает, что требовать у него очень специфических знаний в предметной области — дело бессмысленное.
При чём у них у всех на первом месте стоит знание предметной области, а не программирования.
Нет, далеко не у всех. И у меня складывается ощущение, что Вы не очень правильно понимаете термин «предметная область» к контексте веб-программирования.
При чём за бесценок. И причина крайне низкой цены как раз идёт от того, что соискателей много, а предложений мало
На самом деле, дело обстоит так: да соискателей много, но большинство из них имеют низкую квалификацию, т.е. способны брать только задачи соответствующего уровня. Даже небольшое поднятие планки требований уменьшит количество претендентов в разы. За бесценок тебе сделают работу соответствующего качества и количества. Рынок дешевой низкоквалифицированной рабсилы всегда наполнен — именно поэтому у нас столько гастарбайтеров в стране.
Но хороший программист — это уже специалист, даже если он только что закончил ВУЗ. Любой нормальный программист, который связывает свою жизнь с профессией, уже на 2-4-м курсе начинает так или иначе работать по специальности — либо в рамках научной работы, либо в какой-нибудь компании. Если ты закончил ВУЗ, не сделав хотябы одного средней руки проектика — зачем ты вообще там учился?
И первый и второй и третий вариант заведомо провальны без знаний предметной области и абсолютно ни как не зависят от знаний программирования.
Вот вам совершенно конкретный мой личный пример:
несколько месяцев назад я уволился со старой работы, не найдя предварительно новую, поэтому решил, пока буду искать новую работу, побаловаться пока фрилансом.
Вот список некоторых проектов, которые я выполнил за это время:
Написать скрипт на PHP, который будет принимать музыкальные данные в формате MusicXML, транспонировать (поднять/опустить) на заданное количество тонов и генерировать новый MusicXML.
Стоит ли говорить, что знания в предметной области у меня были минимальны — чуть больше, чем до-ре-ми-фа-соль-ля-си, но их было в любом случае не достаточно? Однако заказчик был музыкантом, поэтому все вопросы мы решили с ним вместе.
Написать скрипт на неизвестном языке для игры-форка от Perfect World, который позволит игрокам менять у выбранного NPC одни предметы на другие по нужному курсу
Я так и не понял, что это был за язык. Сначала подумал, что Lua, но синтаксис, вроде, другой… В Perfect World я никогда не играл, а уж скрипты увидел первый раз в жизни. В любом случае, задача была выполнена успешно. Подробности устройства игры узнал у заказчика (который ни разу вообще не программист).
Дописать бота (юзер-интерфейс и поведение), написанного на C#, дабы увеличить эффективность его работы/использования. Бот предназначен для мгновенной покупки вещей в steamcommunity при появлении нужного лота.
Я совсем не знаток C# — так, написал несколько программок когда-то давно, и под веб, а не под десктоп. Как работает steamcommunity — узнавал у заказчика по мере необходимости.
Сделать копию чужого одностраничника, заменить контент, нарисовать новые иконки, заменить фоновые картинки, подправить дизайн.
Вёрстка не мой конёк, но в целом, как что работает я знаю, Гугл помог, где не хватало знаний.
Для сайта, продающего шкафы, сделать онлайн-конструктор с подсчетом конечной стоимости и заказом.
Хотели на Flash, но я с ним очень давно не работал, поэтому переубедил — сделали на HTML5. В шкафах я разбираюсь примерно так же, как в нотной грамоте.
Написать парсер указанного списка сайтов, который «стянет» с них данные по определённым продуктам, и залить всё это дело в БД.
Написал на PHP.
Добавить на сайт таймер, который будет отсчитывать определённое время с учётом местного (для пользователя) времени.
Таймер взял готовый, подправил, где надо — вуаля.
Почистить WordPress-сайт от вируса, заткнуть дыры, чтобы больше не лезли.
Никогда не работал с WP, что не помешало.
В результате: отсутствие знаний в предметной области мне ни разу не помешало успешно выполнить проект. Со всеми заказчиками я поддерживаю личный контакт — время от времени они мне подкидывают дополнительные задачи.
Я абсолютно убеждён, что покупка внутриигровых ценностей, которые абсолютно никак не влияют на игровой процесс — это донат. И те мои знакомые, которые делают подобные покупки, рассматривают это как донат.
Я уже множество раз говорил, но вижу, что люди мыслят инертно, поэтому еще раз подчеркну: вы рассматриваете ситуацию в нынешнем контексте — когда люди вообще не приучены донатить — культура доната отсутствует, потому что с человека везде _требуют_ деньги, а значит, когда за что-то можно не платить он не будет платить, потому что уже потратил деньги на то, за что нельзя не платить. Так устроена психология человека. Я говорю не о том, что надо взять и всё разом поменять, и всех надо пересадить на донат, я говорю о том, что надо менять ситуацию, чтобы однажды это стало возможным.
Я предлагаю ему обеспечить себе каким-либо образом стабильный интернет и — фрилансить-фрилансить-фрилансить.
Знаете, какие самые популярные задачи на фрилансах? Сверстать одностраничник, сделать интернет-магазин, спарсить сайт конкурента, сверстать сайт-визитку Ворд-Пресс и т.п. Работы такой — хоть отбавляй. Потратив 3-4 месяца на самобучение в области адаптивной кроссбраузерной CSS-вёрстки, нескольких популярных CMS и _основ_ JS и PHP — ты будешь просто нарасхват.
Если еще освоишь jquery и вёрстку шаблонов под популярные CMS — у тебя продыху не будет вообще в работе.
Набравшись опыта в области разработки сайта, можно спокойно найти себе постоянный проект со стабильным доходом и не слишком напряжным графиком и дальше выбирать, куда хочешь развиваться — в серверное программирование, в клиентское или, вообще, сделать собственный сайт, на котором и зарабатывать.
Никаких абстраций. Я говорю абсолютно конкретно — я видел это множество раз.
Нет, ему вообще не обязательно куда-то «идти».
Ему достаточно открыть браузер, найти там какой-нибудь фрилансим.ру, поделать мелкие проектики (да, первое время придётся подзатянуть пояс), получить опыт. Рано или поздно, при должном старании, надётся заказчик, который подцепит его надолго, потом еще один, потом вообще к себе на постоянку позовут и — вуаля.
Есть вариант посложнее: пока еще родители еще помогают финансово, заняться каким-нибудь популярным опен-сорс проектом, показать себя, опыт получить, потом уже идти в проекты как опытный программист, а не начинающий.
Самый сложный варинт: придумать собственный стартапчик (особенно хорошо, если с друзьями), попытаться на нём заработать. Не получится заработать — опыт всё-равно нехилый.
Тут от прям везения-везения мало чего зависит. Определяющие параметры — это насколько человек целеустремлён и насколько он талантлив. А если ты бесталанный или полный разгильдяй, то, может, и нечего тебе в индустрии ПО делать?..
А я считаю так: талантливый программист ВСЕГДА найдёт себе достойную работу, причём независимо от того, где он живёт. Я, например, не фрилансер, но уже 5 лет, как работаю из дома, я свободен в перемещении и графике. Закрыв один проект я без проблем перехожу на другой, потому что у меня есть опыт, который позволяет в любое время найти проект соответствующий моим возможностям и потребностям.
Чтобы программист нашел себе работу, достаточно иметь мозг на плечах и интернет — остальное приложится.
Планирование планированию — рознь.
В хорошо спланированной системе не обязательно должны быть учтены все будущие возможности, а тем более бизнес-процессы. Хорошо спланированная система должна быть устроена так, чтобы большинство изменений (которые можно предвидеть) в бизнес-процессах требовали минимального вмешивательства в код, т.е. в него заложена определённая гибкость, которая, конечно, зависит от предметной области.
Учитывая, что такой подход в той конторе сохраняется до сих пор… Видимо, не достаточно огорчён.
Я лично считаю, что надо делать не упор, а надо каждый раз выбирать стратегию в зависимости от целей. Например, если ты пишешь сайт-одностраничник, который ты один раз написал и никогда возвращаться не будешь к нему, то тут важно, как быстро ты это сделаешь, а не как качественно.
А вот если ты пишешь сложную систему, которую ты будешь поддерживать не один год — тут обязательно долгосрочное планирование, чистый код и юнит-тесты.
Я не согласен.
Мне приходилось работать в конторе, которая пишет свой софт больше 10 лет.
Пока я работал с небольшими программками, которые, там, таблички рисуют, отчётики — я, конечно, поплёвывался, но, в принципе, сойдёт (если не считать того случая, когда кто-то очень умный в рантайме перезаписывал значение константы — в Дельфи такое можно — и я потом целый день никак не мог понять, почему программа то падает, то не падает).
Но вот однажды мне пришлось столкнуться с большой — одной из базовых — компонентой. С момента её написания прошло года 4, наверное. Автор её уволился через месяц, как я устроился. Мне надо было всего лишь исправить небольшой баг и добавить небольшую фичу — я МЕСЯЦ курил бамбук над этим кодом, чтобы хотябы в общих чертах понять, что он делает, причём два дня из этого месяца мы сидели вместе с автором — он так и не смог исправить баг, потому что сам забыл, чего он тут наваял.
Второй раз был еще веселее: жила была очень специфическая утилита, которая тоже писалась года за 3-4 до моего появления (ну, и дописывалась в остальное время). В неё надо было добавить новой фунциональности процентов на 20 от существующей. До меня её год мучал другой мой коллега, но вообще без результатов. Затем её отдали мне. Первые три месяца я честно пытался понять, что там происходит, но отсутствие кого-либо, кто понимает, как оно работает, обилие ctrl+C-ctrl+V, отсутствие комментариев, абсолютно непрозрачная структура кода… В общем, проблему пришлось решать кардинально: я взял весь код, который касался моей задачи и переписал выстраивая логику и структуру. В результате я понял, как всё это работать должно… НО! Я потратил на эту фигню 8 месяцев: 3 месяца пытался «читать» и 5 месяцев переписывал. В результате, при наличии вменяемого ТЗ я бы ту же работу сделал бы с нуля месяца за 4. Т.е. компания на этой утилите потратила 4 прогораммисто-месяца просто потому, что в этой компании «всем плевать на красоту кода». После меня её ещё допиливал другой программист — он был счастлив и очень сильно меня благодарил, что я ему оставил такой понятный код.
Я не представляю, насколько это надо быть… хм… не хочу говорить «тупым»… но — отрешённым — что ли, чтобы не догадаться как может работать продажа на интернет-площадке.
Я раньше этим не занимался, но поскольку там всё логично устроено, мне не составило труда разобраться за пару часов. Бизнес-процесс достаточно очевиден, чтобы в нём разобрался любой, у кого с головой всё в порядке.
Нет, я сознательно уверен, что в программировании знание языка — это не основной навык, основной навык — это моделирование. Не важно, на каком языке ты умеешь программировать. Если ты понимаешь принципы моделирования хотя бы в рамках одной парадигмы, то изучить, например, новый язык (относящийся к этой парадигме) для тебя не составит большого труда. Грубо говоря, если ты знаешь Паскаль, то изучить Яву для тебя не будет особо сложно. Да, первое время будешь нарываться на особенности языка и разбираться с базовыми библиотеками, но это очень быстро всё усваивается при наличии документации. Я, например, очень часто хожу в документацию, если пишу на малознакомом языке, потому что плохо помню подробности работы базовых функций/объектов и т.п.
Да, я принимаю этот момент во внимание, именно поэтому я в начале написал: «Может кто ответить?»
В любом случае — спасибо. Мои мысли по этому поводу такие же, как у Вас, т.е. Вы их подтвердили — это немного укрепило мою уверенность в своей правоте.
Конечно, если мне реально приспичит решать этот вопрос, я постараюсь найти соответствующего юриста ;)
Я начал разрабатывать проект с другим человеком (от него — основная идея и административное сопровождение, от меня — вся реализация). Через полтора года он организовал компанию, и я устроился к нему по стандартному трудовому договору, в котором никак не освещён вопрос авторских прав на результаты труда, вообще никак. Так проработали еще два года. Потом я официально уволился, но продолжал еще год с ним работать. Никаких других договоров я с ним не подписывал.
Правильно ли я понимаю, что в данном случае авторские права принадлежат нам обоим на равных? Или, учитывая, что он только администрированием занимался, я могу считаться единственным автором? Или всё-таки права принадлежат ему, потому что я в определённый период работал у него официально (хотя и не передавал ему явно свои права)?
Полностью солидарен! Но так же хочу заметить, что написание собственного велосипеда для всего — обычно очень плохая идея. Программисту нужно выполнить вполне определённую задачу в разумные сроки, и если он все велосипеды будет писать сам — они никогда не выполнит целевую задачу.
С другой стороны, если ты математик, ты тоже не станешь с нуля изобретать умножение, интегралы, волновые уравнения и т.п. — ты берёшь придуманное кем-то за основу и от этого пляшешь. Да, ты можешь улучшить и конкретизировать какие-то отдельные участки (для своей задачи или вообще), но тебе не придется всё делать с нуля. В математике так не принято — все достижения математиков очень быстро доходят до остального мира.
Я хочу сказать, что _иногда_ написать свой велосипед — это хорошо, но в большинстве случаев оно является только потерей времени. Именно поэтому наиболее популярны те языки программирования, в которых есть развитая структура готовых библиотек на все случаи жизни, а не мощные и гибкие.
Вот вам пример одного из рейтингов:
alb-c.ru/raiting-top-os-2014
Рассмотрим первые места:
Что Вы там говорили про «сердца»? :)
Я всё-таки верю в Человека, верю в то, что, если избавить лиюдей от материальной мотивации, т.е. от необходимости что-то делать, чтобы получить (хорошие/качественные) пищу, жильё, одежду, медицинское обслуживание, предметы первой необходимости — у них всё равно останется духовная мотивация. Да, многие станут просто бессмысленно существовать как растения, но фигня в том, что они и сейчас этим занимаются… Толку от этих людей примерно столько же, сколько и вреда.
Опять же, если все и так без них делается, то зачем их мотивировать, чтобы они делали что-то?
Конечно, если разом на улицу высыпятся толпы бездельников — это может плохо кончится, но и разом не надо их выпускать, надо сначала подготовить культуру к изобилию. Естественно, современный человек привык к тому, что для выживания ему требуется вкалывать, а если ему дать пожизненную халяву — он тупо просрёт свою жизнь, но это в первую очередь потому, что до тех пор он успел возненавидеть необходимость работать. Но ведь не все такие, есть очень много людей, которым нравится работать, творить, создавать.
У современного человека очень часто почти нет выбора, чем заниматься, потому что, углубившись в определённую профессию, он начинает зарабатывать деньги, а если он решит сменить профессию, то его зарабаток резко упадёт, потому что начинать придётся с нуля, а семью надо кормить. А вот если бы ему не надо было прокормить семью, то и людей, которые не любят свою работу, было бы гораздо меньше. И гораздо больше людей занималось бы творчеством, наукой и т.п.
В общем, у всякой медали две стороны.
Много людей знаю, у которых всё успешно. И с проектами, и с деньгами у них всё в порядке. Даже пытался некоторых к себе на постоянку перетащить, но они не хотят менять привычный образ жизни.
Как это ни удивительно, но помучавшись первые пару месяцев с тем, что тебе неохотно дают проекты, ты поднабираешь портфолио, поднабираешь отзывов и дальше проблемы найти себе проект практически нет. Кстати, я видел достаточное количество проектов, за которые никто не хотел браться, потому что они не совсем стандартные, хотя и вполне адекватные и выполнимые.
Я лично знаком с 5 человеками, которые меньше, чем за год подняли планку выше 50 тысяч в месяц с нуля, продавая мобильные игры и контент. Двое из них в лучшие времена имели до 300 тысяч в месяц.
Расскажу вам как человек, который имеет опыт не только исполнителя на фрилансе, но так же и заказчика.
Заказчики бывают разные. Есть большие и серьёзные заказчики с большими задачами, а есть обычные люди, которым надо «быстренько таймер вставить вон туда». Есть такие, которые точно знают, что им надо, есть такие, которые знают только «мне нужен сайт, чтобы продавать». Есть такие, которые знают, сколько стОит требуемая им работа, другие исходят исключительно из своих фантазий.
Заказчики попроще очень часто ищут не того, кто качественнее сделает, а того, кто дешевле сделает. Совсем не редко бывает, когда один фрилансер предлагает выполнить работу за 3000р., а другой тут же предлагает за 500р. В частности, это еще зависит от того, например, где живёт фрилансер: украинцы обычно просят меньше, чем россияне.
Подать себя — это больше талант, чем наука (хотя и наука немножко тоже). Вы правы в том, надо уметь подать себя, однако есть два момента:
1. Если ты умеешь подать себя, но не способен выполнить проект, то проект вернётся к поиску исполнителя, а тебе поставят жирный минус к репутации.
2. Низкая цена предложения не редко выигрывает у умения подать себя.
Поэтому хороший программист так или иначе найдёт себе работу. Вполне возможно, что первое время ему придется поработать за еду, чтобы понабрать репутации, однако чем больше у исполнителя хороших отзывов, тем проще ему получить новые хорошие проекты.
Шанс есть у всех. Не у всех есть способности этим шансов воспользоваться.
Из моих однокурсников на завод пошли два человека. Остальные нашли себя в совершенно разных областях. В т.ч. во фрилансе и собственных проектах.
Нет, основным навыком любого программиста должно быть умение формализовать и построить модель любого бизнес-процесса, с которым ему придётся столкнуться. Да, в некоторых задачах предметная область требует довольно глубокого погружения, но в большинстве задач вполне достаточно наличие в прямом доступе эксперта в предметной области, который ответит на вопросы, требуемые для создания модели. При контакте с экспертом необходимые знания предметной области обычно набираются программистом в течение первых нескольких месяцев работы в проекте. Подчеркну: есть огромный пласт задач, не требующий специфических знаний в прикладной области, а только общих программистких навыков.
Понимание принципов систем авторизации входит в джентельменский набор (опять же — любого) программиста, так же как и знание основных алгоритмов сортировки, принципов работы сборщика мусора, отличий между функциональными и процедурными языками, независимо от специализации этого программиста.
Если ты пошёл в программисты и не знаешь, что такое «поисковые системы» — ты зря учился. Такие вещи там находятся в 3 клика. С другой стороны, во многих задачах можно написать коротенький регэксп, который, может, и не отфильтрует все неправильные почтовые адреса, но в большинстве случаев отработает нормально — и этого будет достаточно.
Тут всё зависит от контекста. Если всё это надо сделать в рамках какого-нить 1С, то, ясное дело, тут придётся поискать специалиста по 1С, а если это какой-нибудь самописный движок, то подойдет любой ПХП-или какой там язык использовали?-программист. А нюансы предметной области обычно без проблем можно уточнить у заказчика — фишка в том, что заказчик, который идёт искать фрилансера, обычно понимает, что требовать у него очень специфических знаний в предметной области — дело бессмысленное.
Нет, далеко не у всех. И у меня складывается ощущение, что Вы не очень правильно понимаете термин «предметная область» к контексте веб-программирования.
На самом деле, дело обстоит так: да соискателей много, но большинство из них имеют низкую квалификацию, т.е. способны брать только задачи соответствующего уровня. Даже небольшое поднятие планки требований уменьшит количество претендентов в разы. За бесценок тебе сделают работу соответствующего качества и количества. Рынок дешевой низкоквалифицированной рабсилы всегда наполнен — именно поэтому у нас столько гастарбайтеров в стране.
Но хороший программист — это уже специалист, даже если он только что закончил ВУЗ. Любой нормальный программист, который связывает свою жизнь с профессией, уже на 2-4-м курсе начинает так или иначе работать по специальности — либо в рамках научной работы, либо в какой-нибудь компании. Если ты закончил ВУЗ, не сделав хотябы одного средней руки проектика — зачем ты вообще там учился?
Вот вам совершенно конкретный мой личный пример:
несколько месяцев назад я уволился со старой работы, не найдя предварительно новую, поэтому решил, пока буду искать новую работу, побаловаться пока фрилансом.
Вот список некоторых проектов, которые я выполнил за это время:
Стоит ли говорить, что знания в предметной области у меня были минимальны — чуть больше, чем до-ре-ми-фа-соль-ля-си, но их было в любом случае не достаточно? Однако заказчик был музыкантом, поэтому все вопросы мы решили с ним вместе.
Я так и не понял, что это был за язык. Сначала подумал, что Lua, но синтаксис, вроде, другой… В Perfect World я никогда не играл, а уж скрипты увидел первый раз в жизни. В любом случае, задача была выполнена успешно. Подробности устройства игры узнал у заказчика (который ни разу вообще не программист).
Я совсем не знаток C# — так, написал несколько программок когда-то давно, и под веб, а не под десктоп. Как работает steamcommunity — узнавал у заказчика по мере необходимости.
Вёрстка не мой конёк, но в целом, как что работает я знаю, Гугл помог, где не хватало знаний.
Хотели на Flash, но я с ним очень давно не работал, поэтому переубедил — сделали на HTML5. В шкафах я разбираюсь примерно так же, как в нотной грамоте.
Написал на PHP.
Таймер взял готовый, подправил, где надо — вуаля.
Никогда не работал с WP, что не помешало.
В результате: отсутствие знаний в предметной области мне ни разу не помешало успешно выполнить проект. Со всеми заказчиками я поддерживаю личный контакт — время от времени они мне подкидывают дополнительные задачи.
Знаете, какие самые популярные задачи на фрилансах? Сверстать одностраничник, сделать интернет-магазин, спарсить сайт конкурента, сверстать сайт-визитку Ворд-Пресс и т.п. Работы такой — хоть отбавляй. Потратив 3-4 месяца на самобучение в области адаптивной кроссбраузерной CSS-вёрстки, нескольких популярных CMS и _основ_ JS и PHP — ты будешь просто нарасхват.
Если еще освоишь jquery и вёрстку шаблонов под популярные CMS — у тебя продыху не будет вообще в работе.
Набравшись опыта в области разработки сайта, можно спокойно найти себе постоянный проект со стабильным доходом и не слишком напряжным графиком и дальше выбирать, куда хочешь развиваться — в серверное программирование, в клиентское или, вообще, сделать собственный сайт, на котором и зарабатывать.
Нет, ему вообще не обязательно куда-то «идти».
Ему достаточно открыть браузер, найти там какой-нибудь фрилансим.ру, поделать мелкие проектики (да, первое время придётся подзатянуть пояс), получить опыт. Рано или поздно, при должном старании, надётся заказчик, который подцепит его надолго, потом еще один, потом вообще к себе на постоянку позовут и — вуаля.
Есть вариант посложнее: пока еще родители еще помогают финансово, заняться каким-нибудь популярным опен-сорс проектом, показать себя, опыт получить, потом уже идти в проекты как опытный программист, а не начинающий.
Самый сложный варинт: придумать собственный стартапчик (особенно хорошо, если с друзьями), попытаться на нём заработать. Не получится заработать — опыт всё-равно нехилый.
Тут от прям везения-везения мало чего зависит. Определяющие параметры — это насколько человек целеустремлён и насколько он талантлив. А если ты бесталанный или полный разгильдяй, то, может, и нечего тебе в индустрии ПО делать?..
Чтобы программист нашел себе работу, достаточно иметь мозг на плечах и интернет — остальное приложится.
В хорошо спланированной системе не обязательно должны быть учтены все будущие возможности, а тем более бизнес-процессы. Хорошо спланированная система должна быть устроена так, чтобы большинство изменений (которые можно предвидеть) в бизнес-процессах требовали минимального вмешивательства в код, т.е. в него заложена определённая гибкость, которая, конечно, зависит от предметной области.
Я лично считаю, что надо делать не упор, а надо каждый раз выбирать стратегию в зависимости от целей. Например, если ты пишешь сайт-одностраничник, который ты один раз написал и никогда возвращаться не будешь к нему, то тут важно, как быстро ты это сделаешь, а не как качественно.
А вот если ты пишешь сложную систему, которую ты будешь поддерживать не один год — тут обязательно долгосрочное планирование, чистый код и юнит-тесты.
Мне приходилось работать в конторе, которая пишет свой софт больше 10 лет.
Пока я работал с небольшими программками, которые, там, таблички рисуют, отчётики — я, конечно, поплёвывался, но, в принципе, сойдёт (если не считать того случая, когда кто-то очень умный в рантайме перезаписывал значение константы — в Дельфи такое можно — и я потом целый день никак не мог понять, почему программа то падает, то не падает).
Но вот однажды мне пришлось столкнуться с большой — одной из базовых — компонентой. С момента её написания прошло года 4, наверное. Автор её уволился через месяц, как я устроился. Мне надо было всего лишь исправить небольшой баг и добавить небольшую фичу — я МЕСЯЦ курил бамбук над этим кодом, чтобы хотябы в общих чертах понять, что он делает, причём два дня из этого месяца мы сидели вместе с автором — он так и не смог исправить баг, потому что сам забыл, чего он тут наваял.
Второй раз был еще веселее: жила была очень специфическая утилита, которая тоже писалась года за 3-4 до моего появления (ну, и дописывалась в остальное время). В неё надо было добавить новой фунциональности процентов на 20 от существующей. До меня её год мучал другой мой коллега, но вообще без результатов. Затем её отдали мне. Первые три месяца я честно пытался понять, что там происходит, но отсутствие кого-либо, кто понимает, как оно работает, обилие ctrl+C-ctrl+V, отсутствие комментариев, абсолютно непрозрачная структура кода… В общем, проблему пришлось решать кардинально: я взял весь код, который касался моей задачи и переписал выстраивая логику и структуру. В результате я понял, как всё это работать должно… НО! Я потратил на эту фигню 8 месяцев: 3 месяца пытался «читать» и 5 месяцев переписывал. В результате, при наличии вменяемого ТЗ я бы ту же работу сделал бы с нуля месяца за 4. Т.е. компания на этой утилите потратила 4 прогораммисто-месяца просто потому, что в этой компании «всем плевать на красоту кода». После меня её ещё допиливал другой программист — он был счастлив и очень сильно меня благодарил, что я ему оставил такой понятный код.
Вот такая вот история из жизни.
Демагогия — это плохо. Аргумент к личности — плохой способ отстаивания своих взглядов.
Зачем Вы это сделали?(
Мне больше не интересно с Вами дискутировать…
Удачи!