آیا من واقعا یک مهندس نرم‌افزار هستم؟!

گردآوری و تالیف : ارسطو عباسی
تاریخ انتشار : 13 خرداد 1398
دسته بندی ها : برنامه نویسی

این سوالی بود که برای سال‌ها از خودم می‌پرسیدم. به نظر هم می‌رسد که من تنها نبودم. بسیاری از افراد حتی با تجربه این نامطمئن بودن را تجربه کرده‌اند. اما در نهایت واقعا این دسته از افراد لیاقت دارند که جواب این سوال را بدست بیاورند. اینگونه نیست؟

با وجود آنکه «مهندسی نرم‌افزار» عنوانی است که از نظر یک کارفرما تعریف‌هایی دارد، اما برای بسیاری دیگر از افراد که در حوزه نرم‌افزار فعالیت می‌کنند استانداردهای متفاوت‌تری وجود دارد. از طرفی دیگر برای افرادی که تازه وارد این حوزه شده‌اند و یا مشغول مطالعه آن در دانشگاه هستند، فکر می‌کنند که عنوان مهندس نرم‌افزار یک گزینه تضمین شده‌ است و به آن‌ها کمک می‌کند تا خودشان را به خودشان اثبات کنند. 

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

من در این مطلب قصد دارم با در نظر گرفتن این موضوع که من دچار سندروم ایمپاستر بوده‌ام نکاتی را به شما بگویم. البته مطمئنا قرار نیست که همه چیزهایی که گفته می‌شوند یک جور درمان برای وضعیت کنونی شما باشد اما امیدوارم که بتواند در طی کردن مسیر درست به شما کمک هر چند کوچکی کرده باشد.

از چه زمانی شروع شد؟

برای من این موضوع در جولای سال ۲۰۱۶ شروع شد. من به تازگی مشغول یاد گرفتن توسعه وب بودم و فکر می‌کردم که سال درخشانی را در انتظار دارم. در آن زمان از شغلی که داشتم راضی نبودم و دنبال ایجاد یک تغییر بزرگ در این موضوع بودم. این دقیقا دلیلی است که افراد بسیار دیگری سراغ برنامه‌نویسی و یا کارهای دیگر می‌روند. 

ابتدا روی توسعه فرانت-اند تمرکز داشتم چرا که به من گفته بودند کار کردن با HTML/CSS/JS کار بسیار ساده‌ای است و می‌شود به سادگی با آن‌ها جلو رفت. بعد از ظهرها بعد از کار خودم شروع به گذراندن دوره‌های آموزشی مختلفی کردم. سه ماه اول سال ۲۰۱۶ به این صورت شروع شد. دفترچه یادداشتم پر از یادداشت‌های مختلف بود و چند پروژه استاتیک تازه را در گیت‌هاب آپلود کرده بودم. اما در نهایت هیچ چیز برای‌م راضی کننده نبود چرا که دنبال پروژه‌های بسیار بزرگ‌تری می‌گشتم.

این زمانی بود که قصد ساختن یک وبسایت نمونه کار برای همسرم را گرفتم. کسی که مشغول طراحی محصولات بود. زمانی که تصمیم به انجام چنین کاری گرفتم سطح توانایی‌های پایینی داشتم و انجام چنین کاری براستی برای من سخت بود. من تلاش بسیار زیادی کردم و در نهایت توانستم بعد از ۴ ماه کارم را به پایان برسانم.

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

اما خوشحال‌کننده‌ترین اتفاقی که برای من افتاد آپلود نهایی وبسایت همسرم بود. در نهایت من آن را ساختم. بازدیدکننده داشت و ترافیکی وارد آن می‌شد. حال چه؟ می‌توانستم به خودم بگویم مهندس نرم‌افزار؟

از افراد مختلفی سوال‌هایی می‌پرسیدم و برخی از نظرات را نیز از سوالات دیگران پیدا می‌کردم. در زمانی که سوال آیا واقعا من یک مهندس نرم‌افزار هستم را به اشتراک گذاشتم با پاسخ‌های مختلفی روبرو شدم:

«مهندس واقعی نرم‌افزار بودن چیزی فراتر از نوشتن چند خط کد جاوااسکریپتی است»

«توسعه وب برنامه‌نویسی واقعی نیست، توسعه وب در مقایسه با دیگر موضوعات برنامه‌نویسی دانش بسیار کمتری از مهندسی نرم‌افزار می‌خواهد. درگیر شدن با برنامه‌نویسی سیستمی، برنامه نویسی واقعی است.»

این‌ها نظراتی بودند که برای من ارسال می‌شدند.

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

برای همین تصمیم گرفتم که میزان زمان را افزایش داده و به صورت تمام وقت به مدت ۱۸ ماه روی آن کار کنم. از کار خودم استعفا دادم و در این مدت روبی و نودجی‌اس را مطالعه کردم و در نهایت با کمی گو نیز آشنا شدم. چند وب اپلیکیشن کوچک را نیز نوشتم.

در ژانویه ۲۰۱۸ به مدت دو سال بود که مشغول این کار بودم و به همین صورت نیز پیش رفتم. حال من پایه‌های برنامه‌نویسی را بلد بودم و می‌توانستم با چند زبان مختلف برنامه‌نویسی بکنم. در چندین پروژه متن باز مشارکت کردم و نمونه کارهایی نیز برای نمایش داشتم. به نظر می‌رسید که در نهایت می‌توانستم خود را یک مهندس نرم‌افزار بنامم.

اما نه، اینترنت چیز دیگری می‌گفت:

