Categories
Dev's Corner

4 Khóa học Automation Testing miễn phí hàng đầu về Selenium và Cucumber

Kiểm thử là một phần không thể thiếu trong quá trình phát triển phần mềm. Chúng ta từ lâu luôn dựa vào kiểm thử thủ công được thực hiện bởi các tester và QA chuyên nghiệp để tìm lỗi và mang đến phần mềm chất lượng.

Song, hiện nay, kiểm thử tự động (automation testing) ngày càng được chú trọng bởi tính bền vững của nó. Trong đó, Selenium WebDriver của Selenium đang là một trong những xu thế hàng đầu.

Bạn đã biết nhiều về Selenium chưa
Bạn đã biết nhiều về Selenium chưa? Ảnh: Christopher Gower – Unsplash

Selenium là một công cụ kiểm thử tự động miễn phí cho các ứng dụng web. Nó có thể hoạt động với các trình duyệt web khác nhau như Chrome, Firefox, Internet Explorer, Opera và mô phỏng hành vi giống con người.

Sử dụng Selenium, bạn có thể tương tác với tất cả các phần tử khác nhau trên trang web: nhấp vào, nhập hay trích xuất văn bản, v.v.

Selenium cũng hoàn toàn khác với các công cụ kiểm thử tự động khác như QTP, Win Runner, Load Runner, v.v., vì nó cho phép bạn ghi lại và phát lại cho mục đích kiểm thử tự động.

Selenium cung cấp một API cho phép tự động hóa mọi thứ trên một trang web. Bạn có thể kiểm tra xem một phần tử có tồn tại hay không hoặc một phần tử có giá trị gì.

Selenium cũng cho phép kiểm thử bất kỳ loại trang web nào được viết bằng ngôn ngữ gì như PHP, Perl, Python, Java, C#, v.v.

Nó hỗ trợ nhiều trình duyệt như Chrome, Firefox, Internet Explorer, Safari và Opera. Điều này có nghĩa là bạn có thể tự động kiểm thử ứng dụng của mình trên nhiều trình duyệt.

Ngoài ra, bạn có thể sử dụng Selenium cho các bài kiểm thử tự động trên nhiều ngôn ngữ như Java, C #, Perl, Python, v.v., nhưng 90% các công ty sử dụng Selenium với Java.

Vậy nên, nếu đang là manual tester và muốn học thêm Selenium để kiểm thử tự động, bạn nên học về Java.

Còn chờ gì nữa, hãy cùng Gambaru khám phá các khóa học tuyệt vời và hoàn toàn miễn phí sau cho mục đích trên!

Các khóa học Automation Testing (Selenium, Cucumber)

1. Selenium với C# và Java Titbits

Đây là một khóa học miễn phí về Selenium, giải thích một số khái niệm về Selenium trong Java và C# với các ví dụ ngắn.

Hầu hết các chủ đề đều bắt nguồn từ các câu hỏi trên Stack Overflow nhưng tựu chung, các kiến thức đều có giá trị và quan trọng nhất là nó miễn phí.

Nó sẽ giúp bạn hiểu những gì đang diễn ra khi dùng Selenium và các chi tiết cơ bản phải biết trước khi thực hiện các dự án lớn hơn sử dụng Selenium (ví dụ như framework development).

Bạn sẽ học cách làm việc với các trình duyệt khác nhau với Selenium Java web driver, cách tìm và làm việc với control, sử dụng explicit wait và implicit wait, chụp màn hình bằng Selenium và kiểm tra xem control có tồn tại với Selenium hay không.

Một khóa học thực hành hiệu quả về Selenium dùng Java và C#
Một khóa học thực hành hiệu quả về Selenium dùng Java và C#! Ảnh: freepik

Bạn cũng sẽ học cách kéo và thả, cách di và nhấp chuột bằng Selenium và làm việc với popup windowXPath.

Khóa học cũng giải thích cách cấu hình Selenium grid và thiết lập thực thi song song (parallel execution) bằng Java.

Lưu ý, các bài học tập trung vào Java nhiều hơn là C#.

2. Cucumber với Selenium Java (Cơ bản)

Đây là một khóa học Selenium miễn phí khác trên Udemy của cùng tác giả Karthik KK, người đã tạo ra khóa học phía trên, nó cung cấp những giải thích tường tận hơn về Cucumber và Phát triển theo hướng hành vi (Behavior-driven Development – BDD) cùng với Selenium.

Khóa học được chia thành hai phần.

  • Trong phần đầu tiên, bạn sẽ học các bài vỡ lòng về Cucumber và Behavior-driven Development.
  • Phần thứ hai tập trung vào Selenium với Cucumber, cách code đơn giản cho Selenium với Cucumber và cách tương tác với Page Object Model. Bạn cũng sẽ học cách chạy Selenium với Cucumber thông qua Maven và thực hiện kiểm thử với Cucumber thông qua TestNG. Khóa học cũng dạy báo cáo bằng Cucumber cho Selenium.
Đăng ký nếu bạn muốn một khóa học hiệu quả về Cucumber và Selenium trong thời gian ngắn
Đăng ký nếu bạn muốn một khóa học hiệu quả về Cucumber và Selenium trong thời gian ngắn. Ảnh: Pexels

3. Selenium WebDriver với C# cho người mới bắt đầu + Live Testing Site

Khóa học Selenium miễn phí này tập trung vào demo trực tiếp và thực hành
Khóa học Selenium miễn phí này tập trung vào demo trực tiếp và thực hành. Ảnh: Unsplash

Đây là một trải nghiệm học tập thú vị dành cho manual tester và QA chưa có kinh nghiệm về Selenium.

Trong khóa học này, bạn sẽ học Kiểm thử chức năng và giao diện đồ họa người dùng và cách làm việc với các selector của Selenium, ví dụ: Name selector, ID Selector, Class Name selector, CSS Path selector, và XPath selector.

Tiếp theo, bạn sẽ học cách làm việc với một số phần tử HTML phổ biến như Input text box, Checkbox, Radio button, Dropdown menu, và JavaScript Alert box.

Ngoài ra, khóa học còn cung cấp một vài bài giảng lý thuyết về việc khi nào bạn nên sử dụng selector nào, cách kiểm tra các phần tử, Automation Testing Framework là gì và tại sao chúng ta cần tạo nó.

4. Cucumber, Selenium & Java – Tạo một Framework trong 2,5 giờ!

Bạn có phải là automation tester muốn đưa thêm kinh nghiệm về BDD hoặc Cucumber vào hồ sơ xin việc của mình? Nếu vậy, đây là khóa học không thể nào phù hợp hơn.

Bạn sẽ học Cucumber BDD từ cấp độ mới bắt đầu đến cấp độ tương đương nâng cao, sử dụng Selenium WebDriver và Java.

Bạn cũng có thể học cách phát triển các Cucumber framework nhỏ và mạnh cho BDD.

Khóa học cũng sẽ dạy về Gherkin, Maven, Eclipse và các công cụ liên quan khác để bạn làm việc hiệu quả hơn với Selenium và Cucumber và trở thành một kỹ sư QA về kiểm thử tự động thành công.

Thành công với Automation Testing
Chúc bạn ngày một thành công với Automation Testing! Nguồn ảnh: freepik

Theo javinpaul

Categories
Dev's Corner

Cộng đồng PHP: Mâu thuẫn và Tầm nhìn

Một bài viết tâm huyết từ một lập trình viên PHP. Dù bạn là developer trẻ, đang có hứng thú với ngôn ngữ lập trình này, hay một leader nhiều năm kinh nghiệm, hãy cùng Gambaru nhìn nhận góc nhìn của Neal và thảo luận ở phần comment cuối bài viết nhé.

Bạn có quan tâm về lập trình PHP?
Bạn có quan tâm về lập trình PHP? Ảnh: Pixabay – Pexels

Tôi đã lập trình với PHP được khoảng 7 năm, tự mình mày mò, khám phá về các framework, library, hệ sinh thái xung quanh các nền tảng quản lý nội dung, và quen biết một cộng đồng đông đảo lập trình viên PHP.

Rất nhiều người đã trở thành những người bạn thực sự và theo đánh giá của các bài phát biểu tại các diễn đàn tôi từng tham dự, tôi biết mình không đơn độc khi tin rằng chúng tôi có thể giúp mọi người cùng học hỏi và phát triển, xây dựng phần mềm tốt hơn, cũng như chung tay hỗ trợ lập trình viên tiến xa hơn trong sự nghiệp.

Ngôn ngữ PHP thường bị chỉ trích và chế nhạo bởi những lập trình viên cho rằng ngôn ngữ chúng ta lựa chọn chẳng khác gì một mớ hỗn độn và chỉ dân nghiệp dư mới sử dụng PHP.

(Có thể quan điểm này có lý trong quá khứ, nhưng bây giờ chỉ có người thiếu hiểu biết mới tranh luận như vậy, đặc biệt khi sự thật là PHP 7 đã đóng góp rất nhiều để giúp PHP trở thành một ngôn ngữ hoàn thiện hơn).

Tuy nhiên, cộng đồng PHP chẳng ngán gì “dăm ba lời khen chê này”, họ ngày càng bản lĩnh hơn và tiếp tục xây dựng các sản phẩm, thư viện, công cụ và tính năng mới.

Trong bài viết này, tôi muốn nói đến mâu thuẫn ngày càng gia tăng trong chính cộng đồng PHP, giữa những nhóm lập trình viên ủng hộ giữa các framework Laravel, Symfony và Doctrine ORM.

Nhiều người chuộng Symfony/Doctrine đưa ra những nhận xét chê bai về Laravel.

Đáp lại, những người ủng hộ Laravel dường như ngày càng trở nên chống đối và có xu hướng phản ứng quyết liệt với những lời chỉ trích (dù mang tính xây dựng hay không). 

