ผู้เขียน:
John Stephens
วันที่สร้าง:
21 มกราคม 2021
วันที่อัปเดต:
1 กรกฎาคม 2024
เนื้อหา
บทความวิกิฮาวนี้จะแนะนำวิธีการเริ่มต้นพัฒนาและดูแลซอฟต์แวร์โอเพนซอร์สในชุมชนการเขียนโปรแกรม แม้ว่าบางครั้งบุคคลที่ทำงานนี้จะถูกเรียกว่า "แฮ็กเกอร์ซอฟต์แวร์" แต่ตำแหน่งนี้มุ่งเป้าไปที่การสร้างและปรับแต่งซอฟต์แวร์มากกว่าการแฮ็ก หากคุณสนใจที่จะเป็นแฮ็กเกอร์ประเภทที่กำลังมองหาและใช้ประโยชน์จากช่องโหว่ในซอฟต์แวร์หรือระบบปฏิบัติการของคุณคุณสามารถอ่านบทความเกี่ยวกับการเป็นแฮ็กเกอร์
ขั้นตอน
- ทำความเข้าใจกับสิ่งที่คุณต้องการสำหรับการพัฒนาซอฟต์แวร์ การเป็นนักพัฒนาซอฟต์แวร์หมายถึงการใช้เวลาส่วนใหญ่ในการสร้างปรับแต่งและอัปเดตซอฟต์แวร์ฟรีเพื่อให้ผู้ใช้มีความสุขและทำให้ซอฟต์แวร์มีความเกี่ยวข้อง ในการดำเนินการนี้คุณต้องมีคุณสมบัติตามเกณฑ์ต่อไปนี้:
- ความเข้าใจในภาษาของระบบทั้งสอง (เช่น C ++) และภาษาโปรแกรม (เช่น Python)
- รู้ว่าคุณต้องการตั้งโปรแกรมสำหรับแพลตฟอร์มใด (Windows, Android ฯลฯ )
- ยินดีที่จะสละเวลาเรียนรู้เกี่ยวกับประเภทซอฟต์แวร์แพลตฟอร์มและภาษาที่คุณเลือก
เข้าใจว่าทุกคนสามารถเป็นนักพัฒนาซอฟต์แวร์ฟรีได้ ตรงกันข้ามกับความเชื่อที่เป็นที่นิยมการมีความเข้าใจอย่างลึกซึ้งเกี่ยวกับคณิตศาสตร์ความรู้ด้านการเขียนโค้ดก่อนหน้านี้และ / หรือปริญญาตรีในสาขาวิทยาศาสตร์คอมพิวเตอร์ (หรือใกล้เคียง) ไม่ใช่สิ่งจำเป็น เรียนรู้วิธีการเป็นนักพัฒนาซอฟต์แวร์ฟรี- ตราบใดที่คุณมีความสนใจที่จะเรียนรู้วิธีการพัฒนาซอฟต์แวร์และยินดีรับคำวิจารณ์เมื่อจำเป็นก็ไม่มีเหตุผลใดที่คุณจะไม่สามารถเป็นนักพัฒนาซอฟต์แวร์ได้
กำหนดเป้าหมายสุดท้ายของคุณ การพัฒนาซอฟต์แวร์อาจเป็นเพียงงานอดิเรกส่วนตัวหรืออาชีพเต็มเวลา การกำหนดสิ่งที่คุณต้องการบรรลุก่อนที่คุณจะเริ่มเรียนภาษาโปรแกรมหรือการเลือกพื้นฐานจะช่วยให้คุณมีสมาธิอยู่กับเส้นทางของคุณ- แม้ว่าจะไม่สำคัญมากนัก แต่การศึกษาระดับปริญญาในสาขาวิทยาศาสตร์คอมพิวเตอร์หรือการพัฒนาซอฟต์แวร์จะช่วยให้คุณเพิ่มโอกาสในการทำงานได้หากคุณตั้งเป้าไปที่เป้าหมายสูงสุดของอาชีพที่มั่นคงในการพัฒนาซอฟต์แวร์
- หากเป้าหมายของคุณคือการสร้างแอปหรือโปรแกรมที่ช่วยให้ผู้ใช้ทำบางสิ่งที่ครั้งหนึ่งเคยยากหรือเป็นไปไม่ได้โปรดตรวจสอบว่าซอฟต์แวร์นั้นไม่ได้รับการพัฒนาโดยผู้อื่น
พิจารณาว่าคุณต้องการใช้งานแพลตฟอร์มใด แต่ละแพลตฟอร์มหลัก ๆ ได้แก่ Windows, macOS, iOS, Android และ Linux มีชุมชนของตัวเองภาษาโปรแกรมที่ต้องการและความต้องการส่วนบุคคล สิ่งสำคัญคือต้องทราบว่าซอฟต์แวร์ของคุณจะทำงานบนแพลตฟอร์มใดก่อนที่จะเข้าสู่อาชีพการพัฒนาซอฟต์แวร์- ควรทำงานบนแพลตฟอร์มเดียวกับที่คุณกำลังพัฒนา ตัวอย่างเช่นหากคุณกำลังพัฒนาแอป Android การใช้ระบบที่ใช้ Unix เช่น Mac หรือคอมพิวเตอร์ Linux จะดีกว่า Windows
- Linux เป็นระบบปฏิบัติการที่ใช้กันทั่วไป (และฟรี) สำหรับนักพัฒนาซอฟต์แวร์จำนวนมาก
- เลือกภาษารหัส ภาษาเข้ารหัสมีสองประเภท คุณต้องเรียนรู้ภาษาอย่างน้อยหนึ่งภาษาก่อนที่จะพัฒนา แต่คุณยังต้องรู้หลายภาษาในภายหลัง:
- ภาษาของระบบ - ภาษาคอมพิวเตอร์ที่ใช้โต้ตอบกับระบบโดยตรง ภาษาเด่นบางภาษาเช่น C, C ++ และ Java
- ภาษาโปรแกรม ภาษาใช้ในการออกแบบอินเทอร์เฟซของซอฟต์แวร์ (สิ่งที่ผู้ใช้จะดู) และคุณสมบัติต่างๆ ภาษาทั่วไปบางภาษา ได้แก่ Python, Ruby และ Perl
- ทำความคุ้นเคยกับบรรทัดคำสั่ง คอมพิวเตอร์ทุกเครื่องมีแอปพลิเคชันบรรทัดคำสั่ง (เช่น Command Prompt บน Windows, Terminal บน Mac และ Linux ... ) คุณสามารถใช้บรรทัดคำสั่งเพื่อโต้ตอบกับคอมพิวเตอร์โดยออกคำสั่งเฉพาะตามต้องการ
- แม้ว่าคุณจะไม่ได้พัฒนาซอฟต์แวร์จากบรรทัดคำสั่ง แต่คุณต้องใช้บรรทัดคำสั่งเพื่อรันโปรแกรมบางโปรแกรมหรือรวมคำสั่งซอฟต์แวร์เข้ากับคอมพิวเตอร์ของคุณ
- ดาวน์โหลดและใช้ Notepad ++ Notepad ++ เป็นทรัพยากรการเขียนโปรแกรมที่ล้ำค่าเพราะทั้งสองอย่างทำให้กระบวนการเขียนโค้ดง่ายขึ้นด้วยความช่วยเหลือของกราฟิกและทำหน้าที่เป็นเครื่องมือทางการศึกษาที่ยอดเยี่ยม
- แม้ว่าคุณจะใช้โปรแกรมแก้ไขข้อความบรรทัดคำสั่งอื่น ๆ และโปรแกรมอื่น ๆ ในการเขียนโค้ดในภายหลัง Notepad ++ เป็นเครื่องมือที่มีประโยชน์ (และฟรี) เพื่อให้คุณเริ่มต้นได้ดี
- การตั้งค่าสภาพแวดล้อมการพัฒนา ภาษาและแพลตฟอร์มการเขียนโปรแกรมที่เลือกมักจะมีซอฟต์แวร์สำหรับการพัฒนาที่ช่วยให้คุณบันทึกและทดสอบโครงการของคุณบนคอมพิวเตอร์ได้ ซอฟต์แวร์ดังกล่าวเรียกว่า "สภาพแวดล้อมการพัฒนา" หากเป็นไปได้คุณควรค้นหาและติดตั้งสภาพแวดล้อมการพัฒนาสำหรับภาษาที่คุณเลือกก่อนเริ่มเรียนรู้การเขียนโค้ด
- ตัวอย่างเช่นหากคุณกำลังพัฒนาแอป Android คุณควรดาวน์โหลดและติดตั้งชุดพัฒนา Android Studio
- โดยทั่วไปผู้ใช้ Java จะใช้สภาพแวดล้อมการพัฒนาเช่น Eclipse
- เริ่มเรียนรู้วิธีการเขียนโปรแกรม หลังจากรู้ว่าคุณต้องการใช้ภาษาอะไรแล้วก็ถึงเวลาเริ่มเรียนรู้วิธีใช้ มีบทเรียนออนไลน์มากมายทั้งแบบฟรีและแบบเสียเงินที่คุณสามารถปรึกษาได้และห้องสมุดส่วนใหญ่มีหนังสือภาษาการเขียนโปรแกรม (เช่น "C ++ สำหรับผู้เริ่มต้น) ") ช่วยให้คุณเรียนรู้ภาษาบางภาษาได้ฟรี
- มีสื่อการเขียนโปรแกรมฟรีมากมายดังนั้นโปรดใช้ประโยชน์จากสื่อเหล่านี้ก่อนลงทะเบียนเรียนหลักสูตรหรือชั้นเรียนระดับพรีเมียม
- ค้นหาชุมชนที่สามารถรองรับเฉพาะของคุณได้ โครงการโอเพนซอร์สเช่นเดียวกับใน SourceForge หรือ GitHub มักมีผู้ติดตามจำนวนมาก หากคุณสามารถค้นหาโครงการโดยใช้ภาษาโปรแกรมเดียวกันและ / หรือเป้าหมายเดียวกันกับของคุณเองคุณสามารถเข้าร่วมชุมชนเพื่อแสดงความคิดเห็นและติดตามการพัฒนา
- เช่นเดียวกับทักษะอื่น ๆ การมีส่วนร่วมในการสร้างสรรค์ (แม้ว่าจะเป็นเพียงแค่ผู้สังเกตการณ์) เป็นวิธีที่ดีที่สุดในการได้รับประสบการณ์จริง
- โต้ตอบกับชุมชน คุณสามารถทำสิ่งต่างๆได้หลายอย่างตั้งแต่การโพสต์ในฟอรัมชุมชนไปจนถึงการเริ่มโครงการโอเพ่นซอร์สของคุณเอง แต่จุดประสงค์หลักคือการทำให้แนวคิดเป็นจริงและเอาชนะอุปสรรคและรับฟังความคิดเห็น ข้อเสนอแนะของชุมชน
- หากคุณตั้งใจที่จะเริ่มโครงการโอเพ่นซอร์สของคุณเองโปรดเตรียมพร้อมที่จะประนีประนอมชุมชนตามทิศทางของโครงการ
- มองหาโครงการโอเพนซอร์สเพื่ออุทิศตัวเองให้ บ่อยครั้งในการพัฒนาซอฟต์แวร์แนวคิดหลักหรือโครงการขนาดเล็กของคุณอาจดำเนินการโดยชุมชนที่มีประสบการณ์มากกว่าที่คุณทำ หากเป็นเช่นนั้นคุณควรพิจารณาสมัครโครงการ สิ่งนี้ช่วยให้คุณทั้งคู่เข้าใจวิธีการทำงานของโครงการซอฟต์แวร์ของคุณได้กว้างขึ้นในขณะเดียวกันก็ช่วยให้โครงการของคุณเป็นจริงแม้ในรูปแบบของการทำงานเป็นทีม
- โครงการโอเพนซอร์สอาจไม่ใช่เป้าหมายสูงสุดของคุณ แต่เป็นวิธีที่ยอดเยี่ยมในการรวบรวมแนวคิดและสร้างซอฟต์แวร์ที่เหมาะกับผู้ใช้ของคุณ
- ยอมรับการวิพากษ์วิจารณ์ซอฟต์แวร์ของคุณในที่สาธารณะ ในกระบวนการพัฒนาและเผยแพร่ซอฟต์แวร์คุณอาจจะต้องเจอกับคำวิจารณ์มากมาย การรับฟังความคิดเห็นของชุมชนจะช่วยกำหนดรูปแบบการพัฒนาในอนาคตและยังช่วยให้คุณเรียนรู้ทางลัดและวิธีการแก้ปัญหาที่คล้ายกันสำหรับโครงการในอนาคต
- ข้อเสนอแนะทั้งหมดไม่ได้สร้างสรรค์ หากคุณพบคำติชมที่หยาบคายหรือไม่เป็นประโยชน์ให้พยายามทำตัวสุภาพหากคุณตั้งใจที่จะตอบกลับ
- เข้าร่วมความท้าทายในการพัฒนาซอฟต์แวร์โปรแกรมหรือการแข่งขัน บ่อยครั้งคุณจะพบกับความท้าทายหลักสูตรการบรรยายชั้นเรียนและการแข่งขันในฟอรัมชุมชนในสถานที่ต่างๆเช่น Craigslist และในมหาวิทยาลัย การสมัครเข้าร่วมกิจกรรมหรือค่ายใด ๆ จะช่วยให้คุณได้รับคำแนะนำที่ดีดื่มด่ำกับสภาพแวดล้อมที่มีผู้คนที่มีใจเดียวกัน
- ทางเลือกหนึ่งคือโปรแกรม Summer of Code ของ Google เพื่อให้นักเรียนคุ้นเคยกับโครงการโอเพ่นซอร์สและชุมชนการเขียนโค้ด
- พัฒนาทักษะต่อไป. การพัฒนาซอฟต์แวร์เป็นสาขาที่กำลังเติบโตพร้อมกับความก้าวหน้าของเทคโนโลยีดังนั้นอย่าลืมเรียนรู้เกี่ยวกับโครงการภาษาระบบปฏิบัติการและข้อมูลใหม่ ๆ อยู่เสมอ ความสัมพันธ์อื่น ๆ ในสาขาที่สนใจ
- ความสำเร็จของนักพัฒนาซอฟต์แวร์ฟรีมักมาจากความอยากรู้อยากเห็น ตราบใดที่คุณถามคำถามและแสวงหาคำตอบคุณจะมีประสิทธิผลและทำงานในระยะยาวในการพัฒนาซอฟต์แวร์
คำแนะนำ
- การเริ่มต้นด้วยการเรียนรู้ C (หรือ C ++) และ Python จะทำให้คุณเริ่มต้นได้อย่างมั่นคง แต่ Java ก็เป็นตัวเลือกยอดนิยมเช่นกัน
- คุณจะได้เรียนรู้ภาษาคอมพิวเตอร์มากมายในภายหลังในช่วงที่คุณเป็นนักพัฒนาซอฟต์แวร์ฟรี
- การเขียนโปรแกรมคอมพิวเตอร์ฟังดูซับซ้อน แต่จริงๆแล้วการสื่อสารกับคอมพิวเตอร์ในภาษาที่คอมพิวเตอร์เข้าใจ
คำเตือน
- คุณไม่ควรพยายามรื้อฟื้นโครงการร้างที่ทีมไม่ได้ทำอีกต่อไป
- การนั่งหน้าคอมพิวเตอร์เป็นเวลาหลายชั่วโมงสามารถส่งผลต่อสุขภาพของคุณได้ในระยะยาว อย่าลืมยืนและยืดตัวมองออกไปและเคลื่อนไหวอย่างน้อยหนึ่งครั้งในหลาย ๆ ชั่วโมง
- หลีกเลี่ยงการถามคำถามเกี่ยวกับพื้นฐานการเขียนโปรแกรมหรือเครื่องมือการเขียนโปรแกรมในหน้าพูดคุยของโปรแกรมโอเพนซอร์ส เวลาของนักพัฒนาซอฟต์แวร์ฟรีมีค่า เรามาพูดถึงพื้นฐานของการเขียนโปรแกรมในชุมชนมือสมัครเล่นหรือโปรแกรมเมอร์มือใหม่
- ความอดทน เช่นเดียวกับการเรียนรู้ทักษะอื่น ๆ การเป็นนักพัฒนาซอฟต์แวร์ฟรีต้องใช้เวลาและความตั้งใจ