It recruiter ebook vietnamese version

50 0 0
Tài liệu đã được kiểm tra trùng lặp
It recruiter ebook vietnamese version

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tài liệu tổng hợp kiến thức tổng quan cho Recruiter về kiến thức tuyển dụng IT. Bài viết này sẽ giúp Recruiter có cái nhìn hình dung về các vị trí của ngành IT cũng như một số thuật ngữ chuyên ngành IT

Trang 1

TÀI LIỆU TỔNG QUAN VỀ NGÀNH IT DÀNH

CHO IT RECRUITER

Trang 2

📌 ABOUT VIECOI

Trang 3

 Company info: Viecoi

 Address: 10D1 - 10D2, Nguyễn Thị Minh Khai St, Dist 1, HCM Tell: 02838200410

Trang 4

1 Tại sao các bạn HR phải nên nắm được các kiến thức cơ bản về IT2 Vị trí cần hướng đến

3 Bốn cấp độ tuyển dụng IT developer4 Các hình thức phát triển hệ thống

5 Quy trình cơ bản của việc phát triển hệ thống

6 Sự khác biệt giữa Gia công phần mềm (Outsourcing) và phát triển sản phẩm riêng (Product)7 Cấu trúc cơ bản của ứng dụng WEB

8 Ngôn ngữ lập trình là gì?9 Framework là gì?

Trang 5

Khi đọc quyển Ebook này, bạn có cảm thấy mình đang đương đầu với các vấn đề dưới đây khituyển dụng hay không?

・ Tôi không thể đọc CV một cách chi tiết và tôi không biết liệu rằng kỹ sư IT nào sẽ phù hợp vớicông ty của tôi.

・ Tôi không thể tự mình đưa ra các yêu cầu tuyển dụng và tôi không thể đặt câu hỏi cho các kỹsư

・ Tôi không biết cách tìm ứng viên

・ Tôi không biết phương pháp học kiến thức IT cần thiết cho một nhà tuyển dụng.

Bạn có thể là một chuyên gia tuyển dụng nhưng có thể bạn vẫn chưa thực sự làm tốt khi tuyểndụng mảng IT/ Kỹ sư.

Có rất nhiều cách học để trở thành 1 kỹ sư IT nhưng lại không có nhiều cách dạy bạn làm saotuyển dụng kỹ sư tốt.

Cuốn sách này được viết ra với mục đích giúp các bạn HR đang phụ trách việc tuyển dụng IT có thể có được cảm nhận chung về ngành lập trình, hiểu các ngôn ngữ lập trình và vận dụng vào nghiệp vụ tuyển dụng.

Chúng tôi hy vọng rằng điều này sẽ làm tăng giá trị bản thân của bạn trên thị trường lao động

Mở đầu

Trang 6

Thiếu kiến thức CNTT khi tuyển dụng kỹ sư IT có thể phát sinh nhiều vấn đề:

・ Tôi không biếtmức độ của các yêu cầu tuyển dụng mà Team lập trình mong muốn là thế nào・ Khi không tìm được ứng viên phù hợp thì chỉ có thể đổikênh tuyển dụng (jobsite hoặc công ty giớithiệu nhân sự)

・ Ngay cả khi nhìn vào CV, tôi không biết dùng điểm nào để đánh giá ngoại trừ thông tin như "3năm kinh nghiệm PHP"

・ Không thể đánh giá các yêu cầu MUST và WANT, hoặc các kỹ năng mà có thể thay thế bằng kỹnăng khác

・ Diễn đạt các vấn đề quan trọng một cáchtrừu tượng

・ Trốn tránh trao đổi về Kỹ thuật/ công nghệ

・ Tạo ra các yêu cầukhông phù hợp với thị trường tuyển dụng

Tại sao HR nên nắm các kiến thức cơ bản về IT

1

Trang 7

“Vì tôi không phải là kỹ sư, tôi không cần biết công nghệ vẫn có thể hoàn thành công việc tốt”

Nhưng thật ra nếu bạn là nhà tuyển dụng IT, bạn cần nên học những kiến thức cơ bản về kỹ thuậtđể hỗ trợ cho công việc

