Với xu hướng hiện nay, rất nhiều các bạn developer chọn con đường Web development để phát triển bản thân, tuy nhiên trong trường đại học các bạn thường ít được tìm hiểu về mảng này, các khóa học bên ngoài thì có vẻ đắt đỏ. Vậy tại sao không tự học Web development? Nhiều bạn sẽ trả lời với những lý do kiểu như không biết bắt đầu từ đâu, không biết học như thế nào cho đúng, cần người hướng dẫn, cùng với vô vàn lý do khác khiến bạn chùn bước. Trong bài viết này tôi sẽ không hướng dẫn về Web development, mà tôi sẽ chia sẻ những quan điểm cá nhân về cách học Web development hiệu quả nhất để các bạn cùng thảo luận, ít nhất là đối với bản thân tôi và hy vọng sẽ giúp ích được cho các bạn. Đối với việc học Web development tôi cho rằng những điều cơ bản dưới đây có thể giúp các bạn. Thứ nhất, chọn mảng mà bạn thích thú nhất trong Web development. Bạn không thể trở thành Web developer chỉ bằng cách đọc một vài quyển sách, xem một vài video. Web development là một lĩnh vực lớn, bao gồm nhiều mảng. Việc cố gắng hoàn thiện bản thân ở tất cả mọi thứ sẽ làm cho bạn mệt mỏi và dễ chán nản. Vì thế lựa chọn cái gì mà bạn cho là bạn thích thú nhất sẽ giữ cho tinh thần của bạn luôn ổn định khi bắt đầu. Ngoài ra, bạn cần phải tìm hiểu chuyên sâu. Đừng cố gắng tìm hiểu quá nhiều thứ nhưng tất cả điều chỉ hiểu biết ở mức cơ bản. Một điều cơ bản là một gã hiểu sâu về PHP có thể làm được nhiều thứ tuyệt vời hơn một gã chỉ hiểu biết một các cơ bản về cả chục các công nghệ Web hiện đại như Meteor, Angular, blabla… Miễn là bạn có thể làm việc với HTML và CSS, bạn có thể chọn bất cứ thứ gì bạn thích để phát triển Web. Ngó sơ qua thế giới Web hiện tại, khá nhiều trang được phát triển bằng Rails, bên cạnh đó là sự phát triển của các Javascript framework. Đấy bạn có thể chọn Rails, hoặc một Javascript framework nào đó ví dụ như Meteor vì hỗ trợ real-time cực kì tốt. Lý do là của bạn, không cần quan trọng đó là gì. Và việc đưa ra lý do đó sẽ là điều duy nhất để bạn có thể duy trì động lực học tập của mình. Đó là điều mà tôi đã nói trong bài Ngày mai nên đi học Ruby hay NodeJS. Nếu không có gì đặc biệt có thể hấp dẫn bạn, hãy cố gắng tìm hiểu xu hướng phổ biến nhất. Đơn giản bởi vì những xu hướng phổ biến luôn có sẵn đầy đủ các tài liệu cũng nhưng số lượng người dùng đủ lớn đễ có thể hỗ trợ bạn bất cứ khi nào bạn đặt câu hỏi trên stackoverflow. Thứ hai, tự tạo cho mình một project. Sau khi học tất cả những điều căn bản, hãy cố gắng xây dựng một thứ cho riêng mình mà không phụ thuộc vào bất cứ sách vở, videohay tutorial nào. Bởi vì việc này sẽ giúp các bạn quen với việc tạo ra thứ gì đó bằng chính tư duy của bạn, ngoài ra nó cũng giúp bạn khám phá ra những điểm yếu, cũng như khiếm khuyết trong kiến thức của mình và hơn cả nó giúp bạn học cách giải quyết vấn đề thực sự mà bạn mắc phải trong quá trình phát triển. Chắc hẳn các bạn sẽ đặt câu hỏi thế tôi phải chọn cái gì để làm? Thật ra đó không phải là một vấn đề quá lớn lao. Nhưng hãy cố gắng giữ cho cái mà bạn sẽ làm nhỏ vừa phải. Đừng để bản thân bạn phải dành cả ngày vào project đó, nó quá tốn thời gian và thậm chí khiến bạn bỏ cuộc. Và hãy chắc chắn bạn đã đặt ra điểm kết thúc cho project đó. Có nghĩa là bạn sẽ nên liệt kê ra tất cả những tính năng mà bạn nên làm, và khi làm xong chỉ việc gạch nó đi. Vậy như thế nào là xong? Cái này tự bản thân bạn sẽ biết, khi nào bạn cảm thấy thỏa mãn với tính năng mà bạn tạo ra, khi đó bạn có thể nói bạn đã xong tính năng A, B, C, blabla. Nhưng điều này cũng không có nghĩa là khi bạn xong hết tất cả, là cái sản phẩm bạn tạo ra có thể đem đi thay đổi thế giới haha. Một vài gợi ý như, làm một trang blog cá nhân hay một cái tool để theo dõi tình trạng tập luyện của bạn, developer ngồi nhiều một chỗ không tốt đâu nhé. Nói một cách cơ bản nhất, cái project bạn chọn sẽ dựa trên mục đích cơ bản là kiểm tra kiến thức của một người mới bắt đầu. Thứ ba, cố gắng đưa ra thời gian biểu luyện tập hàng ngày. Khi bạn bắt đầu với Web development, bạn sẽ nhanh chóng tiếp cận nhưng sau đó dần dần bạn sẽ chậm lại, và hầu như đây là vấn đề của rất nhiều những người muốn học, khi bạn chậm lại bạn sẽ dề thất vọng và từ bỏ. Điều này có xảy ra là vì những người mới bắt đầu thương dựa trên những cột mốc mà họ đạt được và dễ dàng thỏa mãn bản thân bởi những cột mốc đó. Những cột mốc đạt được là không thể dự đoán trước, sau khi đã nắm được những điều cơ bản, bạn có thể mất vài ngày hoặc thậm chí vài tuần mà ko có bước tiến nào đáng kể. Tuy nhiên, điều gì thì cũng có giải pháp, giải pháp tôi đưa ra là thay vì tập trung vào việc đạt được cột mốc nào đó hãy cố gắng cam kết vớ bản thân về việc học và luyện tập với một khoảng thời gian mỗi ngày. Tối thiểu chỉ cần khoảng 20 phút và sẽ không có giới hạn tối đa. Chỉ cần chọn một khoảng thời gian hợp lý dựa trên cơ sở phù hợp với thời gian biểu của bạn. Điểm chính cuả việc này là làm bạn cảm thấy thỏa mãn với những cam kết bạn đã đặt ra với bản thân. Thay vì dựa vào những cột mốc không thể đoán trước, thì giờ đây điều gì đến sẽ đến một cách nhẹ nhàng từ tốn. Haha. Thứ tư, cố gắng làm theo càng nhiều hướng dẫn càng tốt. Nghe thì có vẻ mâu thuẫn với điều thứ hai, nhưng không phải vậy.Ở điều thứ hai, bạn vận dụng kiến thức bạn có, còn ở đây, bạn đang lượm lặt kiến thức. Bạn sẽ phải viết rất nhiều code nếu như bạn là một developer, nhưng sự thật bạn không thể nhận ra rằng phần lớn code bạn viết ra không phải của bạn sáng tạo ra. Nó có thể là từ sách vở nào đó, từ hướng dẫn nào đó mà bạn xem qua, từ internet, blabla… Bạn phải làm quen với việc này, vì khi học và code theo ví dụ, dù xem thì có vẻ như bạn là một con vẹt đúng nghĩa nhưng đó vẫn là một cách học. Vì sao? Cú pháp không phải là phần khó nhất trong Web development. Nhưng đó lại là một trở ngại lớn cho những người mới bắt đầu. Và vấn đề là người mới bắt đầu thường nghĩ về các giải pháp phức tạp hơn so với một chuyên nghiệp sẽ làm. Vì thế bạn nên làm theo hướng dẫn. Và với suy nghĩ này trong đầu, những lợi ích nêú bạn có thể tiếp cần được với nhiều nguồn hướng dẫn khác nhau sẽ là. Bạn có thể thấy được các developer khác nhau giải quyết những vấn đề khác nhau. Từ đó đưa ra điểm chung trong suy luận. Bạn có thể thấy một vấn để được giải quyết như thế nào đối với từng developer khác nhau. Và khi bạn sẵn sàng để làm project của mình, điều này sẽ giúp bạn. Xác định được cốt lõi của vấn đề. Tìm ra những gì cần thiết để giải quyết vấn đề đó. Bạn có thể không thể nhớ bất kỳ giải pháp chính xác nào, nhưng điều đó sẽ không thành vấn đề. Hầu hết các vấn đề đã được giải quyết trước đó, bạn hiểu cách giải quyết bằng code, và nhiều lúc nói bằng code sẽ dễ hiểu hơn diễn tả bằng ngôn từ. Từ đó, syntax và những chi tiết khác trở nên dễ dàng hơn để nắm bắt. Tóm lại. Những điều trên đây cũng chỉ là những quan điểm cá nhân, trong một bức tranh lớn các vấn đề về việc tự học Web development. Nếu các bạn đã từng tự học Web development, hay đang tự học hãy chia sẻ câu chuyện và kinh nghiệm của mình nhé. Nguồn: Codeaholicguy