چگونه می‌توانیم به بهترین برنامه‌نویس جهان تبدیل شویم ؟ - قسمت اول
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 6 دقیقه

چگونه می‌توانیم به بهترین برنامه‌نویس جهان تبدیل شویم ؟ - قسمت اول

‌در مقاله‌ي دو قسمتی از سایت راکت، من ایده‌ای درمورد اینکه چگونه بهترین برنامه‌نویس دنیا شوید، ندارم؛ بنابراین راه‌هایی که برای ممتاز شدن در این زمینه پیشنهاد می‌کنم، این است که تمام مدت از برنامه‌نویسان ماهر یادبگیرید و از مهندسان باتجربه بازخورد بگیرید.

1. درس‌هایی از Dennis Ritchie، مردی که پشت UNIX و C است

Dennis Ritchie می‌گوید: «UNIX اساساً یک سیستم عامل ساده است اما برای درک سادگی‌های آن شما باید یک نابغه باشید!»

چگونه می‌توانیم به بهترین برنامه‌نویس جهان تبدیل شویم ؟ - قسمت اول

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

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

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

در اینجا روند تکامل شغلی Dennis Ritchie را بیان می‌کنیم:

  1. Dennis Ritchie زبان برنامه‌نویسی C را به وجود آورد و با همکاری Ken Thompson سیستم عامل UNIX را ساخت.
  2. در سال 1983 او مسئول پذیرش Turing Award در سازمان ماشین‌آلات حسابرسی بود.
  3. در سال 1990 هم Ritchie و هم Thompson مدال IEEE Richard W.Hamming را از موسسه مهندسی الکتریک و الکترونیک (IEEE) دریافت کردند.
  4. در سال 1997 او عضوی از موزه تاریخ کامپیوتر بود.
  5. او مدال ملی فناوری را از رئیس‌جمهور کلینتون در سال 1999 دریافت کرد.

شما چگونه می‌خواهید تمام این روند تکامل را طی کنید؟ علاوه بر این، Dennis Ritchie چگونه توانست یادبگیرد که نرم‌افزار بنویسد؟

Dennis Ritchie که مردم او را پدر زبان برنامه‌نویسی C می‌نامند، شخصیت دلپذیر، مهربان، فروتن دارد و به معنای واقعی کلمه گیک است.

اما او از ابتدا گیک نبوده است.

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

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

نکته 1: اگر شما به دنبال این هستید که بتوانید یک نرم‌افزار خوب بنویسید، باید همیشه کنجکاو باشید.

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

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

در زمان دانشجویی، Ritchie در سمیناری با عنوان چگونه "Univac I" کار می‌کند، شرکت کرد.

"UNIVAC I" (کامپیوتر خودکار جهانی) اولین کامپیوتر تجاری تولیدشده در ایالات‌متحده آمریکا بود.

در زیر تصویر آن را برای شما قرار داده‌ام:

چگونه می‌توانیم به بهترین برنامه‌نویس جهان تبدیل شویم ؟ - قسمت اول

واقعاً چه نوع کنجکاوی باعث می‌شود که یک شخص در جای خود بنشیند و از سخنرانی در مورد چگونگی عملکرد این کامپیوتر لذت ببرد؟

درواقع همان چیزی که او را به بهترین برنامه‌نویس تبدیل می‌کند.

بعد از این معرفی اولیه، Ritchie به سراغ مطالعات اولیه روی نحوه عملکرد کامپیوتر رفت.

(کنجکاوی گربه را به کشتن می‌دهد، همه این را می‌دانیم اما شما گربه نیستید.)

نکته 2: می‌دانم که قبلاً این را شنیده‌اید اما سعی کنید چیزهای زیادی بسازید.

Dennis Ritchie می‌گوید «بجای تمرکز بر ‌پروژه‌های خاص، من می‌خواهم اطراف مردمی باشم که ایده‌ها و تجربه‌های زیادی دارند؛ بنابراین من کار روی پروژه‌های مختلفی را شروع کردم که راه متخصص شدن خودم را پیدا کنم.» 

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

نکته 3: وقت خود را صرف کارهایی کنید که شمارا باتجربه‌تر کند.

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

این هم مطلب دیگری است که Ritchie می‌گوید:

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

آن‌ها را از طریق شبکه‌هایی که با آن‌ها راحت هستید، دنبال کنید. وبلاگ آن‌ها را بخوانید. ویدئوهای youtube آن‌ها را نگاه کنید. به پادکست‌های آنان گوش دهید.

فقط کنار آن‌ها بمانید.

نکته 4: مسائل را حل کنید.

Dennis Ritchie می‌گوید: «برنامه‌نویسی خیلی جالب نیست، آن چیزی که شما می‌توانید به انجام برسانید و نتیجه‌ای که از آن می‌گیرید مهم و جالب است.»

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

این روشی بود که Ritchie برنامه‌نویسی را در حالت کلی نگاه می‌کرد: این‌که چه چیزی می‌تواند انجام شود. مسائلی که باید حل شوند و تأثیری که روی مردم می‌گذارد.

مسائلی که شمارا خیلی اذیت می‌کنند، نادیده نگیرید. اگر فکر می‌کنید که توسط خیلی‌ها نادیده گرفته‌شده‌اند، سعی کنید آن‌ها را حل کنید.

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

Elon Musk می‌گوید: «وقتی کاری مهم است آن را انجام دهید حتی اگر موردعلاقه شما نباشد.» 

در اینجا مثال‌های جالبی را بیان می‌کنم:

  • Electron JS، فناوری برای ساختن برنامه‌های کاربردی دسکتاپ با جاوااسکریپت برای این ساخته شد که بخشی از تیم Github می‌خواست یک ویرایشگر حرفه‌ایی با فناوری‌های وب بسازد.
  • Redux، این ابزار برای کتابخانه ری‌اکت، جاوااسکریپت توسط Dan Abramov ساخته شد، چون او می‌خواست مدیریت کتابخانه با API مینیمال و با رفتاری کاملاً قابل پیش‌بینی بسازد. این راهی بود که او انتخاب کرد.
  • Quinky Larson و گروهی دیگر پلتفرم freecodecamp را برای حل مسائل فناوری‌های آموزش وب، در یک انجمن متن‌باز ساختند. آن‌ها مسائل را دیدند و برای حل آن قدم برداشتند.

کلیدهای موفقیت از زبان Dennis Ritchie پدر زبان برنامه‌نویسی C

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

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

در قسمت بعدی (قسمت پایانی) این مقاله همراه ما باشید.

منبع

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
در انتظار ثبت رای

/@alireza.mzh
علیرضا معمارزاده
junior level developer

Student of Software Engineering, python Developer, i love programming and game

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید