Year in Review 2022 in Thai

Siwat Kaolueng
4 min readDec 31, 2022

เกือบจบปีแล้วมาบันทึกสิ่งได้เรียนรู้กันหน่อย

เจมส์ที่ไร่ชาฉุยฟง

งาน

  • ฟรีแลน์ต้นปีงานหายหมด รายจ่ายเพิ่มขึ้น ทำงานกับ ITOPPLUS มากขึ้น
  • สนใจสร้าง Low Code Platform, Collaboration Tools, CRDTs, Local-first software
  • ได้โจทย์ยากที่น่าสนใจมาก CMS (Low code — Drag & Drop) ใช้เอง
  • Research Low Level Angular, Reversed Engineering Internal Angular Data Structure, LView, Runtime JIT Compiler, ร่วม Architect Store Front สร้าง JS Router เอง อ่าน Angular source code ตลอด เป็นงานที่สนุกมาก
  • เข้าใจ MongoDB มากขึ้นจากการที่ต้องทำ Auto & Manual App Level Backup
  • ถอด Image Resizer WASM, WebWorker ใน Squoosh (React App) มาใส่ใน CMS (Angular)
  • ต่อยอด WebWorker ด้วยการเอา Compress Logic ย้ายออกจาก Main thread
  • Coach รุ่นน้องย้ายสายคนนึง อัจริยะ หัวไว พารู้จัก Leetcode, System Design Interview ตอนนี้ออกไปได้งานใหม่เงินเดือนอัพ x2 ในปีเดียว อนาคตไกล ตอนเลี้ยงส่งน้องเมานิดหน่อยบอกผมจะเก่งกว่าพี่ให้ได้ 4–5 รอบ ผมชักเริ่มไม่มั่นใจว่านับถือผมหรือยังไง 55 ผมก็ยอมไม่ได้หรอก ต้องเก่งขึ้นกว่านี้ 55
  • สอนทีมใช้ Angular, RxJS, Edge Dev Tools คิดว่าจำเป็นและเป็นประโยชน์สำหรับทีม
  • ได้เขียน Lua เป็นภาษาที่น่าสนใจมากใน Scripting Language ที่ติดมากับ OpenResty Powerful มากสำหรับการ Customize Reversed Proxy, Web Server ถึงแม้ DX แย่ไปนิด
  • ElasticSearch พลาดไม่ได้สำหรับคนทำ Full-text search ภาษาไทย ซึ่งหนีไม่พ้นสำหรับคนทำ Product, Pages, Content Search เขียน Query บางส่วน ตัดคำเอง เพิ่งเห็นว่า MongoDB มี Full-text search เหมือนกัน แต่ไม่มั่นใจภาษาไทยว่าดีแค่ไหน Inverted Index, Trie Data Structure นี่เด็ดจริงๆ
    ออกแบบ Nested Structure พลาดไป ต้อง Flat structure ยังแก้ทัน พี่วิกแนะนำมา
  • นั่ง Research & Prototype End to end testing ให้ทีม QA มองภาษาที่ High Level หน่อยคือ Robotframework แล้วค้นพบว่า Selenium โคตรกาก ช้า ไม่แน่นอน (Non-deterministic) เลยไปเจอตัว Robocorp RPA ที่ Wrap Playwright ให้นี่แหละเร็วและใช้งานได้ดีที่สุด
  • (Chrome, Edge) Dev Tools, Profiling Debugging ใช้บ่อยมาก MacBook Ram 16 GB ระเบิดบ่อยๆ
  • อยู่ใน Stage ที่คุยกับพี่ต้นแล้ว library, เครื่องมือ ที่ใช้อยู่ไม่ตอบโจทย์ มี edge case ต้องแก้เช่น quill, cdk ต้อง fork มาแก้
  • Stress Test Components & DOMs จำนวนมาก ได้แก้โจทย์ Layout thrashing
  • ขอบคุณพี่ต้นที่ให้โอกาส ถึงแม้เราจะเถียงกันบ่อยในหลายๆเรื่อง แต่เราก็เถียงกันด้วยเหตุผลเพื่อทำให้งานออกมาดี อะๆไม่ต้อง OnPush, markForCheck ก็ได้ครับพี่ ผมหยวนให้ 5555
  • เป้าหมายสำเร็จแล้ว Core Logic เสร็จ คนทำต่อได้
  • เป้าหมายใหม่ หางานใหม่ โจทย์ใหม่
  • สัมภาษณ์งาน
  • เตรียมตัว มันตื่นเต้น ได้รู้ว่าตัวเองไม่รู้อะไร รู้ว่าความสามารถอยู่ตรงไหนของตลาด รวมถึงราคา
  • เล็งต่างชาติ Remote | Relocated Jobs
  • สัมภาษณ์บริษัทดังนี้

    StrikeSocial (Blognone)
    รอบเดียวคุยกับ Tech Lead เลย, พบว่าผมให้สัมภาษณ์แบบ Causal เกินไปหน่อยเลยพลาด ถามเคยใช้ NgRx, RxJS ไหม สุดท้ายก็จบด้วย Email Let’s keep in touch.

    Creately (Linkedin)
    อยากเข้ามากเพราะ Product เป็นความสนใจ Collaboration Tools

    ทำข้อสอบออนไลน์ผ่าน Chatbot AdaFace วัดความรู้ทั่วไป สถิติ ปัญหาเชาว์ การตีความกราฟ JavaScript พื้นฐานโดนแต่เรื่อง Promise, แล้วก็ Coding Problem หนึ่งข้อ ภายใน 1.5 ชั่วโมง

    สัมภาษณ์ 3 รอบ

    สัมภาษณ์รอบแรก Pair Programming แก้โจทย์ OOP Vacuum Cleaner Robot ทำความสะอาดพื้นที่ Floor NxN กับ Engineer ค่อนข้างตึ๊บตอน Pair เพราะตื่นเต้นเป็นสนามแรกๆ ทำเสร็จในขั้นต้น แต่ดีหน่อยเค้าบอกแก้ต่อได้ดีขึ้นได้ เราก็นั่งคิดต่อคนเดียว เออแปลกดีทำไมมันคิดออกแบบลื่นไหลเลยส่งแก้ไป

    สัมภาษณ์​ System Design กับ Tech Lead สองคนให้ออกแบบ Collaboration Todo List ให้ Architect เลือก Technology Frontend Backend Database เราก็เลือก MongoDB เพราะมันไม่ค่อยมี Relation เป็น Document Oriented ซึ่งผิดเพราะมันมีส่วนของ User ที่เป็น Relation ต้องเลือก DBMS ด้วย ให้ออกแบบ Database อันนี้เหวอเพราะไม่ค่อยได้ออกแบบ Database แต่ก็เอาตัวรอดไปได้

    รอบสุดท้ายสัมภาษณ์กับ CEO ถาม Technical ด้วย
    อันนี้เจ็บใจที่สุดเข้าไปรอบสุดท้ายแล้วถึง CEO เจอ CEO ถามว่าจะจัดการ Conflict กับหัวหน้ายังไง เป็นคำถามที่ไม่ได้เตรียมตัว ก็ตอบไปตามตรงว่าคุยกันตรงๆ ยอมรับฟังเหตุผลของหัวหน้า และคำถาม Technical นิดหน่อยให้อธิบาย Google Search ตั้งแต่ต้นจนจบ คำถามนี้ก็เหวอนิดๆ ต้องอธิบายตั้งแต่ DNS, TCP, Handshake TLS, Client Site Render, Data Structure ที่ใช้ Trie, Inverted Index, CDN, Google Page Rank Algorithm, Makrov Chain Model, Crawler เลยหรือเปล่า ตอบไปพอประมาณ แต่คิดว่าทำได้ไม่ดี ถามเรื่อง PubSub ก็เลยเล่าไปว่าเคยใช้ Google Cloud PubSub ส่ง Notification Message, Redis Pub Sub + SocketIO ทำ Chat กว่าจะตอบเมล์ปฏิเสธผม ให้ผมรอตั้งสองเดือนต้องเมล์กลับไปถาม พอจะเข้าใจว่าเค้ามาแค่สำรวจตลาด ไม่เห็นรับใครเลย เห็นเปิดรับสัมภาษณ์หลายประเทศมากทั้ง SEA, Singapore ไปจนถึง Romania} เห็น Applicants 1000+

    Celonis (Referal ขอบคุณ Santosh Yadev)
    ได้รู้ว่าตัวเองไม่รู้เรื่องทำ Recursive Embeded View Template สัมไปสองรอบ รอบแรกทั่วไปทำความรู้จัก แล้วได้โจทย์ให้นำเสนอในรอบต่อไปให้ทำ Visulization Equation Calculator Convert ไปกลับระหว่าง UI Symbol ที่ Add Edit Delete ได้ ที่แสดงสูตรที่ใส่บนเครื่องคิดเลข นั่งเขียน Recursive Function Tree Tokenizer อันนี้ก็ทำได้ไม่ดีตีโจทย์ผิดว่าเค้าอยากให้ wrap ได้ดันไป Tokenize Symbol เป็นชิ้นๆเลย ทำให้ Visualization สูตรในวงเล็บไม่ได้ Parenthsis Group Deleted ไม่ได้ แล้วก็ถามผมเรื่อง RxJS — NgRx, OOP, Design Pattern รู้จักอะไรบ้างเคยใช้ยังไง ผมไม่ค่อยอินคำถามนี้เท่าไหร่แต่ก็เข้าใจเหตุผลที่เค้าถาม

    Honest Bank (Head Hunter รบเร้า แต่จริงๆไม่ได้คาดหวังเพราะ Onsite) {สัมภาษณ์รอบแรกเน้นถามเรื่องกระบวนการทำงานบริษัทเก่า CI, CD, Estimate เปิด Ticket}
  • สิ้นปีได้งานใหม่พอดี บริษัทต่างชาติ Remote work สมใจ รวมคนเก่ง พร้อมลุยงานเต็มที่ ไม่หลับ ไม่นอน ถวายชีวิต ให้บริษัท เริ่มงานปีหน้า มกราคมเกือบได้ไปฉลอง Rebrand บริษัทที่ US Headquarter แล้ว ไม่มี US VISA แต่ไม่เป็นไรเรามาทำงานค่อยไปปีหน้าหน้านะ
  • It’s time for React!

