خطا! ورودی را کنترل کنید
خطا! ورودی را کنترل کنید
ورود خودکار ؟
اگر فرم ثبت نام برای شما نمایش داده نمیشود، اینجا را کلیک کنید.
اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمیشود، اینجا را کلیک کنید.
انجمن گفتگو استارتاپ و کار آفرینی
شما در حال مشاهده انجمن گفتگو استارتاپ های ایران هستید، این انجمن با هدف ایجاد بستر گفتگو پیرامون موضوعات حوزه کارآفرینی و کسب و کار های نوپا ایجاد شده است. با عضویت در این انجمن می توانید با اعضای اکوسیستم کارآفرینی کشور در ارتباط باشید.
این انجمن همچنین مرجع کاملی از شتاب دهنده ها، مراکز رشد و پارک های علم و فناوری، استارتاپ ها، اسامی منتور ها، سرمایه گذاران و فعالان کارآفرینی کشور را گرداوری نموده است.
ما به شما این اطمینان را می دهیم که با جستجو در این انجمن بتوانید هر موضوعی را در رابطه با استارتاپ ها پیدا کنید. کارشناسان ما نیز بطور 24 ساعته پاسخگوی سوالات شما خواهند بود.
موقعیت بسیار مهم است. پند یک مدیر ممکن است بیارزش یا بدتر باشند اگر مناسب وضعیت شما نباشد. تصمیمی درست برای شرکتی بزرگ ممکن است برای کوچکتر کشنده باشد. پیش از آنکه پیشنهادهای مدیریتی هرکسی از جمله من را بشنوید، مطمئن شوید که موقعیت خودتان را مدنظر دارید. من یک شرکت نرمافزاری کوچک را میگردانم بدون هیچ کمک مالی بیرونی. شرکت ما (SourceGear) حدود ۶ سال سن و ۲۵ کارمند (در زمان نوشته شدن این مقاله: سال ۲۰۰۳) دارد. در این مدت درسهای بسیار جالبی فرا گرفتهام. یکی از چیزهایی که یادگرفتهام این است که شرکتهای نرمافزاری کوچک نباید هیچ برنامه نویسی داشته باشند. در این مقاله منظور از برنامه نویس (Programmer) فردی است که کاری جز نوشتن کُدهای نو و (اگر خوششانس باشید) اشکالزدایی، نمیکند. او مشخصهها(Specifications) را نمینویسد. او تستکیسهای خودکار را نمینویسد. کمکی برای اینکه سیستم ساخت خودکار بروز باشد، نمیکند. به مشتریان کمک نمیکند تا مشکلات جدیشان را حل کنند. در نوشتن مستندات کمک نمیکند. او حتا کُد را هم نمیخواند. تنها کاری که او میکند نوشتن کد جدید است. در شرکتهای کوچک نرمافزاری شما یک چنین آدمهایی را نمیخواهید. بهجای برنامه نویسان (کسانی متخصص نوشتن کد هستند) آنچه شما نیاز دارید برنامهسازان (Developer) هستند (کسانیکه به روشهای مختلف تلاش میکنند تا محصولی موفق ساخته شود). اگر در تعریفم از واژهها کمی گستاخ هستم، پوزش مرا بپذیرید، ولی اینکه من چه واژگانی را بکار میبرم زیاد مهم نیست. در شرکت نرمافزاری کوچک شما توانایی مالی داشتن افرادی را که فکرمیکنند تنها کارشان نوشتن کُد است را ندارید. کارهای بسیار دیگری برای انجامدادن هستند و انجام همه آنها برای محصولی موفق داشتن، اهمیت دارد. اگر شرکتی بزرگ بودید، میتوانستید برای هرکاری متخصصان آن کار را بگیرید. اما چون کوچک هستید، افراد کمتری نیاز دارید اما کسانی که همهفنحریفتر باشند. حدود (وظایف و اختیارات) در برابر انعطافپذیری این تفاوت بهراستی مهم بین شرکتهای کوچک و بزرگ است: در شرکت کوچک بیشتر افراد نقشهای مختلف دارند. امکانپذیر نیست که فردی داشتهباشید که تنها روی یک زمینه تمرکز میکند. شرکتهای کوچک افراد همهفنحریفی را نیاز دارند که به شرکت اهمیت میدهند و برای هرکاری که به شرکت کمک کند، پیشقدم می شوند. حسابدار یا کتابدار هرکاری را سر-و-سامان میدهند. معمولا کسانی وجود دارند که همه کارها را انجام میدهند و سرشان همیشه شلوغ است و هیچکس هم نمیداند که آنها چه میکنند. در اینجا مفهوم کلیدی انعطافپذیری است. شرکت شرکتهای بزرگ متخصصان بیشتری دارند. دستمزدها با «حسابهای دریافتنی» فرق میکند که آنهم از «حسابهای پرداختنی» جداست. معماران نرمافزار، طراحی میکنند. برنامه نویسان کُد مینویسند. مدیران فنی برنامه نویسان را مدیریت میکنند. مدیران پروژه (برنامه) ها مشخصه و زمانبندی را پیگیری میکنند. مدیران محصول جایگاهسازی و پیامرسانی میکنند. مبلغان، خوب، کسی به راستی نمیداند که آنها چه میکنند. به هرحال هرکسی کاری مشخص و تعریفشده دارد. مفهوم کلیدی اینجا احترام به حدود (وظایف و اختیارات) است. راستیکه این دو، فرهنگهایی بهکلی متفاوت هستند و اگر این دو با هم تداخل داشته باشند ممکن است چیزهای زشتی رخدهد. انعطافپذیری و حدود با هم جور درنمیآیند. کسیکه در یکی از این فرهنگها موفق بوده، اغلب هنگامیکه به دیگری گذار میکند، کارش بیخ پیدا میکند. برنامهسازان در شرکت کوچک نرمافزاری هر برنامهسازی پیش و بیش از هر چیز برنامه نویس است. بخش اصلی وقتش باید صرف نوشتن کُد و اشکالزدایی گردد. اما نیاز است که برنامهسازان در دیگر زمینهها هم کمک کنند، زمینههایی چون: مستندات مشخصهها مدیریت پیکربندی بازبینی کُد تست کردن تستهای خودکار مستندسازی حل مشکلات جدی مشتریان در واژگان من، این کارها برای برنامهساز و برنامه نویس فرق میکنند. برنامهساز بینش و چشماندازی بزرگتر دارد و توانایی آنرا دارد که دیدی بزرگتر (از موضوع) داشته باشد. برنامه نویس کُد مینویسد، آنرا به تستکنندهها میسپارد و منتظر میماند تا آنها اشکالها را بیابند. برنامهساز میداند که بهتر است هماکنون اشکالزدایی کند، زیرا ممکن است او در آینده همان کسی باشد که با مشتری درباره آن محصول صحبت میکند. زمانیکه تیم برنامه نویسان شما به مرور برنامهساز میشوند، شاید سلسله مراتب کاری شما تغییر کند. ممکن است که بهترین برنامهساز شما همان کسی نباشد که مشکلات بهراستی سخت را برطرف میسازد. یک برنامه نویس با استعداد فراوان میتواند برنامهسازی بسیار بد باشد.کُدنویسی بخشی لازم اما ناکافی برای برنامهساز بودن است. همینگونه، افراد با استعداد کمتر در تیم شما هنوز میتوانند خودشان را به عنوان برنامهسازانی عالی نشان دهند با مشارکتی که در بخشهای غیرکُد نویسی محصول میکنند. ~~~ پرسشهای پُربسامد (متداول) میتوانیم برنامه نویسانِ خود را فقط به کُدنویسی بگماریم و برای همه دیگر کارها گروهی دیگر را بکاربگیریم؟ شاید، شرکت ما پیشتر این کار را کردهاست و گاهی خوب جواب داده است. اما در درازمدت شما، از این تصمیم که برنامه نویسانتان را از همهچیز جز برنامه نویسی دور نگهداشتهاید، پشیمان میشوید. برنامه نویسان در یک شرکت نرمافزاری کوچک بیشتر از آن موثر هستند که به آنها چشماندازی باریک بدهیم. به آنها اجازه بدهید که چشمانداز کاربر را ببینند. برنامه نویسانتان را پشت تلفن بگذارید تا به مشتریان در رفع مشکلی جدی کمک کنند. همینطور که برنامه نویسان را مجبور میسازید اشکالهایی را که خود ایجاد کردهاند را رفع کنند، کیفیت محصول شما بهبود پیدا خواهد کرد. برنامه نویسان ما نمیدانند که چگونه همه این کارهای دیگر را انجامدهند؟ راستی؟ مطمئن هستم که دانشکدههای کامپیوتر ابزارهای مدیریت زنجیره تامین (SCM) و مهارتهای پشتیبانی فنی را درس میدهند، درست؟ گرچه دانشکده من این چیزها را یاد نمیداد. روشن است که برنامه نویسان شما نمیدانند که چگونه جنبههای جز-کُدنویسی ساخت محصول را انجام دهند. به آنها آموزش دهید. آموزش رسمی ممکن است نقشی ایفا کند، اما بهترین یادگیری از تجربه میآید. برنامهسازان شما باید پند شرکت نایکی (Nike) «انجامش بده» را بکار بندید. مطمئن شوید که آنها فرصت اشتباه دادهاید. به آنها اجازه دهید از اشتباهاتشان یادگیرند. برنامه نویسان ما نمیخواهند همه این کارها را انجام دهند بعضی آدمها نمیخواهند برنامهساز باشند، آنها میخواهند برنامه نویس باشند. اشکالی ندارد. برنامه نویس میتواند کار خوبی پیدا کند. اما شما و آن برنامه نویس میتوانید بنشینید و درباره اینکه آیا شرکت شما محیط مناسبی برای کار او هست یا نه، بیپرده سخن بگویید. سرانجام با توجه به موقعیت خود میتوانید تصمیم بگیرید که در این باره چه کنید. پیشنهاد من این است که هر برنامه نویسی در شرکت نرمافزاری کوچک نیاز دارد که در چیزی فراتر از کُدنویسی دخالت داشته باشد، البته تمام قاعدهها استثنا هم دارند. آیا یافتن برنامهسازی که مهارتهایی اینچنین گوناگون دارد، سخت نیست؟ بله هست. برنامهسازان واقعی و راستین ارزشمند هستند. احتمالا شما نمیتوانید آنها را از بیرون بکارگیرید. مجبور هستید که به برنامه نویسان کمک کنید که برنامهساز شوند. زمانیکه شدند، باید بسیار تلاش کنید که آنها را نگهدارید. هنگامیکه برنامه نویسی از شرکت جدا می شود یا در شرکتی بزرگ شغل مدیریتی میگیرد یا شرکت خو را برپا میکند. چگونه برنامهسازان کُد بنویسند در حالیکه پیوسته با کارهای دیگر در کارشان وقفه میاندازند؟ بله، این مسالهای است. از این فرصت بهره میجویم تا از اصل اریک (خودم) در مدیریت نرمافزار یاد کنم: نمیتوانید مسایل را حذف کنید، اما میتوانید بده-بستانی انجامدهید مسایلی که هماکنون دارید را بدهید در برابر آنها مسایلی را که ترجیح میدهید، بستانید. برنامهسازان وقت آزاد بیشتری نیاز دارند وگرنه هیچ کُدی نخواهند نوشت. خوب این مسالهای است که ترجیح دارد برمسایلی که برایتان پیش خواهد آمد هنگامیکه با افرادی با چشمانداز باریکِ «تنها کُد» سروکار پیدا میکنید. تلاش کنید زمان خود را ساماندهی کنید. برای نمونه در یک روز همزمان کُدنویسی و پشتیبانی فنی را انجام ندهید. پس شما میگویید که برنامهسازان ما مجبورند همه دیگر کارها را انجم دهند؟ خیر. بهتر این است که برنامهسازان هنوز بیشتر(اما نه همه) وقتشان را صرف نوشتن کُد کنند. اگر بودجه شما اجازه میدهد دستههای گوناگونی از متخصصان هستند که میتوانید بکار بگیرید: پشتیبانی فنی «سطح یک» بیشتر کار پشتیبانی فنی شامل پاسخگویی پیاپی به پرسشهای یکسان است.احتمالا اینکار بهترین کاربری از وقت یک برنامهساز نیست. برنامهساز را در پشتیبانی فنی «سطح دو» درگیر کنید؛ تشخیص و حل مشکلات سخت و پیچیده مشتریان. اما اینکه یک یا دو متخصص برای رسیدگی به کارهای سادهتر داشته باشید، ایده خوبی است. برای اینکار دنبال فردی بگردید که مهارتهای ارتباطی خوبی دارد و پیشزمینهای هم در مسایل فنی. تستِ دستی، بازبینی اشکالزدایی و … همینطور که یک تیم پشتیبانی فنی سطح یک میسازید، برای این تیم کمی بیش از نیازتان کارمند بگیرید. به آنها کمی هم وقت آزاد بدهید تا بتوانند با مقداری مشخص از کارهای پرسش/پاسخ درگیر شوند. بگذارید آنها مقداری از کار تستِ دستی و بازبینی اشکالزدایی را انجامدهند. این کار از بارِکاری برنامهسازان شما خواهد کاست و نرخ ازپای درآمدن افرادی که در جایگاه پشتیبانی فنی محض هستند را کاهش میدهد. مستندسازی برنامهسازانتان را مجبور کنید که مشخصهها یا پیشنویس نخست محتوا را بنویسند، اما آمادهسازی و ویرایش نهایی و ویرایش مستندات شما کاری است که برای کسی که میتواند بنویسد مناسب است. مدیر سیستم (System Administration) احتمالا برنامهسازان شما میتوانند کار یک مدیر سیستم را انجامدهند، اما هیچ دلیل خاصی مرتبط با محصول برای اینکه آنها این کار را بکنند وجود ندارد. بکارگیری یک مدیر سیستم روشی است برای کاستن از دغدغههای برنامهسازان. این نوشته برگردانی است از: Sink, Eric. “Small ISVs: You need Developers, not Programmers“ منبع: کسب و کار نرم افزار (ناصر غانم زاده) https://isfahanplus.ir/%d8%af%d8%b1-...-%d9%86%d9%87/
مشاهده قوانین انجمن