DEV Community

Kan Ouivirach
Kan Ouivirach

Posted on • Edited on

สรุปบทความ What it's like to be a new software engineer at Stripe

บทความ What it's like to be a new software engineer at Stripe นี้ @yothinix หามาแล้วแชร์ให้กันคนในทีมได้อ่าน วันนี้มีโอกาสได้ลองใช้เวลาช่วงเช้าอ่านจริงๆ จังๆ บทความนี้เป็นเรื่องเกี่ยวกับ onboarding new engineers ที่ Stripe ซึ่งที่ Pronto Tools ก็พยายามที่จะปรับปรุงให้ดีขึ้นอยู่ ซึ่งก็ได้แนวคิดอะไรดีๆ จากบทความนี้เยอะเหมือนกัน และคิดว่าน่าจะมีหลายๆ อย่างเอาไปประยุกต์ใช้ได้ด้วย

ช่วง 2 อาทิตย์แรก

อาทิตย์แรกที่ Stripe จะมีคอร์สเรียนต่างๆ แบบ intense pace ก็จะได้เรียนรู้เกี่ยวกับ Stripe (Stripe 101) แล้วก็เรื่องที่จำเป็นต้องทำให้ดีคือเช่นพวก เรื่องคุยกับลูกค้า และโลกของ payment ทำงานอย่างไร ช่วงเรียนนี้จะเป็นช่วงที่ได้เจอกับคนทั้งบริษัท และจากทั่วโลก อาทิตย์แรกจะทำงานในหลายๆ ทีม แล้วก็จะไปทานข้าวเที่ยงกับข้าวเช้ากับคนหน้าใหม่ๆ ตลอด จบอาทิตย์แรกก็จะได้เรียนรู้เกี่ยวกับผลิตภัณฑ์ของ Stripe แล้วก็การ charge เงิน มุมมองของลูกค้าที่มีต่อเรา และ future direction ของบริษัท

ส่วนอาทิตย์ที่ 2 ก็ยังจะมีบางคลาสที่เหลืออยู่จาก Stripe 101 แต่ก็จะมีเริ่มคลาสสำหรับ Engineering 101 ซึ่งจะได้เรียนพวก overall architecture, design patterns, programming languages, และอื่นๆ อีกเยอะ ในอาทิตย์นี้ก็จะได้เห็นภาพว่าโปรเจคต่างๆ ดำเนินการไปอย่างไร มีปัญหาอะไรที่เราจะต้องเจอ และในแต่ละวันพนักงานใน Stripe ทำอะไรกันบ้าง

มีการพูดถึง imposter syndrome ซึ่งเป็นการพูดสั้นๆ เพื่อบอกพวกเราทุกคนว่าทุกคน belong to Stripe จริงๆ และมีเหตุผลที่พวกเราทุกคนได้อยู่ตรงจุดนี้ และทุกการเริ่มต้นจะยากเสมอ -- การทำแบบนี้ก็ทำให้พนักงานไม่ freak out ได้เหมือนกัน ในช่วง 2 อาทิตย์แรก

หลังจากจบช่วง onboarding แล้ว เราจะก็ถูกจับกลุ่มกับ newly-hired คนอื่นๆ เพื่อพัฒนาโปรเจคหนึ่งๆ ขึ้นมา โปรเจคก็จะเป็นโปรเจคเล็กๆ ที่มี scope ที่ชัดเจน และถูกออกแบบมาให้ทำเสร็จภายใน 2 อาทิตย์ แต่ละทีมก็จะมี mentor คอยช่วยเหลือในการสร้างผลิตภัณฑ์ขึ้นมา ไอเดียนี้เป็นไอเดียที่ดีมาก ต่างคนต่างไม่รู้จักระบบ และต่างคนต่างไม่กลัวที่จะถามคำถาม ทำให้เรามีกลุ่มที่พร้อมจะพึ่งพาและเรียนรู้ไปด้วยกัน ประเด็นคือไม่ใช่แค่ทำโปรเจคให้จบเท่านั้น แต่ยังสร้างปฏิสัมพันธ์ใหม่ๆ เรียนรู้พวก operational process (รวมไปถึง deployment) และการสร้างความมั่นใจอีกด้วย

