กลายเป็นโปรแกรมเมอร์มืออาชีพโดยไม่ต้องไปเรียนที่วิทยาลัย? [ปิด]


16

เมื่อไม่นานมานี้ฉันถูกปฏิเสธจากวิทยาลัยที่เคยยอมรับฉันเนื่องจากฉันใช้เวลาหนึ่งปีในโรงเรียนมัธยมในต่างประเทศและวิทยาลัยไม่สนใจที่จะรับรู้การศึกษาที่ได้รับในประเทศอื่น ด้วยเหตุนี้ทุนการศึกษาที่ใจกว้างมากได้ทำให้แห้งและการจัดหาเงินทุนการศึกษาเป็นที่น่าสงสัย ฉันยังลังเลที่จะกลายเป็นส่วนหนึ่งของระบบที่แสดงให้เห็นถึงสิ่งที่ฉันคิดว่าเป็นเกลียดกลัวชาวต่างประเทศที่เห็นได้ชัด

สิ่งที่ฉันต้องการจะทำคือพูดว่า "วิทยาลัยเกลียว" ตีด้วยตัวเองและทำสิ่งที่น่าตื่นตาตื่นใจว้าวทุกคนและกลายเป็นเศรษฐีที่สร้างตัวเอง ความจริงของสถานการณ์คือฉันสองสัปดาห์จากโรงเรียนมัธยมฉันมีเกี่ยวกับหลักสูตร Intro to Programming ที่คุ้มค่ากับประสบการณ์การเรียนรู้ด้วยตนเอง (แม้ว่าฉันจะถูกผลักดันให้เรียนรู้และปรับปรุง) ฉันยังต้องจ่าย ค่าใช้จ่ายและฉันมีความสงสัยด้อมที่นายจ้างคนใดจะมีช่วงเวลาที่ยากลำบากในการพาฉันไปอย่างจริงจัง

เมื่อฉันเข้าใจแล้วมันเป็นความเชื่อที่ได้รับความนิยมพอสมควรที่คุณสามารถทำได้โดยไม่ต้องจบปริญญา แต่มีคนอย่างฉันทำอย่างนั้นได้อย่างไร ใครจะทำให้ฉันจริงจังถ้าฉันเดินเข้าไปในสำนักงานของพวกเขาและพูดว่า "ฉันไม่มีการศึกษาอย่างเป็นทางการและทักษะขั้นต่ำ แต่ฉันต้องการที่จะทำงานและฉันต้องการที่จะเรียนรู้โปรดให้ฉันทำงาน"


3
ทำไมคุณไม่ไปวิทยาลัยชุมชนแล้วย้ายไปเรียนที่มหาวิทยาลัย มันเป็นเส้นทางที่ถูกที่สุดในการได้รับปริญญา
davidk01

1
คุณสามารถทำซ้ำโรงเรียนมัธยมในปีนั้นในประเทศของคุณเองแล้วเปิดเส้นทางตามปกติทั้งหมดให้คุณได้ไหม? หากคุณเบื่อในครั้งที่สองคุณสามารถเริ่มเขียนโปรแกรมโครงการที่คุณสงสัยว่าจะทำให้คุณเป็นเศรษฐี อย่างไรก็ตามในวันและอายุของวันนี้ดีกว่าที่จะไปเศรษฐี
John K

2
คุณต้องไม่ถูกปฏิเสธจากบุคคลในระบบราชการของวิทยาลัยราวกับว่ามันมาจากอาจารย์ อาจารย์มักจะเกี่ยวข้องกับการเลือกนักศึกษาระดับบัณฑิตศึกษาเท่านั้น ถ้าฉันเป็นคุณฉันจะต่อสู้กลับอย่างสุภาพติดต่อกับวิทยาลัยและถามพวกเขาว่าคุณจะต้องแสดงให้เห็นถึงความสามารถของคุณ การศึกษาระดับมัธยมปลายได้รับทุนจากผู้เสียภาษีดังนั้นฉันจะทำอีกหนึ่งปีตามที่มีคนแนะนำ ฉันจะพิจารณาไปวิทยาลัยชุมชนสองสามปีตามที่คนอื่นพูด คำถามคือ: คุณให้ความสำคัญกับเวลาหรือเงินมากขึ้นหรือไม่? โชคดีที่สุดกับคุณ!
งาน