Vị trí cần hướng đến

Tôi không phải là luật sư, nhưng tất nhiên tôi hiểu các điều khoản pháp lý

Tôi không phải là kế toán, nhưng tôi hiểu các thuật ngữ kế toán

Tôi không phải là kỹ sư, vì vậy tôi không biết kỹ thuật

Trang 8

Để có thể tuyển dụng được IT thì việc bạn có kiến thức kỹ thuật không có nghĩa là bạn phải là "code" mà là

"hiểu các thuật ngữ IT"

Vị trí cần hướng đến

Hiểu các thuật ngữ

Có thể tuyển dụng IT

Mục tiêu ban đầu là

ở mức độ này Lập trình được server đơn giản

Level chuyên

Level cơ bản

Lý giải đượcSử dụng được

Kiến thức Coding

Trang 9

Để có thể tuyển dụng được IT thì việc bạn Có kiến thức kỹ thuật không có nghĩa là bạn phải là“code" mà là “hiểu các thuật ngữ IT“

・Hiểu tất cả ý nghĩa của các thuật ngữ IT trong yêu cầu tuyển dụng của công ty bạn

・ Có thể giải thích về bối cảnh tuyển dụng và giải thích cụ thể về công việc thực tế sau khi gianhập công ty.

・Giải thích điểm mạnh kỹ thuật của công ty bạn để thu hút ứng viên

・Bạn có thể hình dung kỹ năng và kinh nghiệm của ứng viên bằng cách nhìn vào CV của họ.

Vị trí cần hướng đến

2

Trang 10

・Có thể tạo một tổ chức mà các kỹ sư cảm thấy muốn gia nhập

・Có thể nắm bắt được dòng chảy, chuyển biến của ngành IT để đưa ra hành động

Bốn cấp độ tuyển dụng IT developer

3

Trang 11

📌 TÌM HIỂU CẤU TRÚC CƠ BẢN

CỦA ỨNG DỤNG WEB (WEBAPP)

Trang 12

・Music App・Map App

・MOMO・Grab pay

・Picture App・Translation App

Web AppSNS

Mobile game

・Pokemon Go

・Business・Bank system

・Peppar・Clean robot

・Weather forecast・Health care

Robot

Trang 13

Quy trình cơ bản của việc phát triển hệ thống

① Địnhnghĩa yêu

thiết kế không

Public hệthống

PMBusiness

TesterQA Engineer

Về cơ bản, toàn bộ việc phát triển hệ thống đều theo quy trình như sau:

Trang 14

Sự khác biệt giữa Outsourcing và Own product

(tự phát triển sản phẩm)(Gia công phần mềm)Outsourcing

ClientDev TeamDev Team

Thuận lợi

・Ít sai lệch so với yêu cầu củacông ty

・Có thể suy nghĩ về các chức năng(Function) một cách chủ động

Khó khăn

・Giới hạn về các hình thức/ngônngữ lập trình

Trang 15

Cấu trúc cơ bản của Web App

Response

Trang 16

Cấu trúc cơ bản của Web App

Hãy liên kết giữa tên vị trí và tổng quan về Web App, để tìm hiểu xem ứng viên mà công ty mình đang muốn tuyển dụng sẽ làm những công việc như thế nào nhé!

Server side

(Back-end)Cơ sở dữ liệu

Cơ sở hạ tầng

Trang 17

1 Client side là gì?

・Là bên nhận dịch vụ(phía người dùng)

・Nếu là website EC (web thương mại điện tử) thì phía khách hàng chính là màn hình mọi người đang nhìn thấy

2 Server side là gì?

・Là bên cung cấp dịch vụ

・Nếu là website EC thì server chính là bên gửi/xử lý những thông tin cần thiết

3 Request và Response là gì?

・Request là những yêu cầu của khách hàng

- Nếu là website EC thì sẽ có những yêu cầu như là “Lấy cho tôi hình ảnh bộ trang phục này”・Response là việc trả lời/phản hồi của máy chủ

