ทักษะที่จำเป็นสำหรับงาน Linux ที่ดี [ปิด]


14

ฉันทำงานเป็นวิศวกร IT ใน บริษัท ที่มีชื่อเสียงในอินเดีย ปัญหาคือแม้ว่าฉันจะบอกว่าฉันจะได้รับงานบน Linux แต่ฉันต้องทำงานบน Java และ Windows ฉันอึดอัดกับ Java และเกลียดชัง Windows

ฉันเริ่มเรียนรู้ Python ด้วยตัวเอง แต่มันยากที่จะให้เวลามากพอเนื่องจากงานต่อเนื่อง ตรงไปตรงมาฉันไม่ใช่ coder ผู้เชี่ยวชาญ ฉันพยายามอย่างมากที่จะเข้าสู่การพัฒนาเคอร์เนลลินุกซ์ในช่วงวันเรียนของฉัน แต่ก็รู้ว่าฉันไม่ได้เป็น coder ที่ดี ดังนั้นฉันจึงตัดสินใจทำ RHCE และไปจัดการเซิร์ฟเวอร์

สิ่งที่ฉันอยากรู้คือชุดทักษะที่จำเป็นในการหางานในโครงการลีนุกซ์ ในเดือนสิงหาคม 2011 ฉันวางแผนที่จะหยุดงานถ้า บริษัท นี้ไม่ให้โครงการ Linux ที่ดี ฉันต้องมีทักษะอะไรบ้างเพื่อที่จะได้งานลีนุกซ์ที่ดี สิ่งหนึ่งที่ฉันตัดสินใจที่จะทำในช่วงพักคือการไล่ตาม RHCE หลังจากอ่านหนังสือชุด RHCE ชุดแรกสามเล่มฉันมั่นใจว่าฉันสามารถแล่นผ่านได้

ข้อมูลจากผู้เชี่ยวชาญในเว็บไซต์นี้มีค่าสูงมาก ความสนใจด้านเทคนิคของฉันในขณะนี้คือ - การเขียนโปรแกรม Python, การเขียนโปรแกรม C / C ++, การจัดการเซิร์ฟเวอร์ Linux และ Cloud Computing แต่ระดับวิทยาลัยที่ฉันมีนั้นไม่เพียงพอที่จะเข้า บริษัท ที่ดี ความรู้เชิงปฏิบัติที่ฉันมีไม่ใช่ระดับผู้เชี่ยวชาญ และประสบการณ์งานที่ฉันมีก็น่าสมเพช

ป.ล. - ฉันรู้สึกผิดหวังอย่างมากกับงานปัจจุบันของฉัน แม้ว่าฉันคิดว่าไม่จำเป็นต้องพูดถึงมัน

คำตอบ:


12

สิ่งนี้ได้รับการแนะนำหลายครั้งก่อนหน้าในบริบทนี้ แต่ ... ฉันขอแนะนำให้รับประสบการณ์บางอย่างในโครงการซอฟต์แวร์ฟรี สิ่งนี้ดูดีในประวัติการทำงานของคุณเป็นประสบการณ์ที่มีค่าทำงานร่วมกับคนดีและมีประโยชน์สำหรับผู้ติดต่อ ผู้คนมักหางานผ่านโครงการซอฟต์แวร์ฟรี ความประทับใจของฉัน (ซึ่งอาจไม่ถูกต้อง) ก็คือไม่ใช่เรื่องธรรมดาที่คนอินเดียจะมีส่วนร่วมในโครงการซอฟต์แวร์ฟรีและหากเป็นเรื่องจริงมันจะช่วยให้คุณโดดเด่น

คุณบอกว่าคุณสนใจ Python มีโครงการซอฟต์แวร์ฟรีมากมายที่เกี่ยวข้องกับ Python พร้อมอุปสรรคในการเข้าสู่ระดับต่าง ๆ สิ่งหนึ่งที่ฉันคุ้นเคยคือ Mercurial ซึ่งอุปสรรคในการเข้าไม่สูงเกินไปชุมชนเป็นมิตรโปรแกรมเมอร์มีความสามารถและมีโอกาสได้มีส่วนร่วม และทุกคนใช้การควบคุมเวอร์ชัน คุณสามารถรับข้อผิดพลาดขนาดเล็กและ / หรือคุณสมบัติสิ่งที่ปรารถนาและทำงานกับมัน

