صفحه شخصی سید علا سبزپوش

برنامه نویس دات نت و sql_server --ریاضیات

صفحه شخصی سید علا سبزپوش

برنامه نویس دات نت و sql_server --ریاضیات

درد سرهای تاسیس شرکت ۲

بر خلاف انتظار من نوشته قبلی درد سرهای تاسیس شرکت با استقبال مواجه شد تصمیم گرفتم تا آنجایی که توان دارم باز هم بنویسم البته به نظر من پی گیری سایتهای موجود در قسمت پیوندها برای دوستان می تواند بسیار مفید باشد مخصوصا وبلاگ بهساد و وبلاگ رادمان که تجربیات گرانبهایی را در اختیار دوستان قرار می دهند جا دارد که اینجا از نویسندگان این دو وبلاگ صمیمانه تشکر کنم و اما .....

در ادامه نوشته پیشین درد سرهای تاسیس شرکت ، تصمیم گرفتم این بار از نکات قانونی و مالیاتی اشاره کنم

اکثر افرادی که شرکت تاسیس می کنن با بسیاری از نکات قانونی و مالی آشنا نیستند و همین عدم آشنایی باعث زیانهای زیادی برای شرکتها نوپا می شود

به نظر من فردی که می خواهد شرکت تاسیس کند بد نیست که اصول حسابداری و از همه مهمتر حسابداری مدیریتی را مطالعه کنند در زیر لینک دو کتاب از سازمان مدیریت صنعتی را گذاشتم که چون خودم مطالعه کردم و دارای متن روانی و ساده است توصیه می کنم .

http://www.imi.ir/fa-ir/Publishing/Pages/bookzoneview.aspx?itemid=14

 

http://www.imi.ir/fa-ir/Publishing/Pages/bookzoneview.aspx?itemid=15

 

اکثر افرادی که تازه کار تاسیس شرکتها هستند باید موارد زیر را حتما دقت کنند

1-اصول حسابداری

2-قانون کار و بیمه

3-قوانین مالیاتی

4-قانون شرکتها

 

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

 

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

 

اما مورد سوم که خیلی مهم است ، در این مورد حتی افراد حرفه ای هم مشکل دارند ، به نظر من اگر برای شما مقدور باشه داشتن مشاور در این زمینه بسیار مهم است ، اما من فقط چند مورد را ذکر می کنم

1-مالیات قرار دادها ، برای اینکه قراردادهای شما رسمیت پیدا کند حتما درصدی از مبلغ قرار داد به عنوان مالیات باید پرداخت شود ، دقت در این مورد خیلی مهم است .

 

2-اگر شما به پرسنل خود حقوق می دهید باید بر طبق قانون مالیات حقوق و دستمزد هر سال مالیات حقوق را از حقوق پرسنل کسر کنید و به اداره مالیات پرداخت کنید .می توانید نرم افزار تولید لیست مالیات پرسنل را از سایت سازمان امور مالیاتی دانلود کنید www.intamedia.ir/

 

3-عدم فعالیت شرکت : اگر شرکت شما بنا به هر دلیلی در سال اول هیچ گونه فعالیت مفیدی نداشت و فقط هزینه کرد و بطور عمومی ، غیر فعال بود شما می توانید از قاون عدم فعالیت شرکت استفاده کنید یعنی در این حالت شما مالیاتی پرداخت نمی کنید چون فعالیتی نداشتید

 

4-حتما قوانین مالیات را نیم نگاهی بندازید واقعا برای شرکتهای نوپا مهم است .

 

و اما مورد چهارم ، قانون شرکتها ، شما شرکتی را ثبت می کنید ، برای آن اساسنامه می نویسید و غیره ، دقت کنید که محتوی اساسنامه شما شامل فعالیتهای کامل شما باشد ، چون بعدا ممکن است برای شما درد سر ایجاد کند ، مثلا اگر شرکت شما فعلا کار نرم افزار انجام می دهد ولی در آینده تصمیم دارد کارهای سخت افزاری یا الکترونیک انجام دهد ، اگر در اساسنامه شما ذکر نشده باشد برای شما به هنگا م عقد قرارداد با سازمانهای رسمی مشکل ایجاد می کند ، شما برای عقد قرارداد رسمی بر اساس مواردی که در اساسنامه شرکت آمده فعالیت می کنید .

 