Mâu thuẫn ngay trong chính cộng đồng PHP
Mâu thuẫn ngay trong chính cộng đồng PHP. Ảnh: freepik

Tôi chắc chắn rằng hầu hết lập trình viên chúng ta đều đã từng bị chỉ trích về cách mình code.

Chỉ trích cũng có đủ loại, có thể là “Cái quái gì thế này?” hoặc “Anh nên thử áp dụng các nguyên tắc SOLID / [x design pattern] ở đây, vì nó sẽ tiết kiệm thời gian và đỡ phải bực mình sau này đấy”.

Cách ta đưa ra và đón nhận phê bình đặt nền tảng cho cách ta phát triển như một nhà lập trình chuyên nghiệp cũng như sự nhìn nhận của những người xung quanh.

Đối với những người lãnh đạo, nó xác định cách những người theo gương và tôn trọng bạn cư xử ra sao đối với đồng nghiệp của họ.

Hiện nay, ta có thể thấy các lập trình viên ở vị trí Senior, các leader dự án và những nhân vật có tầm ảnh hưởng tham gia vào các cuộc tranh luận công khai trên các nền tảng như Twitter và Reddit.

Bạn đọc được những bình luận có tính gây hấn về khả năng mở rộng của dự án với framework x hoặc phương thức của library y chứa bao nhiêu dòng code.

Họ làm như vậy chẳng để đạt được điều gì ngoài việc thuyết phục người đọc rằng họ đã đúng khi không dùng những framework hay tool này.

Tóm lại, khi cứ mãi tranh luận như vậy, chúng ta đang cướp đi cơ hội của những lập trình viên ít kinh nghiệm hơn để thử nghiệm và trải nghiệm các cách tiếp cận khác nhau đối với các giải pháp chung.

Chúng ta phủ nhận họ có khả năng thoải mái thể hiện quan điểm và thảo luận về những cái lợi và hại của mỗi framework mà không sợ bị chế giễu.

Chúng ta ngăn họ đánh giá và học cách chọn công cụ phù hợp cho từng công việc cụ thể.

Chúng ta dần dần ngăn cản tiến trình sự nghiệp của họ. Điều này tạo ra một rào cản có hại cho họ và cho cả chúng ta như một hệ sinh thái của những nhà lập trình PHP.

Hãy nói về Symfony và Laravel nàoHãy nói về Symfony và Laravel nào
Hãy nói về Symfony và Laravel nào! Ảnh: Pixabay – Pexels

Về cá nhân mình, Symfony là framework ưa thích của tôi, nhưng tôi đã làm việc chuyên nghiệp với cả Laravel [versions 4 & 5] và Zend.

Symfony sử dụng Doctrine 1, triển khai ActiveRecord pattern, bao gồm rất nhiều tính năng bổ sung theo mặc định và khiến việc liên kết business logic với framework trở nên cực kỳ dễ dàng.

Là một opinionated framework (có tính quy chuẩn và áp đặt), Symfony đặt ra các công cụ nó mong đợi bạn sử dụng ngay trước bạn và cho phép bạn nhanh chóng bắt đầu công việc.

Symfony 2 bắt đầu thay đổi tất cả những điều đó.

Lập trình viên sử dụng Symfony muốn có nhiều sự lựa chọn và tính linh hoạt hơn khi chọn các công cụ và những gì cần đưa vào dự án. Họ muốn đưa các thư viện khác vào dễ dàng hơn nếu giải pháp ban đầu không còn ổn nữa.

Symfony đã phát triển rất nhanh giữa các phiên bản 1 và 2 và trở nên khác biệt so với phiên bản ban đầu.

Nó chuyển từ một framework cố định với tất cả các công cụ được đóng gói bên trong và một mức độ chưa đủ tinh vi sang khả năng tương tác với các gói bên ngoài Symfony.

Symfony đã đi một chặng đường dài để chuyển mình thành một tập hợp các gói và thành phần có thể tái sử dụng và việc kết hợp các đề xuất của PHP-FIG có nghĩa là các thành phần có thể dễ dàng được đưa vào các framework, library và hệ thống CMS khác.

Lập trình viên sử dụng Symfony có quyền tự hào về Symfony và mong muốn chia sẻ cách họ làm được điều đó.

Phần lớn các nhà lập trình tôi biết đồng tình rằng tài liệu của Laravel dễ tiếp cận hơn của Symfony và cũng dễ bắt đầu với Laravel hơn nhiều.

Ngày nay, Laravel có tính áp đặt hơn Symfony, vì vậy, tài liệu hướng dẫn có thể ít trừu tượng hơn và trực tiếp hơn về cách đạt được mục tiêu với các công cụ được cung cấp.

Người ta thường có xu hướng gán Laravel là framework cho người mới bắt đầu hoặc chỉ là một công cụ cho RAD (Rapid Application Development – phát triển ứng dụng / tạo mẫu nhanh) và khuyên không dùng nó cho các dự án phức tạp hơn.

Tất nhiên, phản ứng từ người dùng Laravel là sau đó sẽ là “Chà, nó đã được sử dụng trên trang x đó nhe!”.

Người dùng Doctrine phản ứng lại “Tụi tôi đã bỏ ActiveRecord từ lâu rồi, ORM của mấy ông phèn quá”, và rồi bên kia tiếp “Muốn cãi nhau về facade pattern thật sao?”, rồi lại một hồi dài tranh cãi.

Than phiền duy nhất của tôi về Laravel Eloquent là việc thêm các foreign key và index vào cơ sở dữ liệu sẽ tốn nhiều công sức hơn.

Tôi nghĩ đây là điều có độ ưu tiên cao khi thiết kế cấu trúc dữ liệu. Tôi đã kế thừa nhiều dự án Laravel bởi các công ty khác nhau, và không có dự án nào trong số đó có một foreign key hoặc index nào.

Điều này dẫn đến mất tính toàn vẹn của dữ liệu cũng như các vấn đề khác về hiệu suất.

Tôi cũng cảm thấy rằng Laravel và nhiều tài nguyên hướng dẫn về nó khuyến khích người dùng liên kết code ràng buộc với framework.

Một dev ở công ty tôi từng làm việc đã dành hàng tháng trời làm một việc đáng ra rất đơn giản là nâng cấp Laravel 4 lên Laravel 5. Anh chàng sao chép và viết lại các file và file logic được đặt trong controller.

Nếu như code được tách ra thì công ty hẳn sẽ chi ít tiền hơn cho việc nâng cấp này và anh ấy đã có thể chuyển sang phát triển tính năng mới sớm hơn nhiều.

Theo tôi, Laravel có thể được sử dụng cho các ứng dụng quy mô lớn, nhưng trừ khi lập trình viên đủ kinh nghiệm để biết những gì họ đang tìm kiếm trong tài liệu để cho phép scale ứng dụng, họ có thể sẽ không dùng Laravel.

Phải thừa nhận rằng rất dễ để liên kết code với Symfony controller, nhưng cộng đồng Symfony biết rằng làm như vậy là một ý tưởng tồi.

Theo trải nghiệm riêng, tôi chưa thấy người dùng Symfony chế nhạo ý tưởng tách code nhưng tôi thấy một số người dùng Laravel chế giễu cách làm này.

Dấu hiệu của một vấn đề sâu xa hơn
Tuy nhiên, tranh luận về việc này chỉ là một dấu hiệu của một vấn đề sâu xa hơn. Ảnh: Pixabay – Pexels

Lập trình viên chúng ta thường đưa ra lựa chọn về các công cụ yêu thích và hợp tác với những người khác đã giải quyết các vấn đề tương tự theo cùng cách.

Khi hạn chế bản thân bằng cách liên tục sử dụng những gì chúng ta biết và ở trong cộng đồng những người có cùng tư duy và ý tưởng, chúng ta hạn chế cách mình code và cả con đường sự nghiệp.

Tự ta buộc xích vào chân mình.

Việc ta giải quyết vấn đề theo một cách không nhất thiết có nghĩa là cách tiếp cận của người khác tốt hơn hay tệ hơn mà chỉ là chúng khác nhau mà thôi
Việc ta giải quyết vấn đề theo một cách không nhất thiết có nghĩa là cách tiếp cận của người khác tốt hơn hay tệ hơn mà chỉ là chúng khác nhau mà thôi. Ảnh: cottonbro – Pexels

Điều khiến tôi lo lắng nhất là ảnh hưởng mà chúng ta có thể có đối với lựa chọn của các lập trình viên trẻ, ít kinh nghiệm.

Có lẽ ai cũng đều cảm thấy hài lòng khi khuyên bảo một người và sau đó thấy họ nối gót mình.

Tuy nhiên, điều ta không nên làm là khuyến khích lập trình viên trẻ tuổi đừng thử nghiệm framework x hoặc y, đừng học lập trình ngôn ngữ z vì những thành kiến ​​của riêng mình. 

Hãy để người trẻ tự thử nghiệm và cho họ lời khuyên
Hãy để người trẻ tự thử nghiệm và cho họ lời khuyên. Ảnh: Arijit manna -Unsplash

Hãy để người trẻ tự thử nghiệm và cho họ lời khuyên. Hãy quan sát cách một người đưa ra và đón nhận chỉ trích.

Hãy nghĩ thử “Đây có phải là loại phản hồi đóng góp tích cực cho cộng đồng không? Đây có phải là mẫu người tôi nên lấy làm gương không? ”

Với tư cách là một leader, hãy tự hỏi bản thân “Tôi có đang buộc chiếc xích của chính mình vào chân những người xung quanh không? Tôi có ảnh hưởng tiêu cực đến người khác thông qua sự lựa chọn của chính mình không? ”

Các cuộc tranh luận gay gắt không có tác dụng gì trong việc thúc đẩy sự nghiệp chung của cộng đồng lập trình viên mà chỉ khiến mọi người e ngại gia nhập cộng đồng PHP toàn cầu mà thôi.

Theo Neal Brooks

Categories
All about Japan

