ยินดีต้อนรับสู่เว็บไซต์ "นครโค้ด" รูปแบบใหม่ของเรา หากต้องการเข้าเว็บไซต์เก่าสามารถดูได้ที่ https://archive.nakorncode.com/

  1. คอร์สเรียนฟรี
  2. 1. Intro to Programming - บทนำของสายอาชีพพัฒนาโปรแกรม
  3. 3. โปรแกรมเมอร์ทำอะไรบ้างในที่ทำงาน?

3. โปรแกรมเมอร์ทำอะไรบ้างในที่ทำงาน?

  • ความยาวของวิดีโอ: 48 นาที 54 วินาที

เคยสงสัยกันไหมว่าโปรแกรมเมอร์เขาทำอะไรกันบ้างวันๆ? ในที่ทำงานออฟฟิศ ทำงานที่บ้าน หรือเป็นงานส่วนตัว ในบทนี้เราจะมาเล่าให้ฟังกับประสบการณ์จริง ว่าส่วนมากต้องทำอะไรกันบ้าง

สิ่งที่จะได้เรียนรู้ในบทนี้:

  • เข้าใจถึงหน้าที่และบรรยากาศของการทำงานเป็นโปรแกรมเมอร์
  • รูปแบบการทำงานที่แตกต่างกัน ระหว่างทำงานบริษัทกับฟรีแลนซ์
  • รู้จักกับกระบวนการพัฒนาโปรแกรมโดยพื้นฐาน