بنابراین بد نیست به هنگام ثبت شرکت برای نوشتن اساسنامه شرکت با مشاور حقوقی یا افراد خبره در مورد میزان سرمایه اولیه شرکت و اساسنامه و هیئت مدیره شرکت و شرکا مشورت کنید ، تا بعدا دچار مشکل نشوید .


نمی دانم این نوشته تا چه حد برای خوانندگان مفید است اما امیدوارم دوستان با نظراتشون ما را با خبر کنند ُ تا باز هم بنویسم


توصیه می کنم لینکهای زیر را هم بخوانید

ممیزی مالیاتی

جدول معافیت مالیاتی

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

 

  

وراثت چند گانه قسمت ۱

در مطالب قبلی در مورد کلاسها برخی مطالب را نوشتم که شاید مفید بوده . تفاوت شی گرایی از دید برنامه نویسی و تحلیل را بررسی کردم .

یکی از ارکان مهم شی گرایی ،  وراثت است . البته قصد ندارم وراثت یگانه را بحث کنم . و دانستن این مبحث را به خواننده واگذار می کنم . بلکه انچه که می خواهم بحث کنم وراثت چند گانه است .

اگر از دید برنامه نویسی به وراثت نگاه کنیم ، شاید کمتر پیش بیاید که مجبور شوید کلاسی را ایجاد کنید که از بیش از یک کلاس دیگر ارث بری کند و معمولا وراثت از تنها یک کلاس است.

اما اگر از دیدی مفهومی و تحلیلی به وراثت نگاه کنیم متوجه می شویم که وراثت چندگانه از مهمترین ارکان اشیا موجود در اطراف ماست .

اکنون این سوال مطرح می شود که با توجه به واقعیت و حقیقت وجودی وراثت چندگانه ، پس چرا زبانهای امروزی مانند سی شارپ و جاوا از وراثت چند گانه بی بهره هستند .

 

لینک مطلب

در لینک بالا نقل قول مستقیم از Chris Brumme کرده. Chris کیه؟ یکی از اعضای تیم CLR مایکروسافت از سال 2003 بوده ، پس هر کسی نیست و همینجوری حرف نمیزنه.

 

بدلیل اینکه مایکروسافت قرار بود در ابتدا .net  را بر اساس چند زبان قرار دهد یعنی vb , c#  و غیره

اگر می خواست وراثت چند گانه را اضافه کند باید این امکان را به .net  اضافه می کرد یعنی خصوصیتی مشترک بین تمام زبانهای دات نت میشد ، این مسله باعث پیچیدگی زبانی مثل vb  می شد که با اهداف مایکروسافت همخوانی ندارد

لذا شرکت مایکروسافت مبنا را بر این قرار داد که از آنجا که اغلب کاربران کمتر به مباحث وراثت چند گانه نیاز دارند پس فعلا برای جلوگیری از پیچیدگیهای زبان ، از این امکان صرفنظر می کند. و فقط راههکار استفاده از  Interface    را بعنوان جایگزینی برای وراثت چند گانه مطرح می کند .

 

وراثت چند گانه با استفاده از interface

 

ما در واقع  با استفاده از interface   وراثت چندگانه را شبیه سازی می کنیم ، چرا که Interface  ها نمی توانند تمام ابعاد وراثت چندگانه را پیاده سازی کنند . بعدها بیشتر در این مورد مطلب می نویسم

اما فعلا وراثت را با استفاده از  Interface  توضیح می دهیم . همانطور که قبلا در مورد  Interface گفتم ، یک کلاس می تواند از بیش از یک Interface ارث بری کند و این شرط کافی برای وراثت چند گانه است .فرض کنید کلاس c  از دو کلاس  A , B   بصورت همزمان مانند شکل زیر ارث بری می کند