Đại dịch COVID-19 thay đổi văn hóa làm việc tại Nhật Bản ra sao?

Đại dịch COVID-19 đang mang đến những phong cách làm việc mới cho người dân Nhật Bản, khi giờ đây làm việc từ xa, khung giờ làm việc xen kẽ, và thậm chí làm việc bốn ngày trong tuần có thể trở thành những chuẩn làm việc mới.

Mời bạn cùng Gambaru theo dõi sự thay đổi này.

Covid mang lại sự thay đổi trong phong cách làm việc ở Nhật Bản
Covid mang lại sự thay đổi trong phong cách làm việc ở Nhật Bản. Ảnh: Aleksandar Pasaric – Pexels

Sự lây lan của virus corona đã thúc đẩy các công ty tại Nhật lựa chọn làm việc từ xa, nhưng không phải mọi nhân viên đều muốn quay trở lại phong cách làm việc trước đây sau khi tình trạng khẩn cấp trên toàn quốc đã được dỡ bỏ.

Cô Chihiro Oyama, 37 tuổi, nhân viên phụ trách phát triển nguồn nhân lực của NTT Data Corp ở Tokyo, cho biết: “Hiện giờ, tôi muốn được làm việc ở nhà 80%.”

Cô Oyama bắt đầu làm việc tại nhà lúc 7 giờ sáng cho đến trưa và dành phần còn lại của buổi chiều cho con. “Sau khi quen dần với lịch trình mới này, tôi đã có thể đạt được hiệu quả công việc như khi làm tại văn phòng”, cô chia sẻ.

Cô thường xuyên trao đổi email và trò chuyện trực tuyến nhưng“thật khó khi trao đổi công việc qua màn hình.”

Thay vào đó, cô cố gắng tích cực giao tiếp với đồng nghiệp vào những ngày lên công sở làm.

Người lao động đã được yêu cầu không đến văn phòng làm việc
Sau khi tình trạng khẩn cấp được ban bố vào đầu tháng 4, 2020, theo quy định chung, người lao động đã được yêu cầu không đến văn phòng làm việc. Ảnh: Kelly Sikkema – Unsplash

Từ tháng 6, công ty đưa ra chính sách là trên 50% nhân viên làm việc tại nhà và nhân viên làm tại văn phòng thì sẽ sắp xếp thời gian xen kẽ.

Anh Yuji Nomura, 39 tuổi, thuộc dự án phát triển trí tuệ nhân tạo tại NTT Data, bắt đầu đi làm muộn hơn thường lệ 30 phút.

Anh chia sẻ rằng khởi đầu ngày làm việc muộn hơn đã “giảm bớt căng thẳng” vì mình có thể tránh được đám đông trên các phương tiện giao thông công cộng.

Anh Nomura đang nghĩ đến việc làm việc ở nhà hai hoặc ba lần một tuần và điều chỉnh thời gian xen kẽ làm ở văn phòng trong tương lai.

Vào ngày 14 tháng 5, 2020, tuyên bố khẩn cấp được dỡ bỏ đối với hầu hết các khu vực tại Nhật Bản, Liên đoàn Doanh nghiệp Nhật Bản, hay Keidanren, đã kêu gọi các công ty thành viên xem xét áp dụng “các phong cách làm việc khác nhau” bao gồm làm việc từ xa, một tuần làm việc bốn ngày và giờ làm việc xen kẽ để giảm sự lây lan của virus, mong muốn biến những biện pháp này trở thành những thực tiễn lâu dài.

Tập đoàn Toshiba đã bắt đầu xem xét giới thiệu chính sách một tuần làm việc bốn ngày cho các văn phòng và nhà máy.

Các tập đoàn khác, như Hitachi Ltd.Mitsubishi Electric, cho biết họ sẽ tiếp tục áp dụng chính sách làm việc tại nhà cho khoảng 50% nhân viên trong thời điểm hiện tại.

BellFace Inc., có trụ sở tại Tokyo, công ty cung cấp hệ thống hội nghị trực tuyến cho doanh nghiệp, kết nối người dùng qua điện thoại thông minh hoặc điện thoại cố định, đã chứng kiến ​​sự gia tăng nhanh chóng đối với các dịch vụ của mình.

Trong 4 năm rưỡi kể từ khi được thành lập, số lượng công ty sử dụng hệ thống này đã tăng từ 1.300 lên hơn 10.000 vào tháng 3 và tháng 4 năm nay, khi BellFace tung ra một phiên bản miễn phí để giúp các công ty đối phó với cuộc khủng hoảng COVID-19.

Danh mục khách hàng của họ vẫn chủ yếu ở khu vực thủ đô Tokyo, nhưng lượng tiêu thụ tăng lên, đặc biệt là ở các khu vực bị ảnh hưởng nặng nề bởi dịch bệnh như tỉnh Hokkaido, Osaka và Hyogo.

BellFace Inc. cho biết với dịch vụ này, tài liệu kinh doanh và danh thiếp có thể được chia sẻ trực tuyến.

Trong cuộc gọi giữa hai bên, đối tác ở đầu bên kia có thể xác định được vị trí của con chuột trên màn hình, giúp người dùng dễ dàng giải thích các tài liệu được chia sẻ.

Bất kỳ ai cũng có thể dễ dàng sử dụng hệ thống mà không cần thao tác trước phức tạp, chẳng hạn khách hàng không bị bắt buộc phải chia sẻ link dẫn.

Tuy nhiên, nhiều người bày tỏ quan điểm rằng trở ngại lớn đối với việc đưa ra những cải cách làm việc từ xa như vậy là năng suất sẽ giảm khi nhân viên vắng mặt tại văn phòng.

Theo một cuộc khảo sát của Trung tâm Năng suất Nhật Bản, mặc dù hơn 60% số người muốn tiếp tục làm việc tại nhà sau khi đại dịch đã hạ nhiệt, song cũng có tỷ lệ phần trăm tương đương số người tham gia thừa nhận “hiệu quả công việc đã giảm sút”.

Nhiều ý kiến ​​lo ngại về các rào cản khác như chia sẻ dữ liệu quan trọng không thể xem bên ngoài nơi làm việc và các vấn đề về môi trường giao tiếp.

Các công ty có thể sẽ buộc phải quyết định xem có nên đầu tư vào việc nâng cấp thiết bị hay không.

Theo Kyodo News

Categories
Gambaru News

18 Công ty lớn công bố kế hoạch làm việc từ xa dài hạn

Tuần này, Gambaru cập nhật nhanh cùng bạn kế hoạch làm việc từ xa của những công ty công nghệ, tài chính và tin tức hàng đầu hiện nay.

Các công ty công nghệ làm việc từ xa dài hạn

1. Airbnb

Tuần trước, Airbnb đã gia hạn chính sách làm việc tại nhà của mình cho đến cuối tháng 8 năm 2021. Nhân viên được nhận khoản phụ cấp 500 đô la để mua sắm thiết bị văn phòng tại nhà, cộng thêm khoản 500 đô la hàng quý để sử dụng các dịch vụ của Airbnb.

Brian Chesky - Giám đốc điều hành Airbnb
Brian Chesky – Giám đốc điều hành Airbnb. Ảnh: REUTERS / Mike Segar

Nguồn: https://news.airbnb.com/work-from-anywhere-how-airbnb-guests-are-approaching-remote-working/

2. REI

Đầu mùa hè này, nhà bán lẻ các thiết bị giải trí và dịch vụ ngoài trời REI thông báo rằng họ đang mở bán khuôn viên mới, chưa sử dụng, diện tích 8 mẫu (khoảng hơn 32.000 mét vuông) tại Bellevue, Washington.

Trong một tuyên bố ngày 12 tháng 8, Giám đốc điều hành Eric Artz cho biết công ty sẽ “chuyển sang làm việc từ xa như một mô hình bình thường hóa, hỗ trợ và chuyên sâu” cho nhân viên.

Khuôn viên REI Seattle đã tạm đóng cửa trước khi được khánh thành.
Khuôn viên REI Seattle đã tạm đóng cửa trước khi được khánh thành. Ảnh: REI Co-op

Nguồn:

3. Uber

Vào ngày 4 tháng 8 vừa qua, Uber thông báo tới nhân viên của mình rằng họ có thể làm việc tại nhà đến hết tháng 6 năm 2021. Nhân viên Uber cũng sẽ nhận được khoản phụ cấp 500 đô la để thiết lập văn phòng tại nhà.

Giám đốc điều hành Uber - Dara Khosrowshahi.
Giám đốc điều hành Uber – Dara Khosrowshahi. Ảnh: Anushree Fadnavis / Reuters

Nguồn: https://www.businessinsider.com/uber-corporate-employees-can-work-from-home-june-2021-stipend-2020-8

4. Microsoft

Microsoft, công ty có trụ sở chính tại Redmond, Washington, đã lên kế hoạch bắt đầu mở lại văn phòng vào tháng 1 năm 2021, mặc dù kế hoạch trước đó là vào tháng 10 năm nay.

Satya Nadella, Giám đốc điều hành Microsoft.
Satya Nadella, Giám đốc điều hành Microsoft. Ảnh: Justin Sullivan / Getty Images

Nguồn:

5. Zillow

Vào tháng 4, Giám đốc điều hành của Zillow là Rich Barton, đã công bố kế hoạch làm việc tại nhà đến cuối năm 2020. Vào ngày 29 tháng 7, công ty này kéo dài thời hạn trên sang mốc vô thời hạn cho nhân viên của mình.

Zillow là một cơ sở dữ liệu về bất động sản
Zillow là một cơ sở dữ liệu về bất động sản. Ảnh: SOPA Images / Contributor / Getty Images

Nguồn:

6. Google

Ban đầu, Google cho biết nhân viên của họ sẽ quay trở lại làm việc tại trụ sở chính tại Vịnh San Francisco vào ngày 6 tháng 7 năm 2020, sau đó dời sang tháng 9. Theo tin mới nhất, Google đang mở rộng chính sách làm việc tại nhà đến tháng 6 năm 2021.

