در پست قبل راجع به این موضوع کمی می خواستم بیشتر به شکل عملی صحبت کنم. این که کارها رو از کجا می شه پیدا کرد و چه طور کار رو می شه گرفت که چون طولانی شد ننوشتم. تو این پست اونا رو توضیح می دم و این که باز هم می گم من کسی رو به انجام این کار تشویق نمی کنم. فکر می کنم باید اولویت نوشتن پروژه خود آدم باشه و با این کار می شه شرکت رو ماندگار کرد. این کار فقط برای زنده نگه داشتن شرکت مناسبه و ترجیحا باید مقدار پولی که می گیرید اون قدر باشه که به نوشتن پروژه خودتون کمک کنه و با پروژه خارجی تموم نشه.حالا در باره مکان های گرفتن کار بگم که همونطور که قبلا گفتم بیشتر تو انجمن های مربوط به خود شرکتا کار پیدا می کنید و تو آشنایی با آدم ها از طریق بیرون دادن demo/screenshot/blog/... ولی حالا فرض کنید کاری یافتید که می خواید بگیریدش. باید چی کار کرد؟ طبعا اولش یه پیام یا ایمیل به ارسال کننده کار می فرستید. معمولا خودشون روش ارتباط رو می نویسند. بعد معمولا ازتون زمان و قیمت می خوان ولی به جز اون ها خیلی خوبه که تو ایمیلی کوتاه توضیح بدید چرا برای اون کار مناسبید و دروغ نگید. تشخیصش با وناست که شما مناسبید یا نه. قطعا کارایی هم سطحتون پیدا خواهد شد. اولش هم قطعا خیلی بیشتر طول خواهد کشید. این رو باید بدونید که در بیشتر مواقعی که با کشور های اروپایی و آمریکایی کار می کنید، باید با طرف مقابل روی اسکایپ یا برنامه دیگری صحبت کنید. برنامه دیگر معمولا شامل google hangout و جدیدا slack می شه.
طبعا اگه نتونید خوب حرف بزنید و منظورتونو برسونید و یا منظور و بفهمید، نمی تونید کار رو بگیرید. لهجه اون قدر نباید مهم باشه. من هیچ وقت لهجه خیلی بدی نداشتم که بدونم اثرش چه قدره ولی خیلیا رو دیدم که لهجه شدید دارند (روسی، هندی، اروپای شرقی ...) و داشتند کار می کردند.
بقیه چیزایی که لازم دارید خیلی مشخصه، کار خوب و اخلاق حرفه ای و تشخیص شخصیت طرف مقابل. مثلا اگه کسی شوخ نیست و خیلی جدیه خوب طبعا اگه خیلی هم مسخره بازی در بیارید خوشش نمیاد و برعکس. من از فیلم بازی کردن خیلی بدم میاد و اصلا نه می تونم بازی کنم و نه منظورمه که بازی کنید. توضیحش برام سخته. مادب و متشخص بودن معمولا کمک می کنه و این که حد خودتونو بدونید و .. مثلا اگه طرف مقابل چهل سالشه و شما کمتر از سی و تجربش تو بازی های خفن استودیو های بزرگه، خوب باید سعی کنید که بفهمید دارید با کی صحبت می کنید. من این مشکل رو تو خیلیا دیدم که یا فکر می کنند باید خودشونو کم ببینند و یا این که پر رو و پر مدعا باشند. قطعا هیچ کدوم بهتون کمک نمی کنه. نظر بدید و مخالفت کنید (اگه واقعا مخالفید و می دونید دارید چی می گید)، معمولا کسی که همیشه می گه چشم و شما درست می گید آدم خیلی راستگو و قابل اعتمادی نیست.
گاهی ممکنه مشکلی پیش بیاد که از سمت مشتری باشه و دیر متوجهش بشه. خوبه که صبور باشید و این رو هم باید بدونید که ممکنه کسی پولتونو بخوره. من در ابتدای کار که تجربه کمتری داشتم این مشکل دو بار برام پیش اومد. یه بارش از شب تا صبح امتحان رو یه بازی turn based شبکه ای کار کردیم که چون fade to black گوش می دادیم اسمش شد fade to black و طرف گفت من اولین build رو تو Android ببینم باهاتون قرارداد می بندم. ما هم با فیلترینگ برای اولین بارمو ن یه build گرفتیم و براش فرستادیم و سه روز وقت طلف کردیم که تهش معلوم شد یارو تو دمو پروژه رو به سرمایه دارا نشون می داده پول بگیره.
یه بار دیگه هم بودش که طرف دو هفته خودش نمی تونست پروژه رو نصب کنه و قبلی رو می دید و هی فکر می کرد باگ داره و آخرش وقتی پروژه برای مشکل وقت کنسل شد بقیه پول ما رو نداد. البته تو این کیس ما هم تو تخمینمون خیلی اشتباه کرده بودیم.
نکته دیگه ای که باید حواستون باشه، برای پروژه هایی که ساعتی بهتون پول نمی دن هست. تو اونا باید تخمین خوبی بزنید و کلا تخمین زدن نرم افزار سخته، بازی از اونم سختتره. کتاب demystifying the black art of software estimation آقای استیو مک کانل رو پیشنهاد می کنم.
از نظر قیمت ها باید دقت کنید که کسی که داره شما رو برای کار انتخاب می کنه از چند حالت خارج نیست، یکی این که اون قدر خفنید که می خواد شما رو پروژش کار کنید، که اگه این طوره نسبت به ارزشی که به نظرتون کارتون داره قیمت بدین. یا طرف می خواد از یه کشور دیگه کانترکتور استخدام کنه که پول کمتری بده و یا تو کشوری هست که دورش اصولا آدم زیاد نیست. به هر حال تو این حالات دوم و سوم باید محل زندگی اون طرف مقابل رو در نظر بگیرید. معمولا مقداری که حاضره به شما بده تو حالت دوم کمتر از قیمت تو کشور خودش و تو حالت سوم حدودای قیمت ها تو کشور خودشه. حالت های دیگه ای هم هست، مثلا پروژه با قیمت فیکس که از اول بهتون می گن و ... معمولا اینا اگه قیمتشون به شکل احمقانه ای کم نباشه، فقط در صورتی بهتون داده می شه که تجربه زیادی داشته باشید. در ضمن اگه زمان شما با کشور اونا زیاد فرق کنه، به خصوص در برنامه نویسی که به تعامل زیادی نیاز داره، هم کارتون سخت می شه و هم احتمال داره بخوان پول کمتری بهتون بدن مگر این که تو ساعتای اونا کار کنید. البته این برای کشور هایی مثل آمریکا هست که طرف برای قیمت اومده سراغ شما.
اگه شما دنبال کار نرفتید و اونا اومدن سراغ شما (چندین سال طول می کشه که این طور بشه) معمولا شرایط بهتره و معمولا هم کار رو می گیرید مگر این که یکی از طرفین توقعات عجیبی داشته باشه. در مورد شخصیت هم بگم که سعی کنید از آدمای نسبتا معقول و کسایی که شغلشون همین هست کار بگیرید. هندل کردن کارفرمایی که این شغلش نیست و سرمایه گذاری فان یا رویاییشه و یا کسی که مثلا برای یه شغل دیگه یه برنامه سه بعدی می خواد ریسک رو می بره بالا. البته من کار این طوری خوب هم انجام دادم ولی باید حواستون به میزان دانش و سرمایه طرف مقابل باشه.
امیدوارم این پست مفید بوده باشه و امیدوارم بتونید رو پروژه های خودتون کار کنید