เงิน

  • เงินเก็บเท่าทุน
  • ช็อปของเข้าบ้านเก่งมากค่า ครีม, Gadget, เครื่องใช้ไฟฟ้า, Course, อาหารเสริม, หนังสือ ตามโปรโมรชั่นล้วนๆ ทาสการตลาดที่แท้ทรู
  • กินแพงพอประมาน อยากกินไรก็สั่ง อยากประหยัดเมื่อไหร่ก็กินถูกๆ
  • ไม่ได้ลงทุนอะไรเป็นพิเศษ เพราะจากประสบการณ์อันน้อยนิดและสไตล์การลงทุนยังไม่เห็นอะไรดีกว่าเงินฝากตอนนี้ จ่ายภาษีเต็มของปีที่แล้ว เจ็บหนัก แต่คิดว่าดีสุดแล้ว
  • ปกติไม่อินเรื่องหวย แต่ซื้อใบสองใบบ้าง เปิดประตูดวง 1 ในล้าน
  • เป็นหนี้รถพ่อ
  • ผ่อนรถให้พ่อมาแล้ว 1/3
  • ค่าเทอมน้องสู้ต่อไป

สุขภาพ

  • เจอคลิปทอมครูซกับนางเอก Tops Gun แล้วเป็นแรงบันดาลใจในการ ดูแลหน้า ทาครีมกันแดด ใช้ Serum Hyalu B5 ญาติๆบอกว่าหน้าใสขึ้น อุ๊ต๊ะ
  • ติดโควิท -> รู้จัก Probotics
  • เป็น NAFLD Non-alcoholic fatty liver disease, LDL สูง
    เลิกกินเครื่องใน ลดไข่แดง
  • ทานอาหารเสริมจากงานวิจัยที่ AI สรุป Research Paper (https://elicit.org เจ๋งมาก) ให้แล้ว Validate กับเพื่อน เช่น EGCg, Silymarin, L-Carnitine, L-Theanine, Probiotics, Soluble Fiber
  • Quercetin แก้ภูมิแพ้ กินแล้วไม่ช่วยเท่าไหร่
  • ออกกำลังกาย ไม่ค่อยเลย ทำไมมันยากจัง :P

หนังสือที่อ่าน

ความรัก

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

เป้าหมาย พันธกิจ ทำนายอนาคต ปีหน้า

  • เป็น Global Citizen ให้ได้
  • Setup Product ให้อยู่ตัว Maintainable ง่าย
  • อ่าน The Staff Engineer’s Path: A Guide for Individual Contributors Navigating Growth and Change by Tanya Reilly จบ
  • อ่าน Data Intensive เล่มแดง by เสด็จพ่อ Martin Kleppmann
  • อ่าน Engineering Management for the Rest of Us by Sarah Drasner จบ
  • เชื่อว่า Local-first Software มาแน่ ลงลึกใน CRDTs, Collaboration Tools
  • ไล่เก็บหนังสือที่ดองไว้ Blue Ocean Strategy, Software Architecture: The Hard Parts
  • “ลดน้ำหนักจริงจัง” ตรวจ Fibroscan ลดค่าตับอักเสบ
  • AI จะเข้ามาช่วยชีวิตประจำและงานมากขึ้น ใครที่ Leverage AI ได้ก็จะ Productive ขึ้นไปอีก

ถอดบทเรียนหรือปรัชญาแบบ Life Coach

  • จากฟรีแลนซ์เลือกงานกลายเป็น Part-time และต่อไปเป็น Full-time จริงๆ​ Full-time ก็ไม่ได้แย่นะเราได้เจอโจทย์ในสเกลที่ใหญ่ขึ้นเรื่อยๆ ท้าทายและสนุกมากในการแก้โจทย์บริษัทที่มี Product เป็นของตัวเอง
  • ไปสัมภาษณ์งานบ้าง จะได้รู้ว่าตัวเองอยู่ตรงไหนของตลาด ทั้งราคาและความสามารถของตัวเอง จะได้ปรับปรุงในสิ่งที่เราไม่รู้
  • ชีวิตคือการเรียนรู้ ทุกอย่างเป็นบทเรียน ถูกบ้าง พลาดบ้าง ให้เราโตขึ้น เก่งขึ้น แล้วส่งต่อสิ่งดีให้คนอื่น (Curiosity Driven Development)
  • Ikigai อิกิไก 1. สิ่งที่เรารัก — 2. สิ่งที่เราทำได้ดี — 3. สิ่งที่โลกต้องการ — 4. สิ่งที่ทำให้เกิดรายได้ หาสิ่งที่ทำให้เกิดรายได้ให้เจอก็พอ แล้วหารายได้มากไปทำอย่างอื่นก็ได้
  • กิน อิ่ม นอน หลับ พักผ่อน สมหวัง (ออกกำลังกาย)
    เครียด ทุกข์ ผิดหวัง ก็จัดการ เล่นเกมส์ คุยกับเพื่อน นอนหลับ เดะพรุ่งนี้ก็ดีขึ้น ชีวิตมันก็แค่นั้น ทุกข์ สุขปนกัน จะไปจมอยู่กับทุกข์หรือสุขมากไปทำไม มันก็แค่ชั่วคราว

แฮปปี้นิวเยีย 2023 ครับ
ขอให้ทุกท่านที่อ่านจบถึงตอนนี้สุขภาพแข็งแรง ปลอดภัย สุขเยอะๆทุกข์น้อยๆ เฮงๆ รวยๆ ถูกหวยรางวัลที่ 1

สู้ชีวิตต่อไปเพื่อตัวเองและคนที่เรารัก

เป็นพลังบวกให้คนรอบตัว :D

#perjerz

--

--