Sundar Pichai, Giám đốc điều hành của Google
Sundar Pichai, Giám đốc điều hành của Google. Ảnh: Justin Sullivan / Getty Images

Nguồn: Business Insider, Wall Street Journal

7. Reuters

Reuters, tổ chức tin tức quốc tế, thông báo tới nhân viên rằng họ có thể làm việc tại nhà cho đến tháng 1 năm 2021.

Một bảng hiệu của Reuters tại New York
Một bảng hiệu của Reuters tại New York. Ảnh: Alex Tai / SOPA Images / LightRocket via Getty Images

Nguồn: https://talkingbiznews.com/they-talk-biz-news/reuters-voluntary-work-from-home-extended-to-january-2021/

8. Twitter

Vào tháng 5, Twitter, công ty có trụ sở tại San Francisco, chính thức công bố kế hoạch làm việc tại nhà vô thời hạn. Công ty đã tạm ngừng các hoạt động công tác và các sự kiện gặp gỡ trực tiếp trong khoảng thời gian còn lại của năm 2020.

Jack Dorsey - Giám đốc điều hành Twitter
Jack Dorsey – Giám đốc điều hành Twitter.

Nguồn: https://www.businessinsider.com/twitter-tells-employees-they-can-work-from-home-permanently-2020-5

9. Square

Cùng khoảng thời gian này, Square, một công ty cũng do Jack Dorsey của Twitter lãnh đạo, áp dụng chính sách tương tự, cho phép nhân viên làm việc tại nhà vô thời hạn, ngay cả sau khi các văn phòng mở cửa trở lại.

Jack Dorsey - CEO của Square (bên phải) trình bày về hệ thống thanh toán Square vào năm 2013
Jack Dorsey – CEO của Square (bên phải) trình bày về hệ thống thanh toán Square vào năm 2013. Ảnh: Justin Sullivan / Getty Images

Nguồn: https://www.businessinsider.com/square-employees-can-work-from-home-permanently-2020-5

10. Facebook

Vào cuối tháng 5 vừa qua, Giám đốc điều hành Facebook – Mark Zuckerberg thông báo rằng nhiều nhân viên Facebook sẽ được phép làm việc tại nhà vô thời hạn và có kế hoạch tiếp tục cho nhân viên làm việc từ xa đến hết năm 2020.

Mark Zuckerberg - CEO của Facebook
Mark Zuckerberg – CEO của Facebook. Ảnh: Christophe Morin / IP3 / Getty Images

Nguồn: https://www.nytimes.com/2020/05/21/technology/facebook-remote-work-coronavirus.html

11. Salesforce

Salesforce đã công bố vào tháng 5 rằng họ sẽ cho tất cả nhân viên tùy chọn làm việc tại nhà đến hết năm 2020, ngay cả khi 160 văn phòng của Salesforce trên toàn thế giới mở cửa theo các mốc thời gian khác nhau.

Marc Benioff - Giám đốc điều hành Salesforce.
Marc Benioff – Giám đốc điều hành Salesforce. Ảnh: Business Insider

Nguồn: https://www.businessinsider.com/salesforce-employees-work-from-home-rest-of-the-year-2020-5

12. Amazon

Theo tin mới nhất thì Amazon, công ty có trụ sở chính tại Seattle, đã gia hạn chính sách làm việc tại nhà từ tháng 10 năm nay chuyển sang ngày 8 tháng 1 năm 2021.

Giám đốc điều hành Amazon - Jeff Bezos
Giám đốc điều hành Amazon – Jeff Bezos. Ảnh: David Ryder / Stringer / Getty Images

Nguồn: https://www.businessinsider.com/amazon-employees-work-from-home-until-next-year-covid-19-2020-7

13. Spotify

Spotify thông báo tới nhân viên khắp các chi nhánh toàn cầu rằng họ có thể tiếp tục làm việc tại nhà cho đến năm 2021. Mỗi văn phòng sẽ mở cửa theo hướng dẫn và quy định cụ thể của từng quốc gia khác nhau.

Spotify là một dịch vụ stream nhạc trực tuyến.
Spotify là một dịch vụ stream nhạc trực tuyến. Ảnh: Reuters

Nguồn: https://variety.com/2020/music/news/spotify-employees-work-from-home-1234613095/

14. Hitachi

Tập đoàn điện tử khổng lồ Nhật Bản Hitachi cũng cho phép nhân viên làm việc tại nhà trong bối cảnh đại dịch COVID-19 và cam kết sẽ đảm bảo có 70% nhân viên làm việc tại nhà vô thời hạn.

Toshiaki Higashihara - Giám đốc điều hành Hitachi
Toshiaki Higashihara – Giám đốc điều hành Hitachi. Ảnh: TORU YAMANAKA / Getty Images

Nguồn: https://edition.cnn.com/world/live-news/coronavirus-pandemic-06-01-20-intl/h_e5fd5526738c9e92587be1e618db0fa9

15. Coinbase

Coinbase, công ty giao dịch tiền ảo cryptocurrency có trụ sở tại Vịnh Sanfrancisco, lên kế hoạch sẽ biến làm việc từ xa trở thành một thỏa thuận lâu dài.

Giám đốc điều hành Brian Armstrong đã thông báo vào tháng 5 rằng công ty sẽ mở cửa văn phòng cho nhân viên muốn trở lại làm việc sau khi hết các lệnh cách ly, nhưng hầu hết các vị trí vẫn sẽ hoạt động từ xa.

Brian Armstrong - Giám đốc điều hành Coinbase
Brian Armstrong – Giám đốc điều hành Coinbase. Ảnh: Anthony Harvey / Stringer

Nguồn: https://blog.coinbase.com/post-covid-19-coinbase-will-be-a-remote-first-company-cdac6e621df7?gi=d0e25f43cde9

16. Mastercard

Mastercard chưa triển khai sớm kế hoạch chính thức trở lại văn phòng. Vào tháng 5, công ty cho biết nhân viên có thể làm việc từ xa cho đến khi cảm thấy thoải mái khi quay trở lại văn phòng của Mastercard.

Một thẻ tín dụng Mastercard
Một thẻ tín dụng Mastercard. Ảnh: Reuters

Nguồn: https://www.reuters.com/article/us-health-coronavirus-mastercard/mastercard-to-allow-staff-to-work-from-home-until-virus-fears-subside-idUSKBN22W37A

17. Nielsen

Công ty nghiên cứu Nielsen có kế hoạch biến các văn phòng ở thành phố New York thành không gian họp cho nhân viên khi họ tiếp tục làm việc tại nhà ngay cả sau khi đại dịch qua đi.

David Kenny - Giám đốc điều hành của Nielsen
David Kenny – Giám đốc điều hành của Nielsen. Ảnh: Michael Seto / Business Insider

Nguồn: https://www.nytimes.com/2020/05/12/nyregion/coronavirus-work-from-home.html

18. Nationwide Insurance

Vào tháng 5, Nationwide Insurance, công ty bảo hiểm và tài chính Mỹ đã công bố kế hoạch giảm quy mô từ 20 xuống chỉ còn 4 văn phòng sau đại dịch. Phần lớn nhân viên của công ty sẽ tiếp tục làm việc tại nhà vô thời hạn.

Virus corona đang đẩy nhanh tốc độ đột phá cũng như kiểm tra khả năng phục hồi của hàng trăm nghìn nhân viên toàn cầu
Virus corona đang đẩy nhanh tốc độ đột phá cũng như kiểm tra khả năng phục hồi của hàng trăm nghìn nhân viên toàn cầu. Ảnh: Nationwide

Nguồn: https://fortune.com/2020/05/11/permanent-work-from-home-coronavirus-nationwide-fortune-100/

Lược dịch từ businessinsider

Categories
Gambaru News

6 Công cụ lập trình web front-end hàng đầu năm 2020

Công cụ lập trình web front end
Công cụ lập trình web front end. Ảnh: KOBU Agency – Unsplash

Trong bài viết này, mời bạn cùng Gambaru khám phá một số công cụ giúp giải quyết các thách thức trong quá trình lập trình web front-end và đồng thời đảm bảo tăng năng suất làm việc nhé.

Các công cụ lập trình web front-end hàng đầu

1. Chrome DevTools

Chrome DevTools là bộ công cụ tạo web và debug được tích hợp sẵn của Google Chrome.

Nó có rất nhiều tùy chọn cho việc kiểm thử, debug và cải thiện chất lượng trang web.

Từ chỉnh sửa đến test được web trên nhiều độ phân giải khác nhau, DevTools chứng tỏ được sự hữu ích của nó, giúp việc xây dựng trang web nhanh hơn.

Cần thời gian và công sức để nghiên cứu và hiểu rõ UI của DevTools, song thành quả đạt được chính là năng suất làm việc sẽ tăng rất đáng kể nhờ công cụ hiệu quả này.

Sử dụng Chrome DevTools
Sử dụng Chrome DevTools. Ảnh: Medium

2. Các tiện ích mở rộng trên trình duyệt

Các trình duyệt hiện đại như Google Chrome giúp việc lướt web an toàn hơn và mang đến trải nghiệm người dùng mượt mà.

Ngoài ra, chúng còn cung cấp các công cụ tuyệt vời cho web developers xây dựng các ứng dụng xuất sắc.

Danh sách dưới đây là một số tiện ích mở rộng tốt nhất sẽ giúp front-end dev làm việc hiệu quả hơn:

Ngoài ra, bạn có thể tìm hiểu bài viết này để biết thêm danh sách chi tiết các tiện ích mở rộng trên Chrome tốt nhất.

3. Gulp và Grunt

Lập trình viên front-end không chỉ giải quyết các tasks phức tạp và tạo dựng web mà còn thường xuyên buộc phải thực hiện một số quy trình lặp đi lặp lại và tốn thời gian, như việc tổng hợp Less và SCSS thành các file CSS và nén các file hình ảnh chẳng hạn.