โครงการอื่น ๆ ที่อยู่เหนือหัวของฉันคือ Django, Pylons, SQLAlchemy แม้ว่าฉันคิดว่า Mercurial นั้นดีหรือดีกว่าโครงการเหล่านี้จากมุมมองของโอกาสในการเข้าร่วม ความเป็นไปได้อีกอย่างก็คืองานเผยแพร่ชุมชน Linux เช่น กับ Debian ซึ่งจะทำให้คุณมีโอกาสทำงานกับคนที่มีความสามารถ ยังเหมาะสำหรับการติดต่อเป็นต้นนอกจากนี้หากคุณสนใจใน C ++ โครงการ apt และ aptitude ใน Debian นั้นสำคัญและ undermanned อย่างรุนแรง โดยทั่วไปโครงการซอฟต์แวร์ฟรีส่วนใหญ่ไม่มีกำลังคนเพียงพอโดยเฉพาะโครงการขนาดเล็กและมีความกระตือรือร้นที่จะขอความช่วยเหลือ


8

คุณมีหลายเส้นทางที่ให้โอกาสในการทำงานที่แตกต่างกัน

  • เนื้อหาจากเว็บ
  • โครงการพื้นเมือง
  • การพัฒนาข้ามแพลตฟอร์ม
  • พอร์ตกับ Linux

โดยทั่วไปเตรียมที่จะใช้ Unixes อื่น ๆ พร้อมกับ Linux (แม้ว่า Linux จะมีอำนาจเหนือกว่าในตอนนี้)

ใช้เว็บ

เว็บอะไรก็ตามที่ไม่ได้ใช้. NET คือ Linux (หรือข้ามแพลตฟอร์ม) คุณสามารถมีสมาธิกับภาษาที่ใช้กันอย่างแพร่หลาย: PHP, Python, Perl, Ruby

โครงการพื้นเมือง

งานเหล่านี้ส่วนใหญ่เป็นงานโอเพ่นซอร์สหรืองานคอมพิวเตอร์ประสิทธิภาพสูง

ในยุโรปเป็นเรื่องธรรมดาที่จะจ้างโปรแกรมเมอร์เต็มเวลาเพื่อแก้ไขโครงการโอเพ่นซอร์ส (และให้การสนับสนุน) แทนที่จะจ่ายค่าธรรมเนียมใบอนุญาตบ้าสำหรับผลิตภัณฑ์เชิงพาณิชย์ที่ไม่เหมาะสม

พื้นที่ที่มีประสิทธิภาพสูงเป็นประเภทของ Linux เท่านั้นในขณะนี้ดังนั้นงานในพื้นที่นี้มักจะนำไปสู่ ​​Linux

บริเวณนี้หนักมาก C กับ C ++ เล็กน้อยและ Java จำนวนมาก

การพัฒนาข้ามแพลตฟอร์ม

ชนิดของพื้นที่แปลก ๆ มีบาง บริษัท ที่ให้บริการซอฟต์แวร์ข้ามแพลตฟอร์มบางแห่งมีทีมพิเศษสำหรับแพลตฟอร์มเฉพาะบางแห่งมีทีมข้ามแพลตฟอร์ม

แต่หลาย บริษัท ก็ใช้จาวา (ไม่ใช่ว่ามันช่วยได้มาก)

พอร์ตไปยัง Linux

งานเหล่านี้จะปรากฏขึ้นเป็นครั้งคราว บริษัท บางแห่งเห็นตลาดเปิดและตัดสินใจขยายกิจการ โดยส่วนตัวฉันจะหนีจากงานดังกล่าว


+1 สำหรับความคิดเห็นที่น่าสนใจ สนใจที่จะขยายสิ่งที่ไม่ดีเกี่ยวกับการย้ายงาน
Faheem Mitha