ช่วงเริ่มงานแรกๆ

ก่อนจะเริ่มงานจริงๆ ที่ Stripe จะมี engineer จากทีมที่จะไปอยู่ในอนาคตมาเป็น buddy ให้ จะเป็นคนที่คอยช่วยให้ประสบการณ์การเริ่มงานที่ Stripe เป็นไปอย่างราบรื่น และเป็นคนที่จะช่วยเหลือในทุกๆ เรื่อง ตอบทุกคำถามที่สงสัย และ buddy คนนี้ก็จะมากำหนด spin-up โปรเจค (เล็ก และมี scope ชัดเจน) ซึ่งจุดประสงค์ก็เพื่อให้เข้าใจการทำงานในทีม และโปรเจคที่กำลังจะเข้าไปทำให้มากขึ้น

วัฒนธรรมหนึ่งที่สำคัญที่ Stripe คือ 1:1 ก็จะได้พบปะพูดคุยกับคนจากทุกทีมเลย

ที่ Stripe มีทีมที่ชื่อว่า Education ซึ่งมีหน้าที่ที่จะจัด workshop หรือ course เรียนต่างๆ ออกมา แล้วก็มีระบบ internal learning system ที่สามารถมาดู online ย้อนหลังได้ ทีมนี้จะคอยสร้างเนื้อหาใหม่ๆ และก็ถาม feedback หลังจากที่เรียนจบ ซึ่งก็หมายความว่าเนื้อหาพวกนี้จะถูกปรับปรุงให้ดีขึ้นอยู่ตลอดเวลา

ที่ Dublin Hub ทีม engineer มี "Lunch and Learn" (หรือ Learnch) จะมีคนมาพูด หรือมาพรีเซนต์อะไรสักอย่าง (อาจจะเป็น company-specific หรือ random topic) ระหว่างที่นั่งทานข้าวเที่ยงร่วมกัน

มี study group ด้วย ในทุกๆ 2 อาทิตย์ก็จะมี Ruby study group หรือ มาคุยเรื่อง paper กัน ที่ออฟฟิสจะเจอหนังสืออยู่ทุกหนทุกแห่งเต็มไปหมด ส่วนใหญ่จะมาจาก Stripe Press แล้วก็จะมี online library ด้วย แล้วก็ budget สำหรับซื้อหนังสือเข้า hub

การจัดการกับ information ที่หลั่งไหลเข้ามา?

ผู้เขียนเค้าแนะนำให้ลองทำ

  • Checklist สำหรับ new engineer ควรทำและควรอ่านในอาทิตย์แรกๆ ตรงนี้จะทำให้ new engineer สามารถจัด priority ได้ ไม่กดดันจนเกินไป
  • จด Diary ไว้ว่าทำอะไรบ้างในแต่ละวัน
  • ทำ Brag document เอาไว้แชร์ achievements ของเราในช่วงเวลาที่ผ่านมา ในขณะที่ diary จะช่วยเราเรื่องานในแต่ละวัน Brag document จะช่วยเรื่อง major accompllishment (อ่านเพิ่มได้ที่ Get your work recognized: write a brag document) อันนี้ก็จะมีประโยชน์ตอน review ด้วย แล้วก็ยังช่วยเสริมสร้างความมั่นใจในตอนที่เรามองย้อนกลับไปดูสิ่งที่ทำมา

ใครที่บังเอิญแวะเข้ามาอ่าน ถ้ามีอะไรที่ทีมตัวเองทำอยู่แล้วอยากแบ่งปันบ้าง คอมเม้นต์กันมาได้เลยนะครับ 😉

Top comments (0)