Tin vui là ta có thể tự động hóa các quy trình này với sự trợ giúp của bộ công cụ Gulp hoặc Grunt.

Cả hai đều cho phép ta kiểm tra file mới hoặc các thay đổi trong file hiện có và chạy các tác vụ áp dụng được cho chúng.

Một số tác vụ phổ biến nhất mà một trong hai công cụ có thể thực hiện bao gồm:

  • Tổng hợp các files Less hoặc Sass sang CSS.
  • Nén các file hình ảnh mà không làm ảnh hưởng đến chất lượng.
  • Tìm lỗi code trong mã nguồn (linting code).
  • Tối ưu dung lượng (minify), nối (concatenate) và dọn dẹp các files CSS và JavaScript.
  • Gửi cập nhật đến production server.

Bằng cách tự động hóa những tasks thường nhật này, ta có thể tiết kiệm một lượng lớn thời gian nên dành cho lập trình và tăng năng suất làm việc.

4. Các công cụ kiểm tra khả năng đáp ứng

Lập trình viên front-end cần biết đến khái niệm responsive web design (thiết kế web đáp ứng) và cách làm cho trang web hiển thị hoàn hảo trên mọi thiết bị hoặc kích thước màn hình.

Để đảm bảo rằng trang web hoàn toàn có tính đáp ứng như vậy, ta cần thực hiện test trên các thiết bị khác nhau.

Sự trợ giúp của các công cụ sau mang đến chất lượng test được cải thiện rõ rệt và giảm thời gian lập trình.

Responsinator

Responsinator rất dễ sử dụng và hoàn toàn miễn phí.

Bạn chỉ cần cung cấp URL của trang web và Responsinator sẽ cho bạn biết cách trang web đó sẽ được hiển thị ra sao ở các hình dạng và kích thước màn hình phổ biến nhất.

Gambaru.io - iPad landscape · width: 1024px
Gambaru.io – iPad landscape · width: 1024px

Google DevTools Device Mode

Google DevTools Device Mode giúp Dev dễ dàng mô phỏng thiết bị di động trong trình duyệt Chrome.

Bạn thậm chí có thể mô phỏng đầu vào thiết bị để chạm, định vị địa điểm và hướng thiết bị trong trình mô phỏng.

Gambaru.io trên Google DevTools
Gambaru.io trên Google DevTools

Browser Stack

Browser Stack là một trong những công cụ test tiên tiến, đầy đủ tính năng nhất hiện nay.

Công cụ trả phí này cung cấp quyền truy cập vào hơn 1.000 trình duyệt trên điện thoại di động và máy tính cho mục đích kiểm thử.

Test thử Gambaru.io trên Browser Stack!
Test thử Gambaru.io trên Browser Stack!

5. Một số công cụ CSS hữu ích

CSS ngày càng trở nên mạnh mẽ hơn và ngày nay cung cấp rất nhiều khả năng để tạo ra các trang web tuyệt đẹp về mặt trực quan.

Nếu quá trình tạo gradient và animation trở nên phức tạp, hãy thử áp dụng một số công cụ hữu ích sau:

Browserhacks

Browserhacks là một trang web cung cấp một bộ sưu tập các bản hack CSS và JavaScript dành riêng cho trình duyệt để giải quyết các vấn đề phức tạp và khó hiểu trang web của bạn có thể gặp phải.

Browserhacks
Browserhacks. Ảnh: Medium

Animista

Animista là một trang web tuyệt vời để tạo và tùy chỉnh code cho CSS animation với nhiều hiệu ứng đa dạng.

Chọn bất kỳ animation nào trong bộ sưu tập, như nền, hiệu ứng thoát, văn bản, v.v. và tha hồ tùy chỉnh nó.

Bước tiếp theo, bạn sẽ nhận được đoạn code cho hiệu ứng animation vừa rồi và chỉ cần tích hợp nó vào trang web của mình là xong!

Animista
Animista – Ảnh: Medium

Grabient

Grabient là một UI dễ sử dụng để tạo các gradient tuyến tính cho web. Chọn màu bạn muốn và điều chỉnh các góc cần thiết.

Khi đã có gradient mong muốn, hãy lấy gradient CSS và áp dụng nó vào trang web của mình.

Grabient
Grabient. Ảnh: Medium

6. Các thư viện UI Components

Thư viện được tạo ra là để giúp cuộc sống của các lập trình viên dễ dàng hơn. Một thư viện UI Components tốt là một tập hợp các thành phần giao diện người dùng được tạo sẵn có thể:

  • Cắt giảm thời gian lập trình.
  • Duy trì tính nhất quán của giao diện người dùng.
  • Duy trì khả năng tương thích và tính đáp ứng của trình duyệt.
  • Dễ dàng sử dụng và tùy chỉnh.

Sử dụng những thư viện như vậy trong ứng dụng sẽ tăng năng suất và giúp bạn hoàn thành nhiều đầu công việc hơn. Hãy thử xem qua Syncfusion nhé!

Theo Rajeshwari Pandinagarajan

Categories
Dev's Corner

Junior Ruby on Rails Developer cần có kỹ năng gì?

Kỳ này, Gambaru mời bạn theo dõi bài viết trên Medium của Krzysztof Kempiński, 1 lập trình viên Ruby on Rails, iOS và Elixir về những kỹ năng ông cho là quan trọng một Junior Ruby on Rails Dev cần trau dồi.

Hãy chia sẻ góc nhìn và trải nghiệm của riêng bạn ở phần comment cuối bài viết nhé.

Junior Ruby on Rails Dev cần kỹ năng gì?
Junior Ruby on Rails Dev cần kỹ năng gì? Ảnh: Pixabay – Pexels

Trong sự nghiệp của mình, tôi có nhiều cơ hội làm việc với lập trình viên Ruby on Rails cũng như tuyển dụng nhiều lập trình viên vị trí Junior cho các công ty.

Dưới đây là danh sách các kỹ năng theo tôi là cần thiết cho vị trí này.

Các kỹ năng Junior Ruby on Rails Developer cần trang bị

Lập trình viên Ruby on Rails không chỉ cần biết cách phát triển phần mềm mà còn phải liên tục cải thiện bản thân để trở thành một phần giá trị của đội nhóm, tạo ra được tác động đến sản phẩm mình xây dựng.

1. Kỹ năng mềm

Kỹ năng mềm - Junior Ruby on Rails Dev
Kỹ năng mềm. Ảnh: Team vector created by macrovector – www.freepik.com

Tiếng Anh

Kỹ năng mềm quan trọng nhất cho mọi lập trình viên. Lập trình viên sử dụng tiếng Anh hằng ngày trong công việc, chủ yếu là cho việc đọc hơn là viết.

Tuy nhiên, cải thiện kỹ năng giao tiếp trong tiếng Anh vẫn quan trọng do bạn sẽ sử dụng nó khi trao đổi, liên lạc với khách hàng và các thành viên trong nhóm.

Tham vọng

Bạn không muốn ở mãi vị trí Junior phải không?

Hãy chủ động tham gia giải quyết các vấn đề và các tasks khó, phức tạp hơn, bên cạnh những tasks thường nhật.

Tư duy “Tôi không biết”

Chỉ khi thừa nhận rằng mình không biết một điều, bạn mới có thể học nó.

Các đồng nghiệp Senior thường sẽ sẵn lòng giúp đỡ và hỗ trợ nếu bạn chia sẻ rằng mình chưa nắm rõ một điều gì.

Đừng ngại gì hết bạn nhé vì đây là một quá trình học hỏi bình thường.

Sẵn sàng và khát khao học hỏi

Hãy cố gắng thể hiện mong muốn học hỏi này.

Liên tục đặt câu hỏi, dành thêm thời gian nghiên cứu và tập code các dự án ngoài lề yêu thích của mình.

Kỹ năng tìm kiếm trên Internet

Là một lập trình viên Junior, bạn phải học cách để nhanh chóng biết nơi tìm câu trả lời cho câu hỏi của mình: Stack Overflow, Google hay trên các diễn đàn mạng v.v.

Sự phù hợp với Văn hóa / Doanh nghiệp

Tôi nghĩ điều này cực kỳ quan trọng.

Nếu bạn cảm thấy mình không thuộc về công ty, hoặc công ty biết bạn không hợp với tinh thần làm việc của họ, sẽ không có ý nghĩa gì cho hai bên nếu tiếp tục.

Hiệu suất làm việc sẽ tăng lên chỉ khi bạn cảm thấy ổn và thoải mái trong môi trường làm việc hiện tại.

2. Ruby

Cú pháp

Hãy tìm hiểu một số yếu tố cơ bản của ngôn ngữ Ruby on Rails như vòng lặp, lớp, câu lệnh điều kiện, mô-đun, v.v.

Lập trình Hướng đối tượng

Là một Ruby Dev, bạn sẽ làm việc chủ yếu với lập trình hướng đối tượng, do đó hãy tìm hiểu kỹ các khái niệm về OOP trong Ruby như: các lớp, đối tượng, inheritance – composition, blocks – procs – lambdas, include – extend một mô-đun.

3. Ruby on Rails

Kỹ năng Ruby on Rails.
Kỹ năng Ruby on Rails. Ảnh: Chris Ried – Unsplash

MVC Paradigm

Đây là cấu trúc của RoR framework. Bạn cần biết lớp nào chịu trách nhiệm cho việc gì và làm thế nào để cấu trúc được ứng dụng để có thể đặt business logic đúng nơi.

ERB / ​​Haml

Hai hệ thống templating / view phổ biến nhất. Tôi đề nghị bạn nên bắt đầu tìm hiểu về ERB trước.

ActiveRecord

Hầu hết các ứng dụng web sử dụng data persistent. Bạn phải biết ActiveRecord, về model, migration, association và validation.

Cấu hình của một ứng dụng mới

Hãy thường xuyên thực hành! Xây dựng một dự án của riêng mình và cố gắng học bằng coding. Để làm điều này, bạn sẽ phải biết cách cấu hình dự án mới ngay từ những giai đoạn đầu.

Unit testing với Rspec

Kiểm thử là cách tiếp cận rất phổ biến đối với các dự án được xây dựng bằng Ruby on Rails. Rspes là công cụ cực kỳ phổ biến.

Bạn phải biết cách viết các unit test với Rspec vì hiệu quả công việc cần được đảm bảo bởi các test để được approved/merged.

API + JSON

Ruby on Rails thường được sử dụng như một API provider, vì vậy bạn cần làm quen với khái niệm API và định dạng JSON.

Khái niệm cơ bản về giao thức REST và HTTP

Rất nhiều ứng dụng web hoạt động như một ứng dụng REST. Bạn nên làm quen với giao thức HTTP, ít nhất là xác định được HTTP verbs và một vài trạng thái phổ biến nhất.

4. Kỹ năng Front-end

Kỹ năng Front end
Kỹ năng Front end. Ảnh: Greg Rakozy – Unsplash

HTML5

Một số điều cơ bản về HTML

JS

Kiến thức về JavaScript, jQuery và các framework JavaScript phổ biến nhất. Và nếu bạn biết thêm một số kiến ​​thức về ES6 nữa là quá chuẩn rồi.

CSS

Kiến ​​thức về cách Cascading Style Sheets hoạt động và các khái niệm liên quan đến SCSS / SASS.

5. Cơ sở dữ liệu

Khái niệm cơ bản về SQL

Ngay cả khi không phải viết bất kỳ SQL nào vì ActiveRecord làm điều đó, bạn sẽ cần phải đọc logs để hiểu hoạt động gì đang xảy ra.

PostgreSQL / MySQL

Hai công cụ cơ sở dữ liệu phổ biến nhất. Sẽ rất tốt nếu biết một số khác biệt và cách cài đặt chúng trên máy của mình.

Khái niệm về cơ sở dữ liệu NoSQL

Mặc dù không phổ biến như cơ sở dữ liệu SQL, nhiều dự án hiện nay vẫn sử dụng NoSQL.

6. Công cụ

Git

Công cụ cần thiết để quản lý code. Bạn phải biết Git là gì, làm thế nào để tạo nhánh mới, cách pull và push code.

Deployment

Một số công cụ để deploy cần biết như Heroku, Capistrano, Docker, CI.

Công cụ quản lý dự án /ticket

Trello / Asana / Pivotal / Github v.v.

Công cụ mà Junior Ruby on Rails Dev sử dụngCông cụ mà Junior Ruby on Rails Dev sử dụng
Công cụ mà Junior Ruby on Rails Dev sử dụng. Ảnh: freepik.com

Theo Krzysztof Kempiński

Categories
Dev's Corner

Các mẹo hữu ích để debug Java nhanh hơn

Bên cạnh việc viết code hiệu quả, thành thạo các kỹ thuật debug java là một trong những điều hữu ích khiến cuộc sống của lập trình viên Java dễ thở hơn, đồng thời đây là kỹ năng giúp phân biệt được một developer xuất sắc.

Điều này còn đặc biệt quan trọng trong môi trường lập trình ngày nay, nơi thế giới phần mềm đang ngày càng chuyển sang các kiến ​​trúc phân tán và bất đồng bộ.

Lỗi phần mềm là không thể tránh khỏi cho nên việc phát hiện và sửa lỗi trong các bản build phức tạp ngày càng trở nên khó nhằn.

Quá trình debug java thậm chí là một thử thách cam go khi ta chuyển sang môi trường production.

Làm thế nào lập trình viên Java có thể tìm ra nguyên nhân gốc của bugs và nhanh chóng giải quyết chúng
Làm thế nào lập trình viên Java có thể tìm ra nguyên nhân gốc của bugs và nhanh chóng giải quyết chúng? Ảnh: Kevin Ku – Pexels

Gambaru giới thiệu cùng bạn bài viết trên Medium tập hợp một số mẹo hiệu quả nhất để debug các ứng dụng Java trong môi trường development và production.

Các mẹo Debug Java nhanh hơn

Sử dụng Breakpoints

Breakpoints là một tính năng đơn giản nhưng quan trọng, tạo nền tảng cho quá trình debug.

Breakpoints cho phép tạm dừng thực thi ứng dụng tại vị trí nghi ngờ bị lỗi để ta có thể phân tích trạng thái chương trình, biến đầu vào, logic và tìm hiểu lý do tại sao code lại lỗi.

Mỗi trình debug cung cấp một số loại breakpoints, bao gồm conditional breakpoints, exception breakpoints, watch points, và trace points.

Tìm hiểu cách thức và thời điểm áp dụng các loại breakpoints khác nhau có thể làm cho quá trình debug dễ dàng hơn.

Một số công cụ hiện đại còn hỗ trợ các breakpoints không gián đoạn (non-breaking breakpoints).

Điều này cho phép ta đặt các breakpoints trên code và thu thập dữ liệu debug mà không phải tạm dừng giai đoạn lập trình.

Dưới đây là ví dụ breakpoint trên Rookout web IDE, được đặt trên dòng 41.

Ví dụ breakpoint trên Rookout web IDE
Ví dụ breakpoint trên Rookout web IDE. Ảnh: Medium

Hiển thị cấu trúc logic

Tính năng này thường có sẵn trong chế độ xem variables và khá hữu ích khi theo dõi nội dung trong các lớp Java.

Khi bật tính năng này, danh sách biến hiển thị một array.

Điều này rất tiện dụng, đặc biệt trong trong trường hợp không có phương thức toString() – cho các đối tượng.

Hình dưới đây cho thấy tính năng này trên khung “hiển thị biến” (variable view) trên Eclipse IDE khi debug.

“Hiển thị biến” (variable view) trên Eclipse IDE khi debug
“Hiển thị biến” (variable view) trên Eclipse IDE khi debug. Ảnh: Medium

“Variable view” cũng cho phép sửa đổi trực tiếp các giá trị của biến trong quá trình debug.

Điều này giúp tiết kiệm thời gian đáng kể vì ta không phải khởi động lại phiên debug với dữ liệu đầu vào đã thay đổi.

Điều hướng thông qua Codebase

Mỗi trình debug Java cung cấp một số tính năng như run to line, step over, step into, step return, cho phép developers điều hướng qua các phần khác nhau của code khi debug.

Ngoài ra, hãy thử kết hợp những tính năng khác sau:

  • Drop to frame – Tính năng này được sử dụng để quay lại một điểm trong stack frame. Khi bỏ lỡ một điểm nào đó và cần quay ngược lại thời điểm đó, hãy sử dụng tính năng drop to frame.
  • Step filtering – Tính năng này cho phép bỏ qua một số package nhất định khi debug. Ta không cần phải điều hướng qua tất cả các lớp của hệ thống JDK khi chỉ cần đơn giản là lọc ra những phần không cần thiết phải debug.

Để cải thiện tốc độ điều hướng qua code, hãy thành thạo các phím tắt đến các chức năng quan trọng nhất.

  • F5 để step into
  • F6 để step over
  • F8 để chạy cho đến khi chạm đến breakpoint tiếp theo

Mặc dù các phím tắt debug có thể khác nhau tùy vào IDE, việc ghi nhớ chúng là quan trọng, giảm thiểu việc dùng chuột quá nhiều.

Học cách giải quyết Deadlocks

Deadlocks xảy ra khi hai hoặc nhiều luồng bị chặn vĩnh viễn sau khi hình thành một phụ thuộc vòng (cyclic dependency), như hình minh họa dưới đây.

Học cách giải quyết Deadlocks
Học cách giải quyết Deadlocks. Ảnh: Medium

Một tập hợp các luồng Java chờ một tài nguyên thuộc sở hữu của luồng kia, đây là tình huống có thể khiến ứng dụng bị đình trệ hoàn toàn.

Khá là khó để debug jstack deadlocks vì chúng không biểu hiện các triệu chứng như tăng đột biến trong bộ nhớ, CPU hoặc các thông số hệ điều hành khác.

Ngoài ra, chúng có xu hướng biểu hiện trong các điều kiện tồi tệ nhất, như heavy production load conditions (phải xử lý lượng lớn dữ liệu đồng thời), và rất khó để replicate.

Có nhiều cách khác nhau để khắc phục các tình huống deadlocks. Ta có thể capture các thread dump trong JVM.

Tùy vào kích thước của JVM mà việc này có thế tốn nhiều thời gian và công sức.

Một cách hay hơn là sử dụng một ứng dụng theo dõi giải pháp cung cấp mức độ JV và độ hiển thị theo mức độ code cần thiết để cô lập các thread deadlocks.

Có nhiều công cụ đột phá hiện có thể giải quyết vấn đề này – bao gồm một số trình debug tiên tiến cũng như các công cụ APM thương mại.

Sử dụng các công cụ này để có được khả năng hiển thị vào code Java và cô lập bugs giúp giảm thời gian đáng kể nên dành cho việc điều tra và phân tích.

Tận dụng các trình debug cho môi trường production

Quá trình debug điển hình mà hầu hết các lập trình viên thường tuân theo là: tái tạo môi trường → tái hiện bugs → tiến hành fix bugs.

Tuy nhiên, điều này không phải lúc nào cũng khả thi trong mọi môi trường production. Lúc này, developers có thể sử dụng các trình debug cho production.

Rookout là một trong những công cụ hiệu quả, cho phép thu thập dữ liệu debug từ các ứng dụng live mà không làm thay đổi trạng thái hoặc điều khiển luồng của ứng dụng.

Với Rookout, bạn có thể đặt các non-breaking breakpoints để lấy được full stack trace, nắm bắt các biến live hoặc bất kỳ dữ liệu ứng dụng nào khác cần để debug.

