Bạn đã xem Biểu đồ Năng lực của Rails chưa?
Brook Riggio của CodeFellows đã tổng hợp nó lại để chỉ ra tất cả các khái niệm mà một nhà phát triển Rails hiện đại nên biết. Hãy xem:
Đáng sợ, phải không? Có vẻ như một con quái vật hai trăm xúc tu đang chuẩn bị tấn công bạn.
Không có gì ngạc nhiên khi học Rails thật đáng sợ. Một số nhánh, như SQL và Deployment, có thể là toàn bộ con đường sự nghiệp. Bạn có thể dành nhiều năm cho Kiến trúc ứng dụng mà vẫn không cảm thấy mình là một chuyên gia.
Nhưng nó chính xác. Nếu bạn hiển thị biểu đồ này cho một nhà phát triển Rails chuyên nghiệp, bạn có thể sẽ nghe thấy, “Đúng vậy, nghe có vẻ đúng.” Nếu có bất kỳ điều gì, bạn sẽ nghe về những gì còn thiếu .
Vì vậy, làm thế nào bạn có thể đối phó với tất cả những điều này? Làm thế nào để bạn học được tất cả những thứ này mà không cần bắt đầu từ 5 năm trước?
Bạn xử lý tất cả các chủ đề này như thế nào?
Vâng, hầu hết các nhà phát triển Rails chuyên nghiệp đều biết rất nhiều về những khái niệm đó. Nhưng bạn không cần phải biết tất cả những điều này để bắt đầu xây dựng ứng dụng Rails của bạn. Bạn không cần phải nghiên cứu triển khai cho đến khi sẵn sàng triển khai và bạn có thể tra cứu cách nhóm mọi thứ trong SQL vào lần đầu tiên bạn phải thực hiện.
Một điều mà biểu đồ này không minh họa rõ ràng (mặc dù bài đăng trên blog nói về nó) là cách các khu vực khác nhau củng cố lẫn nhau. Ví dụ:các bài kiểm tra đơn vị, bài kiểm tra tích hợp, bài kiểm tra chấp nhận và tất cả các phần còn lại sử dụng các kỹ năng và kiến thức tương tự. Có, có một số khác biệt giữa các loại thử nghiệm khác nhau. Nhưng một khi bạn bắt đầu hiểu các nguyên tắc cơ bản của thử nghiệm bằng cách viết một loạt các bài kiểm tra đơn vị, bạn sẽ chọn các loại khác nhanh hơn nhiều.
Bạn càng học nhiều, bạn sẽ học càng nhanh. Lập trình hàm sẽ dễ học hơn rất nhiều khi bạn biết Lập trình hướng đối tượng. Kiến trúc hướng dịch vụ có thể "cảm thấy" giống như Lập trình hướng đối tượng. Học các bộ chọn CSS sẽ giúp việc sử dụng jQuery dễ dàng hơn nhiều. Nhiều nguyên tắc bạn học được sẽ chuyển sang các nhánh khác nhau.
Bạn bắt đầu từ đâu?
Nếu bạn cố gắng học tất cả các kỹ năng này cùng một lúc, bạn sẽ không tận dụng được tốc độ tăng thêm mà bạn sẽ nhận được khi thành thạo từng kỹ năng một. Vì vậy, hãy tập trung vào một vài thứ tại một thời điểm và tìm hiểu chúng thật tốt.
Hãy tự hỏi bản thân câu hỏi này:
“Tôi cần biết gì để đạt được tiến bộ trong vấn đề tôi đang gặp phải?”
Sử dụng câu trả lời của bạn để thu hẹp năng lực nên bắt đầu. Khi bạn chọn những thứ đó, bạn có thể kiểm tra các kỹ năng xung quanh nó và tận dụng những gì bạn vừa học được để học những thứ tương tự nhanh hơn. Ví dụ:nếu bạn cảm thấy thoải mái với dòng lệnh, bạn có thể dễ dàng phân nhánh sang những thứ như quản lý gói và quyền.
Bằng cách xây dựng những kỹ năng này khi bạn cần, bạn sẽ có thêm một chút động lực. Bạn sẽ dành thời gian cho những thứ quan trọng đối với bạn .
Ví dụ:nếu tôi đang học về đa thai vì tôi cảm thấy đó là điều mà tôi chỉ nên biết, tôi sẽ buồn ngủ giữa chừng khi đăng bài blog đầu tiên. Nếu tôi đang học nó vì đó là cách duy nhất tôi có thể làm cho ứng dụng của mình hoạt động, thì tôi sẽ dán mắt vào mọi hướng dẫn và hướng dẫn tham khảo mà tôi có thể tìm thấy.
Thật tuyệt khi thấy hàng trăm kỹ năng và biết rằng bạn cần phải học tất cả chúng. Đặc biệt là khi một vài năng lực đầu tiên bạn phải mất vài tuần hoặc vài tháng mới có thể phát triển được. Bạn sẽ cảm thấy như mình sẽ không bao giờ trở thành một nhà phát triển Rails chuyên nghiệp.
Biểu đồ không sai. Là một nhà phát triển Rails, cuối cùng bạn sẽ biết rất nhiều về hầu hết những điều đó. Nhưng không phải tất cả chúng ta đều bắt đầu ở đó.
Vì vậy, hãy bắt đầu ở đâu đó . Ưu tiên và di chuyển theo con đường dẫn đến việc xây dựng ứng dụng của bạn. Nhánh ra để lấp đầy những khoảng trống. Và nhận ra rằng bạn sẽ nhanh hơn khi thời gian trôi qua.
Và nếu bạn muốn học những kỹ năng đó nhanh hơn và nhớ cách sử dụng chúng khi nó đếm, hãy lấy chương mẫu miễn phí này của Thực hành đường ray . Bạn sẽ học được phương pháp tôi sử dụng để tìm hiểu các ý tưởng Rails mới một cách nhanh chóng và kỹ lưỡng mà không bị choáng ngợp.