- Nếu là website EC thì response chính là việc trả lại hình ảnh bộ trang phục đã được yêu cầu

4 Browser và Web App Server là gì?

・Browser (trình duyệt) là nơi tiếp nhận yêu cầu( Ví dụ Google Chrome, firefox…)- Browser có vai trò hiển thị các thông tin một cách dễ hiểu cho người dùng

・Web app server là nơi trả lại các phản hồi của máy chủ

Cấu trúc cơ bản của Web App

7

Trang 18

Ngôn ngữ lập trình là gì?

Ngôn ngữ lập trình là ngôn ngữ đưa ra những chỉ thị trên máy tính để tạo ra Web/App

Là ngôn ngữ sử dụng để truyền tải đến máy tính quy trình màcon người muốn máy tính thực hiện.

Ví dụ như khi giao tiếp với các đồng nghiệp người Việt thì dùngtiếng Việt

Khi giao tiếp giữa con người với máy tính thì phải sử dụng ngôn ngữlập trình.

Số lượng các ngôn ngữ lập trình có tới hàng ngàn loại

- Do đó đương nhiên là không thể nhớ hết toàn bô được

- Mỗi ngôn ngữ sẽ có một đặc trưng và hướng đến một mục đíchriêng

Kiến thức về ngôn ngữ lập trình công ty bạn sử dụng là rấtcần thiết

- Tại sao lại chọn ngôn ngữ đó để phát triển?- Ai đã chọn ngôn ngữ lập trình này?

Ngôn ngữ lập trình là gì

Thuật ngữ

・Backend-PHP-C-Ruby-Java-Python-C++-C#-.Net-

Trang 19

Ngôn ngữ lập trình là gì?

Language AgnosticPHPC++C#JavaPythonJavaScript

What language skills do you look for when hiring developers?

What languages do you plan on learning next?Những ngôn ngữ lập trình như Javascript, Java, Python rất quen thuộc trong ngành tuyển dụng, và những ngôn ngữ như Go, Kotlin, Python sẽ phổ biến và có nhiều người muốn theo học.

参照:HackerRank's 2020 Developer Skills Report 1 / 25

Trang 20

* Giống như nguyên liệu món ăn đã được sơ chế sẵn.

* Hay xuất hiện trong các tin tuyển dụng Game Engineer và Kỹ sư lậptrình máy học (Machine Learning Engineer).

Thư viện là gì?

Framework là các phần cần thiết đã được chuẩn bị sẵn để xây dựngmột cách hiệu quả các ứng dụng trong danh mục cụ thể.

* Giống như công thức nấu ăn.

* Tùy thuộc vào framework đó mới hay cũ mà độ khó khi tuyển dụngcũng sẽ thay đổi.

* Dù không phải framework đã biết nhưng vẫn có thể học được.

Framework là gì?

・ Framework Javascript:- React

- AngularJS- Vue.js

・ Framework Web:- Ruby on Rails (Ruby)- Laravel (PHP)

- Spring (Java)- Django (Python)

Thuật ngữ:

Trang 21

Framework

PadrinoJSFPyramidMeteorStrutsCocoaEmberASPBackbone.js.NETCoreExpressJSSpringSparkRuby on RailsVue.jsDjangoAngularJSReact

Which frameworks do you plan on learning next?

Best known languages: 2018-2020

参照:HackerRank's 2020 Developer Skills Report 1 / 25AngularJS và React là 2 trong số các framework nổi tiếng của Javascript.

Nhiều người lựa chọn React, AngularJS và Django là các framework mà họ muốn được học tiếp theo.

Trang 22

・Không cần hiểu chi tiết từng framework khác như thế nào

・Chỉ cần biết công ty mình sử dụng framework nào và lý giải đượctại sao sử dụng nó.

- Framework được sử dụng chủ yếu trong phát triển UI design của ứng dụng Web

Framework của Client side

9

Trang 23

・Không cần hiểu chi tiết từng framework khác như thế nào

・Chỉ cần biết công ty mình sử dụng cái nào và lý giải được tại sao sử dụng nó.

- Framework thường được sử dụng của PHP.

