Đã hai năm ba tháng trôi qua kể từ khi tôi đăng ký khóa học này và viết HelloWorld. Lẽ ra tôi nên viết bài này và bày tỏ lòng ngưỡng mộ đối với nguồn tài nguyên tuyệt vời này từ lâu, nhưng không hiểu sao nhịp sống nhanh chóng đã ngăn cản tôi. Nhưng bây giờ “nhờ” đại dịch Covid mà tôi có thời gian. Tôi 33 tuổi. Tôi là nhân viên xã hội ở Latvia và không liên quan gì đến CNTT. Trải nghiệm cuối cùng của tôi với code là 15 năm trước. Nhưng mức lương ít ỏi và thiếu triển vọng nghề nghiệp khiến tôi phải tìm kiếm một giải pháp thay thế. Tình cờ, nhiều người bạn của tôi đã thử sức ở lĩnh vực CNTT. Hơn nữa, không ai trong số họ có trình độ học vấn về CNTT. Một số đã có được việc làm, một số thì làm việc không tốt lắm. Nhưng những thành công đã truyền cảm hứng cho tôi rất nhiều và cuối cùng tôi đã quyết định. Ở Riga, cứ sáu tháng một lần, một công ty tư vấn nổi tiếng lại tổ chức một loạt chương trình đào tạo miễn phí (các khóa đào tạo chuyên sâu) với cơ hội tiếp theo (dành cho những người đã tốt nghiệp) được thực tập và ký hợp đồng lao động. Tôi đã dành thời gian suy nghĩ về việc nên tham gia khóa học nào. Cuối cùng, tôi đã chọn Java, vì đây là chương trình đào tạo Java mang lại nhiều cơ hội nhất sau khi tốt nghiệp. Tôi đã có thể thực hiện một số cuộc khảo sát và nói chuyện với những người tham gia bootcamp, bao gồm cả một số người đã được thuê tại công ty. Đây là thông tin tôi thu thập được: khóa học cực kỳ căng thẳng; thật vô nghĩa khi đến đó mà không có kiến thức; tốt hơn là bạn nên tự học mọi thứ trước khi tham gia bootcamp. Vì vậy, tôi đã nghỉ việc bốn tháng trước khi tham gia chương trình đào tạo, ổn định cuộc sống ở nhà, sống bằng tiền hỗ trợ tài chính và một số tiền tiết kiệm nhỏ, và bắt đầu học tập chuyên sâu. Chương trình đào tạo như thế nào? Chà, trước hết, CodeGym này đương nhiên là công cụ hỗ trợ thực tế cho quá trình đào tạo của tôi. Cánh tay lý thuyết là Head First Java (Java 5). Và tôi phải nói rằng, CodeGym và Head First Java bổ sung cho nhau một cách hoàn hảo. Cuốn sách đã đưa ra một cái nhìn tổng quan tuyệt vời về các tính năng cơ bản của ngôn ngữ. Hơn nữa, tài liệu bao gồm các hình ảnh trực quan và tương tự dễ hiểu (kính có điều khiển từ xa thực sự tuyệt vời). Tôi biết rằng các chuyên gia công nghệ dày dặn kinh nghiệm không thích cuốn sách này chính vì cách trình bày này, nhưng nếu bạn đến từ lĩnh vực nhân văn thì đây chính là thứ bạn cần. Trong mọi trường hợp, chương trình giảng dạy của tôi trông như thế này: 3 giờ lý thuyết của Head First Java vào buổi sáng, 3 giờ thực hành trên CodeGym vào buổi chiều. 6 tiếng mỗi ngày, kể cả cuối tuần và các ngày lễ. Rất mãnh liệt. Có lẽ quá mãnh liệt - chế độ ăn kiêng nghiêm ngặt của tôi đã gây ra một số vấn đề sức khỏe nhất định. Nếu bạn có thời gian và nguồn tài chính dự trữ, tôi sẽ không đề xuất cách tiếp cận mạnh mẽ như vậy. Nhưng tôi không có thứ xa xỉ đó và tôi không thể trượt chương trình đào tạo. Vì vậy, tôi đã học trong 4 tháng cho đến khi bootcamp bắt đầu, đạt Cấp độ 23 trên CodeGym với một giải pháp phù hợp cho tất cả các nhiệm vụ (mặc dù một số nhiệm vụ trong số đó khiến tôi đổ mồ hôi rất nhiều) và hoàn thành cuốn sách, hoàn thành tất cả các nhiệm vụ. Tôi vẫn còn vài tuần nữa mới đến bootcamp. Lẽ ra tôi có thể tiến bộ hơn nữa qua các cấp độ, nhưng thay vào đó tôi quyết định thành thạo tất cả các loại kỹ năng liên quan, như Git. Chương trình đào tạo bắt đầu và các khóa học cực kỳ căng thẳng, nhưng hóa ra trước đây tôi không chỉ gặp hai chủ đề: viết bài kiểm tra đơn vị và JavaFX. Sự đặt cược của tôi vào việc tự học nghiêm túc đã được đền đáp. Hóa ra tôi cũng không phải là người tệ nhất trong nhóm. Ngoài ra, tôi quyết định chủ động tung cú hích lớn cho dự án cuối cùng. Một nhóm nhỏ nhưng tuyệt vời đã được tập hợp và tạo ra một đơn đăng ký y tá (nền tảng của tôi với tư cách là một nhân viên xã hội đã lộ rõ). Nhìn chung, chương trình đào tạo đã kết thúc tốt đẹp, tôi được thực tập và thậm chí còn có cơ hội chọn chuyên ngành. Ở đây tôi đã phạm phải một sự phản bội xấu xa khi chọn Salesforce thay vì Java khó tính. Salesforce khởi đầu là một hệ thống CRM (quản lý quan hệ khách hàng) dựa trên đám mây cung cấp khá nhiều tùy chọn tùy chỉnh. Nhưng nhiều năm sau, giờ đây nó đã là một nền tảng chính thức mạnh mẽ cho phép bạn làm hầu hết mọi thứ. Tôi đã thấy nhiều dự án không liên quan gì đến CRM.
Về cơ bản, Salesforce hiện là cơ sở dữ liệu dựa trên đám mây mà bạn có thể làm gần như mọi thứ bạn muốn. Đối với phần phụ trợ, Salesforce sử dụng Apex, một loại "Java dành cho người về hưu". Nó làm cho cú pháp Java không phân biệt chữ hoa chữ thường, không có đa luồng được quản lý, có tương đối ít lớp tích hợp và hầu như tất cả mã đều xoay quanh việc ghi và truy xuất dữ liệu từ cơ sở dữ liệu Salesforce. Nhưng nó cũng có những khó khăn riêng. Mã Apex được chạy ở phía máy chủ, nơi về mặt lý thuyết, bất kỳ người dùng Saleforce nào cũng có thể yêu cầu toàn bộ sức mạnh của đám mây. Để ngăn chặn sự độc quyền về tài nguyên, có một loạt các giới hạn của thống đốc. Những giới hạn này áp dụng cho tất cả các tùy chỉnh của Salesforce, bao gồm cả Apex. Đôi khi điều này có nghĩa là mã Apex có vẻ lạ đối với các nhà phát triển Java. Ngoài Apex, SF còn có ba khung giao diện người dùng gốc: Visualforce, Aura Components và toàn bộ Thành phần Lightning Web mới. Sau khi ký hợp đồng lao động vào đầu tháng 7, nhiệm vụ đầu tiên của tôi liên quan đến khuôn khổ thứ hai. Đây là lần đầu tiên tôi làm quen với JavaScript, một ngôn ngữ mà tôi dần dần yêu thích dù gặp khó khăn. Nhân tiện, tôi đã tích cực làm việc với cả JavaScript và Apex. Điều đầu tiên tôi biết về Salesforce là mỗi người lính thủy đánh bộ đều là một tay súng trường. Tại Salesforce, tất cả chúng tôi đều là nhà phát triển toàn diện. Ngoài ra, như tôi đã đề cập, Salesforce là cả một thế giới - không chỉ một ngôn ngữ. Ngoài mã, còn có nhiều công cụ khai báo: Trình tạo quy trình, Trình tạo quy trình, Quy tắc quy trình làm việc, Quy tắc xác thực và các công cụ khác. Tôi rất thích điều này vì nó có nghĩa là một vấn đề có nhiều giải pháp và giải pháp tốt nhất thường có nghĩa là khả năng tránh mã. Đã có trường hợp một số nhà phát triển không ngần ngại viết hàng núi mã để triển khai chức năng mà lẽ ra có thể đạt được bằng cách chọn một vài hộp kiểm trong tệp cấu hình. Dù sao đi nữa, trong hai tháng đầu tiên, tôi hoàn toàn đắm mình vào nền tảng này và sau đó tôi nhận được lời mời làm việc. Ba tháng đầu tiên làm việc, tôi rất lo lắng, nhưng sau đó tôi bị cuốn hút. Tôi đã hoàn thành một số chứng chỉ của Salesforce: Người xây dựng ứng dụng và Nhà phát triển nền tảng 1. Sau đó, mọi thứ trở thành thói quen: Tôi đã làm việc đúng một năm rưỡi tại công ty đầu tiên của tôi (tôi rất biết ơn về thời gian đó). Sau đó, tôi nhận được lời mời LinkedIn từ một người nào đó ở London, nơi tôi đang viết bài này. Công ty mới của tôi làm việc với Vlocity, được cài đặt trên Salesforce trong một gói được quản lý, tức là về cơ bản nó là một nền tảng trên một nền tảng. Vlocity cung cấp nhiều công cụ bổ sung để tùy chỉnh và tạo giao diện người dùng. Hiện tại, chỉ 20-30% công việc của tôi là liên quan đến mã, phần còn lại là về những công cụ tôi đã đề cập. Nhưng về cơ bản tôi rất hài lòng. Tôi đã giới thiệu CodeGym cho tất cả bạn bè của tôi, những người có thể quan tâm đến việc đào tạo lại. Đây là một công cụ hoàn toàn không thể thay thế. Một số nhiệm vụ khiến não bạn tan chảy. Tôi đã dành 2-3 ngày cho họ. Đây là một cách rất tốt để có được kinh nghiệm. Nhân tiện, trong công việc của tôi, Tôi gặp phải những nhiệm vụ như vậy khá hiếm khi. Điểm mấu chốt là việc đào tạo lại từ một nhân viên xã hội thành một nhà phát triển đòi hỏi nỗ lực rất lớn, nhưng nó vẫn không giống như việc leo lên đỉnh Everest. Lời khuyên của tôi: hãy học tập chăm chỉ nhưng đừng lạm dụng nó (đừng làm tổn hại đến sức khỏe của bạn). 1-2 giờ mỗi ngày là không đủ. 6 là rất nhiều. 3-4 có lẽ là vừa phải. Nếu bạn có thể nghỉ việc và tập trung vào việc đào tạo lại thì tôi nghĩ bạn nên nghỉ việc. Sau một số nỗ lực ban đầu, tôi nhận thấy rằng việc kết hợp công việc với đào tạo lại không phải là một lựa chọn đối với tôi. Gia đình tôi không vui khi tôi nghỉ việc, nhưng trong trường hợp của tôi, sự mạo hiểm đã được đền đáp. Nếu bạn có tiền tiết kiệm, bạn có thể coi việc sử dụng chúng ở đây như một khoản đầu tư cho bản thân. Nghiên cứu tất cả các công ty tư vấn lớn. Trong thời điểm không khủng hoảng, họ có nhiều dự án, họ cần rất nhiều nhà phát triển, họ sẵn sàng trao cơ hội cho những người mới và họ thường tự sắp xếp việc đào tạo. Điều quan trọng nhất đối với họ không phải là trình độ học vấn của bạn mà là kỹ năng của bạn. Nếu bạn có năng lực thì sẽ không có ai đuổi bạn ra khỏi ngành tư vấn. Chà, chỉ vậy thôi: Tôi chúc bạn may mắn trong những bước đầu tiên bước vào thế giới CNTT. Hãy thực hiện tất cả các nhiệm vụ CodeGym theo thứ tự. Đừng lảng vảng và bỏ qua các chủ đề sau. Thực hành ở đây sẽ giúp suy nghĩ của bạn trở lại đúng hướng. Nếu điều đó xảy ra thì hãy tin tôi: bạn sẽ cảm thấy như ở nhà không chỉ với Java mà còn với bất kỳ ngôn ngữ hoặc công nghệ nào khác.
GO TO FULL VERSION