Fury Road: การเดินทางของนักพัฒนาการเรียกเก็บเงิน

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

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

1. เรียนรู้ภาษาการเขียนโปรแกรม

สำหรับผู้เริ่มต้นทุกคน ลำดับความสำคัญคือ Java, Python และ JavaScript แต่ Ruby, Go, C, C++ เหมาะสำหรับการรับความรู้พื้นฐาน สอนยังไง? เรียนหลักสูตรแบบเสียเงินและฟรี ฉันสามารถแนะนำการฝึกอบรมจาก Golang ได้ หากระดับภาษาอังกฤษของคุณเอื้ออำนวย การดูวิดีโอภาษาต่างประเทศถือเป็นทักษะเสริมที่ดี

Fury Road: การเดินทางของนักพัฒนาการเรียกเก็บเงิน

2. ทำความเข้าใจแนวคิดระบบปฏิบัติการ

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

  • การจัดการกระบวนการ
  • เธรดและโค้ดแบบมัลติเธรด
  • ซ็อกเก็ต (อินเทอร์เฟซซอฟต์แวร์);
  • การจัดส่ง I/O;
  • การจำลองเสมือน;
  • พื้นที่จัดเก็บ;
  • ระบบไฟล์

ฉันแนะนำให้เรียนหลักสูตรการดูแลระบบ Linux ขั้นพื้นฐาน ระบบปฏิบัติการที่สองในบรรทัดคือ Windows และ Unix

3. ทำความคุ้นเคยกับเครื่องเทอร์มินัล

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

  • เปลือก Bash และ KornShell;
  • คำสั่ง find, grep, awk, sed, lsof;
  • คำสั่งเครือข่าย nslookup และ netstat

Fury Road: การเดินทางของนักพัฒนาการเรียกเก็บเงิน

4. เครือข่ายและความปลอดภัย

การเรียกเก็บเงินมีความเกี่ยวข้องอย่างใกล้ชิดกับข้อกำหนดด้านเครือข่ายและการปกป้องข้อมูล คุณไม่สามารถเขียนบริการออนไลน์ได้หากไม่เข้าใจวิธีการทำงานของเครือข่าย ดังนั้นคุณต้องเรียนรู้แนวคิดพื้นฐานและโปรโตคอล: DNS, โมเดล OSI, HTTP, HTTPS, FTP, SSL, TLS จากนั้น เมื่อคุณพบข้อผิดพลาด Connection Refused คุณจะรู้ว่าต้องทำอย่างไร

5. เซิร์ฟเวอร์

หลังจากศึกษาหลักการส่งข้อมูลบนเครือข่ายแล้ว คุณสามารถเริ่มต้นการทำงานของเซิร์ฟเวอร์ขั้นพื้นฐานได้ เริ่มต้นด้วยเว็บเซิร์ฟเวอร์: IIS, Apache, Nginx, Caddy และ Tomcat

ถัดไปในรายการ:

  • พร็อกซีย้อนกลับ;
  • พร็อกซีที่ไม่ระบุชื่อ;
  • เก็บเอาไว้;
  • โหลดบาลานซ์;
  • ไฟร์วอลล์

6. เรียนรู้โครงสร้างพื้นฐานเป็นโค้ด

ฉันเชื่อว่าขั้นตอนนี้เป็นหนึ่งในขั้นตอนที่สำคัญที่สุด คุณจะต้องเข้าใจหัวข้อกว้าง ๆ สามหัวข้อ:

  • คอนเทนเนอร์: นักเทียบท่าและ Kubernetes
  • เครื่องมือการจัดการการกำหนดค่า: Ansible, Chef, Salt และ Puppet
  • ข้อมูลสำรอง: เทราฟอร์ม เมฆ

7. เรียนรู้ CI/ซีดี

ทักษะที่มีประโยชน์อีกประการหนึ่งสำหรับนักพัฒนาการเรียกเก็บเงินคือสามารถตั้งค่าไปป์ไลน์สำหรับการบูรณาการและการส่งมอบอย่างต่อเนื่อง ในพื้นที่ CI/CD มีเครื่องมือต่างๆ เช่น Jenkins, TeamCity, Drone, Circle CI และอื่นๆ สปอยเลอร์: การเรียนรู้ Jenkins ที่ใช้กันอย่างแพร่หลายในตอนแรกก็เพียงพอแล้ว

8. การควบคุมซอฟต์แวร์และโครงสร้างพื้นฐาน

เป้าหมายสำคัญคือการเข้าใจพื้นฐานของการตรวจสอบแอปพลิเคชัน เครื่องมือในพื้นที่นี้แบ่งออกเป็นสามกลุ่ม:

  • การตรวจสอบโครงสร้างพื้นฐาน: Nagios, Icinga, Datadog, Zabbix, Monit
  • การตรวจสอบประสิทธิภาพของแอปพลิเคชัน: AppDynanic, New Relic
  • LMS: ELK Stack, Graylog, Splunk, Papertrail

9. บริการคลาวด์

ในอนาคตอันใกล้นี้ ทุกแอปพลิเคชันหรือซอฟต์แวร์จะมีระบบคลาวด์ที่เทียบเท่ากัน ไม่ช้าก็เร็ว นักพัฒนาจะพบกับระบบคลาวด์ ดังนั้นโปรดอ่านข้อมูลเกี่ยวกับผู้ให้บริการระบบคลาวด์ยอดนิยม (AWS, Google Cloud และ Azure) และพื้นฐานของเทคโนโลยี

10. การทำงานกับฐานข้อมูล

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

11. พัฒนาทักษะด้านอารมณ์ของคุณ

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

Fury Road: การเดินทางของนักพัฒนาการเรียกเก็บเงิน

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

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

ที่มา: will.com

เพิ่มความคิดเห็น