คำตอบ:


27

ฉันอยู่ในตำแหน่งเดียวกับคุณและฉันเลือกถนน 'เกลียววิทยาลัย' ที่คุณพูดถึง ฉันมีความรักในการพัฒนาซอฟต์แวร์งานอดิเรก C ++ ที่อยู่ด้านบนของหลักสูตรการเขียนโปรแกรม HS ขั้นพื้นฐานและความฝัน ตอนนี้ฉันเป็นนักพัฒนามืออาชีพดังนั้นฉันจะให้ประสบการณ์ของฉัน

หลังจากไปเรียนที่วิทยาลัยเป็นเวลา 1 ปี (ฉันมีทุนการศึกษาเต็มรูปแบบสำหรับโรงละครเทคนิค) ฉันคิดว่าฉันชอบซอฟต์แวร์มากกว่าการสร้าง

ปีที่ 1- ฉันเริ่ม 'ของตัวเอง' ซึ่งประกอบด้วยการสนับสนุนเดสก์ท็อปเพื่อจ่ายค่าเช่าและการพัฒนา การพัฒนาทุกอย่างที่ฉันสามารถทำได้สำหรับทุกคนที่ต้องการในราคาเพียงเศษเสี้ยว มองย้อนกลับไปฉันอาจทำแอปพลิเคชัน $ 20,000 สำหรับ $ 1,000 เริ่มต้นด้วยตัวคุณเองจริงๆ sucks เพราะแม้ว่าคุณจะมีประสบการณ์ที่จะรู้ว่ามันเป็นแอพ $ 20K คุณไม่มีความน่าเชื่อถือที่จะขอมัน และที่แย่ที่สุดก็คือฉันไม่รู้เลยว่าฉันไม่รู้อะไรและไม่มีนักพัฒนารายอื่นอยู่รอบตัวฉัน ฉันสร้างแอปพลิเคชันที่เป็นฝันร้ายในการบำรุงรักษา ฉันไม่มีทักษะในด้านสถาปัตยกรรมหรือรูปแบบการออกแบบดังนั้นฉันจึงทำสิ่งต่าง ๆ ที่ระเบิดขึ้นและสนับสนุนเครือข่ายเพื่อชำระค่าใช้จ่าย Taco Bell จำนวนมากผสมกับ "ดีอย่างน้อยฉันไม่ได้ทำงานเพื่อผู้ชาย" ฉันมีความฝันของแอพที่จะเขียนและออกไปทั่วโลก

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

ปีที่ 3- เริ่มที่จะได้รับสิ่งนี้ เมื่อฉันกดไฟล์> โครงการใหม่ฉันมีความคิดที่คลุมเครือว่าจะไปที่ไหนและทำอย่างไร ยังคงเลือกสถาปัตยกรรมที่ไม่ถูกต้องบริการบนเว็บดูดีมากดังนั้นทำไมไม่สร้างทุกอย่างกับสิ่งเหล่านั้นล่ะ ต้องการแอปเครื่องคิดเลขบนเดสก์ท็อปหรือไม่ ฉันจะสร้างบริการเว็บ! เริ่มรับลูกค้าไม่กี่คนและเป็นคนที่แต่งตัวประหลาดไอทีและบางโครงการซอฟต์แวร์ไปพร้อมกัน สิ่งหนึ่งที่ฉันทำคือสร้างบริการสำรองนอกสถานที่โดยใช้บริการเว็บดังนั้นความฝันของฉันคือการเป็น 'Mozy' ในขณะที่ทุกคนยังคงเปลี่ยนเทป บรอดแบนด์กำลังกลายเป็นเรื่องธรรมดาดังนั้นฉันจึงก้าวไปข้างหน้าและนี่จะเป็นความคิดล้านดอลลาร์ของฉัน แต่การบริการมีปัญหา (เนื่องจากฉันขาดทักษะด้านสถาปัตยกรรม)

