ورود

View Full Version : چطور باید یک شرکت برنامه نویسی تاسیس کرد؟



prince0fpersia
پنج شنبه 02 بهمن 1393, 19:42 عصر
سلام
من لیسانس سخت افزار و دانشجو ارشد هوش مصنوعی هستم. تابه حال برای هیچ شرکتی کار نکردم و هیچ دیدی نسبت به نحوه کارشون ندارم ولی پروژه های شخصی(که البته بیشترش تمرینات دانشگاهی بوده) تو حیطه های پردازش تصویر انجام دادم. و الانم ایده هایی در زمینه دوربین های هوشمند تو زمینه های حفاظتی و یا شناسایی دارم ولی حجم کار زیاده و مهمتر از اون چند بخشی بودن کار هست. مثلا یه جاهایی باید برنامه نویسی سخت افزار انجام بشه. یه جاهایی باید برنامه نویسی دسکتاپ و یوزر اینترفیس انجام شه. یه جاهایی برنامه نویسی وب و حتی شاید برنامه نویسی گوشی موبایل.

برای همین کار کردن روی همه این موارد برای من بسیار سخت و وقتگیر میشه و توی هیچکدومش(جز پردازش تصویر) هم تقریبا تخصصی ندارم و کاری که بتونم انجام بدم نهایتش در حد یک پروژه دانشجویی شاید بشه و نمیشه به عنوان محصول قابل رقابت و تجاری روش حساب کرد. برای همین بدنبال جمع کردن افراد متخصص توی هر کدوم از تخصص های فوق هستم که یک کار درست و درمون و قابل فروش عرضه کنیم.

ولی هیییییییییییچ دیدی از شرکت ها ندارم و واقعا وقت رفتن توی این شرکت ها و آشنا شدن با مخیطشونم ندارم. برای همین میخواستم دوستانی که کار برنامه نویسی توی شرکت های خصوصی انجام میدن یکم دید بدن بهم که توی شرکت ها چه خبره و چطور کار میکنن؟ من همیشه چنتا سوال اساسی توی شرکت ها برام مطرح بوده:

اول اینکه آیا مدیر شرکت برنامه نویسی و یا مدیر یک پروژه برنامه نویسی باید سوادش از همه کارمندا بیشتر باشه؟ اگر نه، پس چطور میتونه بفهمه یک کارمندی داره درست کار میکته یا داره میپیچونه؟ و یا از اون مهمتر، چطور میتونه بهره وری و راندمان کار برنامه نویسانی رو کنترل کنه که تخصصی در حیطه کاریشون نداره؟

سوال بعد اینکه، چون شرکتی که من همیشه مدنظرم بوده مبتنی بر ایده های نو و تجاری هستش(و انصافا ایده های خوبی هم درسر دارم) چطور میتونم به برنامه نویس هام اطمینان داشته باشم که ایده های شرکت رو به بیرون شرکت نمیبرن و نمیفروشن و یا خودشون بعد از مدتی شرکت رو ول نمیکنن که برن و ایده رو خودشون با کسای دیگه پیاده کنن؟

سوال دیگه اینکه مدیر شرکت هم خودش باید کد بزنه مثل بقیه؟ یا باید فقط ناظر باشه و مثلا ایده بده و تیم رو هدایت کنه؟ یا ۵۰-۵۰ ؟

سوال مهم آخر هم بحث حقوق برنامه نویسان و نحوه تعیینش هست! حقوق یک برنامه نویس دقیقا چطور تعیین میشه؟ اصلا یک برنامه نویسی که میخوام جذب کنم چطور به مهارت و تخصصش مطمءن بشم؟

البته سوال زیاد توی ذهنم هست اما اینا مهمتریناش بود که الان به ذهنم میرسه!

بسیار سپاسگزار دوستانی هستم که با بیان تجربیات مفیدشون در این زمینه، این فضای تاریک و مبهم رو برای من و امثال من که میدونم خیلی زیادن روشن کنن!

prince0fpersia
جمعه 03 بهمن 1393, 13:08 عصر
یعنی توی فروم برنامه نویس هیچکس نیست که کارش برنامه نویسی باشد؟!

p30online
جمعه 03 بهمن 1393, 14:30 عصر
دوستان سوال خوبی کردا ،جواب بدید ما هم استفاده کنیم ای با تجربه ها .

prince0fpersia
جمعه 03 بهمن 1393, 18:54 عصر
منم واقعا نمیدونم چرا کسی از دوستان جواب نمیدن؟ یا سوال من خیلی مسخره و مبتدی و .... است که ارزش جواب دادن نداره!
یا شایدم اینقدر حرفه ای باشه که کسی تا این حد تابه حال کار نکرده و اطلاعاتی نداره؟!!