- Rất được ưa chuộng vào những năm 2009-2017.

Ruby on Rails(Ruby)

- 1 framework của Ruby.

- Dễ hiểu và dễ viết code đối với cả người mới bắt đầu.

- Được phát triển bởi Google.

- Thư viện được sử dụng để học máy (Machine learning), đặc biệt là Deep learning

Framework của Client side

9

Trang 24

・Không cần hiểu chi tiết từng framework khác như thế nào

・Chỉ cần biết công ty mình sử dụng cái nào và lý giải được tại sao sử dụng nó.

React native:

- Framework được sử dụng để xây dựng các ứng dụng (app) trên cả iOS và Android.

- Bạn có thể tạo ra những ứng dụng hoạt động được trên cả iOS và Android chỉ bằng một mã code

Trang 25

Cơ sở dữ liệu (Database)

Cơ sở dữ liệu là nơi để lưu trữ dữ liệu về nội dung và người dùng.

ResponseInternet

Trang 26

Cơ sở dữ liệu (Database)

SQL tương tự như Excel

SQL không phải là ngôn ngữ để phát triển Cơ sở dữ liệu mà là ngôn ngữ để lấy dữ liệu từ Cơ sở dữ liệu.

- RDBMS: không phải tốc độ cao.- NoSQL: tốc độ cao.

- PostgreSQL: đa chức năng.NoSQL:

- MongoDB: thay thế cho MySQL và PostgreSQL

- Redis: tốc độ rất nhanh

Trang 27

Computer(Cloud)OS

Trang 29

ResponseInternet

Trang 30

・Windows-Windows 7-Windows 10・Apple

-Mac OS X-OS X

-Debian-macOS

Trang 31

📌 ĐẶC TRƯNG CỦA NGÔN NGỮ LẬP TRÌNH

Trang 32

Đặc trưng của ngôn ngữ lập trình

DeviceOSWEB

Trang 33

■ Kỹ sư Frontend

Frontend đảm nhiệm nhữngphần mà người dùng nhìn thấy trực tiếp

Dù việc thiết kế trang web đã có Desginer đảm nhiệm nhưng Frontend sẽ sử dụng HTML và CSSđể triển khai thiết kế, và sử dụng Javascript để liên kết với Server Side.

■ Kỹ sư Server side

Kỹ sư Server Side là người chịu trách nhiệm lập trình để xử lý dữ liệu diễn ra trên máy chủ, ví dụnhư xử lý dữ liệu đăng nhập, tìm kiếm và mua hàng trên các trang web thương mại điện tử (EC)Các web framework liên quan đến ngôn ngữ mà công ty đang sử dụng như PHP, Java hay Rubythường được đưa vào nội dung yêu cầu tuyển dụng Dù là Kỹ sư Server side thì cũng có trườnghợp là Fullstack developer đảm nhiệm cả Frontend lẫn Infrastructure, hoặc có trường hợp sẽ chỉtập trung vào phát triển các chức năng nhất định.

Cần có những kỹ năng cốt lõi như hiểu biết sâu sắc về ngôn ngữ lập trình và kinh nghiệm pháttriển server side Ngoài ra cần có thêm kiến thức về database, infrastructure hay frontend.

Frontend và Backend

13

Trang 34

■ Mobile Engineer

Mobile Engineer chịu trách nhiệm phát triển app trên smartphone.

Swift, objective-C được sử dụng trong iOS và Kotlin, Java được sử dụng trong Android.

Những kiến thức liên quan đến server side, design, UI/UX là những kỹ năng bổ sung rất cần thiếtđối với Mobile Engineer.

■ Embedded Engineer (Kỹ sư lập trình nhúng)

Embedded Engineer là kỹ sư phát triển hệ thống điều khiển máy tính được cài đặt trong cácmáy móc độc lập chẳng hạn như đồ điện gia dụng, máy móc thiết bị Ngôn ngữ lập trìnhthường sử dụng là C/C++, Java.

Vị trí này được kì vọng là tạo ra hệ thống phản hồi nhanh và ổn định.Đồng thời, cần có kiến thức liên quan đến phần cứng của hệ thống.

