برنامه نویسی

چه چیزی نظرتان را تغییر داده اید؟

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

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

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

  • آیا به‌عنوان یک توسعه‌دهنده جوان، نظر قوی داشتید که موضع خود را نسبت به آن تغییر داده‌اید؟
  • آیا با یک پست وبلاگ یا مقاله DEV که سال ها پیش نوشته اید مخالفت کرده اید؟

مجازی بالا پنج! شما کمتر از آنچه که بودید اشتباه می کنید. بیایید در مورد آن بشنویم.

به نوبه خود، دو چیز به ذهنم می رسد.

NoSQL

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

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

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

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

هر کسی می تواند کد کند

من از بچگی برنامه نویسی کردم. برای من جالب بود – نه، فریبنده-از اولین لحظه که فهمیدم چیه. حتی زمانی که برنامه بلندمدت من این بود که به دانشکده حقوق بروم و سیاستمدار شوم، اوقات فراغت خود را صرف بازی با jQuery و خواندن CSS-Tricks می کردم.

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

اشتباهی که مرتکب شدم این بود که تجربیاتم را به دیگران منتقل کردم. فکر کردم: “کد ساده و منطقی است.” “مطمئناً همه اگر وقت بگذارند می توانند یاد بگیرند.”

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

نوبت شماست اخیراً نظرتان در مورد چه چیزی تغییر کرده است؟

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا