Đầu tiên phải hỏi là “Big Data là gì?“. Vậy thì hỏi tiếp “Bạn có nghe tới AI chưa?” (dễ gì mà chưa). Nếu mà có nghe nói thì bạn có biết là AI hoạt động thế nào không? Nó học được nhờ vào Big Data đó… Bạn có thể tưởng tượng nó như một mớ thông tin thiệt bự mà sẽ dươc sắp xếp như môn học Thống kê vậy, và với số mẫu thiệt lớn, AI (cũng như con người) có thể học được cách phân biệt giữa vật A với vật B.
Dông dài thì trong thời đại được thống trị bởi công nghệ, Big Data đã thầm lặng xuất hiện trong thế giới xung quanh chúng ta đã lâu rồi (nhưng mà ta không biết hoặc để ý thấy thôi). Mặc dù có vẻ như là một khái niệm phức tạp, Big Data từng ngày được dệt chặt vào cuộc sống của chúng ta, thúc đẩy những đổi mới, điều chỉnh và tối ưu lại những điều cũ.
Vậy thì trong bài đăng này, cùng mình bắt đầu hành trình để khám phá một số ứng dụng thực tế của Big Data trong những khía cạnh cuộc sống hàng ngày của chúng ta ha.
1. Trải nghiệm Mua sắm cá nhân:
Đặt Shopee chưa? Đặt TikTok Shop chưa? Đặt Lazada bao giờ chưa? Nếu có thì chắc bạn cũng thấy là “À hình như nó đang theo dõi mình hay sao ấy! Chứ làm sao mà nó lại biết mình đang mua những món đồ này?”
Nghĩ thì đáng sợ thiệt, nhưng thiệt là hong có đáng sợ hết. Tất cả đều là nhờ công của Big Data hết. Big Data đóng một vai trò quan trọng trong việc tùy chỉnh trải nghiệm mua sắm của bạn ấy. Qua việc phân tích các giao dịch mua sắm trước đây của bạn, sở thích và hành vi vào web, các sàn thương mại điện tử có thể gợi ý gần như chính xác các sản phẩm bạn đang / sẽ muốn mua. Xong rồi sau đó nó sẽ giảm giá và hoặc khuyến mãi hơn cho bạn, thì làm kiểu gì mà bạn không nhắm mắt chọn Bỏ vào giỏ hàng rồi Mua ngay (mình cũng có thế thôi haha).
2. Định hình ngành Y Tế:
Big Data đang cách mạng hóa ngành y tế, đóng góp vào kết quả điều trị và chiến lược điều trị tốt hơn cho bệnh nhân. Sự ảnh hưởng sâu sắc của đại dịch COVID-19 đã thúc đẩy cho ứng dụng Big Data vào việc theo dõi và dự đoán khả năng lây nhiễm của virus. Ngoài ra thì nó cũng giống như việc Doctor Strange thấy trước 14 triệu mấy case trong tương lai vậy. Big Data sẽ cho mô phỏng cho mình một lượng lớn các trường hợp có thể xảy ra khi nghiên cứu và phát triển thuốc.
Về chủ đề này thì mình sẽ đào sâu vào các ví dụ cụ thể nhấn mạnh cách công nghệ này đang cứu sống và cải thiện chất lượng tổng thể của dịch vụ y tế trong 1 bài viết khác. Đón xem nhé.
3. Thư giãn từ Đầu ngón tay của bạn:
À đừng có nghĩ bậy nhen. Đầu ngón tay của bạn là chiếc điện thoại đó! Nghe “Netflix and Chill” chưa? Nếu bạn chưa biết cụm này có ý nghĩa gì thì mau mau hỏi bạn trai/bạn gái của bạn thử (rồi thử xem hehe).
Quay lại cái vụ Netflix! Thì thật ra nội dung trên Netflix đã thay đổi hành vi mà ta xem phim nữa. Đằng phía sau “back-end” ấy là các thuật toán Big Data phân tích lịch sử xem của bạn, sở thích và thậm chí là thời gian bạn dành cho những thể loại cụ thể để có thể gợi ý series hấp dẫn hơn nữa (làm bạn dán chặt vô màn hình tới 3h sáng còn chưa dứt). Bằng cách này, Netflix (hay Hulu hay những thằng làm dịch vụ truyền hình khác) đã làm giàu trải nghiệm của bạn lên gấp 2 gấp 3 lần (cũng có thể là x10 lận). Và kết quả cuối cùng là bạn sẽ sẵn sàng móc hầu bao ra trả cho các business đó để nó cho bạn lại trải nghiệm (cuối cùng vẫn là tiền)
4. Gỡ nút thắt trong vụ Kẹt xe
Một trong mấy cái ứng dụng của Big Data là việc tối ưu Giao thông. Cái này ở nước mình thì chưa triển khai mạnh. Nhưng mà ở nước ngoài thì họ đã dần áp dụng vào thực tế rồi. Bằng cách sử dụng Big Data, hệ thống có thể dự đoán được tình trạng kẹt xe, giúp đưa ra những gợi ý tốt hơn về di chuyển. Từ đó mà giao thông cũng bớt kẹt hơn, parking cũng dễ dàng hơn. Điều này giúp cho các doanh nghiệp có thể tiết kiệm chi phí, thời gian và có thể allocate cho những chỗ cần hơn.
5. Social media lướt hoài không hết
Mặc dù là đặt sau cùng, nhưng bạn có thể thấy rất rõ ảnh hưởng của Big Data lên nội dung mà bạn thấy trên mấy trang mạng xã hội. Thử xem video, like video về con mèo đi, mình đảm bảo (và chắc chắn bạn đã thấy tương tự) là mấy chục cái video sau đó là toàn về con mèo. Đó là Big Data đó bạn! Bằng cách phân tích hành vi xem video cũng như cách mà những người có hành vi giống bạn tương tác, hệ thống có thể recommend ra những nội dung cực kỳ phù hợp, cực kỳ “bánh cuốn” với bạn.
Túm váy lại là:
Rõ ràng là Big Data không hẳn là một cái gì đó cao siêu mà chỉ dùng trong IT, hay CNTT nói chung, mà nó đã dần trở thành một phần không thể thiếu trong cuộc sống hằng ngày của chúng ta. Từ các gợi ý mua sắm cá nhân đến những đổi mới trong lĩnh vực y tế, quản lý giao thông hiệu quả và ở xa hơn, ảnh hưởng của Big Data là vô địch. Giờ thì mình ngồi đợi coi mai mốt Big Data nó sẽ tiến hóa thêm gì nữa, rồi coi có xài gì được để sếp tăng lương cho không (một nỗi buồn sâu thẳm).
Những thứ mà mình đã trải nghiệm khi làm freelance
Lý do mình bắt đầu
À, do mình hết tiền. Lúc mình nghỉ công ty cũ thì cầm đúng một tháng lương là tiền thưởng tết để đối mặt với cuộc đời này.
Quá lười để viết một chiếc CV mới, quá thiếu ý chí để tìm một công việc văn phòng khác, và quan trọng nhất là…quá đói rồi nên mình mới lân la tìm việc freelancer.
Vậy là search được vài trang và dừng lại ở Upwork. Vậy là hành trình trở thành Freelancer của mình bắt đầu từ đây
Tại sao không phải là làm freelance ở Việt Nam?
Vì mình chả quen ai cả. Kĩ năng thì có nhưng quan hệ thì không. Và lý do thứ hai là mình khá không hợp với cách làm việc của người Việt Nam
Pay rate thấp, lại đổi requirement liên tục
Timeline lúc thì sát đít, lúc thì vô cùng
Cách làm việc thường theo pattern để tôi hơn, bạn thiệt
Mình không đánh đồng tất cả, nhưng đấy là những thứ mà mình nhìn thấy và trải nghiệm nên mình cũng rất không muốn phải làm việc kiểu như vậy. Chắc mọi người không còn lạ gì quịt tiền của dev, hay làm một website 2tr rồi.
Nhưng mà nếu bắt đầu với môi trường quốc tế thì bạn phải làm được 2 điều:
Biết tiếng Anh, càng nhiều càng tốt
Trả lời được câu hỏi: “Thành, vậy năng lực cạnh tranh của mày là gì? Mày làm sao nói tiếng Anh giỏi bằng tụi EU, làm sao mày chịu được cái rate 6$/hrs của tụi Ấn độ”
Khi gian nan bắt đầu
Dùng hết cả buổi tối để fill hết đống tên, kĩ năng, bla bla cho Upwork vậy là mình start quá trình làm freelance thôi. Lúc bắt đầu mình nghĩ là chắc cũng khó, mà dkm, khó không tưởng
Mọi thứ bắt đầu cực kì khó khăn và suffer khi mình phải viết một thứ gọi là Proposal, một đoạn text ngắn đề nói với người đăng việc là “Bố mày đỉnh lắm, bố mày hợp vkl với cái công việc này nè, mày tuyển tao đi”
Đó, đại loại vậy, vậy mà mình viết hết proposal này tới proposal khác mà chả thấy ma nào hồi âm cả. Sad
Cả tuần sau thì mới có 1-2 người hồi âm mà nội dung thì cũng chả đâu vào đâu, kiểu mày có kinh nghiệm gì làm prj như này chưa? Làm rồi thì đưa tao coi xem thử. Mà mình thì làm méo gì có những thứ như vậy để show ra cho người ta, vậy là lại fail.
Sau 2 tuần cứ viết viết mà chả ai hồi ầm, chả hiểu sao mà mình may mắn lại tìm thấy một job lập trình mà yêu cầu là người Vietnam. Perfect, vậy là mình viết ngay mấy dòng “Hey tao là người Việt Nam nè vào tao cũng biết lập trình bla bla …”. Vậy là được nhận.
Bắt đầu từ công việc đầu tiên đó, mình được đánh giá cao nên sau này càng nhận được nhiều job hơn. Không còn vất vả phải soạn tâm thư mà lại không nhận được gì.
Những gian khổ ngày đầu trở thành lãi suất kép, sau một thời gian đầu tư ban đầu đổi lại mức rate của mình đã được tăng lên khá tích cực, từ $70/prj phải làm trong mấy chục giờ làm việc, thì mình đã được khách hàng đồng ý trả mức hơn $45/hr.
Mình thấy kì này trên TikTok bắt đầu share làm freelance thế này thế kia rồi bán khóa học đồ. Nên mình share ở đây hy vọng mọi người đỡ phải mua :))))) Vì mình cũng méo có ý định bán hay dạy ai gì cả
1. Hãy tìm một job ở ngách
Bạn sẽ rất khó khi bắt đầu công việc freelancer với những Job khá là chung chung kiểu: Cắt HTML, CSS, làm React,…
Tại vì số người đã có profile trên Upwork làm những thứ như vậy là rất rất nhiều rồi. Chả có ông nào khùng tới mức thuê bạn cho những công việc như trên nếu bạn chưa có profile đâu.
Do đó chiến thuật nên là tìm những công việc kiểu nó dị dị á. Ví dụ lúc đó mình sẽ dùng keywork Vietnam để xem có job nào mà người nước ngoài cần tuyển Việt Nam không, như vậy sẽ dễ nhận được việc hơn. Hoặc là thay vì tìm keyword là react, mình sẽ tìm Vuejs, Svelte, Astrojs,… đó, job tuy ít hơn nhiều nhưng khả năng được làm việc cũng cao hơn.
Tuy nhiên để làm được điều này bạn cũng cần là một version flexible có thể learn mọi thứ một cách nhanh chóng. Và cũng phải tự tin là bản thân sẽ làm được.
2. Mục tiêu của proposal là để người ta phải trả lời mình
Đừng chỉ viết tôi có A, có B và đó là lý do tôi là sự lựa chọn phù hợp với bạn. Hay viết kiểu như vầy
Hey tao có từng làm A, có biết B nên tao thấy tao phù hợp với mày nè. Tao cũng thấy hứng thú với prj của mày cực, có điều có điểm này có vẻ không đúng lắm, hoặc tao chưa hiểu rõ lắm. Mày giải thích cho tao được không?
Đó làm kiểu vậy thì khả năng người ta sẽ trả lời lại bạn sẽ cao hơn rất nhiều, đồng thời cũng không sợ bị cạn kiệt connect nữa.
Hãy để ý những thằng seller hay bán hàng trên mạng hay bắt bạn inbox hoặc xin sdt để tư vấn thêm: Lý do là nếu được nói chuyện, tìm hiểu riêng thì tỉ lệ chốt đơn sẽ cao hơn rất nhiều.
Có một tip khá hay là hãy thử đóng vai là người đi đăng job và tuyển người để xem tụi nó gửi proposal như thế nào. Mình có nhặt thử một requirement và đăng thử lên Upwork xem tụi nó apply ra sao. Vậy là học được một đống câu cú tụi nó viết proposal từ phân khúc thấp cấp tới cao cấp.
Có một cái common pitfall mình phát hiện ở đây là: Hầu hết tụi freelancer ngoài kia đều có một pattern và tụi nó chỉ copy & paste cho tất cả các Job. Cùi vãi :)))
Hãy viết proposal một cách personalize nhất cho Job đó, đảm bảo tỉ lệ nhận job của bạn sẽ cao hơn bình thường. Tuy mỗi lần viết đều có một số chỗ mình sẽ lặp lại, nhưng mình luôn luôn gõ lại từng thứ khi bắt đầu viết proposal vì mình nghĩ đó là cách tốt nhất để thể hiện mình là người chuyên nghiệp và mình thật sự quan tâm tới Job đó.
Hỏi xem client muốn gì, khi nào thì start được, timeline khi nào muốn deliver. Còn thiếu gì mà bạn có thể làm ngay lập tức.
Nói chung là làm tất cả mọi thứ để công việc start càng sớm càng tốt. Lúc này bạn sẽ setup được vibe khi làm việc của hai bên một cách chuyên nghiệp và đúng giờ hơn.
4. Clear scope
Hãy clarify xem những thứ gì KHÔNG làm và những thứ gì sẽ làm. Việc bạn clear với người ta những gì KHÔNG làm là cực kì quan trọng. Nó giúp hai bên thống nhất rõ ràng hơn công việc sẽ làm, đồng thời cũng tránh case rất tệ đó là “À em ơi còn chút này sửa giúp chị với”
In the end, bạn cần là một người làm việc có tâm. Và khách hàng thành công nghĩa là bạn thành công. That’s it. Nãy giờ mình chỉ nói những thứ bề nổi, tip khi làm việc, tuy nhiên mình tin là đó không phải là thứ khiến bạn có thể trở thành một người freelancer tốt được.
Nếu bạn đặt suy nghĩ nếu khách hàng thành công nghĩa là mình thành công, thì kiểu gì bạn cũng sẽ có cách để deliver mọi thứ tốt hơn.
Thứ mình học được
Khách hàng thành công nghĩa là bạn thành công
Nghĩa là gì pa?
Nghĩa là lâu lâu bạn sẽ chịu thiệt một tí, miễn là khách hàng được việc. “Em ơi, sửa chỗ này giúp anh một xíu”. “Dạ chỗ này không có trong scope ban đầu nhưng nhỏ nên em sửa luôn cho .”
Đôi khi có contract đã đóng rồi, nhưng client liên hệ nhờ check lại chỗ này, mình cũng check và fix luôn, và thấy quá nhỏ nên khi người ta hỏi bao nhiều tiền thì mình tl là cái này nhỏ quá free luôn. Tới nỗi giờ mỗi lần mình hết tiền mình đều inbox ổng, “Hey Luis, tao hết tiền rồi, kì này mày có công việc gì không cho tao làm với. Vậy là ổng lại lật đật chuẩn bị việc cho mình làm.” Mà kiểu ổng cũng thật sự méo cần thằng nào giúp nhưng thằng này hết tiền rồi thôi đẩy cho nó ít việc.
Khách hàng thành công nghĩa là bạn quan tâm nhiều hơn tới thứ mà người ta mong muốn. Họ muốn deadline là khi nào, họ muốn standard ra sao, có chỗ nào mình thấy chưa ok ảnh hưởng tới product mà họ chưa nhìn thấy.
Đó, cách thể hiện thì muôn hình vạn trạng nên mình nghĩ hãy luôn nhớ trong đầu cách suy nghĩ như vậy sẽ giúp bản thân làm tốt công việc hơn.
Có một điểm rất thú vị khi mình bắt đầu ý thức được suy nghĩ như vậy là mình không còn stress khi làm việc nữa, người ta cũng vậy. Ít nhất là không còn stress phải fighting để bảo về quyền lợi cho bản thân và đẩy phần thiệt cho người đối diện. Vì khi nghĩ tới sự thành công của người khác, nghĩa là hai bạn đang ở trên một chiếc thuyền, cùng nhau để đi được xa hơn. Thay vì cứ phải suy nghĩ làm sao để mình không chịu thiệt thòi, và client kiều gì cũng sẽ suy nghĩ như vậy nếu bạn làm như vậy.
Mọi người có tưởng tượng là mình trễ deadline, và mình rất xin lỗi người ta và muốn commit làm thêm, và client trả lời là “không sao, mày mà làm nhiều hơn thì mày không còn enjoy nữa”. Và sau đó mình còn được gửi Bonus cho việc đó nữa. Chưa hết, client này còn muốn gửi bonus mình vào dịp dáng sinh nữa, kiểu như ổng coi mình là một nhân viên chính thức trong công ty của ổng và ông đối xử như một người sẽ đi long-term cũng nhau, thay vì chỉ xung quanh công việc như những freelancer bình thường khác
Một giờ của bạn đáng giá bao nhiêu
Mình biết là với rate hiện tại, mình được trả 45$/hr và điều đó giúp mình rất nhiều. Nếu một công việc gì đó quá tốn thời gian mà mình có thể thuê với giá bé hơn 20$/hrs mình sẽ thuê.
Nếu một bữa ăn quá nửa giờ làm việc của mình thì mình sẽ không ăn. Còn dưới nửa giờ làm việc thì không phải là vấn đề.
Nó cho mình một framework để biết nên dành thời gian cho việc gì á? Đồng thời mình cũng giúp mình quý trọng thời gian hơn.
Cách làm việc với khách hàng
Nó luyện cho mình nói tiếng Anh, viết tiếng Anh. Giải thích một cách dễ hiểu cho người ta, đồng thời cũng phải tập làm sao để clarify lại problem cần giải quyết.
Cách nói chuyện khi code bị bug nè, cách nói khi bị trễ deadline nè, hay cách nói chuyện khi người ta muốn đưa việc thêm scope vào.
Key là: Đừng bao giờ trả lời có hay không, bạn lỗi hay tôi lỗi. Hãy tìm cách giải quyết vấn đề cho cả hai, hay nhớ lại điều gì khiến cho client thành công. Mình tin là họ thành công rồi thì họ sẽ trả cho bạn xứng đáng
Show off with the world
Bạn sẽ rất rất khó xin việc nếu bạn không có một profile online tốt. Hãy đặt thử góc nhìn từ client nhé: “Làm sao tao tin những gì mày nói ở proposal là thật nhỉ? Làm sao tao biết được mày có thể làm tốt công việc đúng như expect của tao?”
Đó và bạn phải trả lời câu hỏi đó bằng cách:
GitHub của bạn nói gì về bạn? Những ngôn ngữ nào, framework nào bạn đã làm qua
Twitter/LinkedIn thể hiện suy nghĩ và kinh nghiệm làm việc của bạn thế nào
Blog bạn chia sẻ về những trải nghiệm, kinh nghiệm khi làm nghề
Tự làm chủ
Freelancer, trong đó có chữ free, nghĩa là bạn tự do. Bạn tự do chọn công việc mà bạn sẽ làm, bạn tự do chọn cách làm công việc, bạn tự do sắp xếp thời gian làm công việc, bạn tự do lựa chọn chất lượng output, bạn cũng tự do từ bỏ công việc đang làm.
Mọi thứ đều tự do, vậy tới lúc đó bạn còn có tránh nhiệm với những thứ mình đang làm? Có một cú sock khá lớn mà mình bắt đầu làm freelancer, đó là tôi tưởng tôi muốn tự do nhưng thực sự là …éo .
Nào là bất mãn khi đi làm văn phòng sếp cứ bắt thế này thế kia, tao sẽ tự ra làm riêng rồi tự làm sếp cho mày biết mặt, bạn hãy thử trải nghiệm là sếp của chính bản thân mình xem. Khá là thú vị đó!
Dù gì nó cũng không phải là một thứ long-term
Tại sao người ta lại thuê một freelancer chứ không phải là một agency?
Vì công việc đó đủ nhỏ để người ta có thể manage risk
Vì giá rẻ hơn
Đó, và vì công việc khi làm freelancer khá nhỏ, nên việc bạn phát triển ở đây nghĩa là bạn làm mọi việc một cách quen tay hơn chứ không phải khó hơn. Nên đối với mình đây không phải là một thứ long term giúp mình phát triển được, kiếm tiền thì ok :))
Dĩ nhiên thì người giỏi thì nằm đâu chả phát triển được, đầy công việc freelance cũng giúp bản thân tìm tòi được nhiều thứ hay ho hơn. Tuy nhiên mấy cái như vậy không nhiều và đôi khi bạn cần phải có một đẳng cấp nhất định thì mới có cơ hội được làm.
À tương lai nếu được thì mình sẽ muốn chuyển qua Toptal thay vì Upwork vì nghe nói bên đó có vẻ nhìu tiền hơn, mà cũng khó hơn
Đây là câu chuyện đi làm freelancer của mình, nếu bạn còn tò mò chỗ nào thì comment bên dưới nhé!
CSS là một trong 3 ngôn ngữ trụ cột của anh em lập trình Frontend bên cạnh HTML và JavaScript. Để xây dựng được giao diện của một Website hoàn chỉnh, chúng ta sẽ cần phải viết khá nhiều CSS; trong đó sẽ có nhiều style được sử dụng lại với nhiều Website khác nhau. Vì vậy có nhiều các CSS Frameworks được tạo ra giúp anh em Dev thuận tiện hơn, tối ưu hóa thời gian viết code và hoàn thiện dự án. Bài viết hôm nay chúng ta cùng nhau tìm hiểu top 5 CSS Frameworks tốt nhất hiện nay và xem bạn đã biết và sử dụng bao nhiêu trong số đó nhé.
CSS Framework là gì?
CSS – Cascading Style Sheets là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi HTML, giúp tạo phong cách (styles) cho các phần tử trên trang Web như bố cục, màu sắc, màu chữ, font chữ, …
CSS Framework là tập hợp các đoạn code CSS có cấu trúc, mang lại giải pháp thống nhất giúp lập trình viên giải quyết các vấn đề lặp đi lặp lại trong quá trình xây dựng giao diện Website. Lợi ích khi sử dụng CSS Framework:
Nâng cao quy trình phát triển bằng cách sử dụng các class và id được xác định trước
Hỗ trợ việc tương thích cho nhiều trình duyệt, phiên bản khác nhau
Tăng năng suất, tối ưu hóa giai đoạn phát triển dự án
Tạo bố cục, phong cách đồng nhất, rõ ràng trên cùng một Website hay giữa các sản phẩm trong cùng một tổ chức
Cùng điểm qua danh sách 5 CSS Framework được đánh giá tốt nhất hiện nay nhé:
1. Tailwind CSS
Tailwind CSS là một framework tương đối mới (phát hành từ 2017) và được thiết kế cùng sự khác biệt so với các CSS framework trước đây. Nếu như các framework CSS trước đây đi theo hướng sử dụng các thành phần được thiết kế từ trước làm cơ sở để phát triển thêm thì Tailwind cung cấp các lớp tiện ích cấp thấp cho phép bạn xây dựng các thiết kế của riêng mình.
Ưu điểm của Tailwind CSS:
Mang lại sự linh hoạt cho người dùng có thể tạo ra các thiết kế độc đáo
Cú pháp của Tailwind cơ bản giúp mang lại tốc độ phát triển nhanh hơn cho dự án, không cần phải chuyển đổi giữa HTML và CSS khi viết code.
Tối ưu hóa CSS bằng việc sử dụng PurgeCSS giúp giảm và loại bỏ các class dư thừa cũng như tối giản kích thước file CSS tạo ra
Khả năng tùy chỉnh cao: dễ dàng ghi đè cấu hình mặc định với file tailwind.config.js
2. Bootstrap
Tiếp theo trong danh sách CSS Frameworks tốt nhất 2024 chính là Bootstrap. Bootstrap là cái tên phổ biến và được sử dụng rộng rãi nhất trong các CSS Framework. Được phát triển từ năm 2011, hiện nay nó được sử dụng trên hàng triệu Website và là kỹ năng được xem như mặc định phải có của một Frontend Developers trước đây. Bootstrap framework chứa cả HTML, SASS và JavaScript khiến nó có thể xem như là một Frontend framework hoàn chỉnh; mặc dù vậy việc sử dụng nó cũng khiến kích thước của project tăng lên đáng kể.
Ưu điểm của Bootstrap:
Hệ sinh thái khổng lồ: Bootstrap cung cấp một thư viện rộng lớn về bố cục, chủ đề, các components, … dành cho lập trình viên có thể thoải mái sử dụng. Cộng đồng làm việc, sử dụng và đóng góp cho Bootstrap cũng đông đảo và lâu đời hỗ trợ bạn một cách nhanh chóng
Tạo bản mẫu nhanh: Nhờ việc sử dụng kết hợp cả HTML và JavaScript nên Bootstrap cung cấp cho bạn các bản mẫu hoàn chỉnh, không mất nhiều thời gian để tạo ra hình dạng đầu tiên của Website một cách trực quan nhất
Bootstrap hỗ trợ cả SASS và LESS, điều mà không nhiều CSS framework cung cấp
Foundation là một CSS framework được xây dựng dựa trên hai ngôn ngữ là SASS và SCSS giúp cung cấp các khả năng tiếp cận khác nhau nhằm tối ưu hóa mọi hoạt động thiết kế Web nhanh chóng và hiệu quả. Foundation hướng đến kiến trúc mobile-first, có những nét tương đồng với Bootstrap khi cung cấp một bộ UI Framework khá hoàn chỉnh chứa cả HTML và JavaScript.
Ưu điểm của Foundation:
Cung cấp bộ công cụ phong phú giải quyết hầu hết các vấn đề mà anh em lập trình cần để dựng Website.
Tính linh hoạt cao: Foundation không bắt buộc các nhà phát triển phải sử dụng một phong cách hay ngôn ngữ cụ thể mà hoàn toàn có thể tùy chỉnh, kiểm soát giao diện người dùng
Hỗ trợ GPU acceleration cho phép thực thi các animation một cách mượt mà và nhanh chóng
Bulma được xem là một trong những top CSS Frameworks tốt nhất mà bạn nên dùng. Bulma có mã nguồn mở dựa trên Flexbox. Nó triển khai các ô xếp để tạo lưới kiểu Metro giúp mang lại bố cục trang mượt mà. Source code của Bulma hoàn toàn mở và bạn có thể thoải mái chỉnh sửa hay mở rộng chức năng. Ngoài ra Bulma được viết chỉ dùng CSS, không có thành phần JavaScript cũng giúp việc xử lý trở nên mượt mà, mang lại hiệu năng cao hơn.
Ưu điểm của Bulma:
Dễ học và sử dụng: Bulma được thiết kế dạng module với khả năng tùy biến cao nên dễ dàng sử dụng dành cho lập trình viên
Khả năng tương thích cao: với ưu điểm viết hoàn toàn bằng CSS thì các trang Web sử dụng Bulma có khả năng chạy trên nhiều trình duyệt khác nhau mà không bị hạn chế
Tính năng được cập nhật bổ sung liên tục
5. Skeleton
Skeleton thậm chí không tự gọi mình là một CSS framework nhưng sự tối giản của nó luôn được cộng đồng lập trình viên đánh giá cao. Chỉ với 400 dòng code, công cụ vô cùng nhẹ nhàng này được tạo ra để giúp xây dựng các phần tử CSS tương thích với cả thiết bị màn hình lớn và thiết bị di động. Skeleton chứa tất cả các thành phần tiêu chuẩn đáp ứng thiết kế responsive; chia một trang thành nhiều lưới (grid) 12 cột. Cú pháp triển khai của Skeleton vô cùng nhanh và đơn giản giúp tiết kiệm thời gian.
Ưu điểm của Skeleton:
Nhẹ và dễ dàng lưu trữ, xử lý
Ưu tiên các thiết bị di động, phù hợp cho các anh em Dev mới bắt đầu thiết kế
Dễ học, dễ triển khai ngay cả với những người mới bắt đầu
Kết bài
Như vậy chúng ta đã cùng nhau điểm qua top 5 CSS Framework phổ biến và tốt nhất hiện nay. Còn nhiều framework khác cũng được cộng đồng anh em thiết kế Web đánh giá cao tùy thuộc vào đặc thù của dự án, sản phẩm mà khách hàng, tổ chức đang phát triển. Việc sử dụng CSS Framework sẽ giúp cho công việc thiết kế Website của bạn trở nên đơn giản, tiện lợi, nhanh chóng và tạo được các sản phẩm tốt hơn. Hy vọng bài viết hữu ích dành cho bạn và hẹn gặp lại trong các bài viết tiếp theo của mình.
Sau Tết nguyên đán là thời điểm nhộn nhịp nhất của thị trường việc làm khi chứng kiến làn sóng “nhảy việc” ồ ạt. Có rất nhiều lý do khiến người lao động chọn năm mới làm thời điểm “vàng” để tìm cơ hội mới. Tuy nhiên, quyết định nhảy việc dù trong thời điểm nào cũng tồn tại những cơ hội và thách thức. Vậy những cơ hội thách thức đó là gì? Liệu có nên nhảy việc sau Tết? Câu trả lời sẽ có trong bài viết này!
Vì sao nhảy việc sau Tết trở thành “xu hướng”?
Tết âm lịch là thời điểm kết thúc các công việc của năm cũ, thưởng Tết cũng đã đâu đó thanh toán xong, làm cho việc quyết định nhảy việc trở nên dễ dàng hơn. Bên cạnh đó, cuối năm là thời điểm để mọi người nhìn nhận lại một năm vừa qua, nếu họ cảm thấy mệt mỏi với công việc hiện tại hoặc không tìm thấy cơ hội phát triển trong tương lai thì họ sẽ rời đi.
Thêm nữa, với số lượng lớn người lao động nghỉ việc sau Tết đã làm gia tăng áp lực tuyển dụng cho các doanh nghiệp. Số lượng vị trí trống gia tăng đột biến, thị trường bước vào “mùa tuyển dụng” tạo ra cơ hội xin việc cho hàng nghìn người.
Cơ hội và rủi ro khi nhảy việc sau Tết
Nhảy việc sau Tết mang theo cả cơ hội và rủi ro, và quyết định này nên được đưa ra sau khi cân nhắc kỹ lưỡng với các yếu tố cá nhân và chuyên môn. Dưới đây là một số cơ hội và rủi ro bạn cần biết:
Cơ hội
Môi trường mới: Nhảy việc mang lại cơ hội để trải nghiệm môi trường làm việc mới, nơi bạn có thể học hỏi và phát triển mối quan hệ mới.
Phát triển sự nghiệp: Có thể bạn sẽ có cơ hội thăng tiến nhanh chóng hoặc học được nhiều kỹ năng mới trong môi trường làm việc mới.
Thu nhập cao hơn: Một công ty mới có thể đưa ra mức lương và gói phúc lợi tốt hơn, giúp cải thiện tình hình tài chính cá nhân.
Mạng lưới mới: Khi chuyển đến công ty mới, bạn có cơ hội mở rộng mạng lưới quan hệ của mình, tạo ra các kết nối mới có thể hữu ích trong sự nghiệp.
Rủi ro
Rủi ro tài chính: Một số người chọn cách nghỉ việc rồi mới tìm việc mới, điều này dẫn đến vấn đề thiếu hụt tiền bạc. Nếu xác định nghỉ việc bạn nên để dành khoản ngân sách để đi tìm việc hoặc có việc mới trước khi nghỉ.
Không thích ứng được với môi trường mới: Có thể môi trường làm việc mới không phù hợp với tính cách hoặc giới hạn kỹ năng của bạn, tạo ra cảm giác không thoải mái.
Thời gian thích ứng: Việc thích ứng với môi trường, quy trình làm việc mới có thể mất thời gian, và trong thời gian này, bạn có thể gặp khó khăn.
Rủi ro về ổn định công việc: Chuyển đến một công ty mới có thể đặt ra rủi ro về ổn định công việc, đặc biệt nếu thị trường lao động không ổn định như hiện nay.
Những điều cần làm trước khi tìm “bến đỗ” mới sau Tết
Nhảy việc sau Tết là một quyết định quan trọng, đòi hỏi người lao động cần chuẩn bị kỹ lưỡng. Dưới đây là một số bước cần làm nếu bạn muốn nhảy việc sau Tết:
1. Xác định rõ lý do muốn nhảy việc
Trước khi quyết định nhảy việc, bạn cần xác định rõ lý do muốn nhảy việc là gì. Điều này sẽ giúp bạn đưa ra quyết định đúng đắn và tránh được những rủi ro không đáng có.
Có nhiều lý do khiến bạn muốn nhảy việc, chẳng hạn như:
Bạn không hài lòng với công việc hiện tại, chẳng hạn như mức lương, cơ hội thăng tiến, môi trường làm việc,…
Bạn muốn thử thách bản thân với một công việc mới.
Bạn muốn tìm kiếm một cơ hội tốt hơn với mức lương cao hơn.
2. Tìm hiểu thị trường việc làm và lựa chọn ngành nghề, vị trí phù hợp
Sau khi xác định rõ lý do muốn nhảy việc, bạn cần tìm hiểu thị trường việc làm để nắm bắt nhu cầu tuyển dụng, từ đó lựa chọn ngành nghề, vị trí phù hợp với sở thích, năng lực và mục tiêu của bản thân.
Bạn có thể tìm hiểu thị trường việc làm thông qua các kênh sau:
3. Lập kế hoạch tìm việc và chuẩn bị hồ sơ xin việc
Sau khi lựa chọn ngành nghề, vị trí phù hợp, bạn cần lập kế hoạch tìm việc cụ thể, bao gồm thời gian tìm việc, cách thức tìm việc, kỹ năng cần thiết cho công việc mới. Bên cạnh đó, bạn cũng cần chuẩn bị hồ sơ xin việc thật kỹ lưỡng để gây ấn tượng với nhà tuyển dụng. Tham khảo công cụ tạo CV chuyên nghiệp chuẩn developer tại đây.
4. Chuẩn bị tâm lý cho những khó khăn có thể gặp phải khi nhảy việc
Nhảy việc sau Tết có thể mang lại nhiều cơ hội cho bạn, tuy nhiên cũng tiềm ẩn nhiều rủi ro. Do đó, bạn cần chuẩn bị tâm lý cho những khó khăn có thể gặp phải khi nhảy việc, chẳng hạn như:
Khó tìm được công việc mới phù hợp.
Mất thu nhập trong thời gian tìm việc.
Mất mối quan hệ với đồng nghiệp, cấp trên cũ.
Tóm lại
Nếu bạn quyết định nhảy việc sau Tết, hãy đảm bảo rằng bạn đã chuẩn bị kỹ lưỡng. Hãy xác định rõ lý do muốn nhảy việc, tìm hiểu thị trường việc làm, lựa chọn ngành nghề, vị trí phù hợp, lập kế hoạch tìm việc và chuẩn bị hồ sơ xin việc. Bên cạnh đó, bạn cũng cần chuẩn bị tâm lý cho những khó khăn có thể gặp phải khi nhảy việc. Đừng quên truy cập TopDev để tìm kiếm việc làm IT sau Tết hấp dẫn bạn nhé. Chúc bạn tìm việc thành công!
Bạn không biết element nãy đã align với element kia chưa?
Bạn không biết khoảng cách padding này đã giống với design chưa?
Thêm thắt nhanh thử một ít magin/padding xem UI có tốt hơn không?
Xin giới thiệu với các vị và quý bạn ♂️, VisBug, tool chính chủ từ Google có thể trả lời cho bạn tất cả các câu hỏi trên.
Nói chung là ai hay làm lệch align đó, hay bị design bắt bẻ thì nên dùng tool này để check lại nha. Thấy sai thì lặng lẽ sửa, còn thấy đúng thì bật lại designer ngay
Mình nghĩ phải 96.69% dev sẽ code về đêm, hoặc có code ban ngày thì cũng dùng theme đen. Cái extension này sẽ mang Dark Mode tới bất cứ trang web nào mà chưa support cú đêm như tụi mình
Có nhiều tool/extension làm vụ này nhưng mình chỉ thấy duy nhất thằng này là đỉnh nhất và mình dùng daily hàng ngày luôn.
Cứ mở new tab là có tin tức về công nghệ/coding cho các bạn. Còn personalize theo cách đọc của mỗi người nữa.
Passive learning là đây chứ đâu. Bình thường sáng nào mình cũng dành 15 phút mò mẫm trên đây. Còn lâu lâu mở tab mới thấy bài hay cũng múc luôn cho nóng
Mình thấy kĩ năng học tập là cực kì cực kì quan trọng khi là dev nên Passive learning là kiểu mình apply chắc cũng phải 4-5 năm rồi. Phải công nhận nó là thứ giúp mình còn sống vui và khỏe trong ngành này… còn sau này già thì không biết
Cái này là dành cho những đứa vừa yếu vừa lười tiếng Anh như mình. Grammarly sẽ giúp spot ra các lỗi grammar hay dùng từ trong tiếng Anh. Giúp mình làm việc chuyên cmnr nghiệp hơn với các bạn bè thế giới
Tuy nhiên sau khoảng thời gian 2-3 năm sử dụng thì có vẻ càng dùng nhiều mình càng tự sai grammar nhiều hơn, nên bạn đọc cân nhắc nhé. Fix root cause vẫn hơn
Cái này thì khỏi nói rồi, mặc định. Có điều có bao giờ bạn thử sử dụng tab Profiler để kiểm tra performance với detech khi nào component rerender chưa?
Có hàng xịn mà không biết dùng thì cũng uổng lắm nhé!
JSON viewer
Đôi khi muốn xem nhanh cái API mà nó trả về JSON trối quá thì cài cái này vô, mọi thứ đơn giản ngay
Cái này không phải extension nhưng thôi mình bỏ vào đây luôn.
Chắc là ai cũng phải work với API và hầu hết mọi người đều dùng Postman, nhưng đối với mình, người đang sử dụng con Macbook Pro M1 16GB/512GB Space Gray thì nó quá nặng. Ỳ ạnh vkl, nên mình đã chuyển hẳn sang dùng cái này.
Khá là nhẹ và clean, đủ dùng. Ngoài ra mình còn thấy mọi người dùng Http Client ở VS Code cũng khá ổn.
Có nhiều bạn tìm đến mình tư vấn hướng nghiệp với ý định và mong muốn đổi sang một lĩnh vực, ngành nghề mới. Có rất nhiều lý do cho việc thay đổi này như: cảm thấy không còn động lực trong công việc cũ, thấy lĩnh vực mới đang ‘hot’ trên thị trường, muốn thử sức bản thân và ra khỏi vùng an toàn, vân vân.
Để hỗ trợ các bạn ra quyết định có nên đổi nghề đổi việc hay không, mình sử dụng nhiều phương pháp khác nhau tuỳ theo từng trường hợp. Có bạn cần thực hiện các bài trắc nghiệm tính cách để hiểu bản thân. Có bạn cần đào sâu vào các trải nghiệm công việc quá khứ để tìm ra điểm chung. Có bạn cần đầu tư và làm CV và cải thiện kĩ năng tìm việc. Một trong những kĩ thuật được mình sử dụng nhiều là phương pháp tưởng tượng. Bạn dành thời gian tưởng tượng về các khía cạnh khác nhau ở công việc bạn đang quan tâm và so sánh độc thích thú của bản thân so với công việc hiện tại.
Phương pháp tưởng tượng có ích trong việc giúp bạn mở rộng góc nhìn về một công việc, có bức tranh thực tế hơn về công việc đó. Nhiều khi mình chỉ thích một công việc vì thấy bức tranh được ‘vẽ’ một cách hào nhoáng về những kết quả như lương cao, ổn định, được đi du lịch nhiều. Mình chưa biết hết được các khía cạnh ‘tối’ của công việc đó. Phương pháp tưởng tượng kết hợp phỏng vấn người làm trong nghề giúp bạn có được góc nhìn sâu hơn này.
Bây giờ lấy ví dụ bạn đang là một người làm công việc Nhân sự hoặc Marketing ở một công ty lớn và đang băn khoăn có nên đi ra ngoài làm tự do (freelance) hay không. Bạn sử dụng phương pháp tưởng tượng để nhìn sâu về các khía cạnh sau của công việc freelance.
Bạn tưởng tượng mình sẽ sử dụng kiến thức gì khi làm công việc freelance? Hiện nay để làm được công việc freelance bạn cần một số kiến thức tốt như kiến thức công nghệ, kiến thức viết lách, kiến thức Marketing, kiến thức thiết kế. Bạn có kiến thức nào ở trên, so với 5 người bạn xung quanh bạn có khá hơn những người đó hay không?
2/ Kĩ năng
Bạn tiếp tục tưởng tượng xem một người làm freelance cần có những kĩ năng gì để làm tốt? Ví dụ người làm tự do cần có kĩ năng tự quản lý và sắp xếp thời gian, xây dựng mạng lưới quan hệ, tự Marketing bản thân, quản lý tài chính cá nhân và nhiều kĩ năng khác. Bạn suy nghĩ xem nếu được sử dụng các kĩ năng trên mỗi ngày bạn sẽ cảm thấy vui vẻ hay mệt mỏi?
3/ Con người
Trong công việc mới bạn sẽ thường xuyên tiếp xúc với những kiểu người như thế nào? Cố gắng mô tả cụ thể về kiểu người đó bao gồm giới tính, tính cách, độ tuổi, suy nghĩ, quan điểm sống. Con người ở đây có thể bao gồm sếp, đồng nghiệp, khách hàng là những người tương tác với bạn mỗi ngày.
Lấy ví dụ khi mình tưởng tượng về công việc Sale mình biết rằng mình cần tiếp xúc với những người chịu khó nói, thích thuyết phục người khác, hào sảng, hay quan tâm đến chủ đề làm giàu. Đây là những điều mình không thích nên mình thường né công việc Sale ra.
4/ Vị trí địa lý
Đây là một điều nhỏ những bạn cũng nên suy nghĩ và tưởng tượng về công việc mới. Công việc đó bạn sẽ làm ở đâu, gần nhà hay xa nhà? Nếu gần thì thời gian tiết kiệm được bạn dành làm gì, nếu xa thì thời gian di chuyển đến chỗ làm có đáng để bạn bỏ ra hay không?
5/ Môi trường làm việc
Bạn tưởng tượng về không gian làm việc của mình ở trong công việc mới. Ví dụ một người làm tự do thường ngồi quán cafe làm việc một mình, ít có cơ hội tương tác trò chuyện tán gẫu với đồng nghiệp như trong văn phòng, sẽ tốn tiền mua nước, có thể có sự ồn ào trong không gian quán cafe. Những điều trên có làm bạn phiền lòng hay không?
6/ Giá trị công việc
Đây là một điều quan trọng và khó tưởng tượng nhất. Mỗi công việc đều hướng đến những giá trị khác nhau. Bạn nên phân biệt giữa giá trị cốt lõi sâu xa mà công ty thường rao giảng và giá trị thực tế. Ví dụ có nhiều công ty rao giảng về giá trị đóng góp phục vụ cộng đồng, nhưng thực tế giá trị thật là làm sao bán được càng nhiều doanh thu càng tốt. Không có gì sai nếu công ty muốn tăng doanh thu, tuy nhiên việc nhìn rõ vào giá trị công việc sẽ giúp bạn có động lực làm việc hơn. Một doanh nghiệp cung cấp những sản phẩm và có những giá trị phù hợp với giá trị sống của bạn là doanh nghiệp khiến bạn hạnh phúc hơn. Bạn có thể tìm hiểu về giá trị sống của bản thân tại đây.
7/ Thu nhập
Cuối cùng hãy tưởng tượng về thu nhập của bạn trong công việc mới. Mức lương cố định mỗi tháng là như thế nào? Ngoài cố định có thêm những khoản đãi ngộ nào, thưởng nào phát sinh hay không?
Sau khi bạn tưởng tượng đủ sâu về cả 7 yếu tố trên, bạn có thể sử dụng để đặt lên bàn cân giữa 2 công việc khác nhau và so sánh xem đâu là những lựa chọn mình thích hơn. Sẽ có những mục hợp với công việc này, có mục lại hợp với công việc khác. Lúc này việc bạn cần làm là sắp xếp xem mục nào là quan trọng nhất với bạn ở thời điểm hiện tại.
Để bạn có một cái nhìn đa chiều hơn về ngành phần mềm, không phải hoàn toàn là việc nhẹ lương cao như thằng em sn 96…
Một số sự thật khó tiêu hóa trong ngành phần mềm. Có khi nó giúp bạn nhận ra và unlock được một level mới
Nối tiếp phần 1 được rất nhiều người đón nhận, thì đây là phần 2222222 ✌️
Disclaim lại lần nữa: Đây là bản dịch từ bài gốc https://vadimkravcenko.com/shorts/things-they-didnt-teach-you/ dưới lời văn đã thay đổi nhiều cho phù hợp với cảm nhận của bản thân mình . Khuyến khích mọi người đọc cả bài gốc lẫn bài của mình để có nhiều góc nhìn hơn.
Gét gô
Bạn lúc nào cùng sống trong trạng thái mập mờ (Uncertain time)
Đối phó với con người đã khó, đối phó với trạng thái mập mờ còn khó hơn. Và đỉnh cao của khó khăn là đối phó với những con người mập mờ :)) Và đó đích thị là những gì bạn phải làm khi trở thành một software developer.
Con người thì thường chả biết họ muốn gì, và đôi khi họ không nhận ra là thay đổi cái feature này một tí thôi là phải code ở dưới tới sấp mặt. – “Ê em đổi tích hợp thanh toán Momo thành Zalo giúp anh với, tích hợp ví thôi mà phải không? ”
Câu lừa vĩ đại nhất khi ở trường đại học dạy bạn là sẽ có một anh Prj Management đưa cho bạn một task chi tiết, cẩn thận, chỉn chu những gì cần làm, và việc của bạn chỉ là biết nó thành code thôi – một bản mô tả chi tiết công việc…mập rõ. Rồi cuối ngày bạn làm xong task được giao, đúng yêu cầu, đúng thời gian, vỗ vai nhẹ anh PM nói rằng “tối nay đi uống rượu không, em baoo. ez job, ez life”
Nhưng thực tế là PM sẽ luôn xuất hiện lúc bạn sml nhất và nói rằng “Chúng ta cần làm thứ gì đó để làm được A, tuy nhiên chưa có design, tụi 3rd party hay backend cũng chưa ready đâu, nhưng cứ thử làm trước đi”… Rồi sau đó sửa sml. Và nó đích thị là công việc thật sự mà một Software Engineer phải làm, đi gom lại hết requirement mọi nơi, rồi tìm xem là mình thật sự cần làm gì.
Okey thì chuyện đi gom góp requirement thì chả phải dễ dàng gì. Nó cũng không vui vẻ như việc viết code, vì rõ ràng mà, nói chuyện với máy tính thì vui vẻ hơn là nói chuyện với PM, với sếp, với client, với design hay là một ông backend nào đó. Nhưng nó lại là thứ tốn rất nhiều thời gian để hoàn thành công việc, vì nó phải làm việc với con người, không phải là máy móc. Bạn phải nói chuyện với bên 3rd party xem cái gì làm được cái gì không, hỏi designer xem làm kiểu này được không, và quan trong nhất là hỏi sếp/client xem người ta muốn cái feature đó trông như thế nào.
Để có thể yên vị code những dòng đầu tiên thì phải mất chắc cả tuần để làm những việc trên. Tìm hiểu requirement là gì, chỗ nào có thể hỏi được, rồi xem coi cái gì build được cái gì không, à còn cả phải tìm hiểu thêm chỗ nào có thể toang (vì thiếu data, vì design đẹp quá không code được,…) rồi mới có thể code được.
Sau khi đọc comment của bài trước thì nhiều bạn/anh/chị nói lại tại mỗi trường nhỏ lẻ nó mới vậy, thử làm những công ty lớn như FPT, KMS,… đồ thì quy trình rất rõ ràng, PM viết task detail đầy đủ.
Thực tế là mình chưa từng được trải nghiệm môi trường như vậy nên mình cũng không rõ nó như thế nào. Mình đã từng làm ở một cty out-source dạng vừa, với hơn 20 prj lớn nhỏ, từ intern tới vị trí lead, đã từng làm ở công ty product với sản phẩm là top 1 market, từ vị trí bình thường tới senior. Và mình công nhận điều ở trên là đúng – ít nhất đối với mình. Sẽ luôn luôn có task mà mọi thứ chưa sẵn sàng, và mình phải tự đi mày mò xem cần những gì, và có thể làm gì. Mình cũng đã từng phải nhờ các bạn trong team làm điều tương tự.
Do đó, dưới góc nhìn của mình, chuyện này khá là đương nhiên và thậm chí mình còn thích điều đó. Bởi vì, nếu không tiếp xúc với nhiều bên thì làm sao mình biết thứ mình làm có đúng không, có value không. Và nó cũng giúp mình thấu hiểu được các bên khác quan tâm điều gì, kiểu như Backend thì quan tâm data input, scaling,… Design thì quan tâm usability, spacing,…
Và cảm ơn những khoảng khắc như vậy mà nó khiến cho mình phát triển trong sự nghiệp tốt hơn, vì nếu mình hình dung chỉ code y chang như những gì được mô tả, thì mãi mãi mình cũng chỉ như cái máy dịch – chuyển ngôn ngữ con người qua ngôn ngữ máy mà thôi. Cái đó hiện tại có khi còn làm không tốt hơn ChatGPT nữa rồi kìa
Một số quan niệm sai lầm mà rất nhiều các bạn dev gặp phải
Bạn hiếm khi tin vào code trong prj của mình, bởi vì bạn cũng chỉ là con người thôi, và con người thì make mistake
Thư viện, 3rd party cũng có thể có bug, nhưng có thể hiếm hơn vì chắc là tụi nó trình cao hơn mình
Mấy thư viện của OS hay siêu nổi tiếng rồi thì chắc KHÔNG THỂ NÀO có bug đâu nhỉ? Mấy người viết code đó toàn siêu nhân.
CPU/Hardware chắc không bao giờ toang đâu. Tụi nó tốn cả chục năm nghiên cứu ra mà, tiến trình 7nm đồ
Điện thì méo thể nào biến mất được :)) (Okey cái này thì ở VN mà nói ra thì người ta nói thằng này bị điên)
Nhưng sự thật là – chúng ta – lập trình viên KHÔNG BAO GIỜ được chắc chắn là code của mình, library, hay thậm chí là phần cứng sẽ không bao giờ có bug. Ngay cả mấy người não to làm ra những thứ đó thì cũng là người mà thôi.
Không tin hả, nhìn vào thử Github Issue mấy thư viện mà bạn sài đi, ngay cả repo của OS thì bạn sẽ thấy cả tỷ issue trong đó, và library càng nổi tiếng thì càng nhiều.
Bằng cách suy nghĩ là “cho rằng mọi thứ đều có thể tồn tại bug” thì sẽ giúp cho dev dễ dàng có cách phòng chống, hoặc là “sống chung với lũ” hơn. Và nó là một thứ cực kì cần thiết để build một hệ thống ổn định và đáng tin cậy.
À cách đối phó của mình với chuyện này cũng khá đơn giản. Mình hay thấy các bạn newbie khi code luôn có suy nghĩ là bug chỉ ở trong khoảng từ line 2 tới 4, và bạn dành cả ngày để thử sai, chỉ ở trong phạm vi code 2 tới 4 đó. Nhưng nếu suy nghĩ bug ở có thể ở khắp mọi nơi, thì mình sẽ luôn phải test xem bug có ở từ line 1-2 không, có thể từ line 4-100 không, hay nằm ẩn trong thư viện nào không. Dĩ nhiên, bạn phải có cách verify bug nằm ở đâu và không nằm ở đâu – Và mình tin đây là một kĩ năng CỰC KÌ quan trọng và cần thiết khi làm software.
Đây méo phải là công việc mơ ước
Không quan tâm bao nhiêu video YouTube, Tiktok, bài viết, báo chí, thầy cô, bạn bè, voz, toingoicodedao tung hô về ngành lập trình. Nào là thằng em sinh năm 96, nào là nhân viên của Google, Facebook,… nào là lương lập trình viên tận trời xanh. Tất cả chỉ là bề nổi của tảng băng ♂️
Nó là một công việc cũng khá nặng nhọc đó. Bạn phải ngồi với máy tính cả ngày
Hiếm khi có work-life balance. Thử hỏi bug production lúc giữa trưa hay đêm khuya xem?
Hiếm khi bạn build một thứ mà bạn thật sư thích nó. Bạn làm theo những gì client, PM yêu cầu
Cơ hội nghề nghiệp không tốt lắm. Ngay cả khi bạn là thằng perform tốt nhất.
Công việc stress vl. Deadline, bugs, QA, kì vọng từ khách hàng
Làm việc remote thì cũng cool đó, nhưng sẽ tới lúc bạn bị tách rời khỏi thế giới. Vậy là kĩ năng tương tác với xã hội sẽ ngày càng mờ nhạt đi
Không an toàn lắm. Công nghệ thì thay đổi xoành xoạch, lứa trẻ thì xuất hiện như quân Nguyên – vừa đông vừa hung hãn. Hôm nay còn được trọng vọng nhưng hôm sau bị layoff lúc nào không hay
Mấy cái gạch chữ thì mình thấy không đúng lắm. Work-life balance thì là do lựa chọn thôi, còn bản chất nghề nghiệp này không cho work-life balance thì mình thấy chưa đúng. Thích hay không thì còn tùy trình độ và cái tôi của bản thân nữa, nếu thứ bạn thích và nó có value thì nó ok, còn thứ bạn thích mà nó không có value thì nên làm một mình thôi. Cơ hội nghề nghiệp thì mình thấy tràn ngập, thực tế mình rất thích những người làm tech xong chuyển hướng, họ có suy nghĩ cực kì là logic. Còn lại hầu hết mình thấy mọi người khá yên phận khi làm dev, kiểu làm dev thì sau này làm dev vẫn ok á, không có kiểu tao lm z thôi, sau này tao làm nghề khác.
Code đẹp đỉnh cao không thể dạy được
Okey, bạn có thể học code đẹp, đọc clean code, nhưng code dạng đẹp đỉnh cao thì không thể dạy ở trường học được.
Code đẹp đỉnh cao được định nghĩa là nhìn qua overall là có thể cảm nhận được là người viết ra code này đỉnh vkl. Nó sẽ kiểu dễ đọc, để hiểu, dễ sửa, nhìn chỉn chu ngay hàng thẳng lối lắm. Sẽ có những code mà bạn thấy đẹp nhưng sửa thì không dễ, và ngược lại,… nhưng code mà cover được hết những thứ đó thì người viết ra nó phải có kĩ năng thượng thừa lằm.
Xui cái là, code được như vậy thì không thể học ở trường được. Nó là thành quả của rất nhiều, rất nhiều kinh nghiệm, rất nhiều trăn trở, rất nhiều lần đọc code thì mới có thể tu luyện được.
Kiểu gì cũng có người hỏi khi nào làm xong em? Làm bao lâu em? trong khi bạn cũng méo biết, hay méo muốn phải trả lời
Mấy sếp, thì thích số, thích estimates, và thích hỏi luôn khi nào thì em làm xong. Và thế giới thì vận hành như vậy đó – một cái biz luôn muốn đạt được điều gì đó, nhưng trước khi bắt đầu start, họ luôn muốn/phải biết cái giá phải trả là bao nhiêu. Và estimation là một đại lượng để biết cái giá đó là bao nhiêu.
Okey, cái này thì chả thể nào dạy được ở trường đại học, và nó cũng là thứ mình thấy rất nhiều bạn bất ngờ khi đi làm bị hỏi estimation. Và các bạn phải rèn luyện nhiều thì mới trả lời được câu hỏi đó, phải biết năng lực bản thân mình, phải biết hệ thống đang chạy, phải biết code đang như nào, phải biết yêu cầu ra sao, thì mới có được câu trả lời. Và bạn càng đối mặt với nhiều vấn đề khác nhau thì kĩ năng này của bạn sẽ càng được cải thiện.
Mình sẽ không thảo luận cách tốt nhất để estimates ở đây, bạn tự search Google hay hỏi chatGPT đi, nhiều lắm. Điều mà mình muốn nói ở đây là estimates là thứ duy nhất mà người làm biz hiểu và sử dụng được. Nếu bạn nói rằng “Chúng ta có một plan lâu dài cho cái này, nhưng tao cũng không biết khi nào hoàn thành nó”, thì thử hỏi, ông biz phải làm sao phải làm sao.
Không phải tất cả cuộc họp đều tệ
Làm Dev mà hiếm khi được code, vậy thời gian đi đâu? Đi họp!
Họp hành để đảm bảo mọi thứ mượt mà và đúng deadline. Nó giúp cho mọi người hướng tới cùng một mục tiêu. Team marketing biết rằng mấy ông dev đang làm gì đó, và họ thì chuẩn bị content, hình ảnh để lên bài khi release. PM thì muốn biết được dev đang làm gì, có đúng hướng không đặng biết đường còn chỉnh lại. Customer support thì đưa ra những feedback/bug mà khách hàng gặp phải,… vân vây mây mây…
Mọi thứ, mọi thứ đều kết nối với nhau, và đi họp là cách để kết nối mấy thử đó. Với vai trò là một dev thì trách nhiệm của bạn cũng là một điểm để kết nối với team, công ty, khách hàng,… Bạn có thể không thích đi họp nhưng đó là trách nhiệm của bạn trở thành một mắt xích trong bộ máy công ty để nó vận hành trơn tru hơn.
Kết luận
Nếu bạn cân nhắc bắt đầu dấn thân vào con đường làm một Lập Trình Viên, thì hãy chuẩn bị để đối mặt với những vấn đề như trên, cố gắng, nắm bắt cơ hội và phát triển. Tới cuối thì có khi bạn cũng chẳng thể thay đổi thế giới gì đâu, nhưng tới cuối thì, nó cũng chỉ là công việc thôi mà, bạn không đóng góp cách này thì bằng cách khác, không thay đổi cả thế giới thì thay đổi… thằng đồng nghiệp cũng được.
Và điều quan trọng nhất, hãy tìm niềm vui trong đó.
Còn điều gì khiến bạn vỡ mộng khi mới bắt đầu đi làm, comment bên dưới nhé!
Isset là một hàm cơ bản nhưng cực kỳ quan trọng trong PHP giúp chúng ta kiểm tra giá trị của một biến. Mặc dù vậy thì thực tế sử dụng các bạn mới code PHP thường nhầm lẫn nó với một số hàm khác có chức năng kiểm tra biến tương tự như empty hay is_null. Bài viết hôm nay chúng ta cùng nhau tìm hiểu cách sử dụng hàm isset trong PHP áp dụng bài toán thực tế nhé.
Hàm isset() trong PHP
Hàm isset() trong PHP thực hiện việc kiểm tra một biến đã được thiết lập hay chưa. Nếu một biến đã được unset với hàm unset() trong PHP thì nó sẽ được xem là không còn được thiết lập nữa. Hàm isset() sẽ trả về false nếu như biến đang kiểm tra chứa giá trị là NULL.
Cú pháp hàm: isset(variable1, variable2……)
Tham số:
variable1 (bắt buộc): biến cần check
variable2…… (không bắt buộc): các biến cần check khác
Giá trị trả về:
TRUE: nếu như các biến (variable1,variable2..) truyền vào tồn tại và có giá trị khác NULL
FALSE: trong các trường hợp còn lại
Ví dụ: Để kiểm tra xem người dùng đã nhấn vào nút submit trên form login hay chưa, chúng ta thường xử lý như đoạn dưới đây trong PHP bằng cách sử dụng hàm isset để check.
<?phpif(isset($_POST['login'])){// Code xử lý khi người dùng nhấn vào nút login form}?>
Sử dụng hàm isset giúp chúng ta tránh được các lỗi liên quan đến việc khởi tạo biến hoặc khởi tạo các phần tử trong mảng, ví dụ như lỗi Notice: Undefined variable hay Notice: Undefined index. Việc kiểm tra trước điều kiện giúp bạn đỡ phải thực hiện các câu lệnh không cần thiết, ngoài ra còn tăng tính chính xác và bảo mật của mã nguồn.
Isset là một hàm cơ bản và thông dụng trong PHP, tuy nhiên bạn cần lưu ý giá trị biến truyền vào cũng như điều kiện trả về của hàm để tránh bị nhầm lẫn trong một số trường hợp, cụ thể:
Giá trị trả về chỉ bằng TRUE khi biến truyền vào đã tồn tại và khác NULL
Hàm chỉ kiểm tra giá trị cho biến chứ sẽ không kiểm tra giá trị của từng phần tử trong mảng hay giá trị của các thuộc tính trong một object. Để làm được 2 việc trên thì PHP cung cấp cho chúng ta các hàm khác như array_key_exists() hay property_exists()
Hàm isset sẽ trả về FALSE trong cả 2 trường hợp biến chưa được thiết lập hoặc giá trị bằng NULL. Vì vậy chúng ta không thể sử dụng hàm này để phân biệt 2 trường hợp trên. Để giải quyết vấn đề này chúng ta sử dụng một hàm khác là empty() mà mình sẽ nói ở phần sau của bài
Trường hợp truyền nhiều biến vào hàm (variable1, variable2……) thì chỉ cần 1 trong các giá trị biến không tồn tại thì hàm sẽ trả về FALSE. Hay nói cách khác isset(variable1, variable2) = isset(variable1) && isset(variable2)
Isset, empty và is_null là 3 hàm dùng để kiểm tra giá trị của một biến trong PHP, tất cả đều sẽ trả về một giá trị boolean. Nếu như isset sử dụng để kiểm tra biến đã được thiết lập hay chưa thì empty là hàm giúp kiểm tra xem một biến có rỗng hay không.
Vì thế 2 hàm này thường được xem là ngược nhau; tuy nhiên điều này không phải lúc nào cũng đúng. Với hàm is_null thì dễ hiểu hơn một chút khi nó sẽ chỉ trả về TRUE khi biến là NULL, tuy nhiên nó sẽ chỉ gọi được với điều kiện là biến truyền vào đã được khai báo.
Cụ thể về từng trường hợp trả về chúng ta có thể tham khảo ở bảng dưới đây (ô trống là trường hợp giá trị trả về bằng FALSE):
Một ví dụ xử lý form login sử dụng cả isset và empty một cách hiệu quả như dưới đây:
<?phpif(isset($_POST['login'])){if(empty($_POST['username'])) {echo"Bạn không được bỏ trống trường tên đăng nhập"; }else{$username = $_POST['username']; }if(empty($_POST['password'])) {echo"Bạn không được bỏ trống trường mật khẩu"; }else{$password = $_POST['password']; }}?>
Đoạn code trên sẽ giúp chúng ta kiểm tra dữ liệu form đảm bảo chỉ thực hiện xử lý login khi người dùng đã nhập đủ vào cả tên đăng nhập và mật khẩu.
Kết bài
Isset là một hàm quan trọng trong PHP và được sử dụng rất nhiều trong thực tế khi viết code; nó giúp chúng ta kiểm tra xem một biến có tồn tại hay không. Sử dụng isset giúp bạn tránh được các lỗi liên quan đến việc truy cập biến và tối ưu hóa mã nguồn của bạn hơn. Bạn cũng nên nắm vững được các trường hợp trả về của cả 3 hàm isset, empty và is_null để có thể lựa chọn sử dụng một cách thích hợp. Hy vọng bài viết hữu ích dành cho bạn và hẹn gặp lại trong các bài viết tiếp theo của mình.
Để bạn có một cái nhìn đa chiều hơn về ngành phần mềm, không phải hoàn toàn là việc nhẹ lương cao như thằng em sn 96…
Một số sự thật khó tiêu hóa trong ngành phần mềm. Có khi nó giúp bạn nhận ra và unlock được một level mới.
Nội dung của bài viết này sẽ được dịch từ bài gốc ở trên, dĩ nhiên là dưới góc nhìn của mình, có thêm bớt khá nhiều. Tác giả cũng disclaim là đây cũng chỉ là góc nhìn chủ quan của tác giả. Tuy nhiên mình thấy đây là bài viết cực kì hay về ngành mà mình đang làm.
Bác nào giỏi tiếng anh thì nên đọc bài gốc và skip qua bài của mình cũng được nhé. Đọc xong back lại đây comment cũng được .
Gét gô!
Bạn hiếm khi được code thứ gì đó từ đầu
Khác với trường học, nơi mà mọi bài tập của bạn đều chỉ có đề bài mà một màn hình trắng xóa, bạn fill code vào, chạy thử, fix bug, nộp bài. Dù đó có là học giải thuật hay là học một số môn lập trình thực tiễn hơn, hầu hết đều như vậy. Mục đích là thể hiện trình độ cá nhân của bạn.
Nhưng thực tế thì sao? *éo . Dù bạn mới ra trường, đi thực tập, đã đi làm được đôi ba năm hay thậm chí cả chục năm. Thứ ném vào mặt bạn là một project với vài ngàn dòng code (hoặc vài triệu) với vô vàn dấu chân của những dev trước để lại, có những người là thực tập, những người là junior, những người là senior… và bạn. Hiếm khi bạn được start một thứ gì đó từ zero.
Bạn coi tới coi lui đống code, check qua từng file, check lại document. Và bạn tốn cả 1 tuần để hiểu xem mấy ông dev trước làm gì (tất nhiên là vừa làm vừa chửi ) để rồi thêm 10 lines code vào để fix một bug bé tí nào đó.
Cuộc sống hằng ngày của Dev
Đó làm coder là vậy đó, hầu hết thời gian của bạn sẽ là sửa những gì đang chạy, thêm feature vào dựa trên một cục code base có sẵn.
Kiến thức “ngành” (Domain knowledge) quan trọng hơn kĩ năng múa code
Mình thấy rất bất ngờ nếu mình hiều về một thứ gì đó thì việc coding của mình trở nên rất đơn giản. Mọi thứ chạy như thế nào, và tại sao nó lại cần chạy như vậy.
Ví dụ khi code app ngân hàng/fintech thì bạn tốt nhất nên hiểu transaction chạy như thế nào, sổ cái hoạt động ra sao
Khi build một hệ thống PoS (Poin of sale – mấy phần mềm để tính tiền, gọi món ở quán Trà sữa, nhà háng á) thì bạn nên tìm hiểu xem tụi nhà hàng nó hoạt động thế nào, chia ca, tồn kho, rồi còn các bước để quẹt thẻ,…
Và nó đúng với hầu hết các ngành khác như Y tế, Logistic, Xây dựng,..
Nếu mà không có mớ kiến thức ngành đó, bạn sẽ rất dễ bị lạc. Kiểu như bạn sẽ bị struggle vì mình chỉ code theo task thôi mà không hiểu ý nghĩa công việc của mình ở đâu á, chả biết mình code có đúng không, chả biết nó chạy ở đâu, chả biết nó đóng góp gì cho biz đang chạy ngoài kia, và bạn sẽ chả biết… thứ bạn làm có value ở đâu cả.
Mình đã nhận ra điều này là thực sự quan trọng đối với mình trên con đường làm phần mềm, nó khiến mình buồn khi user dùng app mà bug, nó khiến mình vui khi có ai đó dùng phần mềm mình làm và khiến cuộc sống của họ dễ dàng hơn, nó khiến mình tự hào khi có ai đó nhắc tới phần mềm mà mình đã làm. Việc vui buồn đó, phần nào, khiến cho mình kết nối với những dòng code và công việc nhiều hơn!
Ngoài ra kiến thức ngành cũng là một vũ khí cực kì tốt giúp bạn dễ dàng sống sót hơn ở ngành phần mềm. Kiểu như nếu bạn đã biết kiến thức ngành về banking thì rất dễ cho bạn kiếm một công việc khác tương tự và dĩ nhiên, có lương cao hơn.
Okey, back lại trường đại học thì họ nhấn mạnh vào việc coding, giải thuật nhiều hơn là việc viết ra những dòng code, bạn và đồng nghiệp đều hiểu, và viết cả document cho nó.
Có 2 lý do khiến việc document nên được coi trong hơn khi đi làm
Như đầu bài đã chia sẻ, bạn hiếm khi được code một thứ mới, do đó nếu bạn viết clean code hay có một document ngon lành sẽ giúp ích cho bạn, và những người sau bạn tiếp tục với cục code base hiện tại.
Đi làm là làm việc theo nhóm, và bạn sẽ không được làm solo nữa. Nên bạn phải từ bỏ suy nghĩ tất cả đều đã được lưu lại trong đầu mình, mà phải share chung cho cả team.
Cá nhân mình thì thấy viết code clean là khá ổn rồi, dành thời gian để document lại những thứ liên quan tới kiến thức ngành (Domain knowledge) hay Overview của hệ thống
Code là thứ Hai, kiếm được tiền mới là Chủ Nhật
Sẽ méo có ai tới và vỗ vào vai bạn nói rằng “VKL, làm được được việc đó trong 1 dòng code hả” (okey, thực ra ngoài đời thì vẫn có thôi, chỉ là mấy ông làm chung ngành nâng bi nhau ), mà thay vào đó họ sẽ nói kiểu “Hey ku, user thích cái feature may mới làm lắm” hay tệ hơn là “Thằng , m deploy cái gì mà sập cả website kìa”
Đôi khi nó nghe khá là WTF, nhưng
Công việc chính của Software Developer không phải là viết code mà là tạo ra value thông qua qua software, thứ mà họ đã viết
Code chỉ là công cụ để bạn tạo được value. Code → Software → Value
Thứ bạn viết ra, phải phục vụ một mục đích nào đó cho thế giới – một công cụ gì đó, hay là một đoạn automation giúp giảm chi phí, bất cứ thứ gì, mà có người chịu trả tiền cho nó (có thể bằng thời gian, tiền bạc hay sự chú ý).
Nếu bạn build ra một thứ gì đó với đống công nghệ như nhưng mang lại value cho users – bạn phục vụ một nhu cầu tất yếu của một software engineer. Nếu bạn build ra một thứ gì đó với mớ công nghệ cool ngầu nhưng éo ai thấy nó có value – xin lỗi tôi và bạn không cùng ngành.
Code clean, follow best practice, design pattern – mớ đó để giúp cho cuộc sống của những ông dev sau bạn đỡ vất vả hơn chứ mục đích tối thượng của nó không phải là tạo ra value. À dì nhiễn cũng giúp cho cuộc sống của bạn sau này dễ thở hơn, và cũng không phải bị những người sau vừa fix bug mà vừa đọc thầm tên bạn và … chửi.
Trong môi trường làm việc, bạn sẽ phải làm chung với những người mà theo bạn nghĩ là “gà vkl”, nào thì code toàn bug, nào thì API không lúc chạy được lúc không, nào là design mỗi chỗ một màu khác nhau, hay lâu lâu con bé QA dở người,… Có khi đó là output của một người cùng công ty, có khi nó là ouput của khách hàng – một bên thuê bạn.
Nói chung thì bạn sẽ thấy khó chịu vkl thì phải đối mặt với những tình huống như vậy. Nó tạo ra một môi trường toxic, unproductive, poor decisions.
Tao (tác giả gốc, không phải mình) đã dành rất nhiều thời gian để tìm cách đổi phó với những loại người như vậy mà không phải trở thành một thằng , đáng ra trường đại học phải dạy cho mình mấy cái này chứ nhỉ?!
À có một cách tao (tác giả) ngộ ra là hãy tự tập trung vào công việc của bản thân và kệ người khác đi. Tìm một giải pháp thay thế nào đó hợp lý hơn và đừng có dây vào những người kém productive. Viết document thì cũng khá hữu ích, nó có thể trở thành “Bằng chứng thép” để cáo với sếp về mấy người unproductive đó .
Cuối cùng, cách tốt nhất để “đối phó” với mấy người đó là
Tìm một giải pháp hay người nào đó có thể giúp mình
Nhờ vả những người chuyên môn cao hơn làm task đó hộ mình
Implement một số giải pháp kiểu code của tụi nó có hư thì bên mình cũng không bung bét ra (failsafe, fallback)
1-1 meeting với người đó và nói với họ là họ làm chậm process ntn
Okey, không cần phải trở thành một thằng để chiến tranh với họ
Phần này mình dịch hoàn toàn như bên bài viết gốc. Còn đối với mình, thực tế mình đã từng rất nhiều rơi vào tình cảnh như vậy. Phần dưới là input thêm từ mình
Có lúc mình làm với Backend code api lúc up lúc down, mình khó chịu mình chửi thầm, có lúc mình làm với Design mà lệch alignment, mình khinh thường mình chửi họ, rồi cũng có lúc mình làm việc với QA và PM và mình code bug, họ là chê output của mình. Ồ mình nhận ra nếu bạn trong team nào thì bạn sẽ luôn luôn chê input của mình, và bị chê bởi output của mình.
PM → BE → FE → QA → PM
Và mình nhận ra mình khó chịu vì nó tổn hại tới cái tôi của mình. Nếu mà BE làm trễ deadline và mình sẽ cũng bị trễ theo, và mình đổ lỗi cho BE, để nuôi dưỡng cái tôi, để feel good vì do mày nên tao không làm được, chứ tao tốt đẹp vl . Đó đã có lúc mình suy nghĩ như vậy, nhưng được làm việc với nhiều team hơn, thử thực sự làm BE hay làm QA mình nhận ra một điều:
Mọi thứ luôn luôn broken ở software.
Mình không rành ngành khác như thế nào, nhưng đối với software, nó là soft, nên nó có thể tháo rất nhanh phần hư ra, hoặc fix phần hư rất nhanh. Nên ngành này vận hành theo cơ chế là ship một thứ gì đó chạy được cơ bản rất nhanh, rồi vừa chạy vừa fix. Do đó, sẽ luôn luôn có thứ broken. Và việc của mình không phải là đổ lỗi cho BE, Design hay PM làm broken, mà là khiến mọi thứ tiến về phía trước. Mình đồng ý với việc sẽ có lỗi từ BE, sẽ có lỗi từ Design, và cũng đồng ý với việc mình sẽ code bug, đôi khi sẽ bị QA dí như vì mình cũng tệ vậy. Và mình hướng tới việc làm sao để mọi người trong team phối hợp tốt hơn, và nếu là một lỗi sảy ra, thay vì đi tìm người gây ra cái bug đó, thì mình tìm cách để nó không xuất hiện lần thứ 2 hay thứ 3 như vậy nữa.
Mục tiêu chính của mình là deliver cái software đó, không phải là nuôi dưỡng cái tôi “thanh cao” của bản thân tôi thì tốt đẹp còn những người xung quanh thì tệ vkl.
Vậy đó, software luôn luôn broken, mà broken thì mới có việc để làm chứ không thì AI code hết mọe rồi.
À một point thứ 2 là đôi khi do một người trong team broken, hay thậm chí là khách hàng broken thì mình nghĩ là đơn giản thôi: CẮT. Nếu trong team thấy một người như vậy thì mình sẽ nói với họ và để họ thử và nếu họ không survive được thì chắc là “chúng ta không thuộc về nhau”. Ngay cả khách hàng cũng vậy, mình đã từng stoploss với 2-3 client vì làm việc không chuyện nghiệp
Wait, lỡ mình không có power cao bằng người ta nên mình không “chia tay” người ta được thì sao? Thì mình tự nói với bản thân rằng, thôi nếu vậy hạn chế chơi với ông này, đợi khi nào power mình cao hơn rồi tính vậy. Dù gì thì phải có lý do gì đó mà khiến ông đó có power cao hơn mình chứ, lỡ ông đó giỏi tiếng anh hơn mình thì sao, lỡ ông đó kì này có chuyện buồn gì sao,… chả ai muốn mình là broken person trong team cả, hẳn họ có một nỗi niễm gì đó,… Hoặc họ gà thật :)))
Thôi thì không thể thay đổi được thế giới, thử thay đổi bản thân vậy
Kết
Đầu năm nói những thứ phũ phàng khi đi làm chắc không đúng vibe lắm, nhưng dù muốn dù không thì bạn cũng sẽ phải đối mặt với nó, nếu bạn đi làm phần mềm. Thường bạn sẽ nghe tới ngành IT là lương chăm triệu, tháng làm 2-3 jobs, gái theo xếp hàng,… nhưng hiếm ai nói cho bạn những phần bên dưới của tảng băng – những sự thật khi đi làm.
Nghề gì cũng vậy, phải khó khăn thì mới có việc để làm, phải có khó khăn thì bản thân mới thể hiện được giá trị của mình chứ hả?
Bài viết được sự cho phép của tác giả Tống Xuân Hoài
Vấn đề
Dữ liệu được lưu trữ trong cơ sở dữ liệu thường phải được chuẩn hóa để giảm dung lượng và tăng tốc độ truy vấn, Vì thế sau khi lấy ra thường phải qua nhiều phép biến đổi dữ liệu thì mới có thể dùng để xử lý logic tiếp được.
Lập trình FE, đặc biệt là lập trình dựa trên những Framework hiện đại như Angular, React, Vue… việc tạo ra những đối tượng để lưu trạng thái (state) của ứng dụng đòi hỏi khả năng xử lý dữ liệu nhiều hơn nữa. Bởi vì những trạng thái này là thay đổi liên tục phụ thuộc vào logic hiển thị và thao tác người dùng.
Những dữ liệu trên thông thường được lưu trữ trong Object hay Array, chính vì thế kể từ ES5 tung ra bộ ba map, filter và reduce để giúp chúng ta xử lý dữ liệu mảng một cách hữu ích hơn rất nhiều.
reduce là hàm nâng cao nên độ khó cao hơn khi bắt đầu. Tuy nhiên bạn có thể nhanh chóng sử dụng thành thạo chúng thông qua một vài ví dụ tại Reduce Syntax.
Với accumulator là giá trị tích lũy, giá trị tích lũy ban đầu sẽ bằng initialValue, currentValue là phần tử trong mảng ở lần lặp hiện tại, tương tự currentIndex là vị trí phần tử và array là mảng ban đầu. initialValue là giá trị khởi tạo.
Đầu ra của map và filter luôn luôn là một mảng, chính vì thế nếu thấy chúng xuất hiện thì chắc chắn đầu ra phải là một thứ “có thể lặp”. Điều này rất quan trọng, vì nó giúp tạo nên tính cam kết và khả năng liền mạch trong khi kết hợp nhiều hàm với nhau khi xử lý.
const arr = [];
arr.map().filter().map()...
Bạn có thể dùng ngay filter ngay sau map mà không lo lắng rằng kết quả của map trả về null, undefined… bất kì thứ gì đó mà “không thể lặp” qua.
Có rất nhiều trường hợp bạn cần dùng đến bộ 3 này, khi nào cần biến thêm/thắt hay thay đổi thuộc tính trong mảng thì dùng map, khi nào cần lọc dữ liệu trong mảng thì dùng filter còn khi nào muốn trả về một kết quả cần tổng hợp từ mảng thì dùng reduce.
Tóm lại là khi làm việc với dữ liệu là mảng thì hãy nghĩ đến bộ ba này đầu tiên, dần dần bạn sẽ biết cách dùng thành thạo. Điều này giúp bạn viết ra đoạn mã ngắn gọn hơn.
Một số trường hợp tiêu biểu mình sử dụng là trong xử lý dữ liệu nhận từ API.
Dữ liệu nhận từ API về là dữ liệu “thô”, gọi như thế bởi vì cần qua một vài bước xử lý nữa thì mới thành dữ liệu “chuẩn” để hiển thị lên trang web được, lúc đó chúng ta có thể sử dụng map, filter hoặc reduce để thêm, bớt, sửa đổi hay lọc dữ liệu trong mảng.
Thứ hai là dữ liệu được lấy ra trong cơ sở dữ liệu (database). Đây là dữ liệu được tối ưu hóa để lưu trữ vì thế trong lúc xử lý những logic bạn vẫn cần phải thêm thắt nhiều nữa mới ra dữ liệu chuẩn. Một ví dụ tiêu biểu cho trường hợp này là định dạng lại dữ liệu trả về cho client thông qua API.
Thứ ba là dữ liệu tạo ra để phục vụ cho mục đích xử lý logic. Loại dữ liệu này được tạo ra trong quá trình xử lý logic của bài toán nào đó. Trong quá trình tính toán thì việc biến đổi dữ liệu có thể xảy ra thường xuyên. Việc vận dụng map, filter và reduce thành thạo có thể giúp bạn xử lý vấn đề với số lượng mã ít hơn.
Ngoài ra, có rất nhiều hàm mà Javascript cung cấp khi thao tác với mảng như find, findIndex, indexOf… Những hàm này hoàn toàn có thể thay thế bởi bộ ba map, filter và reduce. Tuy nhiên nếu có thể hãy sử dụng chúng để tăng tính minh bạch cho mã.
Tổng kết
Bộ ba map, filter và reduce là trợ thủ đắc lực khi làm việc với dữ liệu mảng. Biết cách vận dụng chúng phù hợp giúp bạn giảm được thời gian viết mã đồng thời giúp mã ngắn gọn hơn.
Có nên xin việc vào cuối năm? Cuối năm thường được coi là thời điểm khó khăn để đi tìm việc làm, vì đa số các công ty thường đang rất bận rộn để hoàn thành những việc cũ và lên kế hoạch cho năm mới. Thế nhưng, quan điểm này không hoàn toàn đúng, vẫn có những doanh nghiệp sẵn sàng tiếp nhận hồ sơ xin việc mới nếu bạn phù hợp với vị trí họ đang tuyển.
Vậy, việc tìm kiếm việc làm vào cuối năm sẽ mang lại cơ hội hay chỉ là một rủi ro khó lường? Bài viết sẽ cung cấp cái nhìn chi tiết về vấn đề này, đồng thời chia sẻ chiến lược để xin việc cuối năm một cách hiệu quả.
Cơ hội tuyệt vời khi tìm việc làm cuối năm
Cuối năm là thời điểm nhiều công ty tuyển dụng để bổ sung nhân lực cho năm mới. Đây là thời điểm “vàng” cho người lao động tìm việc làm vì những lý do sau:
Kế hoạch cho năm mới: Cuối năm, các công ty thường bắt đầu lên kế hoạch cho năm tiếp theo. Điều này tạo ra một cơ hội tuyệt vời cho ứng viên mới, vì họ là những nhân tài mà các công ty đang tìm kiếm để cùng nhau đạt được mục tiêu trong năm sắp tới.
Số ứng viên apply siêu ít: Đây là một trong những cơ hội lớn nhất khi tìm việc làm cuối năm. Theo một khảo sát, chỉ có khoảng 20% người lao động tìm việc làm vào cuối năm. Điều này có nghĩa là số ứng viên cho mỗi vị trí sẽ ít hơn so với các thời điểm khác trong năm, giúp người lao động tăng cơ hội được tuyển dụng.
Khoản ngân sách dành riêng: Các doanh nghiệp hiểu rõ tâm lý của những người đang làm việc là không muốn chuyển việc vào cuối năm để không mất lương thưởng. Do đó, nhiều công ty đã dành ngân sách riêng để bù đắp cho những khoản thưởng mà bạn sẽ không nhận được từ công ty cũ.
Được chờ đợi đến khi bàn giao công việc: Nếu bạn thật sự rất thích hợp với công ty mới, thì nhà tuyển dụng cũng sẽ sẵn sàng chờ bạn đến khi bạn bàn giao xong, đủ thời gian an toàn cho bạn nhận các khoản thưởng từ công ty cũ. Điều này sẽ giúp bạn có thể chuyển việc mà không phải lo lắng về vấn đề tiền bạc.
Bên cạnh những cơ hội trên thì việc xin việc cuối năm cũng tiềm tàng nhiều rủi ro, dưới đây là một số rủi ro bạn cần lưu ý:
Chất lượng công việc không đảm bảo
Một số công ty tăng cường tuyển dụng vào thời điểm này để đáp ứng nhu cầu tạm thời và áp lực sản xuất trong mùa lễ tết. Điều này có thể dẫn đến việc công việc không phù hợp với mục tiêu nghề nghiệp của ứng viên.
Ví dụ, một công ty bán lẻ có thể cần tuyển thêm nhân viên bán hàng thời vụ để phục vụ nhu cầu mua sắm tăng cao trong dịp Tết. Tuy nhiên, công việc này có thể chỉ kéo dài trong vài tháng và mức lương, chế độ đãi ngộ cũng có thể không hấp dẫn như công việc chính thức.
Cơ hội được gọi phỏng vấn thấp
Vào cuối năm, do nhu cầu không quá nhiều, nhà tuyển dụng có thể sẽ khó tính hơn trong việc lựa chọn ứng viên phỏng vấn. Điều này có thể làm cho cơ hội bạn được gọi phỏng vấn trở nên thấp hơn.
Nhà tuyển dụng dành ít thời gian hơn cho ứng viên
Ở thời điểm cuối năm, công việc thường đang trong giai đoạn bận rộn, với nhiều nhiệm vụ như tổng kết kết quả, lập kế hoạch cho năm sau,… Điều này có thể làm cho thời gian của các nhà tuyển dụng bị ít đi và họ thường không có thời gian để xem xét quá nhiều hồ sơ ứng viên.
Để tìm kiếm việc làm vào cuối năm một cách hiệu quả, có những bí quyết quan trọng mà bạn nên áp dụng:
Luôn chủ động tìm việc làm mới
Dù là bất kỳ thời điểm nào trong năm, sự chủ động và quyết tâm là chìa khóa quan trọng trong việc tìm kiếm việc làm. Cuối năm, cơ hội có thể giảm do mức đãi ngộ hấp dẫn không nhiều, bạn càng cần phải nhanh chóng nắm bắt cơ hội trước sự cạnh tranh cao từ các ứng viên khác. Tìm kiếm trên các trang mạng xã hội như Facebook, Linkedin cũng là lựa chọn đáng xem xét.
Hãy chủ động tìm kiếm thông tin tuyển dụng trên các trang web tuyển dụng, mạng xã hội hoặc thông qua các mối quan hệ của mình. Khi tìm thấy một vị trí phù hợp, hãy nhanh chóng nộp hồ sơ để tăng cơ hội được tuyển dụng.
Có định hướng rõ ràng vị trí bạn muốn ứng tuyển
Để tăng cơ hội thành công, hãy xác định rõ mục tiêu nghề nghiệp và định hình cụ thể về vị trí mà bạn muốn ứng tuyển. Hiểu rõ về công việc, kỹ năng yêu cầu, và xác định mục tiêu sẽ giúp bạn tự tin và chuẩn bị tốt hơn cho quá trình ứng tuyển.
Chuẩn bị thật tốt CV và các kỹ năng công việc liên quan
Việc chuẩn bị CV là một yếu tố quan trọng trong quá trình xin việc. Đảm bảo rằng CV của bạn chứa đủ thông tin cần thiết như thông tin cá nhân, trình độ học vấn, kinh nghiệm làm việc, và kỹ năng là một bước quan trọng để gia tăng cơ hội được phỏng vấn thành công. Thiết kế CV cũng đóng vai trò quan trọng, cần phải bắt mắt, dễ đọc và phản ánh cá tính của bạn. Bạn có thể sử dụng công cụ hỗ trợ làm CV online của TopDev giúp bạn nhanh chóng có một CV chuẩn developer, chuyên nghiệp và tiện lợi.
Ngoài ra, đối với kỹ năng chuyên môn, chúng là không thể thiếu khi bạn muốn ứng tuyển vào các vị trí công việc. Không chỉ cần quan tâm đến kỹ năng trực tiếp liên quan đến công việc mà bạn đang nắm giữ, mà còn cần chú ý đến kỹ năng mềm như giao tiếp, làm việc nhóm, và tin học văn phòng. Đây là những yếu tố quan trọng mà nhiều nhà tuyển dụng đánh giá cao ở ứng viên.
Qua bài viết này, TopDev đã giúp bạn trả lời cho câu hỏi có nên xin việc vào cuối năm. Chúc bạn sớm tìm được công việc ưng ý trong dịp cuối năm này. Đừng quên truy cập TopDev để tìm kiếm các cơ hội việc làm IT hấp dẫn bạn nhé!
Node.js hiện nay đang là một nền tảng thực sự hấp dẫn chính vì thế ngày càng có nhiều người theo học nó. Thống kê của Stackoverflow cho thấy năm 2021 Javascript (JS) dẫn đầu trong bảng xếp hạng công nghệ phổ biến trên nền tảng của họ và Node.js đứng ở vị trí thứ 6 xếp sau Java. Điều này cho thấy sức nóng của Javascript cũng như Node.js chưa hề dừng lại.
Nhiều công ty tuyển dụng Node, nhiều sản phẩm hay công cụ bằng Node ra đời cũng cho thấy mức độ quan tâm rất lớn của các nhà tuyển dụng đối với nó. Một công nghệ khi càng phổ biến, cộng đồng càng lớn thì độ phủ sóng cũng như mức độ tin cậy sẽ càng cao.
Nếu là một lập trình viên FE và làm việc với JS là một lợi thế rất lớn để chuyển qua vị trí lập trình Node. Bởi suy cho cùng Node là môi trường chạy mã Javascript, chỉ khác ở chỗ thay vì tương tác với DOM trên trình duyệt thì ta dùng JS để tương tác với file, cơ sở dữ liệu… nhiều hơn mà thôi.
Nhưng với những người mới bắt đầu lập trình chưa có nhiều kinh nghiệm lẫn kiến thức, hay lập trình viên FE muốn thử sức với BE thì nên tiếp cận như thế nào? Bài viết ngày hôm nay tôi xin phép chia sẻ kinh nghiệm của tôi cho những ai đang trên đường chinh phục Node, tuy chỉ là quan điểm cá nhân nhưng hy vọng sẽ giúp ích cho mọi người.
Cần hiểu rõ bản chất của Node.js
Node.js không phải là một ngôn ngữ, nó là một môi trường cho phép chạy mã Javascript “bên ngoài trình duyệt” và hơn thế nữa. Thử tưởng tượng nếu trình duyệt cho phép bạn chạy mã JS thì Node.js cho phép bạn chạy mã JS trên máy chủ. Có thể nói Node.js ở đây có vai trò tương đương như trình duyệt. Vì thế để học Node.js tối thiểu bạn cần có kiến thức về JS.
Một điều thuận lợi là tài liệu về JS rất nhiều, cộng đồng phát triển JS cũng rất đông nên bạn không cần phải lo lắng quá nhiều về việc tìm kiếm sự trợ giúp. Đơn giản với một từ khoá “tự học javascript/node.js” đã có rất nhiều những video, bài viết, khoá học… rồi.
Lập trình BE sẽ có phần khác với lập trình FE. Lập trình BE bạn sẽ phải tương tác với file nhiều hơn (đọc/ghi dữ liệu), tương tác với cơ sở dữ liệu (database) và nhiều logic xử lý dữ liệu rất khác với FE. Bạn chỉ có thể biết nhiều hơn bằng cách học và làm. Học đến đâu thì làm đến đó, có thể ngay từ đầu code không được tốt nhưng qua thời gian rèn luyện sẽ dần được cải thiện.
Một người làm Back-end (BE) lâu năm bất kể là ngôn ngữ nào thì đối với họ đó là một điểm cộng rất lớn vì họ đã có sẵn tư duy lập trình, họ tự biết cách để chuyển những điều đó sang làm việc với Node.js. Có chăng khó khăn ban đầu là sự khác biệt giữ cú pháp, vấn đề này hoàn toàn có thể khắc phục được theo thời gian. Ngoài ra mỗi ngôn ngữ luôn có những tính năng đặc trưng nên cần bỏ thêm thời gian để nhuần nhuyễn những điều đó.
Một người làm Front-end (FE) cũng có thể chuyển sang BE bằng cách tiếp xúc với một dự án BE sẵn có. Chỉ cần trình bày cấu trúc dự án rồi giải thích cách hoạt động của dự án thì đã có thể làm theo để tạo những chức năng đơn giản đến phức tạp. Đây là một cách tiếp cận nhanh chóng thế nhưng vẫn cần phải bỏ ra thời gian để nghiên cứu thêm kiến thức về BE, nếu không rất có thể bạn sẽ bị hổng những kiến thức nền tảng quan trọng.
Còn đối với những người chưa hề có kinh nghiệp lập trình thì sao? Có thể họ sẽ tìm kiếm các khoá học về Node.js. Thời đại bùng nổ công nghệ thông tin việc tìm kiếm các nguồn tài nguyên học tập không mấy khó khăn, các chủ đề nói về node rất là nhiều, miễn phí và trả phí đều có. Nếu tìm được một người “thầy” hỗ trợ thì rất tốt, họ sẽ cho bạn những hướng đi để đến đích nhanh hơn. Khi gặp vấn đề họ cũng là người gỡ rối. Nhưng họ không thể mãi chỉ cho bạn từng li từng tí mà bạn cần phải tự thân vận động thì mới tiến bộ được.
Bằng cách nào đi nữa thì nổ lực học hỏi của bạn vẫn là quan trọng nhất. Nhiều bài viết, bài giảng đi theo một cấu trúc nhất định, nếu chỉ học ở trong đó chưa chắc đã là đủ. Kiến thức của lập trình rất nhiều và chúng móc nối với nhau. Liên tục vượt ra vùng an toàn để học những kiến thức mới, đừng để bị thụ động vấp mới bắt đầu học. Nên nhớ bản thân các công nghệ nói chung hay Node.js nói riêng đều được cập nhật hàng ngày, kiến thức bạn học hôm nay có thể ngày mai đã bị lỗi thời.
Lời khuyên cho lộ trình học tập
Trước tiên hãy đầu tư thời gian để học kiến thức cơ bản về Javascript, đó là cơ sở để học tiếp các kiến thức nâng cao sau này.
Có một trang tài liệu về Javascript khá đầy đủ và chi tiết mà không cần phải tìm kiếm đâu xa là Mozila. Có thể nói Mozila là một trong những ông lớn trong làng trình duyệt đời đầu của giới web thế nên việc Mozila cung cấp tài liệu về Javascript là hết sức uy tín.
Mozila cung cấp đầy đủ và chi tiết các bài viết về Javascript từ cơ bản đến nâng cao. Bạn sẽ được học từ các câu lệnh cơ bản của JS, về Object, bất đồng bộ (asynchronous) đến đi sâu vào các thành phần cấu tạo của Javascript như kiểu dữ liệu, Closure và Event loop… Các tài liệu sẽ có tính tham chiếu (reference) đến nhau nên hãy thận trọng trong khi tìm kiểu cẩn thận bị quá tải. Lời khuyên của tôi là hãy đọc tài liệu tham chiếu nhiều nhất nếu có thể để hiểu rõ hơn về các miền kiến thức liên quan đến nhau.
Có một số người sẽ thắc mắc đọc nhiều làm gì vì chưa chắc đã dùng hết. Đúng vậy, kiến thức về JS rất nhiều chưa chắc chúng ta cần phải áp dụng hết. Tuy nhiên bạn vẫn nên đọc để có góc nhìn bao quát, xem nó có gì để sau này tiện nghiên cứu hoặc gặp một bài viết hay vấn đề nào đó mà có liên quan thì sẽ biết cách tìm kiếm tài liệu.
Sau khi học xong JS, bước tiếp theo là học Node.js. Node.js là môi trường chạy mã JS nên nếu nắm vững JS thì không còn là vấn đề. Nodejs.dev là một trang dạy cách sử dụng Node.js theo phong cách Step-By-Step mà đơn giản để bắt đầu.
Nếu cảm thấy quá khó hãy thử tìm một “starter project”. Đó là những khung project được tạo ra cho bạn bắt đầu viết mã. Xây dựng dự án theo khung và dành thời gian tìm hiểu cách hoạt động của nó. Làm đến khi tự dựng được một khung mà không cần dựa vào ai cả.
Học không thể không đi đôi với hành. Trong quá trình học nên tự tạo cho mình một dự án để vừa học vừa làm. Làm nhiều thì sẽ hình thành kinh nghiệm, mà kinh nghiệm càng dày dặn thì chắc chắn bạn sẽ chinh phục Node.js vào một ngày không xa.
Một ngày nào đó bạn sẽ nhận ra học mỗi Node.js là chưa đủ để trở thành một BE Developer. Còn rất nhiều thứ mà bạn cần khám phá và bạn cần có một lộ trình chi tiết. Roadmap.sh Backend là một lộ trình đầy đủ để giúp bạn trở thành một lập trình viên BE chuyên nghiệp.
Tại đây bạn sẽ được cung cấp một lộ trình kiến thức cần phải học để đạt được mục đích cuối cùng là trở thành một BE Developer. Có rất nhiều thứ được nêu ra trong ảnh có thể khiến bạn bị choáng ngợp. Nhưng hãy bình tĩnh, không ai có thể trở thành chuyên gia trong ngày một ngày hai. Hãy từ từ tìm hiểu từng thứ một, như tôi đã nói không chắc là bạn phải biết cách áp dụng hết kiến thức đã học mà cần phải biết đến với thế giới BE thì có những gì. Để sau này gặp phải vấn đề còn biết cách tìm kiếm để giải quyết.
Cuối cùng, sự quyết tâm của bạn là tất cả, thành hay bại là do bạn tự quyết. Con đường học hành không bao giờ là dễ nhưng quyết tâm đủ lớn thì sớm muộn gì bạn cũng gặt hái được thành công.
Kết luận
Nhìn chung Javascript nói chung hay Node.js nói riêng không quá khó để bắt đầu. Những kiến thức cơ bản của chúng rất nhẹ nhàng và bạn có thể làm quen rất nhanh. Đó cũng là nền tảng để bạn tiếp cận với các kiến thức nâng cao sau này. Hãy nhớ muốn nhanh thì học cơ bản còn muốn giỏi thì phải học nâng cao.
Tự học là một quá trình dài và đòi hỏi sự kiên nhẫn. Tìm được một người “thầy” tốt là rất đáng trân trọng, còn không thì đường đi cũng chỉ hơi chông gai một tí. Nhưng bù lại bạn sẽ học cách làm chủ bản thân. Bạn có thể bỏ cuộc bất kì lúc nào nhưng sau những lần đó chỉ làm bạn quyết tâm hơn. Nếu vấp ngã hãy tự biết cách đứng dậy.
Bài viết được sự cho phép bởi tác giả Bùi Đoàn Chung
Cuối năm là thời điểm các công ty đưa ra các dự báo về các xu hướng hay những việc cần ưu tiên, tập trung trong nhân sự nói chung và các ngành khác nói riêng. Đáng chú ý, một số công ty đưa ra những báo cáo giá trị trên cơ sở khảo sát và nghiên cứu kỹ lưỡng từ khách hàng trong nhiều năm.
Với lịch sử gần 100 năm của ngành Nhân sự toàn cầu thì đó là những việc có thể xảy ra, thậm chí xảy ra thường xuyên. Ngày 26/9/2023, SHRM (hiệp hội Nhân sự Hoa Kỳ) kỉ niệm 75 năm thành lập. Hay thuật ngữ HRBP (Human Resources Business Partner) cũng đã được xuất hiện từ những năm 1997 (tương đương với 26 năm). Từ đó cho thấy rằng, so với thế giới, lịch sử ngành Nhân sự Việt Nam vẫn còn rất non trẻ và cần phải có thời gian để tiếp nhận, chuyển hoá và phát triển sao cho phù hợp với đặc điểm tình hình văn hoá, lịch sử, kinh tế và bối cảnh Việt Nam.
Bước sang năm 2024, tình hình kinh tế vẫn đang có nhiều nguy cơ tiềm ẩn và những vấn đề chưa được tháo gỡ. Các vấn đề về Nhân sự cũng đã và đang được bàn luận với các HR Trend, TA Trend, L&D Trend… với rất nhiều báo cáo và rất nhiều nguồn tham khảo. Nhưng điều cơ bản nhất mà mọi người có thể thấy là những việc này thường sẽ có vòng lặp lại (hình bên dưới là tổng hợp các HR ưu tiên 2021 từ nhiều nguồn khác nhau).
2021 HR PRIORITIES: A SUMMARIZED VIEW OF NINE SOURCES | BRIAN HEGER
Ở mục 5, Chung sẽ phân tích các báo cáo của Gartner từ 2021-2024 để mọi người có thể thấy rõ hơn những ưu tiên mà HR cần tập trung đối với tổ chức.
Do vậy, khi “đu trend” về Nhân sự có thể cần:
1. Am hiểu bản chất của các hoạt động Nhân sự tại Công ty để áp dụng cho đủ, đúng và quan trọng nhất là phù hợp (nguồn lực, thời gian, chi phí…).
Đôi khi, không phải cứ chạy theo cái mới, cái tiên tiến là tốt nhất bởi nó chỉ là hiện tượng, là sự nhất thời… không phải là các hoạt động để có thể tịnh tiến và thay đổi hoàn toàn bản chất công việc, lịch sử của ngành. Nhiều nơi đưa ra gần 20 xu hướng nhưng không rõ cái nào là quan trọng, là ưu tiên và buộc người đọc phải thật sự am hiểu mới có thể tận dụng được. Và cũng chỉ nên theo dõi các báo cáo từ các tổ chức lớn, uy tín.
2. Biết được đâu là các ưu tiên thật sự, các vấn đề cần cải thiện và cần bắt buộc phải thay đổi.
Ví dụ là công nghệ AI, là công nghệ giúp giải phóng thời gian làm việc hành chính của con người, là số liệu, là tư duy phân tích và sự sáng tạo… Như Bill Gates đã nói, trong khoảng 5 năm nữa, mỗi người đều sẽ có trợ lý AI hoặc theo như báo cáo của Diễn đàn kinh tế thế giới, đến năm 2027, 43% công việc của con người sẽ do máy móc đảm nhận. Hoặc tỷ lệ robot trên 10,000 công nhân của Trung Quốc hiện là 322, trong khi con số này ở Mỹ là 274. Và Hàn Quốc hiện đứng đứng đầu với 1.000 robot.
Hoặc các ưu tiên về Nhân sự không còn là tuyển người ồ ạt nữa mà là giữ chân, nâng cao hiệu quả nguồn lực, phát triển bền vững năng lực tổ chức… trên nền tảng văn hoá doanh nghiệp, thiết lập và duy trì mối quan hệ hiệu quả với các stakeholder (bên liên quan) trong và ngoài doanh nghiệp.
3. Các báo cáo thường là xu hướng quốc tế, xảy ra ngoài lãnh thổ Việt Nam.
Như đã phân tích ở trên, bối cảnh kinh tế Việt Nam, điều kiện sản xuất, phương thức sản xuất và cơ sở hạ tầng kỹ thuật, kể cả là kiến trúc thượng tầng (tư duy kinh tế thị trường…) còn nhiều hạn chế. Chưa kể đứng với các góc độ văn hoá còn nhiều vấn đề cần nghiên cứu kỹ lưỡng để áp dụng. Không phải cứ thẳng như “Tây” là được mà văn hoá Á Đông đề cao tình cảm giữa người với người. Không phải cứ áp dụng là được ngay mà cần rất nhiều thời gian. Cho nên, không phải cái gì mới là đưa vào, là đu trend rồi bảo là tốt thì không đúng. Cần phải hết sức thực tế, am hiểu doanh nghiệp, các nguồn lực và hoạt động Nhân sự trọng yếu. Giống như slogan (khẩu hiệu) của HSBC: Ngân hàng toàn cầu, am hiểu địa phương.
4. Cần theo dõi và đánh giá kỹ các báo cáo qua nhiều năm thì mới chính xác.
Nên tập trung nghiên cứu kỹ các báo cáo của một vài công ty lớn hoặc các tổ chức lớn rồi sau đó đối chiếu với tổ chức của mình để xem nó có thật sự đang xảy ra, hay chỉ là một hiện tượng nhất thời. Các ảnh hưởng về kinh tế thế giới đối với Việt Nam thường phải mất 3-6 tháng mới có các tác động rõ rệt, mạnh mẽ.
Còn trong Nhân sự, phần lớn được thừa hưởng từ các công ty toàn cầu, có vốn đầu tư nước ngoài tại Việt Nam để áp dụng vào Local (địa phương) sao cho phù hợp. Nhờ đó họ luôn đi trước, đón đầu và là người có thể tạo ra xu hướng về phúc lợi, công nghệ… như trong các cuộc khảo sát lương hàng năm của Mercer và Talentnet có nêu. Còn các công ty thuần Việt Nam thì những điều này cần nên tính toán cụ thể cũng như áp dụng sao cho phù hợp chứ không phải máy móc.
5. Để hiểu rõ hơn điều này, chúng ta hãy cùng phân tích các ưu tiên về Nhân sự qua các năm của Gartner.
Nguyên tắc của sự phân tích này đều dựa trên bối cảnh và tình hình thực tế cũng như kiểm nghiệm lại những thay đổi trong suốt 4 năm vừa qua để có thể hiểu được kỹ hơn, sâu sắc hơn về những dự báo đó. Các báo cáo này đều chỉ ra được số lượng người tham gia khảo sát (mẫu = n) để đảm bảo độ tin cậy cũng như uy tín về kết quả phản hồi.
Top 5 Priorities for HR Leader 2021 – Gartner
Năm 2021 là tâm điểm của đại dịch Covid nên cần các ưu tiên liên quan đến sự thay đổi về năng lực, kỹ năng quan trọng nhất (68%) nhằm thích ứng với những sự thay đổi trong thời đại VUCA thời điểm đó. Các tổ chức cũng cần có sự thay đổi và thích ứng nhanh với những biến động từ bên ngoài nên cần ưu tiên (46%) về thiết kế lại tổ chức và quản lý sự thay đổi. Bên cạnh đó, đội ngũ quản trị và năng lực điều hành vẫn cần được ưu tiên (chiếm tới 44%).
Song song với nó là một hình thức chuyển đổi mô hình làm việc từ On-site (tại chỗ) qua hình thức làm việc Remote (từ xa) hoặc kết hợp (Hybrid) nhằm ứng phó và thích nghi với đại dịch (phần lớn là do không thể đi lại được…). Lúc này, trải nghiệm nhân viên cũng là điều cần ưu tiên vì cách thức làm việc thay đổi, tương tác trong công việc thay đổi, onboarding cũng được thực hiện từ xa… Ưu tiên này năm 2022 không còn trong top 5, nhưng đến 2023 thì nó quay trở lại trong Top 3.
Top 5 Priorities for HR Leader 2022 – Gartner
Bước sang 2022, các ưu tiên không có nhiều biến động với Top 3 vẫn là những điều đã được dự báo trước từ 2021. Chỉ có đa dạng, công bằng và hội nhập (DEI) được đưa vào ưu tiên thứ 5 vì lúc này các tổ chức bắt đầu nhận thức rõ ràng hơn về sự cần thiết phải cải thiện DEI và xem đó là một phần quan trọng của chiến lược tổng thể trước các yêu cầu về nguồn lực làm việc và sự thâm nhập sâu và rộng của lực lượng lao động mới – Gen Z.
Top 5 Priorities for HR Leader 2023 – Gartner
Vào năm ngoái, (2023), hiệu quả quản lý và lãnh đạo được coi trọng hơn cả (60%) trong khi thiết kế tổ chức và quản trị sự thay đổi vẫn hiện diện và vẫn là các ưu tiên quan trọng. Từ đó cho thấy, xác ưu tiên không thể dễ thay đổi trong một thời gian ngắn mà chẳng qua là đưa lên hoặc đặt lên trên trong từng thời điểm là nhiều hay ít.
Trước làn sóng Great Resignation (từ chức hàng loạt) năm 2021 và 2022 thì doanh nghiệp buộc phải tuyển dụng thay thế hoặc một phần là khó khăn chung của kinh tế toàn cầu nên sẽ dẫn đến các nhu cầu thay thế nguồn lao động hiện tại. Từ đó, ưu tiên tuyển dụng (Recruiting) đã trở thành ưu tiên thứ 4 với 46%. Và thực tế, năm 2023 cũng là năm tuyển nhiều nhưng không mấy hiệu quả vì có sự chênh lệnh về các yêu cầu, khả năng đáp ứng của cả hai bên.
Như đã dự đoán, 2024 là thời điểm còn nhiều khó khăn về kinh tế vĩ mô, các điều kiện khác còn chưa rõ tín hiệu. Các chỉ số kinh tế Mỹ, toàn cầu chưa có nhiều dấu hiệu tích cực và lạc quan. Do vậy, các dự báo cũng cần thận trọng và cân nhắc kỹ trong bối cảnh tiềm ẩn nhiều rủi ro, khó đoán và bất ngờ.
Top 5 Priorities for HR Leader 2024 – Gartner
Vì thế, Gartner họ tiếp tục đưa đội ngũ quản lý, lãnh đạo vào ưu tiên số một (75%), liên quan đến vai trò, trách nhiệm mới. Cũng trong năm này, Văn hoá tổ chức, công nghệ HR và việc quản trị sự nghiệp nhân viên cùng với sự linh hoạt nội bộ là những ưu tiên bên cạnh việc quản trị sự thay đổi mà năm nào cũng có.
Top 5 Priorities for HR Leader 2024 – Gartner
Từ đó chúng ta có thể thấy và kết luận rằng, bản chất HR không thay đổi nhiều mà chỉ là sự ưu tiên nhất thời trong từng thời điểm. Những việc thuộc về bản chất sẽ không thay đổi quá nhiều và nó vẫn luôn hiện diện đều đặn. Vì thế, việc đu trend cần có nền tảng và sự tìm hiểu kỹ lưỡng để áp dụng.
6. Các HR Việt Nam sẽ cần ứng phó như thế nào trong năm 2024
Kinh tế Vĩ mô và các điều kiện kinh tế, chính trị, văn hoá đang rất khó đoán. Chắc chắn tình hình không thể nào ấm lên ngay được và dù những người nào lạc quan đến đâu cũng cần cẩn trọng và không ngừng lắng nghe thị trường, quan sát và phân tích thông tin đa chiều để nhanh chóng thích hứng với những thay đổi sắp tới.
Việc của HR đôi khi không phải là làm những gì đó phải thật mới, thật khác biệt mới thành công mà là linh hoạt, uyển chuyển để giữ những gì đang tốt, những gì cần cải thiện hoặc có thể làm tốt hơn thì mới tập trung vào để làm. Mỗi năm, nhiệm vụ của Nhân sự chỉ là thay đổi hoặc thực hiện một số dự án lớn, chiến lược trọng tâm chứ không phải là làm quá nhiều hay điều gì cũng muốn làm.
Đây là một số gợi ý (theo cá nhân) về các hoạt động ưu tiên của Nhân sự Việt Nam trong 2024:
Nâng cao năng lực và hiệu quả điều hành hoạt động của đội ngũ quản lý và điều hành doanh nghiệp. Trong đó, đặc biệt cân ưu tiên đội ngũ quản lý cấp trung với nhiều năng lực và toàn diện hơn.
Xây dựng văn hoá tổ chức và các chuẩn mực hành vi nhằm tăng cường sự hài lòng của khách hàng bên trong lẫn bên ngoài (Stakeholders).
Ứng dụng công nghệ vào và thúc đẩy quá trình chuyển đổi số trong Công ty, HR.
Xây dựng một không gian làm việc số tốt hơn (Digital Workspace) thay vì chì là trải nghiệm nhân viên.
Cải thiện năng lực của bộ phận tuyển dụng, thu hút nhân tài nhằm tìm kiếm người phù hợp cho tổ chức.
Xây dựng và quản trị nghề nghiệp của nhân viên trong tổ chức và duy trì đội ngũ. Ưu tiên trong việc giữ chân người tài nội bộ.
DEI vẫn cần ưu tiên và nhìn nhận dưới góc độ tích cực hơn
L&D vẫn là những vấn đề cần ưu tiên về trong việc nâng cao năng lực bền vững của tổ chức
Doanh nghiệp và Marketing đang ưu tiên các hoạt động về Phát triển bền vững (ESG) và trách nhiệm xã hội. Cho nên, bộ phận Nhân sự cũng nên nhạy bén và cùng ưu tiên thực hiện các hoạt động này.
Nâng cao năng lực đội ngũ làm Nhân sự trong doanh nghiệp về khả năng lãnh đạo, định hướng và dẫn dắt sự thay đổi trong tổ chức (Chuyển đổi số, tái cấu trúc, văn hoá…).
Chúc mọi người tuần mới nhiều niềm vui và làm việc hiệu quả.
(Bài viết được tổng hợp thông tin từ nhiều nguồn: Vnexpress, Gartner, các thông tin về kinh tế, chính trị… khác của Việt Nam).
Trong quá trình phát triển ứng dụng hoặc đang vận hành nó trong môi trường production sẽ có lúc phát sinh ra nhiều vấn đề mà chúng ta không lường trước được. Khi ứng dụng được tung ra thị trường, chắc chắn lượng người dùng sẽ nhiều lên từng ngày, từ đó tạo ra sự đa dạng về hành vi lẫn dữ liệu người dùng thu thập được. Chúng kết hợp với nhau tạo ra nhiều trường hợp phát sinh lỗi mà quá trình kiểm thử trước đó không hề phát hiện ra.
Một trong số đó có thể kể đến như là tốc độ phản hồi API bỗng trở nên chậm chạp mặc dù lượng người sử dụng là không nhiều. Khi kiểm tra lại tính năng gây ra tình trạng đó, có vẻ bạn phát hiện ra hoặc đang nghi ngờ một hàm nào đó chiếm lượng thời gian xử lý lớn. Để chắc chắn là mình đúng thì tất nhiên phải đo được xem cụ thể là hàm đó tốn bao nhiêu thời gian để xử lý.
Có nhiều cách để biết hàm nào đang gây chậm hệ thống. Các ứng dụng APM với khả năng kiểm soát và chuẩn đoán ứng dụng của bạn rất tốt để kịp thời cảnh báo vấn đề. Một vài dịch vụ APM có tính năng thu thập hoặc cảnh báo theo thời gian thực nếu như chúng phát hiện ra một hàm nào đó đang mất quá nhiều thời gian để thực hiện, hoặc thời gian phản hồi của API là quá lâu. Nhưng đổi lại, giá thành của chúng không hề rẻ, hoặc nếu có miễn phí thì nhiều hạn chế sẽ phát sinh. Vì lẽ đó không phải ai cũng có điều kiện sử dụng APM, đó là lúc bạn cần đến một cách “xôi thịt” hơn nhưng lại hoàn toàn miễn phí mà ai cũng có thể tiếp cận được.
Date.now(), console.time(), performance.now(), process.hrtime()… là các hàm thường hay được sử dụng để đo khoảng thời gian mà hàm thực hiện. Về cơ bản, chỉ cần kẹp giữa hàm cần đo bằng chúng thì sẽ tính được thời gian thực thi.
Ví dụ sau dử dụng Date để tính thời gian thực thi bằng cách trừ hai khoảng thời gian trước và sau khi hàm được chạy.
console.time không mang lại độ chính xác cao. Nếu muốn độ chính xác theo phần nghìn giây, hãy sử dụng hàm mạnh mẽ hơn với performance.now() hoặc process.hrtime() nếu sử dụng Node.js.
Sau khi biết cách đo thời gian, một vấn đề khác nảy sinh đó chính là cần phải đặt hàm cần đo kẹp giữa hai hàm tính thời gian. Điều này gây ra sự xáo trộn mã trong dự án của bạn, phải sửa nhiều hơn, mã trở nên cồng kềnh hơn và khó kiểm soát.
Ý tưởng lúc này là viết một hàm để gói gọn tính năng đo thời gian thực thi. Đầu vào là một hàm cần tính còn đầu ra là kết quả của hàm đó cùng với thời gian thực thi. Một hàm gì đó trông giống như dưới đây:
calcExecuteTime(functionToBeMeasured);
functionToBeMeasured đôi khi là hàm có cả tham số, vì thế hãy sửa lại một chút.
Bạn cũng có thể sửa lại hàm tùy vào mục đích, ví dụ thay vì console.log thì hãy logging lại thời gian thực hiện hàm vào đâu đó. Hoặc nâng cấp hàm lên ví dụ như thêm một cờ bật/tắt tính năng tính thời gian.
Trong bài viết trước, chúng ta đã tìm hiểu big data là gì? Tầm quan trọng và cần phải chuẩn bị những kiến thức gì trước khi bắt đầu học big data.
Hiểu đơn giản, Big data là dữ liệu quá lớn và phức tạp mà không thể quản lý và xử lý bằng các công cụ truyền thống như MySQL, SQL server.v.v… Big data yêu cầu một bộ công cụ và kỹ thuật đặc biệt để xử lý đống dữ liệu khổng lồ đó.
Có một số công cụ khá nổi tiếng ngoài thị trường như Hadoop (hỗ trợ lưu trữ và xử lý big data), Spark (giúp tính toán dữ liệu ngay trong bộ nhớ), Storm, MongoDB… Mỗi công cụ lại có tác dụng và chức năng khác nhau để hỗ trợ phân tích big data.
Trong mỗi lĩnh vực đều có một yếu tố quan trọng nhất giúp bạn dễ dàng làm chủ và tiến xa hơn. Với lĩnh vực big data, câu trả lời là: Bạn cần có một bộ công cụ big data tốt.
Một công cụ tốt giúp cải thiện cách bạn làm việc. Một công cụ tuyệt vời giúp cải thiện cách bạn nghĩ.
– Jeff Duntemann, Co-Founder của Coriolis
Phân tích và xử lý big data không phải là một nhiệm vụ dễ dàng. Ngay như trong cái tên của nó, big data tức là dữ liệu lớn, do đó để làm việc và giải quyết nó cũng là một vấn đề lớn. Bạn cần phải có một bộ công cụ tốt, không chỉ giải quyết vấn đề mà còn hỗ trợ bạn tạo ra những kết quả có ích.
Bài viết này sẽ cung cấp cho bạn những công cụ tuyệt vời, giúp bạn làm việc hiệu quả hơn với big data.
Danh sách công cụ phân tích dữ liệu big data tốt nhất
Dưới đây là danh sách 5 công cụ big data tốt nhất:
Apache Hadoop
Datawrapper
Apache Cassandra
MongoDB
RapidMiner
Big data là một phần không thể thiếu của mọi công ty, tổ chức hiện nay. Các công ty như Google, Facebook, Apple… luôn sử dụng big data là công cụ hữu hiệu để training AI, phân tích xu hướng thị thường để dự đoán xu hướng, thiết kế sản phẩm…
Có một số yếu tố mà bạn cần phải lưu tâm khi lựa chọn công cụ. Đó là kích thước big data, chi phí mua công cụ, loại phân tích mà bạn muốn.v.v…
Ngay nay, với tốc độ tăng trường cấp số nhân của big data, thị trường cũng tràn ngập các thể loại công cụ big data, đủ loại “thượng vàng hạ cám”. Do đó, để giúp bạn không bị choáng ngợt và tối ưu hóa chi phí và hiệu quả công việc. Chúng ta sẽ cùng nhau xem danh sách 10 công cụ big data tốt nhất dưới đây.
Đứng đầu trong danh sách này không ai khác, chính là Hadoop. Apache Hadoop là một trong những công cụ được sử dụng phổ biến nhất trong lĩnh vực big data. Hadoop là một open-source framework từ Apache. Hadoop được dùng để lưu trữ và phân tích các tập dữ liệu lớn.
Hadoop được viết bằng Java ứng dụng công nghệ MapReduce. Hiểu nôm na là công nghệ phân tán dữ liệu do Google phát triển. Tức là từ dữ liệu lớn, chúng sẽ được tách ra thành nhiều dữ liệu nhỏ hơn và sắp xếp chúng lại để dễ dang truy xuất hơn. Bạn có thể hình dung rõ nét qua các kết quả tìm kiếm của Google.
Bạn thử tìm kiếm với một từ khóa nào đó nhưng ở nhiều khu vực khác nhau: Google.com. Google.com.vn, Google.in… chắc chắn kết quả tìm kiếm sẽ khác nhau đôi chút.
Hadoop sử dụng kiến trúc clustered. Một Cluster là một nhóm các hệ thống được kết nối qua LAN. Hadoop cho phép xử lý dữ liệu song song vì nó hoạt động đồng thời trên nhiều máy.
Hadoop gồm 3 layer chính:
Hadoop Distributed File System (HDFS): Là hệ thống file phân tán cung cấp truy cập thông lượng cao cho ứng dụng khai thác dữ liệu.
Map-Reduce: Đây là hệ thống dựa trên YARN dùng để xử lý song song các tập dữ liệu lớn. YARN: layer quản lý tiến trình và tài nguyên của các cluster.
Để dễ hình dung hơn cơ chế và kiến trúc của Hadoop, mời bạn tham khảo hình bên dưới đây:
Chức năng chính của Hadoop:
Lưu trữ và xử lý những dữ liệu lớn, lên tới Petabyte (khoảng 1 triệu GB).
Xử lý trong môi trường phân tán, dữ liệu được lưu ở nhiều nơi khác nhau nhưng yêu cầu xử lý đồng bộ.
Apache Cassandra là hệ quản trị cơ sở liệu NoSQL phân tán mã nguồn mở. Công cụ được xây dựng để quản lý khối lượng dữ liệu khổng lồ trải rộng trên nhiều máy chủ, đảm bảo tính sẵn sàng cao.
Cassandra sử dụng CQL (Cassandra Structure Language) để tương tác với cơ sở dữ liệu.
Một số công ty sử dụng Cassandra như: Accenture, American Express, Facebook, General Electric, Honeywell, Yahoo,.v.v…
Ưu điểm của Cassandra:
Tốc độ xử lý rất nhanh
Lưu log có kiến trúc giúp việc debug, phát hiện lỗi tốt hơn
Khả năng mở rộng tự động
Mở rộng hệ thống theo tuyến tính.
Nhược điểm:
Yêu cầu trình độ nhất định để khắc phục khi có vấn đề phát sinh
Thiếu tính năng Row-level locking
Clustering còn chưa hiệu quả, cần cải thiện để có hiệu quả hơn
3. Datawrapper
Datawrapper là một platform mã nguồn mở có chức năng chính là trực quan hóa dữ liệu, hỗ trợ người dùng tạo các biểu đồ đơn giản, chính xác, thân thiện và có thể nhúng vào website dễ dàng.
Các công ty sử dụng phần mềm này chủ yếu là các tòa soạn báo, có thể kể một số tên tuổi đình đám như: The Times, Fortune, Mother Jones, Bloomberg, Twitter,.v.v…
Ưu điểm:
Thân thiện với mọi loại thiết bị, kể cả thiết bị di động, máy tính để bàn…
Fully responsive
Tốc độ cho kết quả nhanh
Nhiều tùy chọn để tùy biến
Không yêu cầu người dùng phải biết lập trình
Nhược điểm:
Bảng màu còn hạn chế
Mất phí
4. MongoDB
MongoDB là một NoSQL, một kiểu hệ quản trị cơ sở dữ liệu hướng document, được viết bằng C/C++ và Javascript. MongoDB được cung cấp miễn phí và là một công cụ mã nguồn mở hỗ trợ đa nền tảng gồm: Window, Linux…
Đây là công cụ quản trị cơ sở dữ liệu phổ biến nhất cho big data, vì nó hỗ trợ rất tốt cho việc quản lý dữ liệu không có cấu trúc hay loại dữ liệu thay đổi thường xuyên.
MongoDB sử dụng dynamic schemas, do đó, bạn có thể chuẩn bị và tạo dữ liệu một cách nhanh chóng, không cần phải thiết kế cấu trúc trước cho dữ liệu, thích thì thêm vào DB thôi.
Chức năng chính của MongoDB gồm có: Aggregation, Adhoc-queries, Uses BSON format, Sharding, Indexing, Replication, Server-side execution of javascript, Schemaless, Capped collection, MongoDB management service (MMS)…
Các công ty sử dụng MongoDB gồm có: Facebook, eBay, MetLife, Google,v.v…
Ưu điểm:
Học và tiếp cận rất dễ
Hỗ trợ nhiều công nghệ và nền tảng khác nhau
Dễ cài đặt và bảo trì
Đáng tin cậy và chi phí thấp
Nhược điểm:
Số liệu phân tích còn hạn chế
Một số trường hợp báo cáo tốc độ ứng dụng chậm đi khi sử dụng MongoDB
5. RapidMiner
Rapidminer là một công cụ đa nền tảng cung cấp môi trường tích hợp cho khoa học dữ liệu, machine learning, và phân tích dự đoán số liệu. Rapidminer cung cấp nhiều loại giấy phép tùy vào từng loại quy mô công ty, quy mô dữ liệu.
Ngoài ra, Rapidminer cũng có một phiên bản miễn phí phục vụ cho mục đích học tập với giới hạn 1 CPU và 10,000 records.
Các công ty đang sử dụng RapidMiner: Hitachi, BMW, Samsung, Airbus…
Ưu điểm:
Open-source Java core
Có nhiều công cụ và thuật toán cao cấp phục vụ rất tốt nhu cầu phân tích dữ liệu big data.
Có GUI
Dễ dàng tích hợp các API hay cloud.
Dịch vụ chăm sóc khách hàng rất tốt
Nhược điểm
Các dịch vụ online cần cải thiện
Thay lời kết
Qua bài viết này, mình đã giới thiệu một số công cụ tốt nhất phục vụ cho nhu cầu lưu trữ và phân tích dữ liệu big data. Trong số các công cụ này, có công cụ miễn phí, có công cụ phải trả phí.
Tùy thuộc vào nhu cầu công việc, quy mô dữ liệu mà bạn lựa chọn công cụ big data phù hợp nhất.
Hi vọng các bạn sẽ ủng hộ các bài viết về Big data, để lại ý kiến của bạn ở mục bình luận bên dưới nhé.
Bài viết được sự cho phép của tác giả Mai Đông Giang
Cắt hay nối chuỗi trong PHP, kiểm tra từ tồn tại trong một chuỗi trong PHP. Hay như đếm số ký tự trong một chuỗi bằng PHP, độ dài của chuỗi,…. Có rất nhiều thao tác với chuỗi trong PHP chúng ta sẽ gặp thường xuyên trong lập trình.
Bài này mình xin được chia sẻ với các bạn về một số hàm xử lý chuỗi thường dùng trong PHP. Trước hết, chúng ta xem qua nguyên tắc dùng chuỗi trong php: Nếu chuỗi được đặt trong dấu nháy kép “” thì các ký tự nháy kép ” bên trong chuỗi phải thêm dấu gạch chéo đằng trước nó.
Trước hết, chúng ta xem qua nguyên tắc dùng chuỗi trong php:
Nếu chuỗi được đặt trong dấu nháy kép “” thì các ký tự nháy kép ” bên trong chuỗi phải thêm dấu gạch chéo đằng trước nó.
echo "Phân tích câu tục ngữ \"Uống nước nhớ nguồn\" ";
Nếu chuỗi được đặt trong dấu nháy kép “” thì trong chuỗi ta có thể truyền biến mà không cần dùng phép nối chuỗi.
$foo = 100;echo "Số foo có giá trị là $foo";
Nếu chuỗi được đặt trong dấu nháy đơn ” thì các ký tự nháy đơn ‘ bên trong chuỗi phải thêm dấu gạch chéo đằng trước nó. Thường dùng với câu chữ trong tiếng Anh.
echo 'I\'m fine';
Bây giờ chúng ta đến với các hàm xử lý chuỗi hay dùng:
addcslashes($str, $char_list)
Hàm này có tác dụng chèn \ vào trước các ký tự trong chuỗi $str với các ký tự được liệt kê ở $char_list
echo addcslashes(" PHP là ngôn ngữ lập trình Web", 'g');// output: PHP là n\gôn n\gữ lập trình Webecho addcslashes("PHP là ngôn ngữ lập trình Web", 'a..z');//output: PHP \là \n\gô\n \n\gữ \lậ\p \t\rì\n\h W\e\becho addcslashes("PHP là ngôn ngữ lập trình Web", 'a..zA..Z');// output: \P\H\P \là \n\gô\n \n\gữ \lậ\p \t\rì\n\h \W\e\b
addslashes($str)
Hàm này sẽ thêm ký tự \ vào trước các ký tự ', ", \ trong chuỗi $str nếu có.
echo addslashes("PHP l'à ngôn ngữ lập trình W'e'b");//output: PHP l\'à ngôn ngữ lập trình W\'e\'b
bin2hex($str)
Hàm này có tác dụng chuyển đổi chuỗi về dạng ASCII HEX của từng ký tự trong chuỗi $str.
echo bin2hex("I am PHP");//ouutput: 4920616d20504850
Hàm này có tác dụng đếm xem chuỗi $string có bao nhiêu từ.
str_repeat($string, $repeat)
Hàm này có tác dụng lặp chuỗi $string $repeate lần.
str_replace($find, $replace, $string)
Hàm này có tác dụng tìm kiếm chuỗi $find và thay thế chuỗi đó bằng $replace trong chuỗi $string.
md5($string)
Hàm này có tác dụng chuyển chuỗi $string sang mã hóa md5.
strip_tags($string, $allow)
Hàm này có tác dụng loại bỏ các thẻ html có trong chuỗi $tring, trừ các thẻ được cho phép $allow. Thường được dùng để lọc dữ liệu đầu vào trong các chức năng của website.
substr(string, start, length)
Hàm này có tác dụng cắt chuỗi $string, bắt đầu ở vị trí $start và có giới hạn $length.
strtolower($string)
Hàm có tác dụng chuyển chuỗi $string sang in thường.
strtoupper($string)
Hàm có tác dụng chuyển đổi chuỗi $string sang in hoa.
ucword($string)
Hàm có tác dụng chuyển đổi chữ cái đầu tiên của các từ trong chuỗi sang in hoa.
ucfirst($string)
Hàm có tác dụng chuyển đổi chữ cái đầu tiên trong chuỗi sang in hoa.
trim($string, $charlist)
Hàm có tác dụng loại bỏ khoảng trắng hoặc các ký tự $charlist trong chuỗi $string
ltrim($tring,$charlist)
Tương tự như hàm trim nhưng chỉ cắt bên trái của chuỗi.
rtrim($tring,$charlist)
Tương tự như hàm trim nhưng chỉ cắt bên phải của chuỗi.
Lời kết
Bài này đã giới thiệu với mọi người về các hàm xử lý chuỗi hay dùng trong PHP, hi vọng sẽ giúp các bạn mới tiếp cận với PHP dễ dàng hơn. Các bạn cũng có thể xem thêm các hàm khác ở đây nhé!
Bài viết được sự cho phép của tác giả Tống Xuân Hoài
Vấn đề
Những năm gần đây sự bùng nổ của các Framework về UX/UI như Angular hay React đang tạo nên một cuộc cách mạng về việc phát triển một trang web chú trọng vào tương tác người dùng và giao diện được xử lý hoàn toàn phía trình duyệt.
Những trang web như thế người ta gọi là Client Side Rendering (CSR) và thường được triển khai theo cách Single Page Application (SPA). Chúng tận dụng sức mạnh xử lý của thiết bị người dùng để giảm tải cho máy chủ, bên cạnh đó những trang web này thường mang lại trải nghiệm mượt mà bởi vì máy chủ chỉ cần gửi về mã Javascript cho thiết bị và việc lấy dữ liệu từ máy chủ chỉ cần thông qua API với dữ liệu cần thiết thay vì phải tải toàn bộ mã HTML.
CSR đang làm rất tốt nhiệm vụ của mình ở một khía cạnh nào đó, tuy nhiên chắc chắn rằng nó không tốt cho SEO. Cho những ai chưa biết SEO là gì thì nó là thuật ngữ chỉ việc website được tìm thấy trên internet thông qua những trang tìm kiếm như Google, Bing… Các trang tìm kiếm này liên tục “sai khiến” những con “bọ” truy cập vào tất cả các website mà nó biết để đọc nội dung. Những con “bọ” này đọc HTML rất tốt nhưng đối với Javascript thì không. Chính vì thế việc giúp các trang CSR thân thiện với SEO là một điều rất cần thiết.
Để đạt được điều đó có nhiều hơn một cách để thực hiện, ví dụ như sử dụng những thư viện hỗ trợ Server Side Rendering (SSR) hoặc build hoàn toàn website thành HTML static – Server Side Generation (SSG). Mỗi cách đều có ưu nhược điểm và phụ thuộc vào nhu cầu sử dụng, tuy nhiên trong bài viết này mình xin phép không đề cập đến 2 cách trên.
Thay vào đó, Google đã đề cập đến một giải pháp cho các trang web SPA muốn thân thiện với SEO đó chính là Dynamic Rendering. Vậy thì đó là như thế nào?
Dynamic Rendering là gì?
Dynamic Rendering là thuật ngữ chỉ cách trả về kết quả truy vấn bằng cách phân biệt các User-Agent là người dùng bình thường hay là các con “bọ” từ công cụ tìm kiếm. Nếu là người dùng bình thường thì trả về mã Javascript, còn nếu là “bọ” thì trả về một trang HTML.
Bởi vì các con “bọ” tập trung quan tâm đến nội dung trang web của bạn thế nên việc trả về kết quả HTML là điều cần thiết để nó có thể thu thập thông tin. Còn về phía những người dùng, bên cạnh nội dung ra còn có UI/UX bởi họ thực sự tương tác với những thứ đang hiển thị trên trang web.
Để làm được điều đó chúng ta sẽ dựa vào chuỗi User-Agent của người dùng duyệt web. Vì User-Agent của người dùng và “bọ” tìm kiếm là có thể phân biệt được nên dựa vào đó ta sẽ trả được về kết quả mong muốn. Việc phân biệt phân biệt người dùng và “bọ” chúng ta có thể thực hiện ở máy chủ HTTP như Nginx hoặc nếu các bạn đang dùng Framework như Nuxt, Next… thì chúng có sẵn cấu hình để chúng ta có thể dễ dàng thiết lập.
Hiện tại có nhiều cách để có thể triển khai Dynamic Rendering. Chúng ta có thể tìm đến một dịch vụ của bên thứ 3 như là Prerender.io hoặc là tự triển khai một service tạo mã HTML bằng thư viện Rendertron của Google Chrome.
Rendertron là một headless Chrome (Chrome nhưng không có giao diện :D) được thiết kế để render và tái tạo lại trang web một cách nhanh chóng.
Nghe thật thú vị phải không, trình duyệt nhưng lại không có giao diện thì sao mà duyệt web??? Bởi vì nó được thiết kế ra không phải cho duyệt web thông thường, việc loại bỏ các thành phần hiển thị giúp trình duyệt trở nên nhẹ và linh hoạt hơn trong môi trường máy chủ.
Rendertron có chỉ dẫn nhiều cách để tạo một máy chủ render. Ở đây giả sử tôi chạy một máy chủ Rendertron bằng module Express.js của Node:
Với http://my-rendertron-instance là địa chỉ máy chủ của bạn. Để xem chi tiết cấu hình bạn có thể bấm vào Google Chrome Middleware.
Sau đó hãy thử truy cập vào địa chỉ http://my-rendertron-instance/render/your-spa-url với your-spa-url là địa chỉ trang CSR của bạn sẽ thấy kết quả trả về là mã HTML đã render của trang web.
Hãy restart lại nginx và thử dùng trình duyệt với dùng Postman sử dụng User-Agent của “bọ” xem trang web của bạn đã trả về mã HTML chưa nhé!
Dưới đây là chuỗi User-Agent của Google.
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Tổng kết
Single Page App đang là xu hướng phát triển web hiện nay bởi những lợi ích mà nó mang lại. Tuy nhiên SPA không thân thiện với SEO, chính vì thế Dynamic Rendering là một trong những giải pháp để đưa SPA đến gần hơn với những công cụ tìm kiếm.
Bài viết được sự cho phép của tác giả Mai Đông Giang
Nếu bạn là một developer thì cơ bản nhất là cần biết về command line. Chưa biết thì không sao chúng ta có thể học từ mọi thứ.
Sau đây là 10 lệnh cơ bản trong command line mà bạn cần biết, sử dụng hằng ngày.
1.In ra đường dẫn thư mục đang làm việc (pwd)
$ pwd sẽ hiển thị đầy đủ đường dẫn thư mục bạn đang làm việc.
2. Thay đổi thư mục làm việc (cd)
Bạn muốn nhảy sang thư mục làm việc khác chỉ cần dùng $ cd sẽ giúp đưa bạn đi mọi nơi bạn cần.
3. Hiển thị Danh sách các file và thư mục con (ls)
$ ls sẽ giúp bạn xem tất cả các file và thư mục trong thư mục bạn đang đứng. Nếu bạn cần hiển thị theo dạng cây thì có thể thêm hậu tố -l như sau $ ls -l. Hoặc để xem các file ẩn (.ten_file) thì chỉ cần thêm hậu tố -a $ ls -a
4. Tạo file (touch)
Việc tạo file trong CLI là công việc thường xuyên. Bạn dùng lệnh $ touch ten_file sẽ tạo ra 1 file rỗng.
Chú ý, nếu tên file bạn tạo đã tồn tại, nó sẽ ghi đè file cũ của bạn nhé. Hãy cẩn thận!
Trong bối cảnh thị trường lao động ngày càng cạnh tranh, việc thu hút và giữ chân nhân tài là một thách thức lớn đối với các doanh nghiệp. Talent Acquisition (Thu hút nhân tài) là một phương pháp tuyển dụng mới, mang tính chiến lược và dài hạn, giúp doanh nghiệp đảm bảo nguồn nhân lực chất lượng cho hiện tại và tương lai. Vậy Talent Acquisition là gì? Có gì vượt trội hơn so với phương pháp tuyển dụng truyền thống? Mời bạn theo dõi chi tiết bài viết dưới đây để hiểu hơn về Talent Acquisition nhé!
Talent Acquisition là gì?
Talent Acquisition (Thu hút nhân tài) là một thuật ngữ trong lĩnh vực nhân sự. Đây là một quá trình liên tục nhằm xác định, xây dựng mối quan hệ và tuyển lựa những cá nhân có các năng lực nhằm đảm bảo nguồn nhân lực chất lượng cho doanh nghiệp.
Talent Acquisition không chỉ giới hạn trong việc thu hút ứng viên mới mà còn liên quan đến việc phát triển và duy trì mối quan hệ với những người tài hiện có trong tổ chức. Nó bao gồm các hoạt động như xác định nhu cầu nhân sự chiến lược, xây dựng thương hiệu nhà tuyển dụng, sử dụng các phương tiện truyền thông xã hội, và thậm chí đàm phán chính sách phúc lợi để tạo điều kiện làm việc thuận lợi và giữ chân nhân sự giỏi.
Sự khác biệt giữa Talent Acquisition và Recruiment (tuyển dụng)
Talent Acquisition và Recruitment là hai thuật ngữ thường được sử dụng trong lĩnh vực nhân sự, tuy nhiên chúng có một số điểm khác biệt cơ bản. Sự khác biệt chính giữa Talent Acquisition và Recruitment nằm ở tầm nhìn và tính chiến lược.
Talent Acquisition mang tính chiến lược và tầm nhìn dài hạn, tập trung vào việc xây dựng thương hiệu tuyển dụng, thu hút ứng viên tiềm năng và xây dựng mối quan hệ với họ.
Recruitment mang tính ngắn hạn, tập trung vào việc tìm kiếm và tuyển chọn ứng viên cho các vị trí hiện tại của doanh nghiệp.
Một số điểm khác biệt cụ thể giữa Talent Acquisition và Recruitment bao gồm:
Talent Acquisition
Recruitment
Mục tiêu
Đảm bảo nguồn nhân lực chất lượng cho doanh nghiệp, đáp ứng nhu cầu phát triển của doanh nghiệp trong hiện tại và tương lai.
Tìm kiếm và tuyển chọn ứng viên cho các vị trí hiện tại của doanh nghiệp.
Tầm nhìn
Dài hạn
Ngắn hạn
Chiến lược
Xây dựng thương hiệu tuyển dụng, thu hút ứng viên tiềm năng và xây dựng mối quan hệ với họ.
Tìm kiếm và tuyển chọn ứng viên phù hợp với yêu cầu của vị trí tuyển dụng.
Công việc
Xác định nhu cầu nhân lực, xây dựng chiến lược tuyển dụng, thu hút ứng viên, lựa chọn ứng viên, tuyển dụng, onboard nhân viên mới.
Tìm kiếm ứng viên, sàng lọc hồ sơ, phỏng vấn, đánh giá năng lực, lựa chọn ứng viên, tuyển dụng.
Talent Acquisition là người chịu trách nhiệm về toàn bộ quá trình tuyển dụng và thu hút nhân tài cho doanh nghiệp. Nhiệm vụ cụ thể của một Talent Acquisition bao gồm:
Hoạch định chiến lược
Talent Acquisition cần xây dựng các chính sách và chiến lược tuyển dụng phù hợp với mục tiêu và chiến lược của doanh nghiệp. Các chính sách và chiến lược này cần xác định rõ các mục tiêu tuyển dụng, đối tượng tuyển dụng, các kênh tuyển dụng, các phương pháp tuyển dụng, ngân sách tuyển dụng,…
Phân bổ nguồn nhân lực
Talent Acquisition cần phân bổ nguồn nhân lực một cách hợp lý, đảm bảo đáp ứng nhu cầu nhân lực của doanh nghiệp trong hiện tại và tương lai. Muốn hoạt động Talent Acquisition hiệu quả bạn cần phân tích nhu cầu nhân lực, dự báo nhu cầu nhân lực và xây dựng kế hoạch tuyển dụng phù hợp.
Xây dựng thương hiệu tuyển dụng
Talent Acquisition cần xây dựng thương hiệu tuyển dụng tích cực, thu hút ứng viên tiềm năng đến với doanh nghiệp. Hãy bắt đầu bằng việc xây dựng hình ảnh doanh nghiệp là một nơi làm việc hấp dẫn, có môi trường làm việc tốt, cơ hội phát triển nghề nghiệp cao,…
Tạo dựng mối quan hệ với ứng viên
Talent Acquisition cần xây dựng mối quan hệ tốt đẹp với ứng viên, giúp ứng viên có trải nghiệm tốt trong quá trình tuyển dụng. Bạn hãy thể hiện sự tôn trọng và thấu hiểu đối với ứng viên, cung cấp thông tin đầy đủ và chính xác về doanh nghiệp và vị trí tuyển dụng, phản hồi ứng viên một cách kịp thời và chính xác.
Ngoài ra, bạn cũng nên giữ liên lạc với ứng viên cũ và xây dựng một cộng đồng ứng viên để phục vụ cho mục tiêu doanh nghiệp.
Đo lường và dự đoán
Công việc đo lường và dự đoán sẽ giúp chỉ ra những điểm mạnh điểm yếu trong quá trình tìm kiếm nhân tài. Người làm Talent Acquisition phải thường xuyên thu thập data, quản lý và phân tích data để đưa ra những định hướng, giải pháp phù hợp trong tương lai.
Tham khảo việc làm Java hấp dẫn, lương cao trên TopDev
Yêu cầu đối với một Talent Acquisition là gì?
Một chuyên gia Talent Acquisition cần phải có một loạt các kỹ năng và phẩm chất để thực hiện nhiệm vụ của mình một cách hiệu quả. Dưới đây là một số yêu cầu quan trọng:
Hiểu rõ về doanh nghiệp và ngành nghề
Hiểu rõ về ngành nghề hoạt động của doanh nghiệp để có cái nhìn toàn diện về nhu cầu nhân sự.
Nắm vững về chiến lược kinh doanh để xác định ưu tiên và mục tiêu tuyển dụng.
Kỹ năng giao tiếp tốt
Có khả năng giao tiếp mạch lạc, có thuyết phục, và tạo ra một trải nghiệm tích cực cho ứng viên.
Xử lý tình huống giao tiếp khó khăn một cách chuyên nghiệp.
Kỹ năng phân tích và đánh giá
Có khả năng phân tích nhu cầu nhân sự và đánh giá kỹ năng, kinh nghiệm của ứng viên.
Sử dụng dữ liệu để đưa ra quyết định chính xác.
Kiến thức về thị trường lao động
Theo dõi và hiểu rõ về xu hướng thị trường lao động, mức lương, và các yếu tố ảnh hưởng đến tuyển dụng.
Nắm vững về các nguồn tài năng và mạng lưới chuyên gia trong ngành.
Xây dựng thương hiệu nhà tuyển dụng
Có khả năng xây dựng và quảng bá thương hiệu nhà tuyển dụng để thu hút tài năng.
Tạo nên một hình ảnh tích cực và chuyên nghiệp về doanh nghiệp trong cộng đồng tài năng.
Sử dụng công cụ và công nghệ
Sử dụng hiệu quả các công nghệ và công cụ tuyển dụng, bao gồm các hệ thống quản lý nhân sự và các nền tảng tìm kiếm ứng viên.
Tóm lại
Talent Acquisition là một giải pháp tuyệt vời giúp giải quyết tình trạng thiếu hụt nhân sự mà mọi doanh nghiệp nên áp dụng. Hy vọng rằng bài viết trên đã giúp bạn hiểu rõ Talent Acquisition là gì cũng như những tiềm năng của nó với sự phát triển của doanh nghiệp. Việc tận dụng Talent Acquisition hiệu quả sẽ giúp doanh nghiệp chiến thắng trên đường đua “săn đầu người” ngày càng gay gắt. Chúc bạn tận dụng Talent Acquisition thành công và có được đội ngũ nhân sự tuyệt vời.
Công việc và sự nghiệp đều nói về việc đi làm kiếm tiền, nhưng mang hai ý nghĩa khác nhau. Phân biệt được sự khác nhau giữa “công việc” và “sự nghiệp” có thể giúp ích cho bạn trong việc xây dựng các mục tiêu khác nhau để phát triển trong thời gian đi làm.
Công việc là gì?
Công việc hiểu đơn giản là việc bạn làm để có tiền trang trải cho các nhu cầu cơ bản trong cuộc sống. Công việc có thể là việc toàn thời gian, bán thời gian hoặc các công việc thời vụ. Bạn làm phục vụ quán cafe 20K/giờ hay làm hành chính 20 triệu/tháng đều được gọi là công việc. Tuỳ theo mức độ phức tạp mà công việc có thể đòi hỏi nhiều kĩ năng và bằng cấp kèm theo. Ví dụ để làm nhân viên sửa chữa xe máy thì không cần bằng đại học, nhưng để làm chuyên viên tư vấn tài chính thì cần phải có.
Sự nghiệp là gì?
Sự nghiệp có thể được hiểu là một cái nghề bạn phát triển trong thời gian dài, dựa trên đam mê và sở thích của bạn. Nếu công việc (job) là một khái niệm ngắn hạn, thời vụ, chúng ta có thể hiểu sự nghiệp (career) là một thứ gì đó dài hơi và có tính bền vững hơn. Công việc thì chủ yếu vào việc nhận được tiền dựa trên công sức bỏ ra, sự nghiệp thì ngoài tiền bạn có thể nhận được những thứ khác như phụ cấp công ty, cổ phần công ty, cảm giác hài lòng và tự hào trong công việc.
Sự nghiệp là khái niệm có thể kéo dài cả đời. Trong một sự nghiệp của một người có thể bao gồm nhiều khái niệm công việc khác nhau, và các công việc đó không nhất thiết phải nằm cùng trong một lĩnh vực.
Trong cuộc đời mỗi người chúng ta sẽ trải qua nhiều công việc khác nhau. Các công việc sẽ liên kết với nhau tạo thành một sự nghiệp riêng biệt của mỗi người. Có những người có sự nghiệp rất đồng bộ trong một lĩnh vực, ví dụ đi từ Marketing Intern lên Marketing Executive rồi Marketing Manager. Có những người có sự nghiệp đa dạng hơn, từ làm Sales, chăm sóc khách hàng, giáo dục, bất động sản, nhảy qua nhảy lại nhiều lĩnh vực khác nhau. Mỗi kiểu sự nghiệp đều có cái hay riêng.
Hiện nay chúng ta dễ bị ảnh hưởng bởi những lời khuyên về việc phải tìm ra được một công việc và nghề nghiệp phù hợp từ khi còn trẻ để theo đuổi cả đời, để không đi sai. Tuy nhiên việc đó thực sự rất khó và không nhiều người làm được. Đa số chúng ta cần những trải nghiệm, đặc biệt hơn là các trải nghiệm làm sai để nhận ra đâu là điều đúng với mình.
Không có công việc nào trong quá khứ bạn đã làm là không có giá trị hay không liên quan cả. Dù cho công việc đó có thể không nằm trong lĩnh vực bạn đang nộp thì nó vẫn có giá trị. Bởi lẽ với mỗi công việc ngoài những kiến thức chuyên môn, bạn còn được học các kĩ năng làm việc khác nhau.
Ví dụ một bạn làm phục vụ trong quán cafe sau này đi làm chăm sóc khách hàng trong một công ty có thể sử dụng các kĩ năng liên quan đến làm việc nhóm, tương tác với khách hàng. Hay một bạn kế toán nhảy qua Marketing vẫn có thể sử dụng các kĩ năng liên quan đến số, sự cẩn thận trong việc làm kế hoạch, xây dựng bản chi phí.
Bên cạnh tiền bạc, công việc còn mang lại cho chúng mình cơ hội được xây dựng mối quan hệ – vì vậy đừng bỏ qua việc này khi làm bất kỳ công việc nào. Khi bạn xác định làm một công việc, bên cạnh việc nhận được bao nhiêu tiền, hãy suy nghĩ xem với công việc đó mình có thể có cơ hội xây dựng mạng lưới quan hệ với những người nào.
1/ Phân tích lại thực trạng hiện tại và tìm hiểu về thị trường lao động
Dù bạn là một sinh viên mới vào trường hay là một người đã đi làm được vài năm, việc bây giờ bạn cần làm là phân tích hiện trạng của bản thân. Bạn thích những kiểu công việc gì? Bạn thấy mình làm khá tốt kĩ năng gì? Bạn thích làm việc với kiểu người như thế nào? Bạn đang quan tâm, hứng thú với lĩnh vực nào trong thị trường? Sau khi phân tích xong bản thân hiện tại, bạn dựa trên những thông tin mình có để tìm sự kết nối với các công việc trên thị trường hiện nay.
2/ Tìm một người mentor
Một cách nhanh và hiệu quả để bạn học hỏi về một lĩnh vực mới là tìm một người mentor, người có nhiều kinh nghiệm hơn bạn trong lĩnh vực bạn đang quan tâm. Để tìm được mentor, bạn cần mở rộng các mối quan hệ thông qua việc tham gia các workshops, hội nghị, các sự kiện networking để gặp gỡ với những người trong ngành.
3/ Bắt đầu tìm công việc thực tập hoặc các cơ hội được trải nghiệm công việc mình đang quan tâm
Tuỳ theo từng công việc, nếu bạn đang bắt đầu tìm hiểu thì cần bắt đầu bằng các khoá học ngắn hạn. Sau đó tự làm các dự án của riêng mình thực hành kiến thức đã học, hoặc tìm các cơ hội thực tập 3-6 tháng ở trong các công ty liên quan đến lĩnh vực đó.
Công việc hay sự nghiệp thực tế có liên kết với nhau rất chặt chẽ. Ai cũng muốn một sự nghiệp bền vững, nhưng cách để đạt được sự nghiệp đó thì có nhiều con đường khác nhau. Bạn cần kiên nhẫn, bình tĩnh để tìm ra con đường của mình nhé.