วิธีการทำงานในฐานะนักพัฒนาซอฟต์แวร์

ผู้เขียน: Peter Berry
วันที่สร้าง: 19 สิงหาคม 2021
วันที่อัปเดต: 1 กรกฎาคม 2024
Anonim
Android : วิธีปิด/เปิด โหมดสำหรับนักพัฒนาซอฟต์แวร์ Developer options
วิดีโอ: Android : วิธีปิด/เปิด โหมดสำหรับนักพัฒนาซอฟต์แวร์ Developer options

เนื้อหา


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

ตามที่ USNews.comผู้พัฒนาซอฟต์แวร์โดยเฉลี่ยสร้างรายได้ $ 101,790 ในปี 2560 ตามที่ Gorroo.io นักพัฒนาซอฟต์แวร์ C # ได้รับ $ 102k ต่อปี

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

นักพัฒนา C # โดยเฉลี่ยได้รับ $ 102k ต่อปี

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

นักพัฒนาซอฟต์แวร์ทำอะไร

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


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

ประเภทของผู้พัฒนาซอฟต์แวร์

เหตุผลที่“ นักพัฒนาซอฟต์แวร์” นั้นเป็นคำที่กว้างมากนั่นก็คือมีซอฟต์แวร์หลายประเภทที่คุณอาจถูกขอให้ทำงานและเครื่องมือต่าง ๆ มากมายที่คุณอาจใช้เพื่อทำให้เกิดผล

นักพัฒนาซอฟต์แวร์อาจทำงานเป็นนักพัฒนาเว็บหรือ "นักพัฒนาสแต็กเต็ม" เพื่อสร้างเว็บไซต์หรือเพิ่มคุณสมบัติการโต้ตอบ พวกเขาอาจพัฒนาแอพมือถือหรือทำงานกับเครื่องมือในอุตสาหกรรม

ข้อแตกต่างที่ควรพิจารณา: ผู้พัฒนาซอฟต์แวร์และวิศวกรซอฟต์แวร์มีความแตกต่างกันอย่างไร

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


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

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

ผู้พัฒนาซอฟต์แวร์ต้องการทักษะและคุณสมบัติใดบ้าง?

ในการเป็นนักพัฒนาซอฟต์แวร์คุณจำเป็นต้องเรียนรู้การเขียนโปรแกรม

คำถามต่อไปคือ“ ภาษาการเขียนโปรแกรมที่ดีที่สุดในการเรียนรู้” หรือ“ นายจ้างภาษาโปรแกรมภาษาใดต้องการ”

