SlideShare a Scribd company logo
1 of 38
Knowledge Sharing Session
Jan 22,2022
Thanh Ngo
Software Engineer
Google
IU Alumni
Khách mời: Thanh Ngo
- 2013-2015 - Cựu sinh viên ĐH Quốc Tế - ĐHQG TPHCM
- 2015-2018 - Cử nhân Đại Học Rutgers - NJ.
- 2018-2019 - Fullstack Engineer tại the College
Board. (Focus: Fullstack JS)
- 2019 - nay - Kỹ sư phần mềm tại Google từ 2019
- Backend Infra. Engineer cho Google Assistant
Ecosystem platform. (Focus: C++)
- Frontend Engineer cho ứng dụng quản lý dự án
Agile (Focus: Angular+Typescript).
1. Chuẩn bị hành trang
a. Kiến thức
b. Kinh nghiệm
c. Kỹ năng, và
d. CV
2. 🎋 Trải nghiệm tại Google.
3. 🎤 Kinh nghiệm phỏng vấn tại Google.
Hành trình và kinh nghiệm đến với Google
*Disclaimer: Tất cả những ý kiến, và kinh nghiệm đều từ bản thân mà phát biểu, và
không hề đại diện cho công ty Google.
*Disclaimer 2: Bài thuyết trình này có nhiều câu tiếng Anh xen kẽ tiếng Việt, các
bạn thông cảm.
*Disclaimer 3: Đa số kinh nghiệm liên quan Google, và nó có thể không hoàn toàn
được áp dụng cho các công ty khác và thị trường Việt Nam.
Để trở thành kỹ sư phần mềm tốt, các bạn nên tập trung:
● Chương trình học Computer Science.
○ Các lớp cơ bản trong Computer Science.
■ Kỹ năng lập trình. ✨✨✨
■ Data structure and algorithms. ✨✨✨
■ Kiến thức cơ bản về computing. ✨
○ Kiến thức nâng cao và specializations. ✨✨
(*) càng nhiều ✨ càng quan trọng.
Chuẩn bị hành trang - Kiến thức
Chuẩn bị hành trang - Kiến thức - Cơ bản Comp. Sci.
● Nhấn mạnh:
○ Basic Programming Concepts
■ Stack, Heap, Static/Dynamic memory allocation, Variables, Functions.
■ Common structures: Array, Dynamic List, Map, Set.
■ Về căn bản, vừa bắt đầu thì Java, Python, Javascript/Typescript.*
■ Nhưng để học được toàn diện hơn với khó hơn, cứ chọn C/C++, Rust.
■ Lập trình hướng đối tượng: OOP.
■ Tuỳ hỉ: Functional Programming and other paradigms.
● Data Structure & Algorithms
○ Tại sao cần? Bạn sẽ dùng nó ✨hàng ngày™️✨
○ Trang bị:
■ Cấu trúc dữ liệu nào tốt nhất để mô phỏng cái vấn đề?
■ Kỹ năng nhận diện giải toán nào thật hiệu quả?
■ Time and Space complexity analysis.
■ DS to know: Array, Stack, Queue, Heap, Graph, Vector (dynamic list),
HashMap, Set, Graph, Binary Tree and Binary Sort Tree.
■ Algorithm to know: all sorting algorithms, shortest paths,
BT traversals, data structure operations.
○ Fallacy: Tại sao phải biết nhiều như vậy nếu không áp dụng?
Tại vì tới lúc bạn cần xài thì không biết nó có tồn tại hay không!
Chuẩn bị hành trang - Kiến thức - Cơ bản Comp. Sci.
● Basic Computer Concepts
○ Computer Hardware: có hiểu biết đơn giản về cách vận hành low-level.
○ Học về hệ điều hành OS
■ Thay vì Windows, thì thử học Linux/Unix-like OS.
■ Học về command line của Unix OS.
■ Threading models, task management, etc.
○ Computer Networking
Chuẩn bị hành trang - Kiến thức - Cơ bản Comp. Sci.
Các kiến thức nâng cao:
● 📖 Database - hệ thống cơ sở dữ liệu (BE/FE)
○ Làm quen với nhiều cách store data
■ SQL, Object database (MongoDB), graph data store (Knowledge Graph), search index etc.
● 💻 System Programming - Lập trình hệ thống (BE)
○ Các phần mềm được interface với nhau hay hệ điều hành ntn?
○ System calls, multi thread programming, cross-thread/process/machine communication (networking).
○ Rất phù hợp cho sau này làm về infrastructure, backend system, database system, ETL data pipeline.
○ Ngôn ngữ: C/C++/Go/Rust
● 📱Application Development (FE > BE)
○ Tuỳ cái platform bạn thích, có thể develop web application, android/iOS.
○ Học về cross platform, và Remote Procedure Call để interface giữa những phần mềm.
○ Có thể thay thế bằng side projects thú vị.
○ Ngôn ngữ: Java/Javascript/Typescript/Kotlin/C++ etc.
● Artificial Intelligence
● etc.
Chuẩn bị hành trang - Kiến thức nâng cao
Sinh viên chưa ra trường để có được kinh nghiệm thì ngoài project trong lớp còn có:
● Side Projects
○ Nên làm cùng một team.
○ Trong vài năm có thể làm từ 1 tới 3 projects.
○ Scope project thật nhỏ, nhưng develop từ từ.
○ Có thể chọn một ý tưởng start-up nào đó.
○ Try to follow through till the end.
○ Một số ví dụ:
■ Back End infra: khó solo nên cần phải có 1 team set-up hay full-stack.
■ Web applications, full-stack.
■ Android/iOS applications.
■ AI projects.
Chuẩn bị hành trang - Kinh nghiệm
● Internships
○ Rất quan trọng và nên có.
○ Thường xin vào intern các doanh nghiệp lớn sẽ competitive.
○ Internship gives real work experience.
○ Nên có 2 interns trước khi ra trường tìm việc.
■ Employers do give preferences to candidates with intern experience.
■ It fills up the resume, and people also look for this in “experience" section.
○ Regretful experience: không có intern nên 1yoe giúp mình vào Google as a FTE.
Chuẩn bị hành trang - Kinh nghiệm
Các kỹ năng mềm.
● Nảy sinh bất đồng: Disagree without being disagreeable.
○ Respond when calm.
○ Nếu có bất đồng: 💥 Find the common ground.
● Emerging leadership
○ Contribute when needed.
○ Be helpful, and take the extra steps.
● Focus on growth with humility.
○ Có thái độ cải thiện mỗi ngày.
○ Khiêm tốn.
● Googleyness:
○ Thrives in Ambiguity: hứng thú với công việc, có tinh thần tự giác và hoàn thiện công việc, tạo ra ý tưởng mặc
dầu yêu cầu không rõ ràng.
○ Values Feedback: Luôn tìm cách hoàn thiện bản thân, và tạo process để improve công việc.
○ Challenge the Status Quo: Sẵn sàng đặt ra target lớn, hay không đồng tình với cả sếp/TL nếu cần thiết.
○ Just have fun: Foster team culture. Consider others like people.
Chuẩn bị hành trang - Kỹ năng
● Do
○ Recommend: Giữ một bản resume, cứ vài tháng update lần.
○ Keep it simple, đầy đủ chi tiết.
○ Dùng MS Word, Google Docs hoặc ???.
○ Nhờ bạn review dùm!
● Don’t
○ Không cần thông tin liên quan tới việc bạn là kỹ sư tốt:
■ Decoration.
■ Profile picture.
● Maybe
○ Profile introduction section, hạn chế nhắc về role mình đang tìm.
○ GPA: always good to include a high GPA.
■ Nếu điểm khiêm tốn, không thêm vào cũng không sao.
● Common mistakes:
○ Run-on-sentence.
■ 1 câu không nên quá dài. Nếu dàiii, nên ngắc đúng cách.
○ Watch out for typos!
CV
Contact info
Technical Skills
- Liệt kê keywords.
- Dựa vào phần sau mà điểm danh skills.
Education
- Điểm optional.
- Thêm môn liên quan (relevant coursework).
Work Experience/Personal Project
- Reverse Chronological Order.
- Work Experience > Personal Project
- Work experience gồm intern hoặc full time employment
- Kinh nghiệm công việc hiện tại thì dùng Verb-ing.
- Công việc trong quá khứ dùng past tense.
- Mỗi câu nên bắt đầu bằng động từ mạnh kiểu designed,
wrote, collaborated, and so on.
- Data-driven:
- Improved X by Y%
- Launched Z features.
optional
vị trí thay
đổi được.
CV - Example
Trải nghiệm tại
Google
● Very diverse environment
○ Các coworker đều thân thiện.
○ Ethnicity, tiếng nói, ngôn ngữ, giới tính, sexual orientation, tôn giáo khác nhau.
○ Đa số đều khiêm tốn, và thích ý tưởng mới.
○ Feedbacks đều được chấp nhận rất là openly, nhất là đánh giá cuối năm.
● Không có ý tưởng nào là bad idea!
○ Tất cả quyết định quan trọng ảnh hưởng team đều peer-reviewed.
○ There's only better ideas! Quyết định đưa ra cần được objectively assessed.
○ Ví dụ:
■ Team management method:
● Agile ok! Waterfall ok!
■ Dùng ngôn ngữ gì? Tech stack nào?
● Prefer common technology and company-wide tooling/process.
Fun Experience - Team Culture
● Bắt đầu từ những việc còn đang dang dở….
● Nếu có code review, thì review hết để không block đồng nghiệp.
● Sprint methodology:
○ Project rất là meta: “dog-food” (.aka self-testing) our own product.
○ Daily stand up lúc 11am, báo cáo progress.
○ Sprint planning đầu sprint.
○ Retrospective mid-sprint.
● Hàng tuần đều có design review
○ Nghĩa là: peer review chi tiết thiết kế phần mềm.
● Mỗi hai tuần, Demo cho toàn org,
○ Seek feedback và
○ Giới thiệu “cool new features."
● Tất cả các công cụ làm việc đều là trên cloud , kể cả compiler:
○ Google standardize tất cả công việc into online tooling:
■ Cached cloud compiler.
■ Monorepo, mọi project code đều sống trong một folder to bự.
■ Version control tooling và text editor.
■ Code review tool.
■ Release tool. etc.
The Day to Day Work
Compensation
& The Perks
Flex time: 💪
- Guaranteed lương 6-figure.
- Nếu vào office, thì free lunch/breakfast.
- 👻 Nếu bạn (Googler) qua đời, spouse sẽ được
hưởng lương ½ lương bạn mỗi tháng, trong 10
năm tới.
- Gói bảo hiểm sức khoẻ, răng, mắt rất tốt!
- Có phòng ngủ, ghế ngủ (sleep pod).
- 1 năm có 14 ngày+ vacation, limit tăng theo
tenancy.
- 📈 Google stonk!
- Có massage từ điểm (Điểm == dogfood,
experiment)
nhưng đóng vì sức khoẻ cộng đồng.
- Có cầu tuột nhưng đóng vì sức khoẻ cộng đồng.
- Cả chục cafes đóng vì sức khoẻ cộng đồng.
Omicron is uptick!
- No planned return.
- Teams are not collocated.
- Vài người ở NYC, Seattle, Poland.
- Vài người ở Mountain View (CA HQ).
- Time Δ max === 3 tiếng, tức các bạn ở NYC
ngủ tới 2 giờ trưa, rồi dậy meeting với bọn anh.
- Team Poland-who? 😅
- Chủ yếu công việc online.
- Office còn mở nếu bạn nào lên ăn trưa hoặc meet up.
During the pandemic 😢
📍
📍
📍
📍
● 📩 Don’t start the day with catching up on the emails!
○ Một lần mình có tận 7000 inbox emails.
○ Kiểu:
■ Lỗi hệ thống alert.
■ Dogfood announcement.
■ Cross team communication.
■ Pull request for the entire team.
■ New COVID cases in your building.
■ Org-wide server outage simulation.
● ♀️ Constantly look for jargons.
○ Googlers rất thích dùng terminology để đặt tên.
○ Lúc vào công ty 4,5 tháng đầu bạn sẽ phải ngồi tìm định nghĩa từ thay vì ngồi focus vào meeting.
● Need-to-know knowledge
○ Không như những năm 2000s, 2010s.
○ Google thay đổi công ty policy, internal documents đều lock down cho những người cần cho
công việc.
Not-so-Fun Experience - Day to day work
I’m going to stay for at least
5 more years
Fun Experience - Final Verdict
Phỏng vấn tại Google
* hình ảnh chỉ mang tính tượng trưng vì pv ngày nay toàn online.
● Data-driven và tránh unconscious bias:
○ Hiring manager không hề quyết định hire/no hire.
■ Quyết định được crowd-sourced và peer-reviewed.
○ Kỹ sư phần mềm phỏng vấn và viết feedbacks.
■ Kể cả viết feedback tránh sensitive details: như gendered pronounce, disability, etc.
■ Mỗi interview feedback về candidate phải chấm điểm dựa trên tiêu chí định sẵn.
○ Chỉ có một nhóm “HC" recommend hire/no hire và có approval từ leadership.
● Từ 2019:
Phone Screen Onsite Project match
Intern Essay/Quiz 2 phone technical interviews
(45 min each)
Project match
FTE 1-2 phone
screen(s).
4 technical, 1 behavorial
(45 min each)
Team match
Phỏng vấn tại Google - Overview for General SWEs
● Technical Interview
○ Role-related knowledge: includes knowledge to get the job done – data structure, algorithms,
domain-specific knowledge*.
○ General Cognitive Ability: the ability to identify problem and elaborate on a solution.
■ Nó bao gồm khả năng phân tích, tìm data, giải quyết vấn đề và “intellectual curiosity.”
○ Thông thường trong interview các câu hỏi sẽ cố ý không rõ ràng.
■ We want to know how you process the questions!
● Behavioral interview
○ Leadership
■ Get things done.
■ Work as a team.
○ Googleyness
■ Help others
■ Challenge the status quo
■ Value feedbacks
■ Do the right things.
Phỏng vấn tại Google - Hệ thống rubriks
● Hiểu biết hệ thống rubrics (https://www.ghire.coach/details).
● Competitive Programmer? 👍 Kiểu, cơ hội pass cao hơn.
● Ôn tập:
○ Học ôn lại data structure & algorithms.
■ Suggestion: Code tất cả basic data structure and algorithms trong ngôn ngữ interview.
■ Kể cả graph và binary trees.
○ Tập trung một ngôn ngữ X và biết trong và ngoài basic APIs của ngôn ngữ X.
■ Recommend Google language: C/C++/Java/Javascript/Typescript/Go.
○ Leetcode (100+ questions, 80% medium, 20% easy, some hard).
○ Mock interview từ bạn bè cùng trường.
● Good luck!
Phỏng vấn tại Google - Preparations
Happy new year !
Thank you
GDSC and everyone
Color
Google Blue
Hex: #4285f4
Google Red
Hex: #e84435
Google Green
Hex: #0f9d58
Google Yellow
Hex: #fbbc04
Google Dark Grey
Hex: #404040
Google Grey
Hex: #676c72
Chart
Elements Build your visuals using the 30pt grid. Build layouts that snap to grid-
lines or sit in-between. For details on using the grid please see getting
started.
Caption
Large
Box
Caption
40pt
Caption
6pt Object Border
Medium Box
Caption
Caption
Caption
Caption
Small Box
6pt Object Border
Caption
Use for nested items
only
8pt Corner
Radius
30pt
Caption
25pt
Caption
Labels
Label
Label
Round Corner
Radius
30pt
Caption
Arrow
s
Simple Charts:
6pt
Complex Charts:
5pt
Simple
chart
Short
Label
Short
Label
Short
Label
Short
Label
Short
Label
Short
Label
Short
Label
Short
Label
Process
Chart
Column Label
Caption 10
Two lines
Caption 9
Two lines
Caption 8
Two lines
Caption 7
Two lines
Caption 6
Two lines
Caption 5
Two lines
Caption 4
Two lines
Caption 3
Two lines
Caption 2
Two lines
Caption 1
Two lines
Group Label
Column Label Column Label Column Label
Flow-Style
Chart
Start
Two or Three
Line Caption
Step A Step B Step C Step D
Bridge Caption
Decision
Node?
Yes
End
Step E Step F
No
Bridge Caption Bridge Caption
Bridge Caption
Các kỹ năng mềm
Nảy sinh bất đồng
Respond when
calm
Find the
common ground
Emerging leadership Focus on growth with humility Googleyness
Contribute
when needed
Be helpful
Take the extra
steps
Có thái độ cải
thiện mỗi ngày
Khiêm tốn
Thrives in
ambiguity
Values
Feedback
Challenge the
status quo
Chart title
2013 2015 2018 2019 Present
Timeline
Cựu sinh viên đại học
Quốc Tế - ĐHQG
TP.HCM
Frontend Engineer tại
the College Board
Caption 2
Two lines
Caption 5
Two lines
Caption 4
Two lines
Caption 6
Two lines
Cử nhân đại học Rutgers
- NJ
Caption 9
Two lines
Caption 8
Two lines
Category
Label Two
Process
Chart
Short
Label
Short
Label
Short
Label
Short
Label
Item A Item B Item C
A B C D E
Layer 1

More Related Content

What's hot

2016 04-21 Chia sẻ cùng AltPlus (về quản lý)
2016 04-21 Chia sẻ cùng AltPlus (về quản lý)2016 04-21 Chia sẻ cùng AltPlus (về quản lý)
2016 04-21 Chia sẻ cùng AltPlus (về quản lý)Vu Hung Nguyen
 
Problem Solving Skills (for IT Engineers)
Problem Solving Skills (for IT Engineers)Problem Solving Skills (for IT Engineers)
Problem Solving Skills (for IT Engineers)Vu Hung Nguyen
 
Livestream - Học lập trình là học gì?
Livestream - Học lập trình là học gì?Livestream - Học lập trình là học gì?
Livestream - Học lập trình là học gì?Nhật Nguyễn Khắc
 
Design Pattern qua ví dụ thực tế
Design Pattern qua ví dụ thực tếDesign Pattern qua ví dụ thực tế
Design Pattern qua ví dụ thực tếVKhang Yang
 
Basic IT Project Management Terminologies
Basic IT Project Management TerminologiesBasic IT Project Management Terminologies
Basic IT Project Management TerminologiesVu Hung Nguyen
 
FPT Univ. Talkshow IT khong chi la lap trinh
FPT Univ. Talkshow IT khong chi la lap trinhFPT Univ. Talkshow IT khong chi la lap trinh
FPT Univ. Talkshow IT khong chi la lap trinhVu Hung Nguyen
 
Làm việc hiệu quả với sếp Nhật (2017)
Làm việc hiệu quả với sếp Nhật (2017)Làm việc hiệu quả với sếp Nhật (2017)
Làm việc hiệu quả với sếp Nhật (2017)Vu Hung Nguyen
 

What's hot (8)

Live stream: Học lập trình
Live stream: Học lập trìnhLive stream: Học lập trình
Live stream: Học lập trình
 
2016 04-21 Chia sẻ cùng AltPlus (về quản lý)
2016 04-21 Chia sẻ cùng AltPlus (về quản lý)2016 04-21 Chia sẻ cùng AltPlus (về quản lý)
2016 04-21 Chia sẻ cùng AltPlus (về quản lý)
 
Problem Solving Skills (for IT Engineers)
Problem Solving Skills (for IT Engineers)Problem Solving Skills (for IT Engineers)
Problem Solving Skills (for IT Engineers)
 
Livestream - Học lập trình là học gì?
Livestream - Học lập trình là học gì?Livestream - Học lập trình là học gì?
Livestream - Học lập trình là học gì?
 
Design Pattern qua ví dụ thực tế
Design Pattern qua ví dụ thực tếDesign Pattern qua ví dụ thực tế
Design Pattern qua ví dụ thực tế
 
Basic IT Project Management Terminologies
Basic IT Project Management TerminologiesBasic IT Project Management Terminologies
Basic IT Project Management Terminologies
 
FPT Univ. Talkshow IT khong chi la lap trinh
FPT Univ. Talkshow IT khong chi la lap trinhFPT Univ. Talkshow IT khong chi la lap trinh
FPT Univ. Talkshow IT khong chi la lap trinh
 
Làm việc hiệu quả với sếp Nhật (2017)
Làm việc hiệu quả với sếp Nhật (2017)Làm việc hiệu quả với sếp Nhật (2017)
Làm việc hiệu quả với sếp Nhật (2017)
 

Similar to [Slide] The IT-VERSE: Behind the CV

An Introduction to get a Job in Tech Industry in Japan
An Introduction to get a Job in Tech Industry in JapanAn Introduction to get a Job in Tech Industry in Japan
An Introduction to get a Job in Tech Industry in JapanTrung Vu
 
Nghệ thuật làm việc
Nghệ thuật làm việcNghệ thuật làm việc
Nghệ thuật làm việcNguyen Hai Minh
 
Tin10_chuong01 bai_06
Tin10_chuong01 bai_06Tin10_chuong01 bai_06
Tin10_chuong01 bai_06Hằng Võ
 
Sách Sap Pro Sách dạy phần mềm tính toán kết cấu bằng phần mềm Sap 2000
Sách Sap Pro Sách dạy phần mềm tính toán kết cấu bằng phần mềm Sap 2000Sách Sap Pro Sách dạy phần mềm tính toán kết cấu bằng phần mềm Sap 2000
Sách Sap Pro Sách dạy phần mềm tính toán kết cấu bằng phần mềm Sap 2000Kiến Trúc KISATO
 
Kich bandayhoc baitapvathuchanh6 - thieu thi ngoc trieu
Kich bandayhoc baitapvathuchanh6 - thieu thi ngoc trieuKich bandayhoc baitapvathuchanh6 - thieu thi ngoc trieu
Kich bandayhoc baitapvathuchanh6 - thieu thi ngoc trieutin_k36
 
Tài liệu giới thiệu công ty GMO-Z.com Vietnam Lab Center
Tài liệu giới thiệu công ty GMO-Z.com Vietnam Lab CenterTài liệu giới thiệu công ty GMO-Z.com Vietnam Lab Center
Tài liệu giới thiệu công ty GMO-Z.com Vietnam Lab CenterGMO-Z.com Vietnam Lab Center
 
Ngon ngu lap_trinh_c++
Ngon ngu lap_trinh_c++Ngon ngu lap_trinh_c++
Ngon ngu lap_trinh_c++Da To
 
Maukehoach baiday copy
Maukehoach baiday   copyMaukehoach baiday   copy
Maukehoach baiday copyQuang Codon
 
Chuong 1. tong quan
Chuong 1. tong quanChuong 1. tong quan
Chuong 1. tong quanVũ Nam
 
Maukehoach baiday copy
Maukehoach baiday   copyMaukehoach baiday   copy
Maukehoach baiday copyQuang Codon
 
Chinh phuc ngon_ngu_c
Chinh phuc ngon_ngu_cChinh phuc ngon_ngu_c
Chinh phuc ngon_ngu_cDotuanhao
 
Prompt Engineering Tutorial: Cách viết prompt hiệu quả với ChatGPT
Prompt Engineering Tutorial: Cách viết prompt hiệu quả với ChatGPTPrompt Engineering Tutorial: Cách viết prompt hiệu quả với ChatGPT
Prompt Engineering Tutorial: Cách viết prompt hiệu quả với ChatGPTMinh Pham
 
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1giapmaster
 
Huong dan viet luan van đatn
Huong dan viet luan van đatnHuong dan viet luan van đatn
Huong dan viet luan van đatnXêko Xìke
 
Clean code
Clean codeClean code
Clean codeNam Vo
 

Similar to [Slide] The IT-VERSE: Behind the CV (20)

An Introduction to get a Job in Tech Industry in Japan
An Introduction to get a Job in Tech Industry in JapanAn Introduction to get a Job in Tech Industry in Japan
An Introduction to get a Job in Tech Industry in Japan
 
Nghệ thuật làm việc
Nghệ thuật làm việcNghệ thuật làm việc
Nghệ thuật làm việc
 
Hoc lap trinh bat dau tu dau cho nguoi moi hoc
Hoc lap trinh bat dau tu dau cho nguoi moi hocHoc lap trinh bat dau tu dau cho nguoi moi hoc
Hoc lap trinh bat dau tu dau cho nguoi moi hoc
 
Tin10_chuong01 bai_06
Tin10_chuong01 bai_06Tin10_chuong01 bai_06
Tin10_chuong01 bai_06
 
Sách Sap Pro Sách dạy phần mềm tính toán kết cấu bằng phần mềm Sap 2000
Sách Sap Pro Sách dạy phần mềm tính toán kết cấu bằng phần mềm Sap 2000Sách Sap Pro Sách dạy phần mềm tính toán kết cấu bằng phần mềm Sap 2000
Sách Sap Pro Sách dạy phần mềm tính toán kết cấu bằng phần mềm Sap 2000
 
Kich bandayhoc baitapvathuchanh6 - thieu thi ngoc trieu
Kich bandayhoc baitapvathuchanh6 - thieu thi ngoc trieuKich bandayhoc baitapvathuchanh6 - thieu thi ngoc trieu
Kich bandayhoc baitapvathuchanh6 - thieu thi ngoc trieu
 
Tài liệu giới thiệu công ty GMO-Z.com Vietnam Lab Center
Tài liệu giới thiệu công ty GMO-Z.com Vietnam Lab CenterTài liệu giới thiệu công ty GMO-Z.com Vietnam Lab Center
Tài liệu giới thiệu công ty GMO-Z.com Vietnam Lab Center
 
Ngon ngu lap_trinh_c++
Ngon ngu lap_trinh_c++Ngon ngu lap_trinh_c++
Ngon ngu lap_trinh_c++
 
Giao an 8
Giao an 8Giao an 8
Giao an 8
 
Maukehoach baiday copy
Maukehoach baiday   copyMaukehoach baiday   copy
Maukehoach baiday copy
 
Lựa chọn ngành cntt
Lựa chọn ngành cnttLựa chọn ngành cntt
Lựa chọn ngành cntt
 
Chuong 1. tong quan
Chuong 1. tong quanChuong 1. tong quan
Chuong 1. tong quan
 
Báo cáo thực tập Content marketing tại công ty TNHH Diglog, 9đ
Báo cáo thực tập Content marketing tại công ty TNHH Diglog, 9đBáo cáo thực tập Content marketing tại công ty TNHH Diglog, 9đ
Báo cáo thực tập Content marketing tại công ty TNHH Diglog, 9đ
 
Maukehoach baiday copy
Maukehoach baiday   copyMaukehoach baiday   copy
Maukehoach baiday copy
 
Chinh phuc ngon_ngu_c
Chinh phuc ngon_ngu_cChinh phuc ngon_ngu_c
Chinh phuc ngon_ngu_c
 
Prompt Engineering Tutorial: Cách viết prompt hiệu quả với ChatGPT
Prompt Engineering Tutorial: Cách viết prompt hiệu quả với ChatGPTPrompt Engineering Tutorial: Cách viết prompt hiệu quả với ChatGPT
Prompt Engineering Tutorial: Cách viết prompt hiệu quả với ChatGPT
 
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
 
Huong dan viet luan van đatn
Huong dan viet luan van đatnHuong dan viet luan van đatn
Huong dan viet luan van đatn
 
Clean code
Clean codeClean code
Clean code
 
Qlda bai 6 ket thuc
Qlda bai 6 ket thucQlda bai 6 ket thuc
Qlda bai 6 ket thuc
 

More from Anh Nguyen

Cloud computing 2
Cloud computing 2Cloud computing 2
Cloud computing 2Anh Nguyen
 
Cloud computing 1
Cloud computing 1Cloud computing 1
Cloud computing 1Anh Nguyen
 
Webinar The IT-Verse
Webinar The IT-VerseWebinar The IT-Verse
Webinar The IT-VerseAnh Nguyen
 
Monthly sharing december
Monthly sharing decemberMonthly sharing december
Monthly sharing decemberAnh Nguyen
 
Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web developmentAnh Nguyen
 
Slide weekly-1-cloud-computing
Slide weekly-1-cloud-computingSlide weekly-1-cloud-computing
Slide weekly-1-cloud-computingAnh Nguyen
 
[Nov 26] introduction to AI / ML
[Nov 26] introduction to AI / ML[Nov 26] introduction to AI / ML
[Nov 26] introduction to AI / MLAnh Nguyen
 

More from Anh Nguyen (7)

Cloud computing 2
Cloud computing 2Cloud computing 2
Cloud computing 2
 
Cloud computing 1
Cloud computing 1Cloud computing 1
Cloud computing 1
 
Webinar The IT-Verse
Webinar The IT-VerseWebinar The IT-Verse
Webinar The IT-Verse
 
Monthly sharing december
Monthly sharing decemberMonthly sharing december
Monthly sharing december
 
Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web development
 
Slide weekly-1-cloud-computing
Slide weekly-1-cloud-computingSlide weekly-1-cloud-computing
Slide weekly-1-cloud-computing
 
[Nov 26] introduction to AI / ML
[Nov 26] introduction to AI / ML[Nov 26] introduction to AI / ML
[Nov 26] introduction to AI / ML
 

[Slide] The IT-VERSE: Behind the CV

  • 1. Knowledge Sharing Session Jan 22,2022 Thanh Ngo Software Engineer Google IU Alumni
  • 2. Khách mời: Thanh Ngo - 2013-2015 - Cựu sinh viên ĐH Quốc Tế - ĐHQG TPHCM - 2015-2018 - Cử nhân Đại Học Rutgers - NJ. - 2018-2019 - Fullstack Engineer tại the College Board. (Focus: Fullstack JS) - 2019 - nay - Kỹ sư phần mềm tại Google từ 2019 - Backend Infra. Engineer cho Google Assistant Ecosystem platform. (Focus: C++) - Frontend Engineer cho ứng dụng quản lý dự án Agile (Focus: Angular+Typescript).
  • 3. 1. Chuẩn bị hành trang a. Kiến thức b. Kinh nghiệm c. Kỹ năng, và d. CV 2. 🎋 Trải nghiệm tại Google. 3. 🎤 Kinh nghiệm phỏng vấn tại Google. Hành trình và kinh nghiệm đến với Google *Disclaimer: Tất cả những ý kiến, và kinh nghiệm đều từ bản thân mà phát biểu, và không hề đại diện cho công ty Google. *Disclaimer 2: Bài thuyết trình này có nhiều câu tiếng Anh xen kẽ tiếng Việt, các bạn thông cảm. *Disclaimer 3: Đa số kinh nghiệm liên quan Google, và nó có thể không hoàn toàn được áp dụng cho các công ty khác và thị trường Việt Nam.
  • 4. Để trở thành kỹ sư phần mềm tốt, các bạn nên tập trung: ● Chương trình học Computer Science. ○ Các lớp cơ bản trong Computer Science. ■ Kỹ năng lập trình. ✨✨✨ ■ Data structure and algorithms. ✨✨✨ ■ Kiến thức cơ bản về computing. ✨ ○ Kiến thức nâng cao và specializations. ✨✨ (*) càng nhiều ✨ càng quan trọng. Chuẩn bị hành trang - Kiến thức
  • 5. Chuẩn bị hành trang - Kiến thức - Cơ bản Comp. Sci. ● Nhấn mạnh: ○ Basic Programming Concepts ■ Stack, Heap, Static/Dynamic memory allocation, Variables, Functions. ■ Common structures: Array, Dynamic List, Map, Set. ■ Về căn bản, vừa bắt đầu thì Java, Python, Javascript/Typescript.* ■ Nhưng để học được toàn diện hơn với khó hơn, cứ chọn C/C++, Rust. ■ Lập trình hướng đối tượng: OOP. ■ Tuỳ hỉ: Functional Programming and other paradigms.
  • 6. ● Data Structure & Algorithms ○ Tại sao cần? Bạn sẽ dùng nó ✨hàng ngày™️✨ ○ Trang bị: ■ Cấu trúc dữ liệu nào tốt nhất để mô phỏng cái vấn đề? ■ Kỹ năng nhận diện giải toán nào thật hiệu quả? ■ Time and Space complexity analysis. ■ DS to know: Array, Stack, Queue, Heap, Graph, Vector (dynamic list), HashMap, Set, Graph, Binary Tree and Binary Sort Tree. ■ Algorithm to know: all sorting algorithms, shortest paths, BT traversals, data structure operations. ○ Fallacy: Tại sao phải biết nhiều như vậy nếu không áp dụng? Tại vì tới lúc bạn cần xài thì không biết nó có tồn tại hay không! Chuẩn bị hành trang - Kiến thức - Cơ bản Comp. Sci.
  • 7. ● Basic Computer Concepts ○ Computer Hardware: có hiểu biết đơn giản về cách vận hành low-level. ○ Học về hệ điều hành OS ■ Thay vì Windows, thì thử học Linux/Unix-like OS. ■ Học về command line của Unix OS. ■ Threading models, task management, etc. ○ Computer Networking Chuẩn bị hành trang - Kiến thức - Cơ bản Comp. Sci.
  • 8. Các kiến thức nâng cao: ● 📖 Database - hệ thống cơ sở dữ liệu (BE/FE) ○ Làm quen với nhiều cách store data ■ SQL, Object database (MongoDB), graph data store (Knowledge Graph), search index etc. ● 💻 System Programming - Lập trình hệ thống (BE) ○ Các phần mềm được interface với nhau hay hệ điều hành ntn? ○ System calls, multi thread programming, cross-thread/process/machine communication (networking). ○ Rất phù hợp cho sau này làm về infrastructure, backend system, database system, ETL data pipeline. ○ Ngôn ngữ: C/C++/Go/Rust ● 📱Application Development (FE > BE) ○ Tuỳ cái platform bạn thích, có thể develop web application, android/iOS. ○ Học về cross platform, và Remote Procedure Call để interface giữa những phần mềm. ○ Có thể thay thế bằng side projects thú vị. ○ Ngôn ngữ: Java/Javascript/Typescript/Kotlin/C++ etc. ● Artificial Intelligence ● etc. Chuẩn bị hành trang - Kiến thức nâng cao
  • 9. Sinh viên chưa ra trường để có được kinh nghiệm thì ngoài project trong lớp còn có: ● Side Projects ○ Nên làm cùng một team. ○ Trong vài năm có thể làm từ 1 tới 3 projects. ○ Scope project thật nhỏ, nhưng develop từ từ. ○ Có thể chọn một ý tưởng start-up nào đó. ○ Try to follow through till the end. ○ Một số ví dụ: ■ Back End infra: khó solo nên cần phải có 1 team set-up hay full-stack. ■ Web applications, full-stack. ■ Android/iOS applications. ■ AI projects. Chuẩn bị hành trang - Kinh nghiệm
  • 10. ● Internships ○ Rất quan trọng và nên có. ○ Thường xin vào intern các doanh nghiệp lớn sẽ competitive. ○ Internship gives real work experience. ○ Nên có 2 interns trước khi ra trường tìm việc. ■ Employers do give preferences to candidates with intern experience. ■ It fills up the resume, and people also look for this in “experience" section. ○ Regretful experience: không có intern nên 1yoe giúp mình vào Google as a FTE. Chuẩn bị hành trang - Kinh nghiệm
  • 11. Các kỹ năng mềm. ● Nảy sinh bất đồng: Disagree without being disagreeable. ○ Respond when calm. ○ Nếu có bất đồng: 💥 Find the common ground. ● Emerging leadership ○ Contribute when needed. ○ Be helpful, and take the extra steps. ● Focus on growth with humility. ○ Có thái độ cải thiện mỗi ngày. ○ Khiêm tốn. ● Googleyness: ○ Thrives in Ambiguity: hứng thú với công việc, có tinh thần tự giác và hoàn thiện công việc, tạo ra ý tưởng mặc dầu yêu cầu không rõ ràng. ○ Values Feedback: Luôn tìm cách hoàn thiện bản thân, và tạo process để improve công việc. ○ Challenge the Status Quo: Sẵn sàng đặt ra target lớn, hay không đồng tình với cả sếp/TL nếu cần thiết. ○ Just have fun: Foster team culture. Consider others like people. Chuẩn bị hành trang - Kỹ năng
  • 12. ● Do ○ Recommend: Giữ một bản resume, cứ vài tháng update lần. ○ Keep it simple, đầy đủ chi tiết. ○ Dùng MS Word, Google Docs hoặc ???. ○ Nhờ bạn review dùm! ● Don’t ○ Không cần thông tin liên quan tới việc bạn là kỹ sư tốt: ■ Decoration. ■ Profile picture. ● Maybe ○ Profile introduction section, hạn chế nhắc về role mình đang tìm. ○ GPA: always good to include a high GPA. ■ Nếu điểm khiêm tốn, không thêm vào cũng không sao. ● Common mistakes: ○ Run-on-sentence. ■ 1 câu không nên quá dài. Nếu dàiii, nên ngắc đúng cách. ○ Watch out for typos! CV
  • 13. Contact info Technical Skills - Liệt kê keywords. - Dựa vào phần sau mà điểm danh skills. Education - Điểm optional. - Thêm môn liên quan (relevant coursework). Work Experience/Personal Project - Reverse Chronological Order. - Work Experience > Personal Project - Work experience gồm intern hoặc full time employment - Kinh nghiệm công việc hiện tại thì dùng Verb-ing. - Công việc trong quá khứ dùng past tense. - Mỗi câu nên bắt đầu bằng động từ mạnh kiểu designed, wrote, collaborated, and so on. - Data-driven: - Improved X by Y% - Launched Z features. optional vị trí thay đổi được. CV - Example
  • 15. ● Very diverse environment ○ Các coworker đều thân thiện. ○ Ethnicity, tiếng nói, ngôn ngữ, giới tính, sexual orientation, tôn giáo khác nhau. ○ Đa số đều khiêm tốn, và thích ý tưởng mới. ○ Feedbacks đều được chấp nhận rất là openly, nhất là đánh giá cuối năm. ● Không có ý tưởng nào là bad idea! ○ Tất cả quyết định quan trọng ảnh hưởng team đều peer-reviewed. ○ There's only better ideas! Quyết định đưa ra cần được objectively assessed. ○ Ví dụ: ■ Team management method: ● Agile ok! Waterfall ok! ■ Dùng ngôn ngữ gì? Tech stack nào? ● Prefer common technology and company-wide tooling/process. Fun Experience - Team Culture
  • 16. ● Bắt đầu từ những việc còn đang dang dở…. ● Nếu có code review, thì review hết để không block đồng nghiệp. ● Sprint methodology: ○ Project rất là meta: “dog-food” (.aka self-testing) our own product. ○ Daily stand up lúc 11am, báo cáo progress. ○ Sprint planning đầu sprint. ○ Retrospective mid-sprint. ● Hàng tuần đều có design review ○ Nghĩa là: peer review chi tiết thiết kế phần mềm. ● Mỗi hai tuần, Demo cho toàn org, ○ Seek feedback và ○ Giới thiệu “cool new features." ● Tất cả các công cụ làm việc đều là trên cloud , kể cả compiler: ○ Google standardize tất cả công việc into online tooling: ■ Cached cloud compiler. ■ Monorepo, mọi project code đều sống trong một folder to bự. ■ Version control tooling và text editor. ■ Code review tool. ■ Release tool. etc. The Day to Day Work
  • 17. Compensation & The Perks Flex time: 💪 - Guaranteed lương 6-figure. - Nếu vào office, thì free lunch/breakfast. - 👻 Nếu bạn (Googler) qua đời, spouse sẽ được hưởng lương ½ lương bạn mỗi tháng, trong 10 năm tới. - Gói bảo hiểm sức khoẻ, răng, mắt rất tốt! - Có phòng ngủ, ghế ngủ (sleep pod). - 1 năm có 14 ngày+ vacation, limit tăng theo tenancy. - 📈 Google stonk! - Có massage từ điểm (Điểm == dogfood, experiment) nhưng đóng vì sức khoẻ cộng đồng. - Có cầu tuột nhưng đóng vì sức khoẻ cộng đồng. - Cả chục cafes đóng vì sức khoẻ cộng đồng.
  • 18. Omicron is uptick! - No planned return. - Teams are not collocated. - Vài người ở NYC, Seattle, Poland. - Vài người ở Mountain View (CA HQ). - Time Δ max === 3 tiếng, tức các bạn ở NYC ngủ tới 2 giờ trưa, rồi dậy meeting với bọn anh. - Team Poland-who? 😅 - Chủ yếu công việc online. - Office còn mở nếu bạn nào lên ăn trưa hoặc meet up. During the pandemic 😢 📍 📍 📍 📍
  • 19. ● 📩 Don’t start the day with catching up on the emails! ○ Một lần mình có tận 7000 inbox emails. ○ Kiểu: ■ Lỗi hệ thống alert. ■ Dogfood announcement. ■ Cross team communication. ■ Pull request for the entire team. ■ New COVID cases in your building. ■ Org-wide server outage simulation. ● ♀️ Constantly look for jargons. ○ Googlers rất thích dùng terminology để đặt tên. ○ Lúc vào công ty 4,5 tháng đầu bạn sẽ phải ngồi tìm định nghĩa từ thay vì ngồi focus vào meeting. ● Need-to-know knowledge ○ Không như những năm 2000s, 2010s. ○ Google thay đổi công ty policy, internal documents đều lock down cho những người cần cho công việc. Not-so-Fun Experience - Day to day work
  • 20. I’m going to stay for at least 5 more years Fun Experience - Final Verdict
  • 21. Phỏng vấn tại Google * hình ảnh chỉ mang tính tượng trưng vì pv ngày nay toàn online.
  • 22. ● Data-driven và tránh unconscious bias: ○ Hiring manager không hề quyết định hire/no hire. ■ Quyết định được crowd-sourced và peer-reviewed. ○ Kỹ sư phần mềm phỏng vấn và viết feedbacks. ■ Kể cả viết feedback tránh sensitive details: như gendered pronounce, disability, etc. ■ Mỗi interview feedback về candidate phải chấm điểm dựa trên tiêu chí định sẵn. ○ Chỉ có một nhóm “HC" recommend hire/no hire và có approval từ leadership. ● Từ 2019: Phone Screen Onsite Project match Intern Essay/Quiz 2 phone technical interviews (45 min each) Project match FTE 1-2 phone screen(s). 4 technical, 1 behavorial (45 min each) Team match Phỏng vấn tại Google - Overview for General SWEs
  • 23. ● Technical Interview ○ Role-related knowledge: includes knowledge to get the job done – data structure, algorithms, domain-specific knowledge*. ○ General Cognitive Ability: the ability to identify problem and elaborate on a solution. ■ Nó bao gồm khả năng phân tích, tìm data, giải quyết vấn đề và “intellectual curiosity.” ○ Thông thường trong interview các câu hỏi sẽ cố ý không rõ ràng. ■ We want to know how you process the questions! ● Behavioral interview ○ Leadership ■ Get things done. ■ Work as a team. ○ Googleyness ■ Help others ■ Challenge the status quo ■ Value feedbacks ■ Do the right things. Phỏng vấn tại Google - Hệ thống rubriks
  • 24. ● Hiểu biết hệ thống rubrics (https://www.ghire.coach/details). ● Competitive Programmer? 👍 Kiểu, cơ hội pass cao hơn. ● Ôn tập: ○ Học ôn lại data structure & algorithms. ■ Suggestion: Code tất cả basic data structure and algorithms trong ngôn ngữ interview. ■ Kể cả graph và binary trees. ○ Tập trung một ngôn ngữ X và biết trong và ngoài basic APIs của ngôn ngữ X. ■ Recommend Google language: C/C++/Java/Javascript/Typescript/Go. ○ Leetcode (100+ questions, 80% medium, 20% easy, some hard). ○ Mock interview từ bạn bè cùng trường. ● Good luck! Phỏng vấn tại Google - Preparations
  • 25. Happy new year ! Thank you GDSC and everyone
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. Color Google Blue Hex: #4285f4 Google Red Hex: #e84435 Google Green Hex: #0f9d58 Google Yellow Hex: #fbbc04 Google Dark Grey Hex: #404040 Google Grey Hex: #676c72
  • 32. Chart Elements Build your visuals using the 30pt grid. Build layouts that snap to grid- lines or sit in-between. For details on using the grid please see getting started. Caption Large Box Caption 40pt Caption 6pt Object Border Medium Box Caption Caption Caption Caption Small Box 6pt Object Border Caption Use for nested items only 8pt Corner Radius 30pt Caption 25pt Caption Labels Label Label Round Corner Radius 30pt Caption Arrow s Simple Charts: 6pt Complex Charts: 5pt
  • 34. Process Chart Column Label Caption 10 Two lines Caption 9 Two lines Caption 8 Two lines Caption 7 Two lines Caption 6 Two lines Caption 5 Two lines Caption 4 Two lines Caption 3 Two lines Caption 2 Two lines Caption 1 Two lines Group Label Column Label Column Label Column Label
  • 35. Flow-Style Chart Start Two or Three Line Caption Step A Step B Step C Step D Bridge Caption Decision Node? Yes End Step E Step F No Bridge Caption Bridge Caption Bridge Caption
  • 36. Các kỹ năng mềm Nảy sinh bất đồng Respond when calm Find the common ground Emerging leadership Focus on growth with humility Googleyness Contribute when needed Be helpful Take the extra steps Có thái độ cải thiện mỗi ngày Khiêm tốn Thrives in ambiguity Values Feedback Challenge the status quo
  • 37. Chart title 2013 2015 2018 2019 Present Timeline Cựu sinh viên đại học Quốc Tế - ĐHQG TP.HCM Frontend Engineer tại the College Board Caption 2 Two lines Caption 5 Two lines Caption 4 Two lines Caption 6 Two lines Cử nhân đại học Rutgers - NJ Caption 9 Two lines Caption 8 Two lines Category Label Two