สิ่งที่โปรแกรมเมอร์ต้องทำในงานประจำบริษัท

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

  • เหมือนกับบริษัทอื่นๆ ที่จะทำงานวันละประมาณ 7-9 ชั่วโมง เป็นจำนวน 5 วันต่อสัปดาห์ มีเวลาพักกินข้าว 1 ชั่วโมง
  • บางที่ทำงานจะเริ่มเข้างานประมาณ 12:00 - 20:00 เพื่อเลี่ยงรถติด
  • ส่วนมากไม่จำเป็นต้องตอกบัตรในการเข้าทำงาน และพนักงานหลายคนเองก็มักจะ มาทำงานไม่ตรงเวลา แต่ก็มาทำงานให้ครบตามที่ได้รับมอบหมาย
  • บางที่ทำงานจะมี ประชุมช่วงเช้าเล็กๆ ทุกวัน ประมาณ 2-30 นาที เพื่ออัปเดตว่าวันนี้จะทำอะไร รายงานผล และแบ่งงานต่างๆ
  • ในบริษัทจะมีการ แบ่งกลุ่มงานเป็นแผนก ทั้งส่วนที่เกี่ยวข้องกับการพัฒนาโปรแกรมเป็นแผนกย่อย หรืออื่นๆที่ไม่ใช้การพัฒนาโปรแกรม ต่างจะมีหน้าที่ต่างกันไป
  • ตัวงานที่ต้องทำ ก็มักจะตรง ตามข้อมูลที่ได้สมัครงานตามตำแหน่ง ไว้ แต่ก็มีบ้างที่ต้อง ทำนอกเหนือจากนั้น
  • การมอบหมายงาน จะมาทั้งในรูปแบบผ่านคำพูด โปรแกรมมอบหมายงานผ่านออนไลน์ หรือแปะกระดาษไว้ที่บอร์ด
  • โปรแกรมเมอร์จะ มีหลายประเภท ในการทำงาน ทั้งแบบเขียนโค้ดอย่างเดียว ออกแบบระบบ ออกแบบหน้าจอโปรแกรม พูดคุยกับลูกค้าหน้างาน ประสานงานระหว่างแผนกต่างๆ เข้าประชุมและมีส่วนหลักในการวางแผน ทั้งนี้จะขึ้นอยู่กับว่าเราเข้ามาเป็นใครในฐานะอะไร จะทำให้รูปแบบทำงานในบริษัทต่างกันด้วย แต่ ส่วนมากก็ต้องมีเขียนโค้ด อยู่แล้ว เพราะนั้นคืองานโปรแกรมเมอร์
  • หากเราเพิ่งเริ่มทำงานใหม่ ยังไม่มีประสบการณ์ เราอาจจะจำเป็นต้อง ศึกษาหลายเรื่อง ระหว่างทำงานจริง ก็คือเรียนไปและทำงานไป
  • หากมีเพื่อนร่วมงานในแผนกเดียวกัน โดยเฉพาะมีรุ่นพี่หรือหัวหน้าในที่ทำงาน มักจะคอย ให้คำแนะนำ ได้เมื่อเราสงสัยบางเรื่องเกี่ยวกับการพัฒนาโปรแกรม
  • เป็นเรื่องปกติที่ต่อให้เราเก่งแล้ว เราก็จะต้อง พบปัญหาใหม่ๆ เสมอที่ทำให้เราต้องไปศึกษาบางเรื่อง ก่อนเริ่มเขียนโค้ดต่อ
  • ในยุคนี้เรามี ChatGPT และอื่นๆ ทำให้เราทำงานเร็วขึ้นมากจริง และมีประโยชน์ โดยบางบริษัทอาจจะมีการลงทุนเช่าบริการ Generative AI ที่ดีกว่านี้ให้พนักงานใช้ได้ และเราก็สามารถนำมาใช้กับเรื่องส่วนตัวได้เช่นกัน
  • แต่ Generative AI ก็ ไม่สามารถแก้ไขปัญหา หลายเรื่อง ทำให้หลายครั้งก็ต้องเปิด Stack Overflow หรืออื่นๆ เพื่อหาวิธีแก้ไขปัญหาต่างๆ
  • เมื่อเราเขียนโค้ดเสร็จ ขั้นตอนการทดสอบระบบก็จะเริ่มจาก Manual Testing ด้วยเราเอง ถ้าบริษัทมีระบบระเบียบมากขึ้นอาจจะมี Unit Testing, Integration Testing, System Testing และอื่นๆ ขึ้นอยู่กับความใส่ใจ หรือขนาดของตัวโปรเจกต์
  • บางบริษัทที่มีระบบ DevOps ครบถ้วน จะมีแผนกที่คอยดูแลเรื่องนี้เฉพาะ และถ้าเรารับหน้าที่เป็นโปรแกรมเมอร์คอยโค้ดเพื่อพัฒนาโปรแกรม จะทำให้เรารู้สึกทำงานสะดวกอย่างมาก
  • กลับกัน ถ้าบริษัทไหนไม่ได้มีโครงสร้างของ DevOps ที่ไม่ดีมากนัก ก็จะทำให้ ทำงานลำบาก มากขึ้น แต่เราเองอาจจะมีส่วนร่วมการพัฒนา DevOps ด้วยตนเองได้ หากบริษัทเปิดโอกาสให้เราลงมือทำ
  • โดยทั่วไปเราจะใช้ Git เพื่อบันทึกชุดโค้ด ทำงานร่วมกัน และควบคุมเวอร์ชั่นของโปรแกรมเรา แล้วแต่ว่าบริษัทจะใช้รูปแบบไหน โดยทั่วไปควรจะเป็น Gitflow
  • กระบวนการทำงานส่วนมากจะเป็นแบบ Agile โดยคร่าวๆคือวางแผน, ออกแบบ, พัฒนา, ทดสอบ, เตรียมใช้งานจริง, รีวิว, นำไปใช้งานจริง และจะทำแบบนี้วนไปตามจำนวนคุณสมบัติของโปรแกรมที่จะอยากเพิ่มเติม
  • บางครั้งอาจจะต้อง ทำเอกสาร ซึ่งจะมีหลายรูปแบบขึ้นอยู่กับงาน เช่น ทำเป็นไฟล์ PDF หรือ Markdown จะมีทั้งแบบทำให้ลูกค้า หรือทำไว้ให้นักพัฒนาโปรแกรมอ่านกันเอง บางทีอาจจะต้องเขียนเป็นลักษณะ API Documents อย่างทางการ
  • มีบ้างที่ต้อง ทำงานกราฟฟิค เช่น ตัดต่อรูปภาพบางอย่าง เพื่อนำไปใช้งานกับระบบของเรา หรือต้องไปหารูปภาพมาด้วยตนเองจากออนไลน์ที่ไม่ละเมิดลิขสิทธิ์
  • อาจจะมีเป็นครั้งคราว ที่เรา ถูกบังคับ ต้องลองใช้ Framework หรือภาษาโปรแกรมใหม่ๆ เพื่อทดลองและเปลี่ยนแปลงรูปแบบการทำงานภายในองค์กร จึงเป็นเรื่องที่โปรแกรมเมอร์จำเป็นต้อง ปรับตัวให้เร็ว เมื่อบริษัทพร้อมใช้ของใหม่
  • ส่วนของการทำงาน เรามักจะมีโอกาสได้ดูโค้ดที่เราไม่เคยเห็นมาก่อน หรือโครงสร้างการวางแผนของบริษัท ที่จะทำให้เรา รู้จักวิธีการทำงานระดับบริษัท มากขึ้น
  • หากตัวงานเกิดปัญหาขึ้น มักจะส่งผลกระทบรุนแรง เช่น ลูกค้าใช้งานไม่ได้ แผนกอื่นไม่สามารถทำงานต่อได้ อาจจะมีความผิดเพราะเรา หรือคนอื่นในทีมเรา เราก็จะต้องแก้ไขปัญหาอย่างเร่งด่วน หรือหากสุดท้ายเราเป็นผู้สร้างปัญหาบ่อยครั้ง สามารถถูกพิจารณาไล่ออกได้เช่นกัน จึงเป็นงานที่มีความรับผิดชอบสูง และไม่ควรเกิดข้อผิดพลาดบ่อยครั้ง ทำให้การวางแผนแก้ปัญหาเมื่อเกิดข้อผิดพลาด จึงเป็นเรื่องสำคัญ
  • บรรยากาศ ในการทำงาน อาจจะดู ตึง บ้างดูธรรมดาบ้างแล้วแต่วัน ตึงในที่นี่คือรู้สึกถึงความเครียดจากรอบตัว เช่น บางคนที่ปกติจะชอบไปคุยกับโต๊ะอื่น แต่วันนี้นั่งทำงานเงียบหน้าคอมตัวเอง หรือบางคนที่เห็นทำแต่งาน แต่วันนี้นั่งดูแต่ Netflix ทั้งวัน
  • บางที่ทำงานจะแต่งตัวสบาย ชุดไปรเวทได้ แต่ถ้าวันไหนต้องพบลูกค้า หรือสถานที่ทำงานอยู่หน้างาน เราจะจำเป็นต้องแต่งสุภาพหรือเครื่องแบบที่บริษัทกำหนดมาให้
  • แผนกโปรแกรมเมอร์ จะเป็น ผู้ชายไปแล้ว 90% ส่วนผู้หญิง 10%
  • บุคคลิกของเพื่อนร่วมงานเรา จะ มีความหลากหลาย ระดับหนึ่ง แต่อาจจะมีสิ่งที่สนใจเหมือนกันจึงทำให้คุยเรื่องเดียวกันได้ถูกคอมากกว่า หรือทะเลาะกันง่ายกว่าเช่นกัน อาจจะเพราะความเห็นไม่ตรงกัน
  • เราจะเห็นคนรุ่นใหม่ ย้ายที่ทำงาน บ่อยขึ้น จนคนรุ่น Senior เขาจะพูดถึงบ่อยครั้งว่าเด็กรุ่นนี้ชอบเปลี่ยนที่ทำงานบ่อย ทั้งนี้อาจจะมีหลายปัจจัย เช่น เบื่อที่ทำงานเดิม ที่ใหม่เสนอให้เงินเดือนสูงกว่า ที่เก่าไม่รู้สึกว่าจะมีความก้าวหน้า อยากทำงานใกล้บ้าน หรือแม้กระทั่งออกจากการเป็นโปรแกรมเมอร์แล้วไปทำอาชีพอื่น