حداقل این یکی رو جواب بدید روشن شیم!
ممنون

p30online
شنبه 04 بهمن 1393, 12:56 عصر
دوستان پس چرا این تاپیک به نتیجه نرسید؟یعنی هیچکدومتون....؟

darkface
شنبه 04 بهمن 1393, 23:01 عصر
سلام خدمتت شما دو دوست عزیز.
خدمتتون باید عرض کنم که برای ثبت شرکت که باید یه سایت ثبت شرکت ها و اونجا کاراشو بکنید که خودتون در جریان کم و کیفیش هستید...
اما در مورد شرکت برنامه نویسی
اگر واقعا شما قصد اینکار رو دارید اصولی پیش برید اول اینکه یه چشم انداز واسه شرکتتون تنظیم کنید.کجا هستید کجا میخوایید برید...
شما اگر یه برنامه نویس خوب هستید شاید یک تحلیلگر خوبی نباشید و...
بنابراین انتخاب رییس شرکت و اینکه شما کد بزنید یا خیر بسته به توانایی خودتون هست . اگر وقت بهتون اجازه کد زدن رو میده بله کد هم بزنید در غیر این صورت اگر کارهای مدیریتی و بازاریابی به شما این اجازه رو نمیده اینکارو نکنید...
هر شرکت نرم افزاری بزرگی نیاز به بخش های زیادی داره.
مدیر پروژه تحلیلگر کدنویس و.....
بنابراین این دیگه بسته به خودتون هست که میتونید خرج کنید یا خیر...
در مورد ایده ها هم شما در درجه اول باید در مصاحبه ها ببنید طرف چطوریاست ادم شناسی که تو زندگی ها هست...بعدم یه قرار داد خیلی محکم..بعدم لازم نیست کدنویس در جریان کار قرار بگیره شما تیکه تیکه نیازهاتونو در اختیارش قرار میدید..
در مورد بحث حقوقی هم همه طوره با برنامه نویس بدبخت کار میکنن از ۴۰۰ به بالا...
ساعتی ۲۵۰۰ شنیدم به یکی از دوستان میدادن!!!!
سوالی دیگه ای بود در خدمتم

prince0fpersia
یک شنبه 05 بهمن 1393, 10:57 صبح
سلام به شما دوست عزیز و تشکر از مطالبی که فرمودین (دکمه تشکر نتونستم پیدا کنم!)
توی حرفهاتون چندتا نکته بود که توجه من رو جلب کرد. اولیش بحث تخلیلگر بود اگر میشه وظایف این فرد رو بیشتر توضیح بدید چون فکر میکنم قسمت بعدی صحبت هاتون که تکه تکه کردن برنامه و دادن اون به برنامه نویس بود(برای اینکه سر از کلیت پروژه درنیاره) کار تحلیلگر باید باشه.
ولی در همون مورد هم باز برای من سوال هستش، اگر قرار باشه من اصل موضوع(یعنی اون برنامه نهایی که قراره نوشته بشه) رو موقع استخدام به برنامه نویس نگم، اولا شاید جذبش یکم سختتر بشه(مجبورم از اهرم حقوق بالاتر استفاده کنم) و ثانیا دیگه نمیتونم قراردادی شبیه NDA باهاش ببندم(هرچند این حرفها توی ایران شوخی باشه بنظرم!!). چون برنامه نویس میتونه ادعا کنه هیچ حرفی از پروژه نهایی با من زده نشده و (اگر ایده رو فهمید و دزدید) بگه که به فکر خودم رسیده و هیچ مدرکی هم خلاف این وجود نداره!
از طرف دیگه هم، اگر من بتونم برنامه نهایی رو ماژول کنم و هر ماژول رو دست یک برنامه نویس بدم، از اونجایی که اینها همه با هم همکارند قاعدتا در موردش باهمدیگه حرف میزنن و یا اصلا از همدیگه راهنمایی و رفع اشکال میخوان بنابراین همه در جریان ماژولی که سایر افراد مینویسن قرار میگیرند و عملا قضیه ی پنهان کاری و این حرفها بنظرم مطرح نیست! و اصلا ممکن نیست.

درنهایت توی این زمینه بنظرم چه به لحاظ پشتوانه ی قانونی و چه به لحاظ فرهنگ کاری شاید در این سطح نباشیم که بخوایم کارو با قرارداد و تکیه بر رازداری برنامه نوبیس جلو ببریم و باید از راه های دیگه (مثل دادن سهام شرکت و درصد فروش نهایی و ایجاد روحیه ی دوستی و وابستگی به شرکت و ...) کار رو جلو ببریم.