ปีที่ 4 - ในที่สุดลูกค้าเชื่อในตัวฉันสำหรับโครงการระยะยาว ฉันจัดการที่จะทำมันได้โดยไม่พลาด รหัสไม่ดี แต่ใช้งานได้ ฉันเริ่มทำงานกับนักพัฒนาอื่น ๆ (ปลอมจนกระทั่งคุณทำใช่มั้ย) และแม้แต่ตอบคำถามผู้เชี่ยวชาญแลกเปลี่ยน โอ้ใช่.

ปีที่ 5 - หากคุณยังไม่ได้สังเกตความฝันเหล่านั้นในปีที่ 1 ยังไม่ถูกเขียนขึ้นดังนั้นมันจึงเริ่มหดหู่เล็กน้อย ฉันมีแฟ้มสะสมผลงานที่ดีที่ฉันเขียนสำเร็จได้รับแรงผลักดันที่ดีและฐานลูกค้าที่น่าเชื่อถือ ยังไม่รู้จริงๆว่าฉันไม่รู้อะไรและทำอะไรผิด

ปีที่ 5 - 8 - ฉันจะรวมสิ่งเหล่านี้เข้าด้วยกันเพราะมันเป็นเหมือนกันกับ "ทำโครงการเรียนรู้เล็ก ๆ น้อย ๆ ในแต่ละเรื่องนำประสบการณ์นั้นมาสู่อีกสิ่งหนึ่ง" วันนี้อยู่ตรงกลางของปีที่ 8 และในปีที่แล้วหรือสองปีเท่านั้นที่ฉันได้เป็นนักพัฒนาที่ดี ความฝันเหล่านั้นในปีที่ 1 ได้ถูกคิดค้นขึ้นมาแล้วหลายครั้งโดยคนอื่น ในกรณีที่คุณไม่เดาฉันไม่ได้สร้าง Mozy

ระหว่างที่ฉันมีความฝันและความคิดใหม่ ๆ และบางอย่างก็ดีบางคนน่ากลัว ตอนนี้ฉันมีทักษะที่จะทำให้พวกเขาเกิดขึ้นและบางคนก็เกิดขึ้นและมันน่าตื่นเต้น อย่างไรก็ตามฉันมีความรู้สึกว่าฉันจะทำสิ่งที่แตกต่างฉันสามารถทำให้การเดินทางนี้สั้นลงได้เล็กน้อย

ฉันไม่สามารถพูดได้ว่าวิทยาลัยเปลี่ยนแปลงการเดินทางนี้อย่างไร ฉันจะปล่อยให้คนอื่นในหัวข้อนี้ แต่ฉันจะให้คำแนะนำ:

  1. คุณต้องทำงานกับนักพัฒนาอื่น ๆ ฉันไม่ได้ตระหนักถึงความสำคัญนี้ คุณไม่รู้ว่าคุณไม่รู้อะไรจนกว่าคุณจะดูรหัสของคนอื่นหรือรับการตรวจสอบรหัสที่น่ากลัว
  2. ล้มเหลวก่อนที่คุณจะมีความรับผิดชอบที่สำคัญ หากคุณต้องการออกไปข้างนอกด้วยตัวเองลองทำก่อนแต่งงานมีเงินบ้านเด็ก ๆ คุณจะล้มเหลวและล้มเหลวหลายครั้ง ทำความคุ้นเคยกับมันและให้ความสำคัญกับประสบการณ์ที่ดีที่สุด แต่เมื่อแอพนักฆ่าของคุณที่คุณใช้เวลาและเงินทั้งหมดไปกับการไม่มีลูกค้ารายเดียวมันจะง่ายกว่าที่จะกู้คืนเมื่อเป็นเพียงคุณ
  3. มีอะไรผิดปกติอย่างแน่นอนกับ bootstrapping หากคุณมีทักษะด้านเครือข่ายไปทำงานในศูนย์ปฏิบัติการเครือข่ายหรือแผนกให้ความช่วยเหลือ (บางสิ่งภายในขอบเขตของไอที) และทำงานเพื่อพัฒนาเป็นนักพัฒนาที่ดีกว่านอกเวลาทำการและวันหยุดสุดสัปดาห์ เชื่อมโยงกับผู้คนในงานจริง คุณจะต้องการพวกเขาในภายหลัง
  4. มั่นใจได้ 125% ว่าคุณรักการพัฒนาซอฟต์แวร์ ความหลงใหลในซอฟต์แวร์มาก่อนส่วน 'เศรษฐี' ไม่ใช่วิธีอื่น หากคุณไม่มีความชื่นชอบในสิ่งนี้หรือหัวใจของคุณไม่เริ่มเต้นเร็วขึ้นเมื่อคุณเข้าสู่โปรเจ็กต์ใหม่ลองทำอย่างอื่นแล้วทำมันให้เป็นงานอดิเรก