Embedded Engineer thường tham gia vào việc phát triển các sản phẩm như đồ gia dụng, oto,điện thoại

Vị trí này đang thu hút sự chú ý của các kỹ phát triển sản phẩm IoT

Mobile / Embedded Engineer

13

Trang 35

■ QA Engineer

QA Engineer là những kỹ sư tham gia vào công việc đảm bảo chất lượng phần mềm Vì mỗi lập trình viên có cách code khác nhau nên các phương pháp kiểm thử cũng như quy tắc QA Engineer sử dụng sẽ khác nhau, không thống nhất Vì vậy họ cần xây dựng thành hệ thống quy tắc chung để nâng cao chất lượng phần mềm Họ cần trang bị những kiến thức về Infrastructure, server side, front-end như một dạng kỹ năng mềm.

■ Machine Learning Engineer

Machine Learning Engineer phân tích đặc tính và xu hướng của dữ liệu, sau đó xây dựng thuật toán để dự đoán Không chỉ ngôn ngữ lập trình, mà năng lực phân tích, năng lực kinh doanh cũng vô cùng cần thiết đối với một Machine Learning Engineer Python là ngôn ngữ thường được sử dụng.

■ Game Engineer

Game Engineer cần có nhiều kỹ năng khác nhau tùy thuộc vào Platform như: smartphone game, console game (máy trò chơi điện tử) Đối với Console game thường sử dụng ngôn ngữ C++, còn đối với smartphone game thì tùy thuộc vào hệ điều hành (OS) sẽ sử dụng ngôn ngữ khác nhau Là một Game Engineer thì có thể phải cần những kiến thức liên quan đến Unity hoặc những kinh nghiệm phát triển mobile app.

QA Engineer/ Machine Learning Engineer/ Game Engineer

13

Trang 36

📌 BẢN MÔ TẢ CÔNG VIỆC ĐẠT YÊU CẦU

Trang 37

Bản mô tả công việc không đạt yêu cầu

Bối cảnh:

・Cần người phát triển hệ thống Web

Mô tả công việc

・Phát triển hệ thống web

Yêu cầu công việc

・Front-end: Trên 5 năm kinh nghiệm・Server side: Trên 5 năm kinh nghiệm

・Kinh nghiệm quản lý: Trên 3 năm kinh nghiệm

Mức lương

1000-2500 USD

→ Mô tả công việc chưa rõ ràng

→ Must (yêu cầu bắt buộc) và Want (yêu cầu cộng thêm) chưa rõ ràng→ Cần những gì ở ứng viên có 5 năm kinh nghiệm thì nên nêu cụ thể ra

→ Range lương quá rộng, không làm rõ được đối tượng ứng viên mà công ty muốnnhắm đến

Trang 38

Bối cảnh

・Đang áp dụng Scrum, nhưng chưa hoạt động hiệu quả・Thiếu nhân lực phụ trách Infrastructure

Mô tả công việc

・Tham gia vào team phát triển Scrum

・Có trách nhiệm hoàn thiện tất cả các tính năng liên quan đến sản phẩm, bảo trì, hoàn thiện cơ sở hạ tầng có sử dụng Terraform hoặc Kubernetes.

・Tham gia phát triển chức năng mở rộng của Chrome nếu có hứng thú.

Yêu cầu công việcBắt buộc:

・Backend developer có kinh nghiệm với Scrum・Kinh nghiệm xây dựng dựa trên cloud AWS/GCP

Trang 39

1.Xác định bối cảnh tuyển dụng

2.Xác định rõ ràng, chi tiết về dự án và phương pháp phát triển phần mềm

3.Xác nhận rõ ràng, chi tiết về công việc mà công ty muốn ứng viên đó đảm nhiệm4.Xác định rõ yếu tố bắt buộc (Must) và bổ sung (Want) đối với ứng viên

5.Xác định cách thức kiểm tra kỹ năng của ứng viên trong lúc phỏng vấn6.Xác định được lý do công ty mình sử dụng ngôn ngữ đó

