Я довольно новый разработчик. Профессионально я прошел обучение на C # в течение двух лет в качестве стажера и 6 месяцев в качестве младшего разработчика. Друг моей семьи нуждается в помощи с проектом, который написан на VB.net. Я никогда не пользовался VB.net, поэтому немного волнуюсь там.
Но реальный вопрос заключается в том, что, просматривая документы по проекту, я чувствую, что ничего хорошего из этого не выйдет. У меня такое ощущение, что это вызовет больше стресса, чем хотелось бы сейчас в моей жизни.
Как опытные разработчики принимают решение, брать ли проект или просто позволить ему уйти? Какие метрики помогут вам принять решение?
редактировать
Это на самом деле кажется очень большой ERP, над которой он хотел бы, чтобы я работал, и я не верю, что он что-то знает о программировании, поэтому я не думаю, что тот факт, что я очень младший, даже приходил ему в голову.
Ответы:
Из моего опыта: Никогда не занимайтесь работой с деньгами для членов семьи, с которыми вам приходится проводить отпуск, или с друзьями, которых вы хотите оставить. Одна из вовлеченных сторон всегда будет чувствовать, что другая сторона либо взимает слишком большую плату, либо недостаточно платит, и что она оказала другой стороне услугу. Когда наступает крайний срок, они обычно менее всего понимают, и они обычно являются дырами в заднице во время бета-теста, потому что, если у вас есть ошибка - которую вы будете - они не поймут. Это всегда беспорядок.
Раньше я был идеалистом и думал, что все остальные просто нуждались в улучшении навыков людей, но нет, это просто так. Люди, которые не понимают процесс разработки программного обеспечения, ВСЕГДА будут волноваться, когда что-то не соответствует их ожиданиям в первый раз, когда они это увидят. Это относится как к бизнес-менеджерам, так и к членам семьи. Проблема в том, что вы должны поддерживать отношения с семьей и друзьями, а вещи никогда не являются строго деловыми.
Тем не менее, если проект повысит уровень стресса и вам не нужны деньги, тогда зачем их брать? Особенно, если у вас уже есть работа по разработке программного обеспечения, в которой вы хотите преуспеть, я бы сказал, что вы должны посвятить столько же своей рабочей силы, чтобы быть отличными в своей повседневной работе, потому что именно здесь вы в конечном итоге будете вознаграждены за качественную работу.
Если вам нужны деньги, и вы в порядке с потенциальной потерей друга семьи, то принимайтесь за работу. Худшее, что может случиться - помимо того, что я упомянул ранее - это то, что вы узнаете, что вы есть, и у вас ничего не получается, или вы узнаете, что откусываете больше, чем вы можете пережевывать, что делает проект плохим головная боль из-за вашей неопытности. Я сделал это дважды с моей нынешней работой - к счастью, у меня есть очень понимающие работодатели. Хотя я чувствовал себя мёртвым в воде, это было несчастьем, но я стал намного лучшим программистом с гораздо более широким набором навыков, чем раньше.
Для определения того, какую работу отпустить и оставить, нет исчисления, только опыт и ваша личность. Вам просто нужно решить, что вы цените и преследовать это. Что нужно учитывать:
Это проект, над которым мне понравится работать? Является ли команда командой, с которой мне будет приятно работать?
Какой вид оплаты они будут предлагать? Если нет, то какое профессиональное развитие я получу? Они предлагают какой-либо общий риск (например, опционы на акции, процент прибыли)? Это большой убедитель для меня.
В любом случае, это просто принципы, которые нужно использовать при принятии решений. Все зависит от того, что вы цените. Например, я ценю интеллектуальные проблемы и время со своей семьей, поэтому обычно уделяю большое внимание тому, что представляет собой проект, и навыкам, которые я получу при этом. Тем не менее, я также заранее заявляю, что я работаю только 2 или 3 ночи в неделю, чтобы я мог проводить время с женой и детьми, так как я уже работаю весь день. Я корректирую крайний срок, чтобы удовлетворить это требование. Если им это не нравится, я не берусь за работу.
Что бы вы ни делали, убедитесь, что вы четко заявили, что вы будете и не будете делать, и убедитесь, что они четко изложили свои ожидания, прежде чем приступить к работе. Худшее, что может случиться, - это чтобы у клиента были неутвержденные ожидания, а вы недооценили эти ожидания.
PS Я действительно хотел бы прочитать эту статью ранее в моей карьере. Это относится к моему последнему абзацу. http://www.joelonsoftware.com/articles/fog0000000356.html
источник
Нужна ли мне работа? Если это так, я «беру» проект.
Сколько у меня есть вариантов? Более 1? Я могу выбирать между альтернативами.
Только 1? Что ж. Вот и все.
Вопрос "стресс в моей жизни" спорен; отказ принять проект означает отказ сохранить работу; что имеет катастрофические последствия.
Если у вас есть такая финансовая свобода, где решающим фактором является стресс, это действительно здорово.
источник
Что вы получите от этого проекта? Деньги? Опыт? Что-то другое?
Деньги: это от члена семьи (я стараюсь не заниматься бизнесом с семьей, но это совсем другое обсуждение), оно маленькое (так, чтобы оно звучало), вы довольно младше, так что не ожидайте много деньги из него (на основании моих опытов).
Опыт работы: вы можете изучать новый язык! Это может быть полезным в будущем, может дать вам небольшое преимущество перед разработчиками .NET, которые знают только C #.
Но ваш внутренний инстинкт подсказывает вам, что этот проект будет плохим . Почему это? Похоже, вы могли бы по крайней мере получить некоторый опыт от этого.
Большинство подрядчиков начнут с рассмотрения того, сколько денег они получат, чтобы решить взять на себя проект. В идеале, более сложные проекты ведут к большим деньгам. Если это трудно, она должна хорошо платить, но я не знаю , сведение , чтобы знать , если вы на самом деле будете получать деньги хорошо ...
В ответ на детали вашего обновления: Скажите ему, что это выходит за рамки возможностей одного младшего программиста. Вы могли бы провести несколько минут исследования и посмотреть, существует ли существующий продукт, который может делать то, что он хочет, и посмотреть, говорит ли страница «Функции» о настройке / плагинах / расширяемости. Он может также захотеть поговорить с магазином программного обеспечения на заказ, если там нет ни одного существующего продукта или требуется проделать большую работу по программированию плагинов. Нет ничего плохого в том, чтобы признать, что проект слишком велик для вас - это гораздо лучше, чем брать его на себя и терпеть неудачу полностью (особенно если это член семьи - функции семьи могут быть неловкими и напряженными в течение многих лет).
источник
Лично если эта фраза замешана, я не беру проект.
источник
Как фрилансер, я принимаю только те проекты, в которых я уверен, что смогу выполнить их вовремя, в рамках бюджета и в хорошем качестве. Отказ от проекта не означает безработицу - по крайней мере, не навсегда. Принятие проекта, который вы не можете осуществить, стоит всего - денег, репутации, здоровья.
Иногда бывает немного сложнее, когда хороший клиент нуждается в помощи для нового проекта, который просто не соответствует моим навыкам; но даже тогда лучше быть честным и позволить кому-то другому делать это.
В вашем случае вы можете и должны отрицать проект - вы недостаточно опытны, вы не знаете языка, он слишком велик для вас.
источник
Я занимаюсь внештатным программированием более двадцати лет. Для того, чтобы проект действительно был успешным, необходимо как минимум следующее:
Вы описываете друга семьи, который ничего не знает о программировании, который хочет, чтобы вы - неопытный программист - создавали ERP-систему, используя технологию, которую вы не знаете.
Мне кажется, что эта ситуация определенно не попадает на № 1, № 3, № 6 и № 7, и, возможно, все из них. Как говорит Адам на «Разрушителя мифов»: «Это рецепт катастрофы».
Черт возьми, я бы сам не трогал это с десятифутовым шестом. Я мог бы продолжать и рассказывать о других красных флажках, которые я вижу здесь, но, по сути, мой совет для вас: следуйте своей интуиции, потому что вы правы: «из этого ничего хорошего не получится».
Поскольку это друг семьи, на вашем месте я бы просто сказал: «У вас отличный проект, и вам нужен кто-то действительно хороший, а я слишком неопытен, чтобы давать вам результаты, которые вы должны иметь», и оставь это на этом.
Я также обнаружил, что когда у вас есть клиент, у которого проблема в одной области, он может быть проблемой в других. Потенциальный клиент, который даже подумал бы о том, чтобы система ERP была разработана и внедрена младшим программистом, либо настолько невежественен, что представляет опасность для себя и других, либо смехотворно дешев, и любой из них поместил бы их в мой список «держаться подальше» ,
FWIW, как консультант / фрилансер, я заканчиваю заполнять роли на моей стороне самостоятельно, по совету моей жены. Мы выяснили, что это за элементы, увидев, что проекты проваливаются из-за их отсутствия - иногда это были наши собственные проекты. И даже спустя двадцать лет, несмотря на проверку этих критериев, у меня все еще есть случайный проект, который не срабатывает - этот риск всегда является частью бизнеса. Теперь я просто проверяю, что проекты не терпят неудачу из-за того, что я сделал неправильно, и что контракты структурированы, поэтому мне платят, если другая сторона облажается.
источник
Вы хотите работать с другими вовлеченными людьми?
Проект - это просто повод встречаться и общаться с людьми.
источник
Моя личная задача - сделать небольшое исследование того, что он хочет, какие сроки, какие расходы он ожидает и т. Д. Если это на самом деле большая ERP, то помощь может длиться годами и действительно может быть ужасной. Управление отходами против SAP было бы примером того, насколько дорогой это может быть, если вы действительно имеете в виду большие, как в 9-значном бюджете проекта.
Моя цель в исследовании - нарисовать линию на песке, чтобы было понятно, почему я задаю вопросы и что я намерен получить в результате. "Насколько жизнеспособным я вижу это существо?" это вопрос, который у меня возникнет, так как я буду задавать вопрос о методологии, бюджете и сроках заранее, а затем проведу небольшое исследование, чтобы выяснить, действительно ли вещи находятся на уровне или это что-то, что может закончиться на каком-то юмористическом сайте ИТ как The Daily WTF .
источник