ฉันแน่ใจว่าฉันสามารถไปได้ แต่สิ่งที่ตลกคือฉันเห็นคำถามนี้ในขณะที่ทำงานกับหนึ่งในความฝันเหล่านั้นและต้องตอบคำถามนี้ :) โชคดี.


6
ในฐานะนักพัฒนาเว็บที่เรียนรู้ด้วยตนเองฉันสามารถยอมรับได้ว่าจุด "คุณไม่รู้ว่าคุณไม่รู้อะไร" นั้นถูกต้องเป็นพิเศษ
เบ็นสตีเฟนสัน

5
+1 สำหรับ "ล้มเหลวก่อนที่คุณจะมีความรับผิดชอบที่สำคัญ" ฉันสอนตัวเองและใช้เวลาหลายปีในการทำงานโครงการอิสระในตอนเย็นก่อนที่จะได้รับบทบาทเต็มเวลา มองย้อนกลับไปฉันจะไม่เปลี่ยนแปลงอะไรเลย แต่ถ้าโชคชะตาพลิกผันฉันได้พบกับนางก่อนหน้านี้ในกระบวนการฉันรู้ว่าฉันจะไม่แต่งงานในอีกไม่กี่เดือน 80-100 ชั่วโมงต่อสัปดาห์ก็ไม่ได้ผลดีนัก ความสัมพันธ์.
DBlackborough

16

ไม่ต้องสงสัยเลยไปที่วิทยาลัย

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

เมื่อออกจากโรงเรียนมัธยมคุณอาจสามารถทำงานในแผนกควบคุมคุณภาพและเริ่มแช่ในทุกสิ่งที่คุณทำได้ เส้นทางจาก QA ไปยังนักพัฒนาหรือวิศวกรอาจเป็นเส้นทางที่ยากลำบากเนื่องจากมีลักษณะทั่วไป (บางครั้งไม่ดี) ที่ทำเกี่ยวกับผู้คนที่มาจาก QA ที่พยายามเข้าสู่เส้นทาง dev

ที่จะได้รับโดยไม่ต้องศึกษาระดับปริญญาตรีเป็นไปได้ แต่อย่างมากยากและใช้เวลาเพียงเป็นโชคดีมากและระบบเครือข่ายเช่นเดียวกับทักษะบริสุทธิ์

แม้ว่าฉันจะรักในสิ่งที่ฉันทำและภูมิใจในความสำเร็จส่วนตัวของฉันฉันก็จะไม่แนะนำให้ใครที่มีความสามารถและอยู่ในสถานะที่ดีที่จะผ่านหลักสูตรปริญญา