یعنی کد نویسی آن بصورت زیر باید باشد :


class A
}
m1();
}
class B
{
m2();
}
class C : A, B
{
m1();
m2();
}

اما در دنیای واقعی کدهای بالا صحیح نیست و امکان پذیر نیست ، چون ما از وراثت چندگانه به شکل بالا نمی تواینم استفاده کنیم پس باید ازیک کلاس مثلا  A  بصورت مستقیم ارث بری کنیم و برای کلاس بعدی یک  Interface  تعریف می کنیم تا از آن ارث بری کنیم یعنی کلاس C  ما باید مستقیما از کلاس A  و از Interface  کلاس  B  ارث بری کند شکل زیر را ببینید :




.

 

وکدهای مثال بالا:

class A
{
m1();
}

interface IB
{
m2();
}

class B : IB
{
m2();
}

class C : A, IB
{
B BObject;
m1();
m2() { BObject.m2();

}

در کد فوق ابتدا آینترفیس  IB  را تعریف می کنیم ، کلاس B  از اینترفیس IB  ارث بری می کند یعنی کلاس B  باید قوانین موجود در اینترفیس IB  را اعمال کند و در اکنون کلاس C  از کلاس A  بصورت معمولی و مستقیم ارث بری می کند اما در مورد کلاس B   ، ابتدا اینترفیس IB  را تعریف کردیم که کلاس c  از آن ارث بری کند سپس در تعریف کلاس C  متغیری از نوع کلاس B   تعریف می کنیم که به هنگام فراخوانی متدهای اینترفیس در حقیقت متدهای کلاس B  را فراخوانی می کنیم .

 

 


تاسیس شرکت و درد سرهای آن

نمی دانم از کجا باید بنویسم ، از تجربه های دوران دانشجویی یا تجربه های دورانی که بصورت پروژه ای کار می کردیم یا دوران کارمندی

بدلیل اینکه تمام مراحل از کار خصوصی تا کار کارمندی را گذرانده ام ، و از دردهای هر مرحله به خوبی آشنا هستم.

زمانی که به همراه دوستان خودم تصمیم گرفتیم برای خودمان شرکتی درست کنیم و کسب و کاری راه بندازیم .7 سال پیش بود ، 2 سال وقت گذاشتیم و زحمات زیادی کشیدیم ، توفیقات کمی حاصل شد اما بد نبود .

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

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

تجربه اول (تاسیس شرکت)

دلایل شکست کار

1-نداشتن هدف و برنامه : ما شرکتی راه اندازی کردیم که هدفش تولید سیستمهای مالی بود اما مشکل ما این بود که کدام سیستم وبا چه وسعتی ،و در کدام شاخه وارد شویم .آیا نرم افزار سفارشی بنویسیم یا نرم افزار پکیج . برنامه کاری ما چگونه است ؟ چقدر زمان لازم است .

 

2-نداشتن سرمایه کافی : به نظر من قبل از وارد شدن به هر کاری حساب خیلی از هزینه ها آشکار و پنهان را بکنید و برای آنها راه حلهای احتمالی در نظر بگیرید . همیشه میزان خطا در نظر بگیرید ، چون در وسط کار ممکن است هزینه های زیادی برای شما پیش بیاید که اصلا حسابش را نکردید

 

3-تقسیم کار نکردیم : تلاش کنید که به صورت گروهی منسجم و با مسولیت کار کنید . در یک گروه همه باید تلاش کنند ، نه اینکه افرادی زحمت می کشن و دیگران تماشا . این آفت گروه است . همه باید تلاش کنند به یک اندازه زحمت بکشند

 

4-فنی فکر کردن :

یکی از آفتهای شرکتهای نرم افزاری فنی فکر کردن است . در حالی که لازمه شرکت داری . تجاری و مالی فکر کردن است . متاسفانه مشکل ما این بود که می خواستیم بهترین و کاملترین نرم افزار را بنویسیم بدون توجه به عامل زمان و هزینه هایی که بر ما تحمیل می شد . فقط فنی فکر کردیم .که نرم افزار ما حتما باید بهترین باشد .مثل اینکه مایکرسافت از همان اول بخواهد ویندوز 7 بنویسد . خب مسلما این شرکت شکست می خورد . برای خودتان اهداف کوتاه مدت و میان مدت و بلند مدت در نظر بگیرید .

حتما پروژه های نرم افزاری را به چند مرحله تقسیم کنید که هر مرحله که پایان می یابد . باید وارد فاز فروش شود و مرحله بعدی آغاز می شود نه اینکه از ابتدا بخواهید کاملترین نرم افزار را بنویسید . چنین کاری ممکن نیست .

 

5-بهترین و جدیدترین زبانها را خواستیم : هر چقدر یاد بگیرید باز هم دنیای نرم افزار پیشرفت می کند .شما باید برای ارتقای نرم افزارهای خودتان به پلت فرمهای جدید ، همیشه استراتژی انعطاف پذیر داشته باشید و حتما حساب هزینه را در نظر بگیرید . باید تلاش کنید که ارتقا با کمترین هزینه باشد .

 

6-پشتیبانی را جدی نگرفتن : ما پشتیانی را جدی نگرفتیم . نرم افزارهای ما باگ داشت . استاندارد و روشی صحیح برای برطرف کردن باگها نداشتیم . حتما و حتما سعی کنید برای پشتیبانی روشی صحیح داشته باشید . برای تست نرم افزار هم استانداردها را رعایت کنید و قبل از نوشتن نرم افزار به فکر تست کردن آن باشید

 

7-استراتژی فروش نداریم : برای فروش خودتان ، تبلیغات و بازاریابی حتما روش صحیح داشته باشید . شما نمی توانید هم برنامه نویسی کنید هم پشتیبانی و هم بازاریابی . جمع کردن این کارها با هم سخته ، حتما افراد را از نظر فنی و کاری و بازاریابی تفکیک کنید .

8- خروج شریک درد سر ساز شد : حتما به این فکر باشید که شما یا یکی از شرکا ممکن است از کار خارج شود . برای اینکار راهکاری مدون و مستند داشته باشید .

 

9-مکان شرکت جابجا شد : شاید شما مجبور باشید جایی را برای شرکت اجاره کنید . فراموش نکنید که اگر جای شرکت شما عوض شد . خیلی چیزها به هم می خوره ، مشتری شما را با همان جای قبلی می شناسه . باید تلاش کنید که در جابجاییها تا جایی که ممکن است شماره تلفنها را عوض نکنید تا مشتریان شما را گم نکنند چون در این حالت اگر جابجا شدید و مشتری شما را گم کرد به اعتبار شما لطمه زیادی وارد می شود .

 

10-اسرار شرکت را نگه نداشتیم : اسرار شرکت باید فقط در شرکت باشد . نباید مشتریان کوچکترین بویی از اسرار شرکت چه خوب و چه بد داشته باشند . افراد شرکت بای با مشتریان به گونه ای برخورد کنند که مشتری حتی در مواقع بحرانی هم نباید از بحران شرکت با خبر شود .

 

نوشتن دلایل شکست تلخ است . معمولا افراد از تجربه های موفق می نویسند . اما من تلاش دارم در سلسله نوشته هایی از تجربه های شکست خورده خودم بنویسم . تا راهنمایی برای دیگران باشد . هدف یاس و نا امیدی نیست . بلکه هدف راهنمایی و کمک کردن به دیگران برای انتخاب بهتر است .

امیدوارم هر کس این نوشته ها را بخواند مورد استفاده واقع شود . البته این نوشته ها را ادامه خواهم داد و سر فرصت از تجربه های موفق هم خواهم نوشت .