«مهندسی نرم‌افزار تنها در یک یا دو سال؟ امکان پذیر نیست.»

«شما نمی‌توانید بدون داشتن مدرک تحصیلی یک مهندس نرم‌افزار واقعی باشید. برداشتن چند دوره کدنویسی نمی‌تواند شما را به یک مهندس نرم‌افزار تبدیل کند. مهندسی نرم‌افزار علاوه بر کدنویسی شامل ریاضیات، جبر، فیزیک، علوم کامپیوتر، یادگیری ماشین و هوش مصنوعی، آمار و احتمالات می‌شود. در حال حاضر شما تنها یک کدنویس هستید.»

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

از بد به سمت افتضاح

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

نگرانی‌های من زمانی که وارد اداره شدم به اوج خود رسید. گفتگوهایی که در Slack انجام می‌شد را درک نمی کردم، نمی‌توانستم مخازن گیت‌هابی را که در آن‌ها هزاران خط کد وجود داشد مطالعه کنم و ابزارهای دیگر توسعه را نیز به خوبی درک نمی‌کردم. هفته اول کار بسیار استرس آور بود.

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

با در نظر گرفتن اینکه من در بین این همه فرد حرفه‌ای هستم، ترس من بیشتر می‌شد و از خودم می‌پرسیدم:

«چطوری به اینجا رسیدم؟ شانس بود؟ کسی اشتباهی این کار رو انجام داد؟»

بعد از کمی بودن در محیط شرکت بالاخره توانستم ارتباط‌هایی برقرار کنم. مکالمات Slack را پیگیری می‌کردم و کدها را نیز به دقت می‌خواندم. تقریبا داشتم خیلی چیزها یاد می‌گرفتم. اما باز هم نگرانی دست از سرم برنمی‌داشت. احساس می‌کردم که در یک سرزمین خارجی یک غریبه به نظر می‌رسم. هر اشتباهی هم که می‌کردم اثبات این قضیه را محکم‌تر می‌کرد.

روزی را به خاطر می‌آورم که یک اشتباه را انجام دادم و بعد کسی به من گفت «چطوری تو رو اینجا استخدام کردن؟» ترس بر من غالب شد. سریعا سراغ آموزش‌های بیشتر رفتم و قصد داشتم مدارک بیشتری را در زمینه علوم کامپیوتر بدست بیاورم. اما بعد از انجام چنین کارهایی باز هم هیچ چیز خوب نشد. تا زمانی که کار مهمی را انجام دادم.

پیدا کردن راه‌حل

راه‌حلی که پیدا کردم ساده اما ترسناک بود.

صحبت کردن

من مجبور بودم که با کسی صحبت کنم، دیگر نمی‌توانستم همه چیز را در خودم نگه دارم. با این حال می‌ترسیدم که چنین سوالی را از کسی بپرسم: «تو هم فکر می‌کنی که یه دروغگو هستی؟» با یک دوست صمیمی شروع کردم. و بعد از مدتی مشاهده کردم که تقریبا با تمام افراد آنجا در حال حرف زدنم و بعد از آن متوجه شدم که من تنها نیستم. 

معلوم شد که سندروم ایمپاستر چیزی است که اکثریت افراد در آنجا با آن سر و کار دارند. بسیاری از افراد حرفه‌ای در طول تاریخ بوده‌اند که با چنین مشکلی سر و کله داشته‌اند. Tina Fey، John Steinbeck و حتی آلبرت انیشتن از این دست افراد بوده‌اند.

زمانی که با یک فردی صحبت می‌کردم چیزی گفت که برای‌م بسیار جالب و مفید بود:

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

آن زمان بود که متوجه شدم نباید با سندروم ایمپاستر جنگید، بلکه باید آن را تبدیل به ابزاری برای پیشرفت نمود. نمی‌گویم که بعد از پیشرفت‌های بسیار زیاد ترس من را رها کرد. الان که در حال نوشتن این مطلب هستم با یک پروژه جدید نیز باید سر و کار داشته باشم که اساسا از آن می‌ترسم اما مطمئنم با کمک گرفتن چند بار جستجو کردن و… تمام مشکلاتم را حل می‌کنم. افراد پیشرفته‌ و حرفه ای که در این اداره همراه با من کار می‌کنند نیز دنبال کمک و راهنمایی هستند. حتی مدیر تیم که یک Senior Developer است باز هم از اعضای تیم برای برخی کارهای مربوط به خود کمک می‌گیرد.

حال آیا من یک مهندس نرم‌افزار هستم؟ سوال دیگر این نیست. حال سوالی که وجود دارد این است: آیا این موضوع اهمیتی دارد؟ دیگر اهمیتی ندارد که عنوان شما چه باشد مهم آن است که شما چکاری را می‌توانید انجام دهید.

منبع

مقالات پیشنهادی

چیزی که من در دو سال اول کار خود به عنوان یک مهندس نرم‌افزار یاد گرفتم

سال ۲۰۱۵ بود و من دانشجویی در دانشگاه فلوریدا بودم. در طی آن زمان، من تحت آموزش پروفسوری بودم که در طول ترم، چندین پروژه تیمی را به ما اختصاص می‌داد،...

آیا دروپال برای طراحی مناسب است ؟ شما چه فکر می‌کنید ؟

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

بهبود آیکون پروژها با یک کتابخانه بزرگ

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

آیکون های فروشگاهی و بازاریابی

در این پست لذت بخش من میخوام به شما یک مجموعه از آیکون های زیبا و ضررویه بازاریابی و فروشگاهی رو معرفی کنم که شامل +100 آیکون Swificons با 3 نوع مختلف...