Get Appointment

Nên học Java hay Tester? Cách lựa chọn hướng đi phù hợp khi bắt đầu học IT
Blog Devpro
DevPro

Nên học Java hay Tester khi bắt đầu với IT? Thay vì vội chọn khóa học, hãy xác định công việc bạn muốn hướng tới. Cùng DevPro tìm hiểu Developer, Tester, Frontend, Mobile và cách lựa chọn lộ trình phù hợp với mục tiêu của mình.

Blog Devpro
Blog Devpro

“Em nên học Java hay Tester?”

Đây là một trong những câu hỏi DevPro nhận được khá thường xuyên từ các bạn mới bắt đầu tìm hiểu về IT. Có bạn đang học năm 2, năm 3 và muốn chuẩn bị sớm cho kỳ thực tập. Có bạn sắp ra trường nhưng vẫn chưa biết mình phù hợp với vị trí nào. Cũng có những người đã đi làm, muốn chuyển sang công nghệ nhưng đứng trước quá nhiều lựa chọn nên không biết nên bắt đầu từ đâu.

Khi chưa hiểu rõ về ngành, việc tìm kiếm những câu hỏi như “Java hay Tester?”, “Học Tester có cần code không?”, “Frontend khác gì Java?”, “Có nên học Mobile không?” là hoàn toàn bình thường. Nhưng nếu phải chọn một câu hỏi quan trọng nhất trước khi đăng ký bất kỳ khóa học nào, DevPro thường muốn các bạn trả lời một câu khác: “Mình muốn làm công việc gì?”

Bởi Java và Tester thực chất không phải hai khái niệm hoàn toàn tương đương để đặt lên bàn cân. Java là một ngôn ngữ lập trình có thể được sử dụng trong nhiều công việc khác nhau, trong khi Tester là một vị trí nghề nghiệp. Tương tự, Frontend, Backend hay Mobile lại là những hướng phát triển sản phẩm khác nhau trong ngành phần mềm.

Vì vậy, nếu chỉ bắt đầu từ câu hỏi “Nên học khóa nào?”, bạn rất dễ chọn một lộ trình dựa trên lời giới thiệu của bạn bè, một bài đăng trên mạng hoặc cảm giác rằng nghề nào đó đang dễ tiếp cận hơn. Học được vài tuần hoặc vài tháng rồi mới nhận ra mình không hứng thú với công việc phía sau khóa học đó là chuyện hoàn toàn có thể xảy ra.

Thay vì chọn khóa học trước, hãy thử hình dung công việc mình muốn làm

Một cách đơn giản hơn để bắt đầu là đừng nghĩ quá nhiều đến tên công nghệ. Hãy thử hình dung một ngày làm việc mà bạn cảm thấy mình có thể gắn bó.

Nếu bạn thích xây dựng một chức năng từ đầu, quan tâm đến cách dữ liệu được xử lý và muốn hiểu vì sao một hệ thống hoạt động theo cách đó, hướng Developer có thể phù hợp để tìm hiểu.

Nếu bạn thường có xu hướng kiểm tra kỹ một sản phẩm, hay đặt câu hỏi “Nếu người dùng thao tác khác đi thì sao?”, thích phân tích tình huống và tìm ra nguyên nhân của vấn đề, Testing có thể là một lựa chọn đáng cân nhắc.

Nếu phần khiến bạn hứng thú nhất là giao diện website, cách một trang phản hồi khi người dùng thao tác hoặc cảm giác trực tiếp nhìn thấy thứ mình vừa code xuất hiện trên màn hình, bạn có thể tìm hiểu Frontend.

Còn nếu bạn thích các ứng dụng trên điện thoại, tò mò về cách một app xử lý đăng nhập, thông báo, dữ liệu, camera hay vị trí thiết bị, Mobile Development lại là một hướng khác.

Không có hướng nào mặc định tốt hơn hướng nào. Điều cần tìm không phải là nghề nào dễ hơn, mà là kiểu công việc nào khiến bạn muốn tiếp tục tìm hiểu sau khi đã biết nó thực sự phải làm những gì.

Nếu muốn trở thành Developer, Java chỉ là một phần của lộ trình

Khi một bạn hỏi “Có nên học Java không?”, câu hỏi phía sau thường là “Học Java xong thì mình có thể làm công việc gì?”.

Java được sử dụng khá phổ biến trong phát triển phần mềm, đặc biệt ở các hệ thống Backend. Tuy nhiên, trở thành Java Developer không có nghĩa là chỉ học thuộc cú pháp của một ngôn ngữ.

Một Backend Developer có thể phải tham gia xử lý đăng nhập, phân quyền người dùng, dữ liệu sản phẩm, đơn hàng, API, cơ sở dữ liệu hoặc những logic nằm phía sau giao diện mà người dùng nhìn thấy.

