چگونه از صفر به یک توسعه‌دهنده‌ای حرفه شاغل در IBM تبدیل شدم

اغلب از من، کولبی ویلیامز (Colby Williams) می‌پرسند چه چیزی باعث شد تا سلبریتی یوتیوب بودن و زندگی در کنار بازی‌های ویدیویی را کنار بگذارم تا بتوانم در شرکت آی‌بی‌ام مشغول به کار شوم.

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

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

خواهرم به تازگی مدرک CS خود را دریافت کرده بود و با این‌که 10 سال کوچک‌تر از من بود، از من در ارتباط با فناوری اطلاعات و برنامه‌نویسی درخواست کمک کرد و من هم واقعا دوست داشتم به او کمک کنم، بنابراین یک کتاب جاوا تهیه کردم و تمام پروژه‌های این کتاب را بررسی کردم و شبیه به دروس دانشگاهی که برای هر درس باید پروژه‌ای را انجام دهید، همین کار را انجام دادم.

پیشنهاد مقالهآیا برای یادگیری برنامه‌نویسی شرط سنی خاصی وجود دارد؟

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

مرحله تحقیق / اکتشاف

من بازی‌های فلش را در سال 2007 کدنویسی کردم، اما در مورد نحوه کار وب هیچ نمی‌دانستم، زیرا تنها کاری که تا آن زمان انجام داده بودم، بازی‌های ویدیویی بود.

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

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

در ادامه تصمیم گرفتم در دوره‌های آموزش آنلاینی که در ارتباط با بزرگ داده‌ها (Big Data)، الگوریتم‌ها (algorithms) و هوش مصنوعی (Artificial Intelligence) و انواع مختلف فناوری‌ها قرار داشت شرکت کنم. واقعا نمی‌دانستم چه کار می‌کنم یا چه چیزی باید یاد بگیرم.

تنها چیزی که از آن بسیار سپاسگزارم این است که تصمیم گرفتم لینوکس را نصب کنم تا بتوانم خط فرمان Bash را یاد بگیرم و چند آموزش در مورد استفاده از  Vim را بررسی کردم.

پیشنهاد مقاله: داستان فردی که توانست با حضور در بوت‌کمپ‌، برنامه‌نویس حرفه‌ای شود

استراتژی یادگیری

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

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

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

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

لازم به توضیح است که پروژه اودین یک منبع عالی برای یادگیری زبان برنامه نویسی روبی و ریل (Ruby and Rails) است. البته برخی افراد، پیشنهاد می‌کنند از Free Code Camp استفاده کنید که پروژه‌ای شگفت‌انگیز است که توسط جامعه بزرگی از توسعه‌دهندگان حمایت می‌شود.

باید متعهد می‌شدم

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

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

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

http://colbycheeze.blogspot.com/

نکته جالب توجهی که در این مدت کمتر به آن توجه کردم بودم این بود که هر شب تنها 5-6 ساعت می‌خوابدیم تا بتوانم زمان بیشتری را صرف یادگیری کنم. در شرایطی که تحقیقات علمی 7 تا 8 ساعت خواب شبانه را توصیه می‌کنند، اما موفق شدم با کمتری خوابیدن این دوره را سپری کنم و جالب آن‌که رویکردی که اتخاذ کرده بودم، جواب داد.

جامعه (Community)

پیش بردن همه چیز‌هایی که در ذهنم بود، چیز، حتی با وجود نقشه راهی که داشتم، سخت بود، اما مشکل این بود که به شدت در این برنامه‌ریزی که انجام داده بودم، عمیق شده بودم.

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

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

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

در نهایت شروع کردم به شرکت در جلسات محلی تا جایی که توانستم با توسعه‌دهندگان دیگری آشنا شوم.

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

شکار شغل (Job hunt)

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

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

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

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

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

مجتمع دانش و فناوری بامداد ارائه می‌کند: بوتکمپ برنامه‌نویسی منتهی به شغل 

کار را پیدا کردم

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

این مسئله باعث شد تا در یک مسیر دو راهی سخت قرار بگیرم که کدامیک انتخاب بهتری است. در نهایت تصمیم گرفتم پیشنهاد استارت آپ را رد کنم.

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

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

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

ارتباطات و مهارت‌های بین فردی:  اگر در نظر دارید هنگان مصاحبه با مدیران استخدامی خوش بدرخشید، باید اطلاعات کاملی در برقراری ارتباط داشته باشید به حرف‌های دیگران گوش دهید.

مهارت‌های حل مسئله: با توجه به این‌که مشکلات اجتناب‌ناپذیر هستند، افرادی که می‌توانند راه‌حلی‌هایی برای چالش‌های روزمره‌ ارائه کنند، در زمره با ارزش‌ترین افرادی هستند که سازمان‌ها به دنبال جذب آن‌ها هستند. همچنین، افرادی که توانایی حل مسئله ندارند، اما مایل هستند از مشاوره و راهنمایی سایرین استفاده کنند، افراد شایسته و مورد اعتمادی هستند.

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

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

مهارت‌های مدیریت زمان: مهارت‌های مدیریت زمان برای کارمندان نتیجه‌محور، کلید اتمام وظایف و انجام به موقع آن‌ها است.

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

انعطاف‌پذیری: در بازار به شدت رقابتی امروز، نحوه کار شرکت‌ها همواره در حال تغییر است. توانایی سازگاری با شرایط و انعطاف‌پذیری، به شرکت‌ها کمک می‌کند که رو به جلو حرکت کنند و در میدان رقابت باقی بمانند.

نگرش مثبت: می‌تواند نقش تحول بزرگی در سازمان به وجود آورد. بسیار مهم است که کارمندان به دنبال کسب چنین نگرش و انرژی مثبتی باشند؛ زیرا وجود تنها چند فرد منفی برای از کار انداختن عملکرد یک شرکت کافی است.

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

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

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

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

منبع:

http://www.colbycheeze.com/blog/2015/10/zero-to-developer.html

ثبت ديدگاه