สำหรับบริษัทที่ต้องทำงานที่บ้าน

จะมีข้อแตกต่างเล็กน้อย เพราะสุดท้ายตัวงานก็ต้องทำเหมือนๆกัน เช่น

  • จะต้องใช้ เครื่องมือผ่านออนไลน์ เยอะกว่า เพื่อการสื่อสารระหว่างทำงาน เช่น การใช้ Discord หรือถ้าเป็นทางการหน่อยจะเป็นพวก Slack, Teams และอื่นๆ
  • การ เช็คอีเมลรายวัน จะมีความสำคัญมากขึ้น เพราะอาจจะมีงานที่ได้รับมอบหมาย หรือสื่อสารรายละเอียดอื่นๆ
  • เมื่อต้องช่วยเหลือเพื่อนร่วมงานที่ต่างก็ทำงานที่บ้าน จะต้องใช้เครื่องมือ Remote Desktop เพิ่มเติม เช่น TeamViewer, Chrome Remote Desktop และอื่นๆ
  • การทำงานที่บ้าน อาจจะหมายถึงเรา ทำงานที่ใดก็ได้ ระหว่างเวลางานเราสามารถไปเที่ยวได้เช่นกัน แต่ก็ต้องสามารถติดต่อในเวลางานได้ตลอดเวลา และควรพกสัมภาระที่ครบถ้วนเพื่อใช้ในการพัฒนาโปรแกรม
  • สามารถปรับสภาพแวดล้อมการทำงานของเราได้ เช่น แอร์หนาวก็ปิด ร้อนมากก็เปิดแอร์แรงๆ ไม่มีเพื่อนร่วมงานเดินเข้ามาคุยเป็นการรบกวน สามารถทำกับข้าวกินเองได้ ไปทำธุระให้คนอื่นในเวลางานได้