+1 ฉันไม่ได้ไปเรียนด้วยตัวเองออกจากโรงเรียนก่อนกำหนดและต้องเอาชนะปัญหามากมายเมื่อฉันเริ่มต้นในฐานะนักพัฒนาซอฟต์แวร์โดยไม่ต้องมีข้อมูลประจำตัวที่จำเป็น อย่างไรก็ตามเส้นทางนั้นทำให้ฉันเหมือนฉันวันนี้และฉันก็ชอบวันนี้! ฉันชอบมากที่จะเรียนรู้ว่าฉันกำลังจะเริ่มเรียนมหาวิทยาลัย (ในสาขาอื่น)!

3
ฉันไม่เห็นด้วย. ฉันได้ทำงานเต็มเวลาพัฒนาซอฟต์แวร์อย่างมืออาชีพโดยไม่ต้องจบปริญญาและฉันคิดว่าทุกอย่างขึ้นอยู่กับแต่ละบุคคล ฉันเกลียดการศึกษาที่เป็นระบบและมีโครงสร้างและชอบการเรียนรู้มากกว่าในขณะที่ทำสิ่งต่าง ๆ เสร็จ ฉันรู้ว่าฉันไม่สามารถผ่านระดับมหาวิทยาลัยได้ (แม้ว่าฉันจะมีคะแนนเพื่อเข้าเรียนในระดับที่ดีก็ตาม) เพียงเพราะมันเป็นทั้งทฤษฏีและดังนั้นก็ไม่มีจุดหมาย ดังนั้นหากคุณไม่ใช่คนประเภทที่ชอบเพลิดเพลินไปกับโครงสร้างของวิทยาลัยและคุณเป็น autodidact ที่มั่นใจ (ซึ่งคุณควรจะเป็นนักพัฒนาที่ซื่อสัตย์) ดังนั้นวิทยาลัยจึงไม่จำเป็น
Ben H

การศึกษาในระบบเป็นแร็กเกต ทฤษฎีดังที่เบ็นพูดไม่มีจุดหมายเว้นแต่คุณกำลังทำงานด้านวิชาการ ฉันไม่สามารถเข้าใจความจริงของคนที่มีการศึกษาอย่างเป็นทางการและใช้เวลา 4 ปีในการสอนนักเรียน 30 คนแทนที่จะใช้เวลา 4 ปีในการเรียนรู้ เราไม่เรียนรู้ด้วยการทำใช่ไหม ไม่ใช่แค่นั้นทำไมฉันถึงต้องใช้เวลา 4 ปีในการรับปริญญาหนี้ที่ได้รับมาเพื่อไปติดตามอาชีพและออมเพื่อการเกษียณ? ทำไมฉันจะไม่เพียงแค่สร้าง บริษัท ของตัวเอง? ทำเงินของตัวเอง? ใช้เครื่องมือที่ฉันต้องการใช้หรือไม่ แนวคิดของการจ้างงานนั้นน่าหัวเราะ
ดาเมียนโรช

4

ด้วยประวัติการทำงานปัจจุบันของคุณคุณจะไม่ได้งานในฐานะนักพัฒนาซอฟต์แวร์ดังนั้นอย่ากังวลไปเลย

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

ทำสิ่งนี้สองสามปีแล้วคุณสามารถเริ่มส่งประวัติย่อ สมมติว่าคุณยังต้องการทำสิ่งนี้เพื่อหาเลี้ยงชีพ

โชคดี.


3

อืม ... มันยากนะ ฉันคิดว่ามันขึ้นอยู่กับธรรมชาติของคุณในฐานะบุคคล

ถ้าคุณรู้เนื้อหาจริง ๆ ในหนังสือประมาณ 6 หรือ 8 เล่มคุณจะเป็นนักพัฒนาที่แข็งแกร่งมาก (มากกว่าปีที่โปรแกรม CS ส่วนใหญ่ผลิตขึ้นอย่างจริงจัง) พิจารณาพื้นฐานอย่างจริงจัง จริงจังมาก - เช่นเดียวกับศาสนาอย่างจริงจัง (KR อาจเป็นพระคัมภีร์ของคุณ)

