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