Là một nhà phát triển Java, người đã nhận thấy các khả năng nghề nghiệp và trải nghiệm của nhà phát triển mà JavaScript mang lại, tôi đã quyết định thay đổi nghề nghiệp từ phát triển phụ trợ sang phát triển giao diện người dùng. Đối với bất kỳ ai đang muốn thực hiện một bước đi tương tự, đây là cách tôi thực hiện thay đổi và tại sao tôi thấy JavaScript có giá trị hơn đối với sự phát triển nghề nghiệp và sự hài lòng trong công việc của cá nhân tôi
Làm việc với Java với tư cách là nhà phát triển cơ sở
Vào năm thứ hai đại học, chúng tôi đã học Java và sử dụng nó cho mọi dự án lớn trong chương trình giảng dạy. Tôi liên tục nghe nói Java tuyệt vời như thế nào và bạn có thể đạt được những điều tuyệt vời gì với nó. Ngoài ra, rất nhiều công ty ở Cluj-Napoca, quê hương của tôi, có các vị trí dành cho nhà phát triển Java. Đó là lý do tại sao tôi cảm thấy phù hợp với sự nghiệp của mình khi phát triển xung quanh hệ sinh thái này. Đó là ngôn ngữ mà tôi quen thuộc nhất và có rất nhiều cơ hội việc làm xung quanh tôi
Ở công việc đầu tiên với tư cách là nhà phát triển Java tại một công ty Fintech địa phương, tôi có vinh dự được làm việc với một số kỹ sư thực sự tài năng và tất cả họ đều có chung tình yêu với ngôn ngữ này. Là một nhà phát triển cơ sở muốn học hỏi, tôi đã theo đuổi sở thích và niềm đam mê của họ đối với Java. Tương lai có vẻ tươi sáng từ quan điểm này. Tôi đã có một công cụ để thành thạo và rất nhiều khả năng để sử dụng nó
Tuy nhiên, một cái gì đó vẫn còn thiếu. Tôi chỉ làm việc với các tính năng cốt lõi của Java. cấu trúc dữ liệu và luồng tích hợp – các tính năng có trong môi trường phát triển tiêu chuẩn. Tôi không làm việc với bất kỳ khung web tương tác nào, chẳng hạn như phát triển Spring hoặc Android và có cảm giác như tôi có một công cụ cũ trong thế giới hiện đại
Tôi muốn một thứ khác, một ngôn ngữ phản ứng nhanh hơn cho phép tôi làm việc nhanh chóng. Đồng thời, tôi muốn học cách xây dựng Giao diện người dùng [UI] cho web và máy tính để bàn và Java không phải là công cụ phù hợp cho việc này
Tôi đã trở thành người chuyển đổi JavaScript như thế nào
Tôi nhận ra rằng Java và ngành mà tôi đang làm việc, công cụ tài chính, thực sự rất chậm, bởi vì sự ổn định quan trọng hơn sự đổi mới trong ngành ngân hàng. Bởi vì phần mềm của chúng tôi được sử dụng để kiếm tiền, không ai muốn chấp nhận bất kỳ rủi ro nào
Nghiên cứu và một vài cuộc gặp gỡ đã cho tôi thấy rằng JavaScript có thể là một giải pháp thay thế hợp lệ
- Cơ hội việc làm đang có xu hướng gia tăng cho frontend. Vào năm 2020, năm thứ tám liên tiếp, JavaScript đã duy trì vị thế là ngôn ngữ lập trình được sử dụng phổ biến nhất
- Dữ liệu lương toàn cầu từ Stack Overflow vào năm 2020 chỉ ra rằng mức lương dành cho nhà phát triển JavaScript cao hơn một chút so với mức lương của nhà phát triển Java có kinh nghiệm tương tự và cao hơn một chút đối với nhà phát triển fullstack
- Chỉ riêng số lượng câu hỏi và câu trả lời cho CSS so với Swing [hoặc thậm chí JavaFX] trên Stack Overflow đã cho thấy cộng đồng JS lớn hơn và đổi mới hơn nhiều so với cộng đồng Java
- JavaScript sẽ cho phép tôi làm việc với một công cụ tương tác hơn, như React hoặc Vue
- Tôi có thể chạy các dự án trên web, trong trình duyệt, thay vì chỉ trên máy tính để bàn. Điều này có nghĩa là trang có thể được truy cập từ bất kỳ đâu có kết nối internet
Điều này cho tôi thấy rằng JS có thể mở ra nhiều cơ hội hơn cho sự nghiệp của tôi
Học để trở thành lập trình viên frontend
Sau khi tham dự một vài buổi gặp mặt về JS và thấy tiềm năng mà JS mang lại cho tôi, tôi đã có cơ hội làm việc với tư cách là nhà phát triển React tại một công ty đang tìm kiếm các nhà phát triển có kinh nghiệm về cấu trúc dữ liệu và thuật toán tốt. tôi quyết định dấn thân. Trong hai tháng trước khi bắt đầu, tôi đã sử dụng React trong thời gian rảnh để có thể hiểu rõ hơn về nó, nhưng với tư cách là một nhà phát triển Java phụ trợ chuyển sang công việc React frontend, giờ đây tôi có rất nhiều câu hỏi, chẳng hạn như. Quản lý nhà nước như thế nào?
Tự học
Để bắt đầu tự học JS, tôi đã sử dụng hướng dẫn Mozilla, một hướng dẫn hướng dẫn JS chung miễn phí thường được giới thiệu cho tôi như một nguồn tốt. Tôi thấy nó hữu ích vì nó rất thân thiện với người mới bắt đầu và nó có một phần so sánh JavaScript với Java. Điều này có nghĩa là tôi có thể so sánh các khái niệm JavaScript mới với kiến thức Java hiện có của mình. Tuy nhiên, đây chỉ là điểm khởi đầu vì tôi cần sử dụng các khối xây dựng này trong một ứng dụng thực tế
Các khái niệm rất khác biệt đối với tôi và tôi thấy hữu ích khi học lúc đầu là
- Bản chất không đồng bộ của JavaScript và hiểu tại sao JavaScript không hỗ trợ đa luồng. Điều này đặc biệt khó vì về cơ bản nó khác với những gì tôi đã từng làm. Ví dụ: một tác vụ đơn giản như gửi yêu cầu đến máy chủ và ghi nhật ký phản hồi là khác nhau giữa Java và JavaScript
- Thực tế là JavaScript hướng đối tượng trong khi Java hướng lớp. Các đối tượng được tạo theo chương trình trong JavaScript, bằng cách đính kèm các phương thức và thuộc tính vào các đối tượng trống khác trong thời gian chạy, trái ngược với các định nghĩa lớp cú pháp phổ biến trong các ngôn ngữ được biên dịch như C++ và Java
- Các khả năng động của JavaScript bao gồm hàm tạo đối tượng thời gian chạy, biến hàm và tạo tập lệnh động
khóa học phản ứng
Để nâng cao kiến thức của mình, tôi đã đăng ký một khóa học về React. Có rất nhiều khóa học hay trên các nền tảng đáng tin cậy như Coursera hay Udemy, và bạn nên chọn khóa học phù hợp nhất với khả năng và kiến thức của mình. Tôi chọn cái này vì tôi cần hiểu những điều cơ bản
Một cái nhìn sâu sắc mà tôi muốn ai đó nói với tôi trước đây là. Đừng lãng phí thời gian để cố gắng hiểu đầy đủ về một khái niệm hoặc công nghệ trước khi sử dụng nó trong một dự án nhỏ
Chơi với công nghệ mới trong các dự án nhỏ
Phương pháp học phù hợp nhất với tôi là kết hợp giữa đọc tài liệu và sử dụng nó trong các dự án nhỏ. Sử dụng phương pháp này, bất cứ khi nào tôi gặp một khái niệm không quen thuộc, tôi đã tìm kiếm nó trên google và cố gắng sử dụng nó trong một dự án. Điều này đã giúp tôi xây dựng kiến thức React của mình và thiết lập nền tảng để sử dụng nó trong các dự án tại nơi làm việc
Không quan trọng dự án có vẻ tầm thường như thế nào, chỉ cần đảm bảo rằng bạn có một dự án. Ví dụ: trình tạo bánh mì kẹp thịt này là dự án đầu tiên của tôi được triển khai trên Netlify. Có một dự án đã giúp tôi hiểu được luồng dữ liệu và cách kết hợp tất cả các khối lại với nhau để có một ứng dụng hoạt động. Đây là điều mà tôi không thể học được thông qua một khóa học hoặc đọc hướng dẫn
Mẹo cho người mới bắt đầu React. Khi làm việc với React, bạn có thể nhanh chóng mở các công cụ dành cho nhà phát triển trong trình duyệt và cập nhật màu sắc hoặc kích thước phông chữ, kiểm tra xem nó trông như thế nào và sau đó cập nhật mã. Đối với người mới bắt đầu, đây thực sự là một công cụ thay đổi cuộc chơi. Kết quả hiển thị nhanh hơn, điều này thực sự hữu ích với bản dùng thử và lỗi ngay từ đầu
Tất nhiên, học một ngôn ngữ mới cần có thời gian. Tôi thường đọc và học trong giờ làm việc vì đây là một phần của quá trình giới thiệu, nhưng tôi cần tiếp tục học ở nhà trong thời gian rảnh. Đây là cách duy nhất tôi có thể thành thạo trong vòng một năm
Làm thế nào để thay đổi nghề nghiệp đáng giá
Đối với tôi, chuyển sang giao diện người dùng và tất cả những gì nó mang lại là một quyết định tuyệt vời, nhưng tất nhiên điều đó không dễ dàng. Đã có nhiều lúc tôi chỉ muốn quay lại với những gì mình đã từng làm, nhưng tôi vẫn tiếp tục làm việc và học hỏi. Hầu hết các đồng nghiệp của tôi đều rất giỏi về React và tôi thực sự cảm thấy hội chứng kẻ mạo danh
Tôi đã phải gác lại kiến thức Java và sự nghiệp của mình, thứ mà tôi đã gây dựng trong nhiều năm. Tất nhiên, các thuật toán cơ bản và kỹ năng lập trình tổng thể của tôi thực sự hữu ích, nhưng tôi phải bắt đầu học một cái gì đó từ đầu. Tôi cũng nhận được mức lương thấp hơn trong một thời gian ngắn vì thiếu kinh nghiệm
Cách duy nhất để vượt qua điều này là làm việc chăm chỉ và kiên nhẫn - không có công thức kỳ diệu hay các bước nhanh chóng
Gắn bó với JS và từ từ học hỏi cũng đáng. Sau ba năm rưỡi làm việc với React, giờ đây tôi cảm thấy thoải mái hơn với nó và bớt giống một kẻ mạo danh hơn. Một chút công việc cũng giúp tôi quay trở lại với mức lương của mình
Lời khuyên của tôi dành cho các nhà phát triển khi thực hiện thay đổi từ phụ trợ sang giao diện người dùng
- Hãy cởi mở với những khả năng và ý tưởng mới, ngay cả khi chúng có vẻ rất khác so với trải nghiệm của chính bạn
- Tham gia các cuộc gặp gỡ và gặp gỡ những người làm việc với các ngôn ngữ khác nhau để thực sự xem cách họ làm việc và bạn có thể làm gì với họ
- Làm nghiên cứu của bạn. Sẽ rất hữu ích nếu bạn có một số thông tin cơ bản về sự phát triển nghề nghiệp trong tương lai để hướng dẫn bạn ra quyết định
- Tham gia một khóa. Coursera và Udemy là những nơi tuyệt vời để bắt đầu
- bắt đầu dự án. Làm việc với mọi thứ và học hỏi từ thử và sai đã giúp tôi tiếp thu mọi thứ nhanh hơn là chỉ đọc
- Tìm một người cố vấn hoặc những người cố vấn. Tôi thật may mắn khi các đồng nghiệp của tôi có nhiều kinh nghiệm về React, vì vậy họ có thể cho tôi các mẹo và gợi ý mà tôi sẽ mất nhiều thời gian hơn để tìm ra nếu không có sự trợ giúp của họ
- Có một mục tiêu nghề nghiệp và làm việc hướng tới nó. Để thiết lập một mục tiêu tốt, hãy thử trả lời câu hỏi. “Tôi muốn ở đâu trong 5 năm nữa?”. Sau đó, bắt đầu làm việc theo hướng đó
Gần đây, tôi đã xem một cuộc tranh luận xem cái nào tốt hơn trong ngành điện ảnh - hiệu ứng thực tế hay hiệu ứng do máy tính tạo ra. cái kết thật là hay. Điều quan trọng là những câu chuyện và cảm xúc mà chúng gợi lên, không phải công cụ bạn sử dụng. Điều tương tự cũng áp dụng cho thế giới công nghệ phần mềm. Chúng ta cần hiểu bức tranh lớn hơn và giải quyết các vấn đề thực tế. Làm thế nào chúng tôi chọn để làm điều đó phụ thuộc vào cá nhân
Chúng tôi, với tư cách là các kỹ sư phần mềm, có thể chọn những gì sẽ sử dụng và cách xây dựng các giải pháp của mình. Tôi cần thay đổi những gì tôi đã chơi và cách tôi xây dựng các giải pháp để cảm thấy có nhiều cảm hứng hơn và tôi hy vọng kinh nghiệm của tôi khi làm việc này sẽ hữu ích cho bất kỳ ai ở vị trí tương tự