Lấy một website bán hàng làm ví dụ. Người dùng chỉ cần chọn sản phẩm, thêm vào giỏ và bấm đặt hàng. Nhưng phía sau thao tác đó có thể là nhiều bước xử lý khác nhau: kiểm tra tài khoản, kiểm tra sản phẩm còn hàng hay không, lưu đơn, tính giá trị đơn hàng, cập nhật trạng thái và trả dữ liệu về giao diện. Những phần xử lý này chính là một trong những công việc Developer cần xây dựng và duy trì.

Vì vậy, nếu mục tiêu của bạn là Java Developer, lộ trình học nên đi xa hơn việc “biết Java”. Người học cần từng bước xây dựng tư duy lập trình, hiểu lập trình hướng đối tượng, cơ sở dữ liệu, cách làm việc với API, framework và cách tổ chức một ứng dụng thực tế.

Tại DevPro, lộ trình Java Spring Boot cũng được xây dựng theo hướng từ nền tảng đến ứng dụng và project. Mục tiêu không phải chỉ để người học có thể nói rằng mình đã học Java, mà là hiểu Java được sử dụng như thế nào trong quá trình xây dựng một sản phẩm.

Tester không chỉ là người “đi tìm bug”

Một hiểu nhầm khá phổ biến khác là Developer viết code, còn Tester chỉ sử dụng phần mềm rồi tìm lỗi.

Trên thực tế, công việc Testing cần nhiều hơn việc bấm thử các chức năng. Tester phải hiểu yêu cầu của sản phẩm, xác định những trường hợp cần kiểm tra, dự đoán những tình huống có thể xảy ra và mô tả vấn đề đủ rõ để những thành viên khác trong dự án có thể hiểu và xử lý.

Ví dụ, với chức năng đăng nhập, việc kiểm thử không chỉ dừng ở nhập đúng tài khoản và kiểm tra xem có vào được hệ thống hay không. Tester còn cần nghĩ đến những tình huống như nhập sai mật khẩu, bỏ trống dữ liệu, sử dụng tài khoản đã bị khóa, nhập ký tự đặc biệt hoặc thực hiện nhiều lần đăng nhập sai liên tiếp. Mỗi trường hợp đều có thể dẫn đến một hành vi khác nhau của hệ thống.

Vì vậy, một Tester cần xây dựng tư duy kiểm thử, khả năng phân tích yêu cầu, viết Test Case, Bug Report và phối hợp với Developer hoặc các thành viên khác trong dự án.

Manual Test và Automation Test khác nhau như thế nào?

Nếu chưa có nền tảng Testing, nhiều người thường bắt đầu với Manual Test để hiểu quy trình kiểm thử và cách một Tester tiếp cận sản phẩm. Khi đã có nền tảng và muốn mở rộng sang tự động hóa, người học có thể tiếp tục với Automation Test.

Đây cũng là lý do câu hỏi “Java hay Tester?” đôi khi gây nhầm lẫn. Một Automation Tester hoàn toàn có thể cần học Java để viết kịch bản tự động hóa với Selenium, TestNG hoặc xây dựng framework kiểm thử.

Điểm khác nhau nằm ở mục tiêu sử dụng Java. Developer có thể sử dụng Java để xây dựng chức năng của hệ thống, còn Automation Tester sử dụng Java như một công cụ để tự động hóa hoạt động kiểm thử.

Nếu thích phần người dùng trực tiếp nhìn thấy, có thể tìm hiểu Frontend

Không phải ai thích lập trình cũng hứng thú với phần xử lý phía sau hệ thống. Có những bạn thích cảm giác viết code và ngay lập tức nhìn thấy một giao diện xuất hiện trên trình duyệt. Đó là lúc Frontend trở thành một hướng đáng để tìm hiểu.

Frontend Developer tập trung nhiều vào phần giao diện và tương tác của website: bố cục trang, menu, biểu mẫu, nút bấm, cách dữ liệu hiển thị và cách giao diện phản hồi khi người dùng thao tác. Một giao diện nhìn đơn giản nhưng phía sau vẫn cần được tổ chức tốt để có thể sử dụng trên nhiều kích thước màn hình, kết nối dữ liệu và dễ dàng bảo trì khi sản phẩm phát triển.

Người mới thường bắt đầu từ HTML, CSS và JavaScript, sau đó mới tiếp cận những công nghệ như ReactJS. Tuy nhiên, giống Java, việc biết tên công nghệ chưa nói lên toàn bộ công việc. Điều quan trọng là bạn có thực sự thích quá trình biến một thiết kế hoặc yêu cầu thành một giao diện có thể sử dụng hay không.

Mobile phù hợp với người muốn xây dựng ứng dụng trên thiết bị di động

Nếu website không phải thứ khiến bạn hứng thú nhất nhưng bạn thường tò mò về cách các ứng dụng trên điện thoại hoạt động, Mobile Development là một hướng khác có thể cân nhắc.

