برنامه نویس نرم افزار باز شوید

نویسنده: Morris Wright
تاریخ ایجاد: 24 ماه آوریل 2021
تاریخ به روزرسانی: 1 جولای 2024
Anonim
!(یک روز کاری من به عنوان برنامه نویس (بک اند | A day in life with programmer
ویدیو: !(یک روز کاری من به عنوان برنامه نویس (بک اند | A day in life with programmer

محتوا

نوشتن و استفاده از نرم افزار باز فقط نوعی برنامه نویسی نیست (که در دنیای برنامه نویسان "هک" نیز نامیده می شود) ، نوعی فلسفه است. در حالی که شما فقط می توانید یک زبان برنامه نویسی را بلد باشید تا بتوانید کدگذاری کنید ، این مقاله در مورد نحوه عضویت در انجمن ، دوست یابی ، همکاری در پروژه های عالی و تبدیل شدن به یک متخصص محترم با نمایه ای است که نمی توانید در جای دیگر پیدا کنید. در دنیای نرم افزارهای آزاد ، به راحتی می توان وظایفی را به شما اختصاص داد که فقط نخبگان و برنامه ریزان سطح بالا مجاز به انجام آنها در یک شرکت هستند. به این فکر کنید که این تجربه چقدر می تواند برای شما به ارمغان بیاورد. با این حال ، هنگامی که تصمیم گرفتید به یک برنامه نویس نرم افزار باز تبدیل شوید ، باید مایل باشید برای این هدف وقت بگذارید. این مورد در صورتی که قبلاً دانشجوی IT هستید نیز اعمال می شود. توجه داشته باشید ، این مقاله در مورد چگونگی تبدیل شدن به یک هکر یا هکر نیست.

گام برداشتن

  1. یک توزیع خوب یونیکس بارگیری کنید. GNU / Linux یکی از محبوب ترین ها برای برنامه نویسی است ، اما از GNU Hurd ، BSD ، Solaris و (تا حدی) Mac OS X نیز معمولاً استفاده می شود.
  2. نحوه استفاده از خط فرمان را بیاموزید. اگر از خط فرمان استفاده کنید می توانید کارهای بیشتری با سیستم عامل های مشابه یونیکس انجام دهید.
  3. برخی از زبانهای برنامه نویسی محبوب را یاد بگیرید تا زمانی که به سطح کم و بیش رضایت بخشی برسید. در غیر این صورت ، نمی توانید کدی (مهمترین قسمت هر پروژه نرم افزاری) را به جامعه نرم افزار باز کمک کنید. برخی منابع پیشنهاد می کنند که همزمان با دو زبان شروع کنید: یک زبان سیستم (C ، جاوا یا مشابه) و یک زبان برنامه نویسی (پایتون ، روبی ، پرل یا موارد دیگر).
  4. برای بهره وری بیشتر ، شما به NetBeans یا یک محیط توسعه یکپارچه مشابه نیاز دارید.
  5. استفاده از یک ویرایشگر پیشرفته ، مانند vi یا Emacs را بیاموزید. آنها منحنی یادگیری بالاتری دارند ، اما شما می توانید کارهای بیشتری با آنها انجام دهید.
  6. درباره کنترل نسخه اطلاعات کسب کنید. کنترل نسخه احتمالاً مهمترین ابزار همکاری برای توسعه نرم افزار مشترک است. نحوه ایجاد و استفاده از وصله ها را بفهمید. بیشتر توسعه نرم افزارهای باز در جامعه از طریق ایجاد ، بحث و استفاده از وصله های مختلف انجام می شود.
  7. یک پروژه نرم افزاری کوچک و مناسب باز پیدا کنید که بتوانید به راحتی در آن شرکت کنید تا تجربه کسب کنید. این روزها بیشتر چنین پروژه هایی را می توان در SourceForge.net یافت. یک پروژه مناسب باید شامل موارد زیر باشد:
    1. از زبان برنامه نویسی که می دانید استفاده کنید.
    2. با نسخه های اخیر فعال باشید.
    3. قبلاً از سه تا پنج توسعه دهنده تشکیل شده است.
    4. برای استفاده از کنترل نسخه.
    5. بخشی را در اختیار داشته باشید که می توانید بدون نیاز به تغییر زیاد کد موجود ، فوراً آن را شروع کنید.
    6. علاوه بر کد ، یک پروژه خوب همچنین دارای لیست بحث فعال ، گزارش اشکال ، درخواست بهبود و فعالیتهای مشابه است.
  8. با مدیر پروژه انتخاب شده تماس بگیرید. در یک پروژه کوچک با تعداد کمی از توسعه دهندگان ، کمک شما معمولاً بلافاصله پذیرفته می شود.
  9. قوانین پروژه را با دقت بخوانید و کم و بیش آنها را دنبال کنید. قوانین سبک برنامه نویسی یا نیاز به مستند سازی تغییرات شما در یک فایل متنی جداگانه ، ممکن است در ابتدا مضحک به نظر برسد. با این حال ، هدف این قوانین فعال کردن کار مشترک است - و اکثر پروژه ها با آنها کار می کنند.
  10. چندین ماه روی این پروژه کار کنید. با دقت به سخنان مدیر و سایر اعضای پروژه گوش دهید. علاوه بر برنامه نویسی ، شما چیزهای زیادی برای یادگیری دارید. اما اگر واقعاً چیزی را دوست ندارید ، کافی است متوقف شوید و به پروژه دیگری بروید.
  11. برای مدت طولانی در پروژه زیرزمینی گیر نکنید. هنگامی که متوجه شدید قادر به کار موفقیت آمیز در آن تیم هستید ، وقت آن است که شروع به جستجوی چیز جدی تری کنید.
  12. به دنبال یک نرم افزار جدی یا سطح بالا باز یا پروژه منبع باز باشید. بیشتر این پروژه ها متعلق به سازمان های GNU یا Apache هستند.
  13. از آنجا که ما در اینجا یک جهش جدی داریم ، شما باید پذیرایی بسیار کمتری را در نظر بگیرید. به احتمال زیاد از شما خواسته می شود بدون دسترسی مستقیم نوشتن به مخزن کد برای اولین بار اجرا کنید. با این حال ، پروژه زیرزمینی قبلی باید چیزهای زیادی به شما یاد داده باشد - بنابراین پس از چندین ماه کمک مالی مفید ، می توانید حقوقی را که فکر می کنید باید داشته باشید ، مطالبه کنید.
  14. یک کار جدی را به عهده بگیرید و آن را حل کنید. وقتشه. نترس. ادامه دهید حتی اگر متوجه شدید کار بسیار دشوارتر از آن است که در ابتدا فکر می کردید - در این مرحله مهم است که تسلیم نشوید.
  15. اگر می توانید ، به "Summer of Code" گوگل مراجعه کنید تا مقداری پول برای این ماجراجویی صرف کنید. اما اگر این برنامه پذیرفته نشود نگران نباشید زیرا آنها دارای بودجه بسیار کمتری نسبت به برنامه نویسان بسیار خوب هستند.
  16. کنفرانس مناسبی را در همین نزدیکی ("روزهای لینوکس" یا موارد مشابه) پیدا کنید و سعی کنید پروژه خود را در آنجا ارائه دهید (کل پروژه، و نه فقط بخشی که شما برنامه ریزی می کنید). بعد از اینکه اشاره کردید که شما یک پروژه جدی رایگان / منبع باز را ارائه می دهید ، برگزار کنندگان غالباً از هزینه کنفرانس شما را جبران می کنند (در غیر این صورت ، به هر حال کنفرانس نامناسب خواهد بود). لپ تاپ لینوکس خود را بیاورید (در صورت داشتن) و نسخه های نمایشی را اجرا کنید. از مدیر پروژه در مورد موادی که می توانید برای تهیه ارائه یا پوستر خود استفاده کنید ، س Askال کنید.
  17. برای یافتن اطلاعیه های مربوط به یک رویداد نصب در اینترنت ، در اینترنت جستجو کنید و سعی کنید ابتدا به عنوان کاربر شرکت کنید (به تمام مشکلات پیش آمده و نحوه حل آنها توسط هکرها توجه داشته باشید) و دفعه دیگر پیشنهاد نصب برنامه ها را بدهید.
  18. کار را به اتمام برسانید ، کار خود را با آزمایشات خودکار بررسی کنید و در پروژه مشارکت کنید. شما انجام دادید! برای اطمینان ، سعی کنید شخصاً با برخی از برنامه ریزان این پروژه ملاقات کنید و یک لیوان آبجو را با هم بر روی نتیجه بالا ببرید.
  19. برای درک بهتر ، به یک نمونه واقعی از تاریخ توسعه یک پروژه نرم افزاری باز نگاه کنید (به بالا مراجعه کنید). هر منحنی در حال افزایش نشان دهنده سهم (خطوط کد) از یک توسعه دهنده است. توسعه دهندگان تمایل به فعالیت کمتری با افزایش سن دارند ، اما این پروژه اغلب حتی با پیوستن افراد جدید نیز سرعت بیشتری می گیرد. بنابراین اگر با مهارت های مفیدی در جیب خود وارد شوید ، هیچ دلیلی وجود ندارد که تیم شما را دعوت نکند.

نکات

  • قبل از طرح سال در مورد نیازهای عملی درون پروژه ، به دنبال پاسخ آن در اسناد پروژه و بایگانی لیست نامه های پستی باشید.
  • همیشه سعی کنید تمام کارهای برنامه نویسی را که شروع کرده اید به پایان برسانید. ساخته نمی شود ، نمی تواند اجرا شود ، سیستم خراب می شود؟ آنجا بودن دلایل همه چیز ، و اگر کد منبع دارید ، معمولاً به این معنی است که سیستم را در اختیار دارید خوب به خصوص با کمک برخی تحقیقات آنلاین می تواند شما را مجبور به انجام هر کاری که می خواهید کنید. البته این قانون دارای محدودیت هایی است ، اما مهم این است که هرگز به راحتی تسلیم نشوید.
  • فقط بعد از اینکه توسط برخی از جامعه واقعی هکرها شناخته شدید ، خود را یک برنامه نویس (یا هکر) صدا کنید.
  • در ابتدا کلاس ، ماژول یا واحد دیگری را انتخاب کنید که در آن زمان هیچ کس خیلی فعال کار نکند. کار با هم در یک کلاس یا حتی یک موقعیت نیاز به مهارت و مراقبت بیشتر از هر طرف دارد.
  • به نظر می رسد کارفرمایان برخی از هکرها / برنامه نویسان انگیزه کافی برای اجازه مشارکت در ساعات کاری را دارند (معمولاً به این دلیل که موسسه از برنامه منبع آزاد / منبع باز برنامه نویسی استفاده می کند) فکر کنید ، شاید بتوانید حداقل بخشی از زمان مورد نیاز از این طریق را بدست آورید.
  • اگر هنوز اعتماد کافی به خود ندارید ، از بخشی از کدی شروع کنید که فکر می کنید فقدان آن است و از ابتدا قابل نوشتن است. به احتمال زیاد تغییرات در کد موجود مورد انتقاد قرار می گیرد.

هشدارها

  • وضعیت هکر شما در داخل پروژه جامعه بیش از گذشته نمایانگر حال شماست.اگر توصیه یا پیشنهادی از طرف رهبر پروژه می خواهید ، لطفاً س askال کنید که آیا هنوز هم به طور فعال مشارکت می کنید.
  • وارد بهینه سازی کد کوچک ، نظرات اضافی ، بهبود سبک برنامه نویسی و سایر موارد مشابه "در مقیاس کوچک" نشوید. این می تواند انتقاداتی بیش از یک سهم جدی داشته باشد. درعوض ، می توانید این تغییرات را در یک پچ «پاک سازی» قرار دهید.
  • اگر قصد ملاقات حضوری با هکرهای نرم افزار باز را دارید ، لپ تاپ ویندوز خود را در خانه بگذارید. سیستم عامل Mac کمی بیشتر تحمل می شود ، اما واقعاً هم مورد استقبال نیست. اگر لپ تاپ خود را بیاورید ، باید از لینوکس یا سیستم عامل دیگری استفاده کند که آنها "نرم افزار باز" می دانند.
  • اگر سرویس گیرنده ایمیل شما از پیام های HTML پشتیبانی می کند ، پس باید این ویژگی را غیرفعال کنید. هرگز اسنادی را ضمیمه نکنید که فقط نرم افزارهای تجاری (مانند Microsoft Word) بتوانند به درستی باز شوند. هکرها این را توهین آمیز می دانند.
  • در پروژه های شرکتی که کد آن تحت پوشش مجوز منبع باز تأیید شده نیست داوطلب شوید. در چنین مواردی ، قسمتهای مهم پروژه احتمالاً پشت درهای بسته مالک باقی می مانند و از یادگیری هر چیز مفیدی جلوگیری می کنند.
  • از هرگونه سوال در مورد اصول برنامه نویسی یا ابزار برنامه نویسی خودداری کنید. زمان یک برنامه نویس نرم افزار باز بسیار ارزشمند است. در عوض ، درباره اصول برنامه نویسی در گروه های برنامه نویس آماتور یا مبتدی بحث کنید.
  • پروژه های تاسیس شده و بسیار موفق ممکن است سیاست های نانوشته یا نانوشته ای در مورد پرداخت هرگز بازپرداخت به کار شما نداشته باشند (بدون پول ، توانایی ارتقا yourself خود ، بدون ارتقا status وضعیت بدون توجه به مشارکت شما ، و غیره - نگاه کنید به: ویکی پدیا Do_not_ Expect_reward). اگر نمی توانید با این موضوع موافق باشید ، به پروژه های متداول تری که توانایی پرداخت چنین نگرشی را ندارند ، پایبند باشید.
  • پروژه خود را شروع نکنید ، مگر اینکه همیشه بخواهید در خلوت غرور بگذرانید. به همین دلیل ، بهتر است تلاشی برای احیای پروژه ای که از قبل رها شده و تیم قبلی آن را از دست داده است ، انجام ندهد.
  • در صورت یک جلسه غیررسمی در مورد پروژه ای که هرگز هیچ کدی به آن کمک نکرده اید ، احساس ناخوشایند کاملاً نادیده گرفته شدن را خواهید داشت. نگران نباشید ، برخی از هکرها بعد از اینکه احترام خود را با کد خود به دست آوردید ، می توانند دوستان خوبی شوند.
  • پروژه های بزرگ نرم افزاری باز ، به ویژه پروژه های اطراف دامنه GNU ، وظیفه شما را به عنوان شغل شخصی خود تلقی نمی کنند. بعد از اینکه شغل خود را در یک شرکت مرتبط با نرم افزار به دست آوردید ، آنها از کارفرمای شما می خواهند توافق نامه های خاصی را امضا کند [1] ، شرکت آنها را امضا یا نمی کند. این می تواند شما را مجبور به انتخاب پروژه ای با الزامات سختگیرانه کمتر کند.

ضروریات

  • لینوکس ساخت بسیاری از پروژه های نرم افزاری باز در ویندوز پیچیده تر است یا به درستی ساخته نمی شوند. این امر خصوصاً در مورد پروژه های پیشرفته ای که به برنامه نویسی تلفن های همراه ، کلیدهای USB و سایر دستگاه ها اختصاص یافته اند ، صادق است.
  • رایانه ای با اتصال به اینترنت نسبتاً خوب. اگر می خواهید بوت دوگانه را با ویندوز نگه دارید ، یک دیسک سخت یا پارتیشن دوم برای لینوکس می تواند راه حل خوبی باشد.
  • دانش اولیه حداقل یک زبان برنامه نویسی و قصد قوی برای یادگیری بیشتر. به نظر می رسد محبوب ترین زبان ها در حال حاضر C و Java باشد.
  • مقدار قابل توجهی از زمان ، حداقل پنج ساعت در هفته (یک برنامه نویس معمولی هاردکور 14 ساعت عظیم را کمک می کند).
  • در حالی که آموزش رسمی فناوری اطلاعات راه شما را بسیار راحت تر می کند ، این تمام است نه یک نیاز اجباری است و هیچ جامعه هکر واقعی هرگز از شما در این مورد سال نمی کند. برنامه نویسان / هکرها با توجه به برنامه ریزی کسی و نه معیارهای جعلی مانند درجه ، سن ، نژاد یا موقعیت ، یکدیگر را قضاوت می کنند. توجه داشته باشید ، حداقل 60٪ از هکرهای منبع باز که وصله های شما را ارزیابی می کنند ، دارای مدرک دانشگاهی "صحیح" هستند و به شما اجازه نمی دهند در این پروژه مزخرف باشید.
  • در مراحل آخر (کنفرانس و "مهمانی نصب") می توانید از لپ تاپ خود بهره مند شوید. اما کار بر روی آن در خانه اشکالی ندارد ، بنابراین اگر توانایی خرید ماشین دوم را دارید فقط یک دستگاه خریداری کنید.
  • مسیری که برای تبدیل شدن به یک "هکر" نرم افزار منبع آزاد توصیف شده حداقل دو سال طول می کشد.