ความคิดในการทำโครงการขนาดเล็กนั้นดี พยายามพัฒนาตัวเองอยู่เสมอ - เลือกระบบนิเวศสองสามตัวและเรียนรู้ให้ดี (1 - พูด ROR หรือ Django บน linux ด้วย mysql และ 2 iOS / Objective C; 2.5. - โยน jQuery / HTML)

แก้ไข --- ปิดส่วนหัวของฉันฉันขอแนะนำรายการด้านล่าง (ใน ~ คำสั่งนี้); ฉันมี 9 แต่หนึ่งเป็นหนังสือคณิตศาสตร์หนึ่งคือหนังสือสคริปต์ / Java และสุดท้ายที่ฉันจะพิจารณาตัวเลือก มีสองหัวข้อที่นอกเหนือจากนี้ที่จะกล่าวถึงใน Joel on Software ฉันคิดว่านี่จะทำให้คุณเป็นนักพัฒนาที่แข็งแกร่งมาก - ฉันแน่ใจว่าคนอื่นจะไม่เห็นด้วย

  1. The C Programming Language - Kerrigan and Ritchie - หนังสือเล่มอื่น ๆ ส่วนใหญ่เป็นปัญหาที่หยิบยกมาจากที่นี่
  2. หนังสือสคริปต์ที่ดีในภาษาที่คุณเลือก (Ruby, Python, PHP) หรือหนังสือ Java
  3. ระบบคอมพิวเตอร์ - มุมมองโปรแกรมเมอร์ - หนังสือเล่มนี้ให้และให้
  4. คณิตศาสตร์ไม่ต่อเนื่องกับการใช้งาน - Epps (?)
  5. การเขียนโปรแกรมขั้นสูงในสภาพแวดล้อม UNIX
  6. หนังสือการเรียนรู้ของเครื่อง / AI อาจจะจดจำรูปแบบและการเรียนรู้ของเครื่องหรือหนังสือเครือข่ายเฉพาะเช่น TCP / IP ภาพประกอบฉบับที่ 1
  7. รูปแบบการออกแบบหรือ J2EE รูปแบบการออกแบบ
  8. การออกแบบอัลกอริทึม - Kleinberg
  9. ทำความเข้าใจกับ Linux Kernel - เป็นทางเลือก

KR คืออะไร นี่เป็นหนังสือหรือไม่?
Ominus

2
@Ominus ฉันเชื่อว่าเขาอ้างถึง "ภาษาการเขียนโปรแกรม C" - en.wikipedia.org/wiki/The_C_Programming_Language

@Glenn +1 ขอบคุณ! @timpone เมื่อคุณพูดว่าหนังสือ 6 หรือ 8 เล่มคุณมีความคิดหรือพูดอะไร หากคุณกำลังคิดถึงหนังสือที่เฉพาะเจาะจงฉันชอบที่จะดูรายการ ขอบคุณ
Ominus

@Ominus โดยส่วนตัวฉันจะบอกว่าหนังสือใด ๆ ที่เกี่ยวข้องกับภาษาการเขียนโปรแกรมของคุณที่คุณใช้และหนังสือจากคำถามนี้ ( programmers.stackexchange.com/questions/870/ ...... ) ก็ดี

1
@timpone: อาพลาด # 7 :) และใช่เราเห็นได้ชัดว่าเราไม่เห็นด้วยซึ่งดี (บางบทสนทนาที่ดีที่สุดเกิดจากความขัดแย้ง :))
Demian Brecht

2

ฉันเริ่มเป็นหนึ่งในผู้พัฒนาวิทยาลัยสกรู ทุกวันนี้ฉันเรียนจบมหาวิทยาลัยแม้ว่าฉันจะมีผลงานที่ยอดเยี่ยมและมีรายได้ดี