Tận dụng các trình debug cho môi trường productionTận dụng các trình debug cho môi trường production
Tận dụng các trình debug cho môi trường production. Ảnh: Medium

Vì vậy, thay vì sử dụng các giải pháp giám sát high-overload để debug cho môi trường production, hãy thử sử dụng các công cụ như Rookout để debug các ứng dụng live mà không cần deploy lại hoặc viết code mới.

Cho dù đang làm việc trên các ứng dụng không có máy chủ hoặc được đóng gói, Rookout sẽ là một bổ sung tuyệt vời cho kho công cụ debug.

Đừng quên về debug từ xa (remote debugging)

Phần lớn các IDE hàng đầu như NetBeans, Eclipse, Intellij IDEA Visual Studio hỗ trợ debug từ xa, một kỹ thuật cho phép debug code Java chạy trên máy khác.

Điều này đặc biệt quan trọng trong các tình huống trong đó hệ thống đích không hỗ trợ debug cục bộ hoặc trên các hệ thống thiếu tài nguyên để chạy trình debug.

Để thực hiện debug từ xa, ta cần cung cấp chi tiết cấu hình mà trình debug sẽ sử dụng để kết nối với cổng từ xa.

Ví dụ, nếu sử dụng Eclipse, đây là các cấu hình cần được cung cấp để khởi chạy phiên debug từ xa thành công.

Debug từ xa
Debug từ xa. Ảnh: Medium

Debug từ xa cũng có ích khi khắc phục bugs trong quá trình cài đặt môi trường production, khi lập trình viên cần kết nối với một ứng dụng và fix bugs từ xa.

Bugs là một câu đố lập trình, và có rất nhiều lập trình viên đã giải được những câu đố này mà không cần ở gần máy tính của họ
Bugs là một câu đố lập trình, và có rất nhiều lập trình viên đã giải được những câu đố này mà không cần ở gần máy tính của họ. Ảnh: Lukas – Pexels

Cuối cùng, hãy nhớ rằng việc debug đôi khi có thể mất nhiều thời gian hơn so với việc thực hiện thực tế.

Khi trau dồi kỹ năng debug Java, hãy luôn cố gắng viết code rõ ràng, dễ hiểu, tường minh, đặt tên biến và tên hàm có ý nghĩa – vì sau này khi debug sẽ đỡ cực hơn rất nhiều.

Và nếu mọi thứ dường như vượt ra khỏi tầm kiểm soát của mình, nghỉ ngơi một chút cũng không sao cả.

Mong bạn sử dụng thành công các chiến lược trên để trải nghiệm debug Java bớt “đau khổ” hơn nhé.

Happy coding!

Theo Ari Noman

Categories
All about Japan

Khẩu trang vải – Xu hướng mới ở Nhật Bản

Kỳ này, Gambaru mời bạn cùng đọc bài chia sẻ của một giáo viên người Nhật về xu hướng và thói quen mới của người dân Nhật Bản trước tình hình đại dịch Covid-19 vẫn đang diễn biến phức tạp.

Khẩu trang vải là xu hướng mới ở Nhật
Khẩu trang vải là xu hướng mới ở Nhật. Ảnh: john Applese – Unsplash

Trước sự lan rộng kéo dài của đại dịch Covid-19, người dân Nhật Bản tìm thấy được một thứ tuyệt vời: khẩu trang vải.

“Người Việt chúng tôi dùng khẩu trang vải lâu rồi nè. Có gì đặc biệt đâu chứ!”

Tôi chắc rằng bạn sẽ nói như vậy. Nhưng với người dân Nhật Bản, nó lại là một xu hướng mới.

Trong lúc số lượng khẩu trang y tế trên thị trường vẫn đang khan hiếm, người ta nhận thấy rằng khẩu trang làm bằng vải có thể tái sử dụng được, và cũng chẳng khó gì để làm.

Thế là nhiều người đã thử tự làm, cũng như giới thiệu cách làm lên các trang web và mạng xã hội.

Bây giờ bạn chỉ cần dạo một vòng trên internet là dễ dàng tìm thấy các bài viết, các video hướng dẫn làm khẩu trang vải.

Người Nhật chúng tôi đến thăm Việt Nam rất nhiều, nhưng tôi đoán là không ai chú ý đến việc rằng người Việt Nam thường đeo khẩu trang vải.

Thú thật, tôi nghĩ rằng biết đâu Việt Nam có thể kinh doanh lớn nhờ xuất khẩu trang vải sang Nhật Bản đấy chứ!

Gần đây, bà Koike Yuriko – thị trưởng Tokyo – luôn khiến nhiều người chú ý với những chiếc khẩu trang vải xinh xắn.

Bà cho biết đó là những chiếc khẩu trang hand-made do bạn bè, người ủng hộ và thậm chí là hàng xóm đã gửi tặng.

Thị trưởng Tokyo trông thật thời trang với những chiếc khẩu trang hand-made
Thị trưởng Tokyo trông thật thời trang với những chiếc khẩu trang hand-made. Ảnh: Tokyo Metropolitan Government

Ở một số khu vực nổi tiếng với các sản phẩm giấy truyền thống, người ta cũng đang thử mô hình sản xuất khẩu trang giấy mới. Chất liệu giấy ở đây được làm từ thực vật, tốt cho sức khỏe.

Thành phố Mino, tỉnh Gifu là một trong những địa điểm sản xuất giấy nổi tiếng tại Nhật.

Ở đó, có công ty nọ đã phát triển một loại vải mới để làm khẩu trang. Vải này được dệt bằng bột giấy. Khẩu trang của họ đều được làm bằng tay, có thể giặt và tái sử dụng được.

Đây là một sự đổi mới đáng chú ý về các sản phẩm giấy tại Nhật Bản.

Khẩu trang vải là một sự đổi mới lớn cũng như là một trong những thói quen mới đối với người dân xứ anh đào. Mặc dù, vẫn có một số người cho rằng nói chuyện khi đeo khẩu trang là không lịch sự.

Thói quen mới của người dân Nhật Bản
Thói quen mới của người dân Nhật Bản. Ảnh: Ketut Subiyanto – Pexels

Người Nhật vẫn phải tiếp tục chiến đấu với Covid-19, và đeo khẩu trang là một trong những hành động thiết thực để phòng ngừa virus lây lan trong cộng đồng.

Và tôi nghĩ rằng những chiếc khẩu trang vải xinh xắn, phong cách này có thể tạo chút niềm vui nho nhỏ trong cuộc sống khó khăn hiện giờ đấy.

Theo Gambaru

Categories
Gambaru News

Cách phỏng vấn Java Developer bao đậu

“Thành công là kết quả của sự chuẩn bị kỹ càng”

Trước buổi phỏng vấn, bạn thường chuẩn bị những gì?

Ôn lại sơ bộ kiến thức, hỏi những người bạn cùng ngành, hay tham khảo từ những người phỏng vấn trước đó? 

Việc xem qua những câu hỏi phỏng vấn giúp bạn kiểm tra lại mình còn thiếu sót ở đâu, phần nào lâu rồi chưa có cơ hội xem lại. Lấp đầy những “kẽ hở li ti” là cách tuyệt vời để trau dồi cũng như nâng cao kiến thức. 

Theo kinh nghiệm của Gambaru, người phỏng vấn thường bắt đầu với những khái niệm cơ bản, sau đó tùy biến vào câu trả lời của bạn để hỏi nâng cao.

Mong muốn đầu tiên của người phỏng vấn đó chính là nền tảng kiến thức vững chắc của bạn.

Những câu hỏi thường gặp khi phỏng vấn Java Developer

Dưới đây là những câu hỏi thường gặp trong buổi phỏng vấn vị trí Java Developer:

1. Hướng đối tượng OOP

  • Hàm get/set trong Object để làm mục đích gì
  • Encapsulate Data
  • Dependency Injection
  • So sánh Abstract và Interface
  • Extend và Implement
  • Data Structure hay sử dụng
  • Khác nhau giữa Association, Aggregation và Composition (Câu hỏi nâng cao)
  • Vẽ Observer Pattern (Dựa trên level yêu cầu của vị trí)
Xem qua những câu hỏi phỏng vấn là cách giúp bạn kiểm tra nhanh kiến thức
Xem qua những câu hỏi phỏng vấn là cách giúp bạn kiểm tra nhanh kiến thức. Ảnh: Christina Morillo – Pexels

2. Java

  • String là bất biến? Đúng hay sai
  • So sánh Strong và Weak Reference, cho ví dụ cụ thể
  • Tại sao Java không hỗ trợ Multiple Inheritance
  • JDK, JRE và JVM
  • Equals () và == trong Java khác nhau như thế nào
  • Sự khác biệt giữa Heap và Stack Memory trong Java
  • Java String Pool
  • Final, Finally, Finalize
  • Cách chia sẻ biến trong Multi Threads (Nếu trong CV bạn có liệt kê dùng Threads)
  • Cách sửa lỗi khi memory leak (Nếu trong CV có đề cập vấn đề về bộ nhớ)
  • Số lượng tối thiểu Threads cần cho một Java Thread deadlock
  • Giải thích về cách hoạt động của ConcurrentHashMap
Thread Signalling, tìm lỗi đoạn code này
Ví dụ: Thread Signalling, tìm lỗi đoạn code này. Ảnh: Java Specialists
Static Locks, Code phía dưới có gì không ổn
Ví dụ: Static Locks, Code phía dưới có gì không ổn? Cách sửa. Ảnh: Java Specialists

3. SQL

  • Delete và Truncate statements
  • Drop và Truncate commands
  • Subsets SQL
  • Join trong SQL
  • Char và Varchar2 datatype trong SQL
  • Phân biệt Clustered and Non-Clustered Index trong SQL
  • ACID property trong database