ในขณะที่มันเป็นความจริงอย่างแน่นอนว่าบางภาษาการเขียนโปรแกรมเป็นที่ต้องการของลูกค้าและนายจ้าง (Python, Java, JavaScript, PHP, Swift, C #, C ++, Ruby) ความจริงก็คือว่าสิ่งนี้ขึ้นอยู่กับประเภทของงานที่คุณต้องการ . นี่คือตัวอย่างเล็ก ๆ น้อย ๆ

นักพัฒนาสแต็คเต็มรูปแบบ

Python, JavaScript, PHP และ Ruby เป็นภาษาทั้งหมดที่ใช้สำหรับการพัฒนาเว็บ หากคุณกำลังทำงานบนพอร์ทัลออนไลน์หรือทำการอัปเดตสำหรับแอปพลิเคชันเว็บเช่น Twitter สิ่งเหล่านี้อาจมีประโยชน์ ในบทบาทนี้อาจเป็นประโยชน์ในการทำความเข้าใจฐานข้อมูล (SQL) และรู้จักวิธีการของคุณรอบ ๆ เซิร์ฟเวอร์

“ นักพัฒนาสแต็คเต็ม” เป็นผู้พัฒนาเว็บที่ประสบความสำเร็จในรูปแบบสุดท้ายของพวกเขา: ใครบางคนที่สามารถจัดการทุกด้านของการออกแบบและการบำรุงรักษาเว็บตั้งแต่ส่วนหน้า (HTML, CSS, JavaScript) ไปจนถึงด้านหลัง (PHP, Python, Ruby) เพื่อการบำรุงรักษาเซิร์ฟเวอร์ มืออาชีพประเภทนี้กำลังเป็นที่ต้องการอย่างมาก

นี่เป็นหลักสูตรที่ยอดเยี่ยมจาก Udemy หากคุณต้องการเรียนรู้เพิ่มเติม: Full Stack Web Developer Bootcamp

นักพัฒนามือถือ

อย่างไรก็ตามหากคุณสนใจที่จะพัฒนาแอป Android คุณจะต้องเรียนรู้ Java หรือ Kotlin (ทั้งคู่) คุณจะต้องทำความคุ้นเคยกับ Android Studio, Android SDK (ชุดพัฒนาซอฟต์แวร์) และแนวคิดใหม่ทั้งหมดที่ Google แนะนำอยู่ตลอดเวลา (เช่นแอปพลิเคชันทันทีหรือฟองอากาศ)

อ่านเพิ่มเติม: วิธีการหางานทำในฐานะนักพัฒนา Android

หากคุณต้องการสร้างแอพ iOS สำหรับการใช้ชีวิตคุณควรเรียนรู้ Swift และ Objective C และทำความคุ้นเคยกับ Xcode หากคุณต้องการสร้างแอพ Windows หรือข้ามแพลตฟอร์มคุณจะต้องใช้ C # และเข้าใจ Visual Studio

ผู้พัฒนาเกม

ในการเป็นนักพัฒนาเกมคุณควรเรียนรู้ C # และ C ++ อย่างแท้จริง คุณควรทำความรู้จักกับเอ็นจิ้นเกมใหญ่ (Unity and Unreal) และคุณอาจต้องการเพิ่ม CAD นิดหน่อยในชุดทักษะของคุณ

Guide Ultimate to Unity เพื่อการพัฒนาเกมที่ Udemy เป็นจุดเริ่มต้นที่ดี

นี่เป็นเพียงการเกาพื้นผิว นักพัฒนาซอฟต์แวร์รายอื่นจะทำงานกับซอฟต์แวร์ที่มีอุปกรณ์อิเล็กทรอนิกส์จัดการข้อมูลขนาดใหญ่และอื่น ๆ

จากนั้นมีเครื่องมือเฉพาะที่ บริษัท จะใช้เพื่อจัดการเวิร์กโฟลว์และทำงานร่วมกันในโครงการขนาดใหญ่ เมื่อฉันไปที่ Facebook ในลอนดอนเมื่อไม่กี่เดือนที่ผ่านมาฉันได้รับการแนะนำให้รู้จักกับเครื่องมือต่างๆที่ บริษัท ใช้ในการติดตามโครงการต่างๆ พวกเขารวมถึงฟิลเตอร์, Mercurial, Sapienz และอื่น ๆ

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

ในการสรุป: สิ่งที่คุณต้องรู้จะขึ้นอยู่กับประเภทของนักพัฒนาซอฟต์แวร์ที่คุณต้องการเป็น

การรับรองนักพัฒนาซอฟต์แวร์ที่ดีที่สุด

ดังนั้นเมื่อคุณเลือกประเภทของงานที่คุณต้องการและประเภทของรหัสที่คุณต้องการเขียนงานต่อไปของคุณคือการระบุประเภทของการฝึกอบรมที่คุณต้องการ คุณต้องการปริญญาเพื่อเป็นนักพัฒนาซอฟต์แวร์หรือไม่?

คำตอบสั้น ๆ คือไม่ คำตอบที่ยาวกว่าคือไม่ แต่มันก็ช่วยได้อย่างแน่นอน

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

อ่านเพิ่มเติม: ทำให้อนาคตของอาชีพและเงินเดือนของคุณเป็นนักวิเคราะห์ความปลอดภัยของข้อมูล

ในทำนองเดียวกันการศึกษาระดับปริญญาจะให้คุณได้เปรียบกว่าผู้สมัครอื่น ๆ ในระหว่างขั้นตอนการสมัคร

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

มีการรับรองอุตสาหกรรมที่ได้รับการยอมรับมากมายที่จะทำให้คุณมีจำนวนของอิทธิพลเมื่อสมัครตำแหน่ง

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

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

เพียงแค่ Google ประเภทงานที่คุณสนใจและหาการรับรองที่ดีที่สุดที่รู้จักในพื้นที่นั้น หากคุณไม่แน่ใจให้เลือกหนึ่งในภาษาใหญ่เช่น C # หรือ Java หรือมองหาวิทยาการคอมพิวเตอร์หรือหลักสูตรเต็มสแต็คที่จะครอบคลุมพื้นดินจำนวนมาก

คุณต้องการใบรับรองเพื่อเป็นนักพัฒนาซอฟต์แวร์หรือไม่?

ตัวเลือกที่ถูกที่สุดคือการเป็นนักพัฒนาซอฟต์แวร์โดยไม่มีการรับรองหรือคุณสมบัติ แต่เป็นไปได้ไหมที่จะหางานในฐานะนักพัฒนาที่สอนด้วยตนเองอย่างหมดจด?

ฉันสามารถรับประกันคุณได้ว่ามันเป็นเช่นนี้เป็นสิ่งที่ฉันทำ ฉันเรียนรู้การเขียนโปรแกรมพื้นฐานบน ZXSpectrum และจากนั้นความรู้ของฉันก็เพิ่มขึ้นด้วย QBASIC, B4A จากนั้น Java, C #, Python และอีกมากมาย

วิธีที่ฉันสามารถทำได้คือการให้ CV ของฉันพูดกับฉัน ฉันพัฒนาแอพ Android ที่ประสบความสำเร็จซึ่งมีการดาวน์โหลดที่จ่ายเงินมากกว่า 100,000 ครั้งทำงานกับชื่อที่ค่อนข้างใหญ่ออกมาจากนั้นจึงเขียนหนังสือเทคนิคเกี่ยวกับการพัฒนาเกมสำหรับ Apress Media (Springer)

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

ฉันขอแนะนำให้พัฒนาแอพและเว็บไซต์ในเวลาว่างเพื่อเป็นตัวอย่างของงานของคุณทำงานถูก ๆ เพื่อให้เพื่อน ๆ สร้างพอร์ตโฟลิโอเข้ามามีส่วนร่วมในโครงการโอเพ่นซอร์สบน GitHub หรือเข้าร่วมแฮ็คแฮมตัน

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

แม้จะไม่มีประสบการณ์แบบนั้นถ้าคุณตกลงที่จะรับเงินเมื่อได้รับอย่าคิดเงินมากเกินไปและเป็นตัวอย่างของงานของคุณคุณควรจะสามารถหางานได้ทันที

สำหรับการหางานกับนายจ้างรายใหญ่ผู้เชี่ยวชาญบางคนแนะนำว่าการรับรองอาจไม่ช่วยอะไรเลย

นั่นเป็นเพราะเมื่อคุณรู้ภาษาการเขียนโปรแกรมหนึ่งแล้วมันค่อนข้างง่ายที่จะเข้าใจคนอื่น ในขณะที่ไวยากรณ์เครื่องมือและกฎบางอย่างอาจแตกต่างกัน ภาษาแรกที่คุณเรียนรู้นั้นยังยากที่สุด มีสิ่งที่เทียบเท่ากับ“ ถ้า” ในทุก ๆ ภาษาที่คุณจะได้เรียนรู้

เมื่อคุณรู้ภาษาการเขียนโปรแกรมหนึ่งแล้วจะค่อนข้างง่ายที่จะเข้าใจผู้อื่น

เมื่อทำงานภายในองค์กรการฝึกอบรมจำเป็นต้องมีเสมอ นายจ้างจำนวนน้อยมากจะคาดหวังให้คุณรู้ทุกสิ่งในทันทีและด้วยความซื่อสัตย์ - มีจำนวนมากที่เกิดขึ้นในอาชีพของวิศวกรซอฟต์แวร์ คาดหวังว่าคุณจะรู้สึกถึงความลึกและเต็มไปด้วย“ อิมเพรสชั่นซิสเตอร์” เมื่อคุณเริ่มต้น แต่ไม่ต้องกังวลนั่นคือความรู้สึกของทุกคน!

วิธีสอนโค้ดให้ตัวเอง

การสอนตัวเองให้ใช้รหัสเป็นกระบวนการที่ท้าทายและแนวคิดขั้นสูงเช่นการเขียนโปรแกรมเชิงวัตถุอาจเป็นเรื่องยากที่จะแตก โชคดีที่มีวัสดุฟรีจำนวนมากออนไลน์อยู่ เราได้เน้นหลักสูตรที่ดีเยี่ยมสองสามรายการจาก Udemy แล้วและยังมีอีกมากมาย เรามีหลักสูตรสำหรับนักพัฒนา Android ที่ดำเนินการโดย Gary Sims เป็นต้น

นี่คือเครื่องมือที่ยอดเยี่ยมสำหรับการเรียนรู้รหัสตอนนี้:

  • หลักสูตรที่ยอดเยี่ยมที่จะสอน Python สำหรับวิทยาศาสตร์ข้อมูล
  • ชุดการเข้ารหัส C #
  • ชุดฝึกอบรมนักพัฒนาเว็บมืออาชีพเก้าส่วน

และมีหลักสูตรที่ยอดเยี่ยมมากมายในไซต์เช่น SkillShare

ดูสิ่งนี้ด้วย: วิธีเริ่มการพัฒนาแอพ Android สำหรับผู้เริ่มต้นสมบูรณ์ใน 5 ขั้นตอน

ทำงานผ่านสิ่งเหล่านี้ในลักษณะที่เป็นตรรกะและฝึกฝนกับโครงการของคุณเอง มันเป็นเรื่องยากในตอนแรก แต่ถ้าคุณมุ่งเน้นไปที่แง่มุมที่คุณชอบคุณจะไปถึงที่นั่น

ค้นหางานที่ได้รับค่าจ้างในฐานะนักพัฒนาซอฟต์แวร์

ชิ้นส่วนสุดท้ายของปริศนาคือการหางานที่ได้รับค่าจ้างในฐานะผู้รับเหมาพนักงานที่ทำงานเต็มเวลาหรือจากผู้ทำงานอิสระ

การหางานอิสระเป็นเรื่องของการใช้ไซต์รายการงานเว็บไซต์อิสระเช่น PeoplePerHour หรือ UpWork

นอกจากนี้ยังมีไซต์อิสระที่มุ่งเน้นเฉพาะผู้พัฒนาซอฟต์แวร์และวิศวกร เหล่านี้รวมถึง Rent-a-code และแม้แต่ Stack Overflow

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

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

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

ที่น่าสนใจบนเว็บไซต์