ฉันเริ่มเล่นกับโปรแกรมคอมพิวเตอร์เป็นครั้งแรกเมื่ออายุประมาณ 9 ปี ในยุค 90 ฉันสร้างรายได้จากการสร้างเว็บไซต์ให้เพื่อน ๆ และนี่ทำให้ฉันได้รับประสบการณ์ตรงกับเว็บยุคแรก (ฉันเล่นกับ javascript ฉันค่อนข้างสับสนเมื่อ CSS ปรากฏตัวขึ้น ฯลฯ )

เมื่อฉันเป็นวัยรุ่นฉันตัดสินใจว่าถึงเวลาที่จะเรียนรู้การเขียนโปรแกรมคอมพิวเตอร์ในเชิงลึกดังนั้นฉันจึงค้นหาอินเทอร์เน็ตในหัวข้อที่โปรแกรมเมอร์ทุกคนควรรู้และฉันก็ใช้ทุกอย่างที่มีในหนังสือ ฉันซื้อหนังสือหนึ่งเล่มในคณิตศาสตร์ไม่ต่อเนื่องหนังสือระบบปฏิบัติการและหนังสือเกี่ยวกับการเขียนโปรแกรม C ในสภาพแวดล้อม UNIX

จากนั้นฉันก็เริ่มที่จะเรียนรู้การเขียนโปรแกรมเชิงวัตถุด้วย C ++ และหยิบ Python และ Java ขึ้นมาและนี่ทำให้ฉันได้งานแรกของฉัน (มันไม่ได้ผลดี

เมื่อฉันไปถึงวิทยาลัยฉันพบว่าตัวเองผิดหวังมากกับมัน ยกเว้นคลาสเช่นแคลคูลัสสถิติและภาษาที่เป็นทางการ ฉันรู้แล้วว่าหัวข้อทั้งหมดที่ครอบคลุมในหลักสูตรและการสร้างความสมดุลให้กับวิทยาลัยและงานของฉันเริ่มหนักขึ้นทุกวัน

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

ปีที่แล้วฉันตัดสินใจกลับไปเรียนที่วิทยาลัย (แม้ว่ามันจะทำให้ฉันผิดหวัง) เหตุผลที่ฉันตัดสินใจจบวิทยาลัยเพราะตอนนี้ฉันต้องมีโอกาสและฉันไม่ต้องการที่จะเสียใจที่ไม่ต้องไปเรียนที่วิทยาลัย

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

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


1

ถ้าคุณสามารถเข้ามหาวิทยาลัยมันจะทำให้คุณง่ายขึ้น แต่ก็ไม่จำเป็น

กุญแจสำคัญคือการมีสิ่งที่คุณสามารถชี้ไปที่และพูดว่า "ฉันทำอย่างนั้น" วิธีเดียวที่จะทำเช่นนั้นคือการทำงานด้วยตัวเองจากด้านล่าง เริ่มต้นด้วยการทำงานแปลก ๆ สำหรับคนที่ "แค่ต้องการโปรแกรมเมอร์" อาจตรวจสอบสถานที่เช่นeLance Elance

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

ประสบการณ์เป็นกุญแจสำคัญ โชคดีที่การเขียนโปรแกรมเป็นหนึ่งในอาชีพที่คุณไม่ต้องการค่าใช้จ่ายใด ๆ เพิ่งรู้ว่ามีช่วงการเรียนรู้ที่ยาวมาก ๆ รอคุณ


0

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

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

คำแนะนำส่วนตัวของฉันจะไปโรงเรียน ไม่สำคัญว่าจะให้ทุนและทุนการศึกษาที่มีอยู่อย่างแพร่หลายและมีการใช้งานไม่มากนักมีวิธีมากมายในการให้ทุนการศึกษา ในท้ายที่สุดคุณจะรู้สึกขอบคุณมากที่คุณไม่ได้เรียนหนังสือถ้าคุณเรียนจนจบและได้รับปริญญา


0

ฉันออกจากโรงเรียนมัธยมมาประมาณ 2 ปีแล้ว ฉันมีงานเขียนโปรแกรมอยู่แล้วและใช้เวลาเรียนประมาณ 20 หรือ 24 ชั่วโมงเท่านั้น ฉันไม่มีเงินหรือเวลามากพอที่จะทำหลังจากสองภาคการศึกษาแรก

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

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

รู้จักกับเว็บไซต์เช่น StackOverflow ฉันได้รับข้อเสนองานที่สองจากแบบสอบถาม Stack Exchange ใน StackOverflow โดยทั่วไปแสดงให้ทุกคนในโอคลาโฮมา .. และฉันเป็นคนที่มีอันดับสูงสุดในด้านชื่อเสียง


0

เยี่ยมมากคำตอบยอดเยี่ยมที่นี่ ฉันจะโยนประสบการณ์ของตัวเองเช่นกัน

ฉันเคยเขียนโปรแกรมในรูปแบบใดรูปแบบหนึ่งตั้งแต่ฉันอายุประมาณ 5 หรือ 6 (TI BASIC, ทุกคน?) ในปี 1995 หรือดังนั้นฉันจึงเข้า Linux และเริ่มสอนตัวเอง C และ Perl ฉันไม่เคยเรียนหลักสูตรการเขียนโปรแกรมในโรงเรียนมัธยมเพราะในตอนนั้นพวกเขากำลังสอน Visual Basic และ Visual C ++ และฉันก็ไม่สนใจเช่นกัน

ไปวิทยาลัย CS 101 คือ "ข้อมูลเบื้องต้นเกี่ยวกับการเขียนโปรแกรม (Visual Basic)" กลายเป็นปรัชญาที่สำคัญ

ออกจากวิทยาลัย ทำงานที่ CompUSA เริ่มทำการพัฒนาเว็บไซต์ฟรีแลนซ์

ทำงานที่ร้านกาแฟหรืองานประเภทสนับสนุนเทคโนโลยีทำการเขียนโค้ดด้วยตัวเอง ... ทำอิสระและเขียนโปรแกรมโอเพนซอร์ส

งานเขียนโค้ด "ของจริง" ครั้งแรกของฉัน (กับ "โปรแกรมเมอร์" ในชื่อ) มาจากการเลือกที่รักมักที่ชัง เพื่อนกำลังออกจากตำแหน่งและพวกเขาต้องการให้เขาหาคนมาแทนที่เขา

ตอนนี้ฉันได้รับข้อเสนอเป็นประจำเส้นทางอาชีพของฉันดูดีฉันไม่ต้องกังวลกับระดับนั้น แต่ฉันจะกลับไปที่หลักสูตร CS เหล่านั้น ... แม้ว่าวิทยาการคอมพิวเตอร์! = การเขียนโปรแกรมในโลกแห่งความเป็นจริงคุณจะได้เรียนรู้อัลกอริทึมและ (หวังว่า) รูปแบบการออกแบบที่จะทำให้คุณไม่ต้องทำอะไรโง่ ๆ ดังนั้นโรงเรียนไม่จำเป็น ... แต่มันช่วยได้

ส่วนใหญ่ฉันจะบอกว่าแม้ว่าคุณจะต้องไปโรงเรียนของรัฐหรือวิทยาลัยชุมชนไปและเรียนรู้ให้มากที่สุดเท่าที่จะทำได้ แฮ็คโครงการโอเพนซอร์สในเวลาว่างของคุณ (GitHub คือประวัติย่อใหม่ตามที่พวกเขาพูด) และหากมีสิ่งที่น่าสนใจเกิดขึ้น ... คุณไม่ต้องทำจนเสร็จ คุณไม่ต้องจบการศึกษาเพื่อใส่จำนวนเครดิตและเกรดเฉลี่ยในประวัติย่อของคุณ FWIW

อย่างไรก็ตามโชคดีที่สุด หากคุณมีความหลงใหลในการเขียนโค้ดที่ดีนั่นเป็นกุญแจสำคัญ แต่วิทยาลัยเป็นประเภทของ 'การพึ่งพาระบบเดิม' สำหรับ บริษัท ส่วนใหญ่

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