اما اگر این مقطع رو هم حل کردیم و یک تیم یکدست و متعهد تونستیم جمع کنیم و کارو استارت کنیم، حالا اینجا یک ناظر میخوایم که بتونه بر کار کلیه اعضای تیم نظارت کنه. ولی از اونجا که حیطه برنامه نویسی بسیار گسترده و وسیع هست، و فکر نکنم چنین آدمی پیدا بشه که اینهمه تخصص داشته باشه، همیشه برای من سوال بوده که نظارت برکار برنامه نویس ها چطور باید انجام بشه؟ ممکنه یک برنامه نویس سر یک مسئله با من لج بیفته و کار یکهفته ای رو یکماه طول بده. من چطور میتونم این رو متوجه بشم درحالیکه نه من تخصص کاری که داره میکنه رو دارم، و نه وقت دارم که دايم بشینم بالای سرش(و نه اصلا اون میذاره یکی همش بشینه بالای سرش و میذاره میره!) و نه وقت میکنم هر روز بگم کدهاتو بیار ببینم چکار کردی و منم بشینم کدهاشو بخونم و سردربیارم چکار داره میکنه!
البته شاید برای یک نفر بشه اینکارو کرد ولی قاعدتا برای همه برنامه نویس های شرکت که نمیشه!

توی شرکت های بزرگ فکر مثل مایکروسافت احتمالا هر واحد برنامه نویسی بصورت جدا و تخصصیست و یک یا دو تا از بهترین متخصص های اون عرصه هم به عنوان مدیر یا ناظر بالای سرشون هستن و اینچیزهارو چک میکنن به راحتی، ولی برای یک شرکت نوپا و کوچیک بنظرم تنها اهرم نظارتی گرفتن قول از طرف باشه!
یعنی من بگم شما چنین ماژولی رو توی چه مدت مینویسید؟ بعد به استناد حرف خودش برم بالای سرش و ازش تحویل بخوام. و اگر ۲ بار دیدم داره بهانه میاره و تحویل نمیده اونجا دیگه همکاری رو باهاش پایان بدم (البته این مورد باید بصورت دقیق توی قرار داد استخدامی هم قید بشه).

خب حالا ما نیم جمع کردیم، بحث نظارتی رو هم حل کردیم، بحث حفاظتی رو چکار کنیم؟
حتی اگر بحث خروج ایده یا کدها از طرف برنامه نویسان شرکتمون رو نادیده بگیریم، بحث مهم دیگه بعد از تولید محصول هستش. از برادران کرک باز بگیرید تا شرکت های بزرگ که ایده مارو میبینن و ازش ایده میگیرن!! و یکی بهترشو میسازن(مثلا شما یه برنامه با دیتابیس ۱۰ هزارتایی میسازید ولی اون شرکت چون نفرات و امکانات و سرمایه اش از شما خیلی بیشتره میاد همون رو به ۱۰۰ هزارتایی گسترشش میده و عملا محصول شما out میشه از بازار!!)
اینم یک بحث خیلی خیلی مهم هست که چکار کنیم ما که اینهمه زحمت کشیدیم و یک ایده رو تبدیل به یک محصول کردیم، یک شرکت بزرگتر بعد از ورود محصول ما به بازار سریع دست به کار نشه و یکی کاملترش رو بسازه و ما و همه زحماتمون رو به باد بده به همین راحتی!!

که واقعا برای این آخری ایده ای ندارم جز اینکه مثل خیلی شرکت های تازه تاسیس(معمولا استارت آپ ها) بعد از به نتیجه رسوندن ایده، اون رو به شرکت بزرگتری بفروشیم!! و اینقدر این فروش محصول باید ادامه پیدا کنه که شرکت ما هم بزرگ بشه و توان رقابتی پیدا کنه و دیگه مجبور به فروش محصولات قبل از عرضه(و یا مدت کمی پس از عرضه) به بازار نشه!

من سعی کردم بحث هایی که ممکنه در حین کار برای یک شرکت نرم افزاری پیش بیاد رو چنتاش رو بگم(با توجه به شرکتی که توی ذهنم هست) و ممکنه ابعاد دیگه ای هم باشه که من ذکر نکردم. امیدوارم دوستان باتجربه بیان و با نظراتشون بحث رو تکمیل کنند تا یک دید خوبی به تازه کارها داده بشه و ان شاءالله موجب پیشرفت این صنعت در کشور.