4. HTTP

  • HTTP
  • Stateless
  • Stateful
  • Stateless, Session, Logout Stateless
  • Cookie và Session khác nhau ở điểm nào
  • Oauth2, JWT
  • Sự khác biệt giữa SOAP REST? Cái nào tốt hơn và tại sao
  • Put, Patch, Delete, Head
  • Các loại HTTP Status Code

5. Scaling system

Ví dụ: Có 1 server scheduler count down lượt chọn player của 1 game ABC, mỗi user sẽ có 5 lần chọn players mỗi lần user sẽ có 30 giây suy nghĩ để chọn (có thời gian count down).

Làm thế nào để scaling ra 3 nodes cho server scheduler này?

6. Tư duy Logic

Phỏng vấn thường có những bài Test về Logic
Phỏng vấn thường có những bài Test về Logic. Ảnh: Danial RiCaRoS – Unsplash

Ví dụ: 

  • Cho một non-empty list, trả về k phần tử thường gặp nhất.
  • Kết quả phải được sắp xếp theo tần số xuất hiện từ cao đến thấp, nếu có 2 phần tử cùng tần số thì trả về phần tử có thứ tự chữ cái thấp hơn (lower alphabetical order).

Ví dụ:

Input: [“i”, “love”, “leetcode”, “i”, “love”, “coding”], k = 2 Output: [“i”, “love”]

Explanation: “i” and “love” are the two most frequent words.

Note that “i” comes before “love” due to a lower alphabetical order

Hoặc bạn có thể ôn thêm các ví dụ liên quan đến xử lý chuỗi hay xử lý random.

Và cũng như tất cả các vị trí khác, bạn hãy:

  • Tập trung liên kết giữa kinh nghiệm làm việc 2 năm gần đây nhất của bạn với những yêu cầu mà công ty đăng tuyển trong Job Description.
  • Đề cập về dự án mà bạn cảm thấy tâm đắc nhất, hãy luôn nhớ thử thách bạn trải qua trong quá trình làm việc càng khó khăn sẽ càng đề cao những thứ bạn gặt hái được. Tất nhiên, mọi thông tin nên được trung thực.
  • Chia sẻ những giải pháp và “bài học xương máu” trong quá trình làm việc hay quản lý dự án.
  • Chuyên sâu phần nào thì hãy đề cập đến vấn đề đó. Nếu thực sự không chuyên, hãy mạnh dạn xin lời khuyên từ người phỏng vấn. Điều này sẽ được đánh giá cao.

Đến đây, bạn tự đánh giá mình được bao nhiêu điểm trên thang điểm 10?

Hy vọng những chia sẻ trên của Gambaru sẽ giúp bạn có được sự chuẩn bị tốt nhất trước mỗi buổi phỏng vấn nhé!

Nguồn: GNT Leaders & HR

Categories
Gambaru News

Làm việc từ xa: Xu hướng việc làm tương lai

Tiếp tục cập nhật về những tác động của đại dịch COVID-19 lên giới công nghệ hay kế hoạch remote work của các doanh nghiệp công nghệ trong năm nay, Gambaru mời bạn theo dõi những dự đoán về xu hướng làm việc nói chung trong tương lai.

Làm việc từ xa đã trở thành hiện thực sau đại dịch COVID-19
Làm việc từ xa đã trở thành hiện thực sau đại dịch COVID-19. Ảnh: Freepik

Tôi đang nhâm nhi ly cà phê tại một quán vỉa hè ở Belgrade, thủ đô Serbia.

Nơi đây đang ở giai đoạn hậu COVID, mọi người ra ngoài, ăn uống, cười đùa, và đáng ngạc nhiên là chẳng hề đeo khẩu trang.

Tôi nhớ về mùa hè hai năm trước ở đây.

Vào thời điểm đó, tôi nghĩ rằng những gì mình đang làm là vô cùng cấp tiến – một kẻ du mục kỹ thuật số làm việc toàn thời gian và chu du khắp thế giới.

Tôi đã tin rằng bản thân là bằng chứng cho thấy văn hóa văn phòng sẽ tuyệt chủng, và bị thống trị bởi làm việc từ xa.

Những người ủng hộ làm việc từ xa như tôi thay vì truyền cảm hứng cho mọi người rằng remote work chính là tương lai, chúng tôi lại đang chiến đấu theo một kiểu khác, một cuộc chiến chống lại đại dịch COVID toàn cầu và cuối cùng sẽ thuyết phục được giới tinh hoa công nghệ áp dụng hoàn toàn chính sách remote work.

Những gã khổng lồ bao gồm Facebook, Google, Coinbase, Twitter và 74% các công ty khác (như được tiết lộ trong một cuộc khảo sát gần đây của Gartner) đang lên kế hoạch thực hiện và duy trì làm việc từ xa trong năm nay.

Sự kiện mang tính bước ngoặt này giết chết văn hóa công sở và tất cả các bằng chứng cho thấy rằng remote work đang là hiện thực, buộc chúng ta đặt ra câu hỏi: “Tương lai thì sao?”

3 Dự đoán hàng đầu về việc làm tương lai

1. Công việc bạn làm không ràng buộc với bất kỳ công ty cụ thể nào

Một nghiên cứu của Gallup cho thấy sự linh hoạt là chìa khóa để giữ chân nhân viên. 53% nhân viên nói rằng sự cân bằng cuộc sống-công việc và hạnh phúc cá nhân là “rất quan trọng” đối với họ khi xem xét có nên nhận một công việc mới hay không.

Bước tiếp theo trong tính linh hoạt đó là các cách tiếp cận mới đối với việc làm như sự tham gia của nhân viên bán thời gian, freelancer và contractor làm việc theo dự án.

Sự linh hoạt là chìa khóa để giữ chân nhân viênSự linh hoạt là chìa khóa để giữ chân nhân viên
Sự linh hoạt là chìa khóa để giữ chân nhân viên. Ảnh: Johnson Wang – Unsplash

Đối với nhân viên bán thời gian, tùy chọn này cho phép họ có thể kiểm soát việc ưu tiên công việc bên cạnh những việc như chăm sóc sức khỏe, chăm lo cho con cái, cha mẹ hoặc đơn giản là có nhiều thời gian cá nhân hơn.

Đối với các công ty, điều này mang đến khả năng giữ chân nhân tài hàng đầu với các mục tiêu nghề nghiệp thay đổi và tạo ra thành công cho dự án với ít tài nguyên hơn.

Đối với nhân viên freelancer và contractor, việc có nhiều kênh để sử dụng chuyên môn của họ sẽ tăng tính linh hoạt trong công việc, giúp kích thích sự sáng tạo, mang lại nhiều quyền kiểm soát hơn và cơ hội khám phá những sở thích mới.

Từ góc nhìn doanh nghiệp, làm việc từ xa mang lại nguồn chuyên môn bổ sung trong việc giải quyết các khó khăn kinh doanh, tạo môi trường chia sẻ kiến ​​thức về các vấn đề kinh doanh không nhạy cảm, không cần bảo mật đồng thời cho phép phản hồi và đổi mới từ việc đặt câu hỏi về các giả định cách vận hành doanh nghiệp.

2. Kết quả đầu ra có thể đến từ nhiều nguồn

Giống như việc nhân viên có thể lựa chọn làm việc cho nhiều công ty, doanh nghiệp có thể hưởng lợi từ việc có nhiều người làm cùng một công việc.

Chia sẻ công việc (job-sharing, work-sharing) là một hệ thống trong đó một công việc trước đây thường do một người đảm nhiệm nay được phân chia giữa hai người, và điều này ngay lập tức mang đến nhiều lợi ích vì “hai cái đầu vẫn tốt hơn một”.

Có nhiều cách khác nhau để phân chia vai trò, dựa trên đam mê, thế mạnh, chuyên môn và kiến ​​thức cụ thể của nhân viên hoặc bằng cách tập trung vào việc kết hợp hai quan điểm đa chiều, chẳng hạn như các thành viên trong team đa thế hệ hoặc đa văn hóa.

Doanh nghiệp có thể hưởng lợi từ việc có nhiều người làm cùng một công việc
Doanh nghiệp có thể hưởng lợi từ việc có nhiều người làm cùng một công việc. Ảnh: Pixabay – Pexels

3. Công ty thuê người theo những cách độc đáo và mang lại lợi ích chung

Mô hình tuyển dụng và cơ cấu nhân viên của các công ty sẽ có nhiều thay đổi
Mô hình tuyển dụng và cơ cấu nhân viên của các công ty sẽ có nhiều thay đổi. Ảnh: Polina Zimmerman – Pexels

Cuối cùng, bước tiếp theo trong cuộc cách mạng này sẽ là đặt câu hỏi đối với các giả định về mô hình nhân viên toàn thời gian truyền thống và tìm các tùy chọn có lợi cho công ty và những người xây dựng chúng.

Trong tương lai, các công ty thành công nhất sẽ phát triển mô hình của họ để đón nhận nhiều người tham gia phát triển công việc nội bộ bao gồm nhân viên toàn thời gian, chuyên gia tư vấn, freelancer và nhân viên bán thời gian.

Tất nhiên, có những thứ cần thay đổi trong hệ thống hiện tại của chúng ta để hiện thực hóa tương lai này.

Một ví dụ đó là việc tách phúc lợi y tế khỏi chế độ làm việc, và dường như đây là một gánh nặng đặc trưng của người Mỹ.

Rộng hơn nữa là việc tái cơ cấu hỗ trợ của chính phủ đối với doanh nghiệp và các dịch vụ được cung cấp cho loại hình này.

Nếu có thể thực hiện các bước để tạo ra những thay đổi đó và khuyến khích nhiều nhóm làm việc toàn diện hơn, chúng ta có thể bắt đầu phong trào “Việc làm tương lai” tiếp theo và tôi hy vọng chúng ta không cần một thảm họa toàn cầu khác nữa để biến điều này thành hiện thực!

Theo Ali Greene