گزینههای شغلی خود را فهرست کنید
افتادن در دام انجام کاری که دیگران انجام میدهند و دنبالکردن مسیری که برای شما تعیینشده، آسان است. هرچند درست است که اکثر توسعهدهندگان نرمافزار در بیشتر طول زندگی شغلی خود، بهعنوان یک کارمند کار میکنند؛ با اینحال این تنها گزینهی شما نیست. راههای سودآور زیادی برای استفاده از مهارتهای برنامهنویسی شما وجود دارد.
حتی ممکناست ندانید که گزینههای دیگری بهجز استخدام سنتی وجود دارد – من خودم هم تا مدتها این موضوع را نمیدانستم. در این مقاله، گزینههای دیگری را بیان میکنم تا بهتر بتوانید تصمیم بگیرید که برای آیندهی خود چه میخواهید. در ادامهی این مقاله، به هر یک از این گزینهها نگاه خواهیم کرد و یاد خواهیم گرفت که برای موفقیت در هر مسیر شغلی چهچیزی لازم است.
شغل اول: کارمندی
این مورد، انتخاب شغلی پیشفرض و بدیهی است که اکثر توسعهدهندگان نرمافزار دنبال میکنند. من در بیشتر دوران حرفهای خود بعنوان توسعهدهندهی نرمافزار، کارمند بودم. اینموضوع تا حدی به این دلیل بود که نمیدانستم گزینههای دیگری هم وجود دارد و تا حدی نیز به این دلیل بود که آسانترین مسیر برای طیکردن است. احتمالاً نیازی به تعریف ندارد که کارمندبودن دقیقاً چیست؛ اما ارزش نگاهی به برخیاز مزایا و مضرات انتخاب این گزینهی استخدامی را دارد.
بزرگترین مزیت کارمند بودن، ثبات است. منظور من ثبات در یک شغل خاص یا کارکردن برای یک کارفرمای خاص نیست. در عوض، من به ثبات ازنظر داشتن یک راه از پیش تعریفشده برای امرار معاش اشاره میکنم که میدانید موفق خواهد شد. بهعنوان یک کارمند، تا زمانی که شغل دارید، یک چک حقوق دریافت خواهید کرد. ممکناست در آینده آن شغل را از دست بدهید و مجبور شوید بهدنبال کار جدید بگردید؛ اما حداقل دورهای از ثبات نسبی دارید که در آن میتوانید هر ماه به سطح مشخصی از درآمد وابسته باشید.
کارمند بودن نسبتبه انتخابهای دیگر، راه آسانتری برای پیگیری است؛ زیرا دامنهی مسئولیت شما محدود است و این مسیر کاملاً روشن است. یک فرآیند کاملاً تعریفشده برای یافتن و درخواست شغل وجود دارد. این به شما بستگی ندارد که بفهمید برای دریافت حقوق چه کاری باید انجام دهید و شرح وظایف شغلی توسط کارفرما برای شما تعریف میشود. همچنین به عنوان یک کارمند، شما معمولاً مرخصی با حقوق و بیمهی تأمین اجتماعی و احتمالاً بیمهی تکمیلی درمان دریافت میکنید.
جنبهی منفی کارمندی، عمدتا شامل آزادی شما میشود. به عنوان یک کارمند، بیشتر وقت خود را صرف انجامکار برای کارفرمای خود خواهید کرد. در نوع کاری که انجام میدهید حق انتخاب زیادی ندارید و ممکناست همیشه نتوانید کاری را که دوستدارید، انجامدهید. همچنین معمولاً از شما انتظار میرود که با نوعی برنامهریزی مطابقت داشته باشید که تعیین میکند چندساعت در هفته و چهروزهایی باید کارکنید.
کارمند بودن به این معنی است که درآمد شما از قبل تعریف شده است و درعینحال به این معنی است که این درآمد تا حدی «محدود» است. بهعنوان یک کارمند، درنهایت از نظر درآمد و فرصتهای پیشرفت، به چیزیکه بهعنوان “سقف شیشهای” شناخته میشود، خواهید رسید: در نهایت به نقطهای خواهید رسید که نمیتوانید به میزان قابلتوجهی درآمد بیشتری داشته باشید و بدون تغییر مسیر شغلی، نمیتوانید در رتبههای بالاتر پیشرفت کنید.
مزایا:
- پایداری
- مسیر راحتتر برای دنبالکردن
- مرخصی با حقوق
- بیمهی تأمین اجتماعی و احتمالاً بیمهی تکمیلی درمان
معایب:
- کمبود آزادی
- سقف پیشرفت در رتبه و حقوق
شغل دوم: مشاور مستقل
بسیاری از توسعهدهندگان نرمافزار ازطریق مشاورهدادن بهصورت مستقل امرار معاش میکنند. یک مشاور مستقل، یک توسعهدهندهی نرمافزار است که برای یک کارفرمای خاص کار نمیکند؛ بلکه برای یک یا چند مشتری بهطور همزمان کار میکند. اگر تا به حال یک کار جانبی داشتهاید که در آن کار، برنامهنویسی را برای مشتری انجام دادهاید و کارفرما به شما با نرخ ساعتی دستمزد پرداخت میکند یا قیمت ثابتی دارد، می دانید مشاوره چیست.
من یک مشاور مستقل را توسعهدهنده نرمافزاری میدانم که بخش عمدهای از درآمد خود را با انجام این نوع کار به دست میآورد. این بسیار متفاوت از پیمانکاری است که برای یک مشتری کار میکند و فقط برای انجام کارهای آنها بصورت ساعتی دستمزد میگیرد. یک پیمانکار بیشتر یک رابطهی کارمندی است که بهصورت پروژهای تعریف میشود و به آن لقب کار آزاد یا Freelance نیز میگویند. یک مشاور مستقل معمولاً شرکت خود را دارد و برای انجام کار برای مشتریان، قرارداد میبندد، اما به هیچیک از مشتریان محدود نیست.
من چند سالی را در کارم به عنوان یک مشاور مستقل گذراندم و هنوز هم تا امروز کارهای مشاورهای مستقل انجام میدهم. من همیشه رؤیای این را داشتم که خودم بیرون بروم و برای خودم کار کنم و تصور میکردم که مشاور مستقل بودن، تحقق این رؤیا باشد. به این فکر میکردم که چقدر خوباست که بهجای کارکردن برای شخص دیگری، رئیس خودم باشم؛ اما نمیدانستم که مشاور مستقل بودن، درحقیقت بهمعنای مبادلهی یک رئیس با چندین رئیس است.
نه اینکه بگوییم مشاور مستقل بودن کلاً بد است. نداشتن یک کارفرما که باید به او گزارش دهید، مزایای مشخصی دارد. بهعنوان یک مشاور مستقل، میتوانید در بیشتر موارد ساعات کاری خود را تنظیمکنید و این آزادی را دارید که شغلی را که میخواهید روی آن کار کنید، انتخاب کنید – با این فرض که بهاندازهی کافی کار دارید تا بتوانید انتخاب کنید. شما میتوانید هرطور که میخواهید بیایید و بروید و برنامهای انعطافپذیر داشته باشید؛ اما مشتریان انتظار دارند که بتوانند از جانب شما حمایت شوند و کار خود را بهموقع تحویل بگیرند.
بزرگترین مزیت مشاور مستقل بودن، احتمالاً کسب درآمد بالقوه است. بهعنوان یک مشاور مستقل، میتوانید دستمزد ساعتی بسیار بالاتری نسبت به کارکردن برای شخص دیگری داشته باشید. من درحالحاضر بین 300 تا 500 هزار تومان در ساعت به مشتریان برای کاری که برای آنها انجام میدهم، صورتحساب میدهم و تعداد زیادی از مشاوران مستقل را میشناسم که نرخ دستمزد آنها حتی بالاتر است.
این بدان معنا نیست که شما لزوماً فقط با تبدیلشدن به یک مشاور مستقل، ثروتمند خواهید شد. شما با نرخ صورتحساب 300 هزار تومان در ساعت شروع نمیکنید – اگرچه در آینده در مجموعه مقالات درمورد بازاریابی، راههای عملی برای افزایش نرخ صورتحساب به شما ارائه خواهمداد. همچنین معمولاً هر هفته 40 ساعت کار در هفته رزرو نمیکنید. حتی اگر بهنظر میرسد که شما بهعنوان یک مشاور مستقل، درآمد بالایی کسب میکنید، مقدار زیادی از این زمان صرف جستجوی مشتریان و سایر هزینههای مربوط به ادارهی یک کسبوکار میشود. وقتی یک مشاور مستقل هستید، بهمعنای واقعی کلمه یک کسبوکار مستقل هستید (نه فقط در ذهنیت). شما مسئول مالیات، مشاورهی حقوقی، فروش، مراقبتهای بهداشتی و هر چیز دیگری هستید که با ادارهی یک تجارت مرتبط است.
مزایا:
- آزادی بیشتر (ساعت کاری منعطف)
- پروژههای جدید و مستمر برای کار
- درآمد بالقوه بیشتر
معایب:
- بهدنبال مشتری گشتن
- دردسرهای یک کسبوکار مستقل
- داشتن چند رئیس بهجای یک رئیس
شغل سوم: کارآفرین
مسیر کارآفرینی احتمالاً دشوارترین، نامشخصترین و درعینحال ازنظر مالی، بالقوهترین مسیری است که میتوانید در شغل خود طیکنید. این تعداد صفت برای توصیف یک انتخاب شغلی زیاد است و دلیل خوبی هم دارد. من یک کارآفرین را با یک قمارباز حرفهای برابر میدانم. ثبات بسیار کمی در کارآفرینی وجود دارد (اگر وجود داشته باشد)، اما اگر موفقشوید، میتوانید کسبوکارتان را «واقعاً» بزرگ کنید.
اما کارآفرینبودن دقیقاً به چه معناست؟ این یک تعریف بسیار مبهم است و میتواند بهمعنای چیزهای مختلفی باشد. بااینحال، در بیشتر موارد، من یک کارآفرین توسعهدهندهی نرمافزار را کسی میدانم که کسبوکار یا محصول خود را بااستفادهاز مهارتهای نرمافزاری خود توسعه میدهد. درحالیکه یک کارمند و یک مشاور مستقل، ساعتهای خود را با پول معامله میکند، یک کارآفرین وقت خود را بدون دستمزد پیشاپیش معامله میکند؛ اما فرصتی برای بازدهی بسیار بزرگتر در آینده دارد. تفاوت بین کارمندی و مشاورهی مستقل با کارآفرینی، درست شبیه کارکردن در مزرعهی دیگران و داشتن مزرعهی شخصی است. مزرعهی شخصی تا مدتها درآمدی ندارد و کسی بابت کارکردن روی مزرعهی شخصی یکنفر، به او حقوق نمیدهد و اگر محصولش ازبین برود، کاملاً ضرر کرده و عمر و مالش بههدر رفته است؛ اما اگر بهثمر بنشیند، تمام محصول و درآمد متعلق به خودش خواهد بود و میزان درآمدش با کارکردن روی مزرعهی دیگران قابلقیاس نیست؛ بهعلاوه در آینده نیز زحمت کمتری برای حفظ و گسترش درآمدش نیاز دارد چون بستر اولیه را فراهم کرده است.
من در حال حاضر خود را در دستهی کارآفرینان میدانم. من بیشتر وقتم را صرف توسعهی آموزش و سایر محصولاتی میکنم که بهطور مستقیم یا غیرمستقیم ازطریق دوستان و شرکا میفروشم تا زندگی خود را تأمین کنم. من هنوز کدنویسی میکنم؛ اما معمولاً برای هیچ مشتری خاصی کد نمینویسم. من یا برای محصول یا خدمات خاصی که ایجاد میکنم کد مینویسم یا مفاد آموزشی را توسعه میدهم تا آنچه را که میدانم به دیگران بیاموزم (و البته همین آموزشها را نیز بهطور مستقیم یا غیرمستقیم وارد جریان درآمدسازی خودم میکنم).
در واقع همین مقاله نیز نمونهای از یک تلاش کارآفرینانه است. من درحال انجام یک قمار بزرگ هستم و ساعتهای زیادی را صرف نوشتن این مقالات میکنم. زمانی که من یک آموزش در یک سایت واسط منتشر میکنم، پیشپرداخت کوچک از ناشر دریافت خواهم کرد، اما ناشر مربوطه، هزینهی زمانی را که برای کار روی آن آموزش صرف میکنم، پرداخت نمیکند. درحقیقت من امیدوارم که یا نسخههای کافی از آموزش را بفروشم و برای جبران زحماتم، حق امتیاز مناسبتی دریافتکنم، یا از آن بهعنوان تبلیغات استفاده کنم که به من کمک میکند در سایر زمینههای کسبوکارم مشتری جذبکنم. این کاملاً ممکناست که کل این آموزش شکست بخورد و تلاشی بیهوده باشد (اگرچه با توجه به اینکه شما اکنون مقاله را میخوانید احتمال شکست آن کمی کمتر است).
دیگر کارآفرینان توسعهدهندهی نرمافزار به روشهای کاملاً متفاوتی نسبت به من عمل میکنند. برخیاز آنها شرکتهای استارتآپی را تشکیل میدهند و بهدنبال سرمایهگذاری کلان ازسوی سرمایهگذاران خارجی به نام VCها یا سرمایهگذاران خطرپذیر هستند. برخیدیگر شرکتهای کوچک نرمافزار بهعنوان یک سرویس (SaaS) میسازند و با فروش اشتراک خدمات خود، درآمد کسب میکنند. بهعنوان مثال، بنیانگذاران شرکت محبوب آموزش توسعهدهندگان Pluralsight با آموزش کلاس درس شروع کردند؛ اما بعداً متوجهشدند که با ارائهی یک سرویس کاملاً آنلاین میتوانند بسیار بهتر عملکنند و سپس با شروع ارائهی یک سرویس مبتنی بر اشتراک، به مدل SaaS رفتند.
من مطمئن هستم که تابهحال میتوانید حدس بزنید که دو مزیت بزرگ کارآفرینبودن چیست: آزادی کامل و پتانسیل درآمد کاملاً بدون محدودیت. بهعنوان یک کارآفرین، شما هیچ رئیسی بهغیر از خودتان ندارید – اگرچه میتوانید خودتان خشنترین رئیس باشید. شما میتوانید هرطور که دوست دارید بیایید و بروید و کاملاً مسئول آیندهی خود و کسبوکارتان هستید. همچنین اگر چیزی را بسازید که بسیار موفق باشد، میتوانید میلیونها تومان یا بیشتر درآمد داشته باشید. شما میتوانید اهرمی را در زمان خود اعمال کنید تا بازده حاصل از آنرا به روشهای بالقوه بهصورت تصاعدی افزایش دهید.
اما کارآفرینبودن همیشه بهمعنای لیموزین و مهمانیهای مجلل نیست. این احتمالاً سختترین و پرخطرترین انتخاب شغلی است که میتوانید شروع کنید. هیچ تضمینی برای هیچ درآمدی وجود ندارد و شما میتوانید در پی دنبالکردن ایدههای درخشان خود، تا خرخره در بدهی غرقشوید. زندگی یک کارآفرین، پر از ترن هوایی است. یکروز مشتریان محصول شما را میخرند و شما در صدر جهان قرار میگیرید. روز بعد پروژهی شما خراب میشود یا یک رقیب از ناکجاآباد با سرمایهی دهبرابر شما پیدا میشود و با دامپینگ و قیمتشکنی، شما را به چالش میکشد و شما غرق در فکر میشوید که چگونه اجارهی خود را بپردازید.
کارآفرینبودن همچنین مستلزم سرمایهگذاری هنگفت روی مهارتهای دیگری است که ممکناست بهعنوان یک توسعهدهندهی نرمافزار که برای شخص دیگری کار میکند یا کار مشتریان را انجام میدهد، نگران آنها نباشید. کارآفرینان باید هم فروش و هم بازاریابی و همچنین بسیاری از جنبههای دیگر کسبوکار و مالی را که برای موفقیت حیاتی هستند بیاموزند. تازه این در شرایطی است که کارمند نداشتهباشید وگرنه باید مهارتهای مدیریتی و پرداخت حقوق یا شریککردن همکاران در سود و سهام شرکت و… را هم به ماجرا اضافهکنید (من برخی از این موضوعات را بعداً در مقالات دیگری پوشش خواهم داد. در مقالات دیگری در آینده، ما در مورد بازاریابی خودتان صحبت خواهیم کرد که مفهومی مشابه بازاریابی یک محصول است و در مقالات دیگری، به برخیاز موضوعات مالی خواهیمپرداخت که آنها را مفید خواهیدیافت، حتی اگر قصد کارآفرینشدن نداشتهباشید).
مزایا:
- آزادی کامل
- پتانسیل درآمدی فوقالعاده زیاد
- کارکردن برروی چیزی که میخواهید و دوستش دارید
- رئیس ندارید
معایب:
- ریسک بسیار زیاد
- همهچیز برعهدهی خود شماست
- نیاز به مهارتهای زیاد دیگر (بهجز توسعهی نرمافزار)
- احتمال شکست پساز روزهای طولانی کارکردن، بدون درآمد و حتی با بدهی زیاد
کدام مسیر را انتخاب کنیم؟
برای اکثر توسعهدهندگان نرمافزار، بهخصوص زمانیکه شروع به کار میکنند، کارمندبودن منطقی است. این گزینه، کمترین خطر را دارد و نیازی به داشتن تجربهی زیادی از قبل ندارد. من تمایل دارم کارمندبودن را مانند شاگردبودن بدانم. حتی اگر آرزوی تنها کارکردن و روی پای خود ایستادن را دارید، کارمندی نقطهی خوبی برای شروع یادگیری این صنعت و تقویت مهارتهای خود بدون ریسک و با سرمایهی فرد دیگر است.
با این اوصاف، اگر تازه شروع کردهاید و این فرصت را دارید که یک مشاور مستقل یا کارآفرین باشید و بتوانید ریسکهای موجود را تحملکنید، میتوانید همهی ناکامیها و اشتباهات اجتنابناپذیر را زودتر از سرراه بردارید و خود را برای یک زندگی شغلی خوب در آینده آماده کنید.
انتخاب واقعاً به شما بستگی دارد و همیشه میتوانید بعداً مسیر را تغییر دهید. در واقع، در یک مقالهی مجزا در آینده به شما نشان خواهم داد که چگونه از کارمندی به خوداشتغالی تبدیلشوید. این یک راه آسان نیست؛ اما ممکن است.