สำหรับงานประเภทฟรีแลนซ์

  • ขั้นตอนการทำงานพัฒนาโปรแกรม จะไม่แตกต่างกับประเภทอื่น เพียงแต่เราอาจจะทำคนเดียวทั้งหมด
  • เราอาจจะมีการ จ้างคนอื่น ต่อเพื่อช่วยเหลือบางส่วน เช่น การจ้างกราฟฟิคดีไซน์เนอร์ออกแบบหน้าโปรแกรม
  • รายได้จะไม่มั่นคง หากไม่มีงานก็ไม่มีเงิน แต่บางคนอาจจะได้จากค่าดูแลระบบรายเดือนหรือรายปี ทำให้มีรายได้บางส่วนเป็นประจำได้
  • เราจะต้องมี โปรไฟล์ที่ดี ระดับหนึ่ง โดยการสร้างความน่าเชื่อถือรูปแบบต่างๆ เช่น การทำตัวอย่างระบบที่เรามี ตัวอย่างลูกค้าที่ทำสำเร็จ ระดับการศึกษาของเรา ประสบการณ์ทำงานจริงของเรา
  • ปกติแล้วก็มักจะ หางานตามในเว็บ ต่างๆ เช่น เว็บประกาศหางานฟรีแลนซ์ สังคมออนไลน์ที่มีคนถามหาจ้างให้พัฒนาระบบ
  • ถ้าเรามีญาติ มีคนรู้จัก มี Connection ที่ดี ก็จะสามารถหางานได้จากรอบตัวแทนได้ เช่น เราเคยทำระบบหนึ่งให้บริษัทใช้งาน เจ้าของบริษัทอาจจะมีการบอกต่อแก่ผู้อื่นที่ต้องการเหมือนกันได้
  • เรามักจะต้อง ทำความรู้จักกับคนใหม่ๆ เสมอ ต่างกับทำงานในบริษัทที่จะต้องพบเจอกับคนเดิมๆ
  • ปัญหา ของการทำงานฟรีแลนซ์ จะเหมือนกับเราเป็นเจ้านายบริษัท ที่จะรับเหมาสร้างโปรแกรมขนาดใหญ่หรือเล็กก็ตาม อาจจะมีปัญหาการไม่จ่ายเงินครบถ้วน หรือยกเลิกงานกลางคันได้
  • การคิดมูลค่าของงานแล้วแต่ ความพอใจ ส่วนมากจะมีคำแนะนำว่าถ้าเราคาดหวังเงินเดือนเท่าไหร่ ให้คิดตามเวลางานเท่านั้น เช่น คาดหวังเงินเดือน 30,000 บาท ถ้าเราใช้เวลาทำโปรเจกต์ 15 วัน อาจจะคิดราคา 15,000 บาท แต่ทั้งนี้ก็อาจจะมีปัจจัยอื่นๆด้วย เช่น ค่าเช่าบริการออนไลน์

บทสรุป

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

  • Tags:
  • programmer
  • หน้าที่โปรแกรมเมอร์
  • โปรแกรมเมอร์
  • การทำงาน
  • ภารกิจประจำวัน
  • งานโปรแกรมเมอร์
  • ชีวิตการทำงาน
  • บทบาทโปรแกรมเมอร์
  • programmer-tasks
  • daily-programmer-tasks
  • programmer-responsibilities
  • what-programmers-do
  • work-duties
  • programming-career
  • programmer-job
  • งานประจำวันโปรแกรมเมอร์
  • โปรแกรมเมอร์ในองค์กร
  • ทำงานอย่างไร
  • programmer-duties
  • software-developer
  • developer-workday
  • โปรแกรมเมอร์ประจำวัน
  • การเขียนโค้ด
  • coding-daily-life
  • developer-tasks