1
@Faheem อืมการย้ายงานมักจะหมายความว่าคุณท้ายสุดด้วยฐานรหัสที่น่ากลัวซึ่งเต็มไปด้วยส่วนขยายที่ไม่ได้มาตรฐานและการละเมิดมาตรฐาน (ดูเหมือนว่าจะทำงานได้เนื่องจาก MSVC มหัศจรรย์บางอย่าง) โดยปกติแล้วบางส่วนของรหัสจะถูกเขียนโดยคนที่หายไปนานจาก บริษัท และเต็มไปด้วยข้อบกพร่องต่าง ๆ ที่จะปรากฏขึ้นในระหว่างการย้าย สิ่งนี้สามารถเกิดขึ้นได้ในพื้นที่อื่นเช่นกัน แต่มันก็ไม่ธรรมดา (โครงการโอเพ่นซอร์สมักจะมีรหัสฐานที่แย่มาก แต่ไม่มีโครงการขนาดใหญ่จำนวนมากที่มีประวัติยาวนานและชุมชนนักพัฒนาขนาดเล็กถึงขนาดกลาง)
Let_Me_Be

ฉันเห็น. ส่วนใหญ่คุณอ้างถึงรหัสฐานภายใน / กรรมสิทธิ์ด้านบน MSVC หมายถึงฐานรหัส C ++ เขียนใน Visual C ++ แล้วพวกเขาต้องการที่จะพอร์ตเพื่อ gcc?
Faheem Mitha

@Faheem C และ C ++ เป็นภาษาสคริปต์ที่น้อยที่สุด ปัญหาที่สำคัญคือในขณะที่ย้ายคุณจะสัมผัสรหัสที่ทำงาน "ที่นี่และตอนนี้" และมักจะค้นพบข้อบกพร่องในรหัสดังกล่าว
Let_Me_Be

4

โครงการหนึ่งที่มีโคเดอร์จำนวนมากที่ทำงานรับเงินคือ GNOME ถ้าคุณไปที่นั่นและทำงานที่น่าทึ่งคุณมักจะได้รับการติดต่อจากคนอื่น สิ่งที่ยิ่งใหญ่ที่สุดของพวกนี้ก็คือ Red Hat (Fedora) และที่อื่น ๆ ที่ฉันเคยเห็น ได้แก่ Canonical (Ubuntu), Novell (SuSE), กลุ่มของสตาร์ทอัพหรือแม้แต่รากฐาน GNOME โอ้และมีจำนวนมากในการใช้งาน Python จำนวนมากในโครงการและการนับ LOC น่าจะเป็นที่สองรองจาก C

โดยปกติโลกของโครงการจะเป็นที่ที่ 'บริษัท GNOME' เหล่านี้รายงานการกระทำของตน ได้ดู


1

ฉันถูกออกแบบมาเพื่อทำงานบน Java และ Windows

ข่าวดีดูเหมือนว่าคุณกำลังเขียน / ทำงานกับรหัสอย่างน้อย

ถ้าฉันอยู่ในรองเท้าของคุณฉันคิดว่าฉันจะใช้วิธีปฏิบัติและเรียนรู้วิธีพอร์ตแอป Java นั้นไปยัง Linux (เมื่อเจ้านายไม่ได้มองหา)

มันเป็นแบบฝึกหัดที่ดีในการสร้างแอปพลิเคชันแบบพกพา

ฉันรู้สึกไม่สบายใจกับ Java

อย่าอยู่ในโลกแห่ง Linux คุณใช้ภาษาที่ดีที่สุดสำหรับงานนี้ (อย่างน้อยภาษาที่ดีที่สุดอย่างน้อย)

ดังนั้นคุณต้องแน่ใจว่าคุณคุ้นเคยกับ Java, C ++ / Qt, C, python, php, perl และอื่น ๆ


ขอบคุณ การเขียนโปรไฟล์การทำงานทั้งหมดของฉันนั้นไร้เหตุผลดังนั้นฉันจึงไม่ได้กล่าวถึงมันเต็ม ที่นี่ แต่จะเก็บบรรทัดสุดท้ายของคำตอบไว้ในใจ
Dharmit
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.