Một Mobile Developer có thể làm việc với giao diện ứng dụng, API, dữ liệu lưu trên thiết bị, đăng nhập, thông báo, camera, quyền truy cập hoặc nhiều tính năng riêng của smartphone.

Với hướng này, người học không chỉ cần biết lập trình mà còn phải hiểu cách một ứng dụng hoạt động trong môi trường di động. Ví dụ, điều gì xảy ra khi điện thoại mất mạng, ứng dụng chạy nền thế nào, dữ liệu nên lưu ở đâu hay giao diện cần thay đổi ra sao trên những thiết bị có kích thước khác nhau.

Nếu những bài toán đó khiến bạn tò mò thay vì cảm thấy nhàm chán, Mobile có thể là hướng đáng để thử.

Vậy cuối cùng nên học Java, Tester, Frontend hay Mobile?

Không cần cố gắng tìm một câu trả lời chung cho tất cả mọi người. Thay vào đó, bạn có thể bắt đầu bằng việc đối chiếu với chính cách mình muốn làm việc.

  • Thích logic hệ thống, xử lý dữ liệu và xây dựng chức năng: có thể tìm hiểu Backend và Java.
  • Thích phân tích sản phẩm, kiểm tra tình huống và tìm vấn đề: có thể tìm hiểu Testing.
  • Thích giao diện website và trải nghiệm người dùng: có thể tìm hiểu Frontend.
  • Muốn phát triển ứng dụng trên điện thoại: có thể tìm hiểu Mobile Development.

Điều quan trọng là đừng quyết định chỉ vì nghe rằng một nghề đang “dễ xin việc”, một công nghệ đang “hot” hay một hướng nào đó “dễ học hơn”. Thị trường có thể thay đổi, công nghệ cũng có thể thay đổi, nhưng bạn vẫn là người phải dành hàng tháng để học và sau đó dành nhiều năm để làm công việc đó.

Một hướng được người khác đánh giá là dễ vẫn có thể trở nên rất khó nếu bạn không phù hợp với kiểu công việc của nó. Ngược lại, một lĩnh vực ban đầu có vẻ khó có thể trở nên dễ tiếp cận hơn nếu bạn thực sự có hứng thú và sẵn sàng dành thời gian tìm hiểu.

Nếu vẫn chưa biết mình phù hợp với hướng nào thì sao?

Không xác định được ngay từ đầu cũng không phải vấn đề. Với người chưa từng học hoặc làm IT, rất khó để chỉ đọc vài bài viết rồi biết chính xác mình muốn trở thành Developer, Tester hay Mobile Developer.

Thay vì ép mình phải chọn ngay, bạn có thể dành thêm thời gian tìm hiểu công việc thực tế của từng vị trí, xem những project mà họ thường làm hoặc thử học một phần kiến thức cơ bản để biết mình có thực sự hứng thú hay không.

Trước khi đăng ký một lộ trình, bạn có thể thử thực hiện ba bước:

  • Tìm hiểu công việc thực tế của vị trí mà mình đang quan tâm.
  • Xem các project hoặc sản phẩm mà vị trí đó thường tham gia xây dựng.
  • Trải nghiệm kiến thức cơ bản hoặc học thử trước khi đưa ra quyết định.

Một buổi học thử đôi khi cũng cho bạn nhiều thông tin hơn hàng chục bài quảng cáo khóa học. Khi trực tiếp tiếp xúc với bài tập, cách Mentor hướng dẫn và cách kiến thức được áp dụng vào một công việc cụ thể, bạn sẽ dễ hình dung hơn mình có muốn tiếp tục với hướng đó hay không.

Trong quá trình tư vấn tại DevPro, câu hỏi cần làm rõ trước không nên chỉ là “Bạn muốn đăng ký khóa nào?”, mà còn là bạn đang ở giai đoạn nào, đã có nền tảng gì và muốn hướng tới công việc ra sao. Khi mục tiêu nghề nghiệp rõ hơn, lựa chọn Java, Manual Test, Automation Test, Frontend hay Mobile cũng sẽ trở nên hợp lý hơn.

Chọn công việc trước, chọn lộ trình sau

Đừng bắt đầu hành trình IT bằng việc cố chọn một khóa học thật nhanh. Hãy bắt đầu bằng việc hiểu công việc mình muốn hướng tới, sau đó mới tìm lộ trình và công nghệ cần thiết để đi đến đó.

Nếu bạn đã tìm hiểu nhưng vẫn thực sự chưa xác định được hướng phù hợp, DevPro có thể cùng bạn phân tích nền tảng hiện tại, mục tiêu và các lựa chọn trước khi quyết định học. Chọn đúng hướng từ đầu không có nghĩa là bạn sẽ không bao giờ thay đổi, nhưng ít nhất bạn sẽ biết vì sao mình bắt đầu.

Nền tảng vững, ứng dụng thật.


Thuộc danh mục
  • Workshop
Facebook