7.Xác định những điều ứng viên có thể làm được tương ứng với số năm kinh nghiệm

7 việc cần được thực hiện ngay

15

Trang 40

📌 NHỮNG CÂU HỎI TRONG PHỎNG VẤN KỸ SƯ IT

Trang 41

Về lộ trình thăng tiến của Developer/ Career Path

Tùy vào định hướng của từng ứng viên1 Định hướng lên manager

2 Định hướng lên IT specialist

mà có thể linh hoạt thay đổi câu hỏi

Trang 42

1 Kinh nghiệm có phù hợp không

・Kiểm tra kinh nghiệm và chuyên môn có phù hợp với bản mô tả công việc hay không.

・Nếu thiếu một chút kinh nghiệm so với yêu cầu tuyển dụng thì kiểm tra xem có năng lực học hỏithêm hay không

5 Hiểu biết sâu về công nghệ

・Có hiểu biết tường tận từng chi tiết về công nghệ mà họ đã từng sử dụng hay không

6 Đặt câu hỏi

・Nội dung câu hỏi và cách đặt câu hỏi

6 điểm cần lưu ý khi check CV

17

Trang 43

1 Câu hỏi nhận biết kỹ năng lập trình cơ bản

・Các ngôn ngữ lập trình đã học・Các framework đã sử dụng

・Kinh nghiệm về GIT, hoặc kinh nghiệm sử dụng GitHub.

2 Câu hỏi xác định độ hiểu biết về các dự án đã tham gia

・Khái quát về dự án đã phát triển・Kết cấu server

・Liên kết nội bộ (API)

・Số lượng người sử dụng dịch vụ (UU, PP)

3 Câu hỏi về mức độ trách nhiệm

( Hãy kể lại một việc khó khăn hoặc thử thách nhất của bạn từ lúc bắt đầu lập trình cho tới nay).

Các câu hỏi nhận biết kỹ năng lập trình cơ bản

17

Trang 44

Mục đích:Biết được năng lực thực tế của ứng viên Có thể giải thích một cách dễ hiểu cho người nghe hay không.

Q:Hãy kể lại một vấn đề bạn đã gặp và cảm thấy mình đã giải quyết rất tốt Đó là vấn đề gì, và giải quyết như thế nào?Tại sao lại đưa ra hướng giải quyết như thế?

Mục đích: Để giải quyết những vấn đề đó cần trải qua quy trình như thế nào, có làm những thứ cần thiết để giải quyếtvấn đề thay vì những thứ mà mình muốn hay không?

Q:Hướng giải quyết cho một task đã từng rất nan giải đổi với bạn đó là gì? Tại sao lại lựa chọn hướng giải quyết đó? Hiệntại bạn có cách nào khác tốt hơn hay không?

Mục đích:Biết được mức độ khó dễ trong các task ứng viên đang làm

Q: Về những thành quả công việc mà bạn đạt được, có yếu tố nào mà bạn cảm thấy rằng nhờ có mọi người xungquanh giúp đỡ, hay nhờ môi trường đã tạo điều kiện thuận lợi cho mình hay không?

Mục đích: Muốn ứng viên lý giải và phân biệt được cái nào là thành quả do tự bản thân tạo ra, cái nào là có sự đónggóp của môi trường xung quanh, đồng thời kiểm tra mức độ khiêm tốn của ứng viên

Q:Bạn đã có những cống hiến gì cho công ty? Cần công ty hỗ trợ những gì?

Mục đích:Ứng viên có thể tự nhận thức được những yếu tố giúp ứng viên phát huy năng lực hay không

Q:Kể lại những lần đã cố gắng hết sức nhưng kết quả vẫn không tốt Bài học rút ra cho những lần đó là gì?

Mục đích:Ứng viên có biết tự nhìn nhận lại bản thân để rút kinh nghiệm hay không Những người không thể trả lời đượcthì có lẽ không khiêm tốn lắm.

Các câu hỏi liên quan đến kinh nghiệm

17

Ngày đăng: 27/05/2024, 06:46

Tài liệu cùng người dùng

Tài liệu liên quan