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

Sự khác biệt giữa Junior, Mid-Level và Senior Developer

bài viết trước, Gambaru đã cùng các bạn tìm hiểu về vị trí Senior Software Developer.

Hôm nay, mời mọi người theo dõi góc nhìn của Daan, một back-end developer từ Hà Lan về:

Sự khác nhau giữa Junior, Mid-Level và Senior Developer

Sự khác nhau giữa Junior, Mid-level và Senior developer
Sự khác nhau giữa Junior, Mid-level và Senior developer. Ảnh: Soumil Kumar – Pexels

Số năm kinh nghiệm lập trình không đủ để xác định được ai là một Junior, Mid-level hoặc Senior Developer.

Tôi nghĩ điều quan trọng ở đây là kỹ năng.

Một Senior Developer chẳng phải là chuyên gia về mọi thứ, nhưng ta hoàn toàn có thể nói rằng Senior Developer có kỹ năng thành thục hơn Junior và Mid-level Developer.

Kiến thức

Senior Developer sở hữu lượng kiến thức lớn hơn nhiều so với Mid-level và Junior Developer.

Junior Developer cần mở mang hiểu biết về design pattern, architecture, automating testing, performance, security… mới thu hẹp được khoảng cách kiến thức với Mid-level và Senior Developer.

Đúng là rất quan trọng để biết mọi thứ trong quá trình phát triển phần mềm nên thực hiện như thế nào, nhưng chỉ biết những điều này chưa đủ để bạn trở thành một Senior Developer.

Kiến thức là một trong những yếu tố cho thấy sự khác biệt lớn nhất giữa các dev, nhưng nó chưa phải là tất cả
Kiến thức là một trong những yếu tố cho thấy sự khác biệt lớn nhất giữa các dev, nhưng nó chưa phải là tất cả. Ảnh: NeONBRAND – Unsplash

Coding

Trái với suy nghĩ của hầu hết mọi người, coding không phải là vấn đề về việc giao tiếp với máy tính.

Coding là việc giao tiếp với con người và hướng dẫn máy tính. Suy cho cùng, code được tổng hợp và biên dịch thành giá trị 0 và 1.

Code phải có ý nghĩa đối với những dev khác làm việc với nó trong tương lai.

Một team mới chưa bao giờ tiếp xúc với đoạn code vẫn có thể mở được nó và tiến hành làm việc với các tính năng mới hoặc fix bug.

Đây là nơi có thể thấy sự khác biệt lớn giữa Junior Developer và Senior Developer.

Tôi sẽ không nói về Mid-level Developer trong đoạn so sánh tiếp theo vì Mid-level Developer là một khu vực xám khi nói đến kỹ năng coding.

Phân biệt Junior Developer?

Junior Developer ít kinh nghiệm, một số vừa tốt nghiệp và lần đầu tiên đi làm.

Một Junior Developer thường chỉ nghĩ là phải làm cho code chạy được. Theo họ, phần mềm chạy được và phần mềm tốt là như nhau.

Viết được code tường minh không đơn giản và Junior Dev thường viết code rườm rà.

Bạn có thể nhận ra Junior Developer vì họ hay viết tất cả mọi thứ trên một dòng hoặc những lớp abstract phức tạp quá mức.

Đây là cách một Junior Developer thể hiện cho các dev khác biết họ có thể viết code tốt như thế nào. Và điều này là sai lầm.

Senior Developer thì sao?

Khi nhìn vào code của một Senior Developer, bạn có thể nghĩ: đây có phải là tất cả không?

Phần code còn lại đâu rồi? Một Senior Developer viết code đơn giản, dễ hiểu và thậm chí có thể là ngớ ngẩn.

Đây là một trong những phẩm chất làm lập trình lớn nhất một developer có.

Senior Developer tuân theo nguyên tắc KISS (Keep It Simple, Stupid).

Làm đơn giản thôi, ngốc ạ.
Làm đơn giản thôi, ngốc ạ. Ảnh: Myburgh Roux – Pexels

Senior Developer viết code và cân nhắc về khả năng code maintain được và mở rộng được.

Đây là một tư duy hoàn toàn khác so với Junior Developer – Senior nghĩ về những người phải làm việc với code, còn Junior chỉ nghĩ về việc làm cho nó hoạt động trên máy tính.

Không chỉ là kỹ năng lập trình

Nói chung, Junior Developer thực hiện các task hoặc task đơn giản nhất với độ ảnh hưởng thấp. Họ không thực hiện việc thiết kế kiến trúc hệ thống.

Mid-level Developer cũng không tạo ra solution, họ chỉ thực hiện task.

Sự khác biệt với Junior Developer là họ thực hiện task đó với ít sự giám sát hơn miễn là họ được giao cho các task có tính ổn định tương đối.

Senior Developer thì có thể hoàn toàn tự mình phát triển một ứng dụng.

Điều này không có nghĩa là Senior Developer không có bất kỳ câu hỏi nào trong quá trình làm việc.

Senior Developer biết cách đặt câu hỏi đúng và cách xử lý những câu hỏi này.

Mid-level Developer có thể đặt câu hỏi đúng liên quan đến các task họ thường xuyên làm, nhưng cần hỗ trợ ở những task phức tạp hơn.

Senior Developer không hoang mang và biết cách theo dõi những câu hỏi đặt ra với hành động hợp lý.

Senior Developer vẫn luôn nhờ sự giúp đỡ từ các dev khác vì đôi khi cách tốt nhất là chỉ cần nhờ dev có kinh nghiệm trong lĩnh vực đó giúp đỡ.

Mid-level Developer cũng có thể hỏi đúng câu hỏi, miễn là họ không được giao những task có độ phức tạp cao, đòi hỏi kiến thức chuyên sâu.

Ta không nên mong đợi một Junior Developer sẽ làm được điều này vì họ thiếu kinh nghiệm và cần hướng dẫn từ một dev có kinh nghiệm hơn, cần những nguồn lực cần thiết hoặc một sự thúc đẩy mạnh mẽ để đi đúng hướng.

Nâng cấp từ Junior lên Senior Developer

Tất cả chúng ta đều muốn cải thiện bản thân và trở thành một developer hoàn thiện hơn. Các bước cần thực hiện để đạt đến cấp độ tiếp theo là gì?
Tất cả chúng ta đều muốn cải thiện bản thân và trở thành một developer hoàn thiện hơn. Các bước cần thực hiện để đạt đến cấp độ tiếp theo là gì? Ảnh: Jerry Zhang – Unsplash

Junior lên Mid-level

Vì các Junior Developer đều thiếu kinh nghiệm, nên điều quan trọng là phải tự mình trải qua toàn bộ chu trình lập trình ít nhất một vài lần.

Bằng cách này, bạn sẽ mắc nhiều sai lầm và học cách tránh lặp lại chúng vào lần tiếp theo.

Bạn nên học cách viết code đơn giản. Hãy nghĩ về người tiếp theo sẽ làm việc với code đó.

Bạn cũng nên tìm hiểu cách debug vì điều này sẽ giúp ta hiểu rõ hơn về những gì xảy ra trong quá trình lập trình.

Ngoài ra, bạn nên làm quen với những thực tiễn tốt nhất và tìm hiểu về architecture, performance, security v.v. Mục tiêu là thu hẹp khoảng cách kiến thức cần có để đạt đến mid-level.

Mid-level đến Senior

Đi từ Mid-level đến Senior là một chặng đường khá khó khăn. Một số dev sẽ chỉ ở mức Mid-level trong suốt sự nghiệp của mình.

Senior Developer biết khi nào cần đi đường tắt và khi nào thì không.

Đây là những bài học khó nhằn chỉ học được bằng cách mắc sai lầm trong quá khứ.

Nếu muốn lên Senior Level, bạn phải sẵn sàng nhận những task mà không ai biết cách xử lý và nên biết nhiều hơn ngoài việc làm thế nào để hoàn thành công việc.

Là một Senior Developer, bạn cũng có công việc hỗ trợ các dev ít kinh nghiệm hơn.

Và bạn sẽ chẳng ngạc nhiên khi tôi nói rằng Senior Developer làm chủ được công nghệ của mình.

Bên cạnh kỹ năng coding, họ biết tất cả các công cụ và ứng dụng đang được sử dụng trong công ty mình đang làm.

Tôi xin kết bài bằng một câu nói từ Martin Fowler:

Bất kỳ kẻ ngốc nào cũng có thể viết code sao cho máy tính hiểu được. Lập trình viên giỏi viết code con người có thể hiểu được.

Theo Daan

Categories
Dev's Corner

7 Thói quen của một lập trình viên thành công

Để chuẩn bị cho một buổi phỏng vấn, các kỹ sư phần mềm thường dành nhiều thời gian tập code trên leetcode (https://leetcode.com/) và tút tát lại CV.

Và rồi sau khi nhận được một công việc hấp dẫn, họ mới nhận ra những kỹ năng hiện có lại chưa phù hợp với những gì hằng ngày mình đương đầu.

Làm thế nào để rèn luyện và nâng cao những kỹ năng cần thiết luôn là chủ đề lập trình viên quan tâm. Hãy cùng Gambaru tìm hiểu:

7 Thói quen của lập trình viên thành công

1. Học cách đọc code người khác viết

Bạn đang có tư duy “Tất cả mọi người trừ tôi đều viết code dở tệ
Bạn đang có tư duy “Tất cả mọi người trừ tôi đều viết code dở tệ”? Ảnh: Medium

Cho dù code được viết bởi một dev làm trước bạn hay thậm chí là do bạn viết một năm trước có lộn xộn thế nào, bạn vẫn cần phải học cách hiểu được nó.

Kỹ năng này mang đến nhiều lợi ích.

Thứ nhất, có thể đọc được code người khác viết là cơ hội tuyệt vời để hiểu về cách code, những gì nên và không nên khi code.

Quan trọng hơn, bạn biết thêm rằng loại code nào thì dễ dàng cho dev hiểu và kế thừa sử dụng.

Có thể đọc được những đoạn code lộn xộn người khác viết cũng giúp bạn dễ dàng cập nhật khi cần, đôi khi là cập nhật những đoạn code bạn có ít kinh nghiệm.

Tôi đã từng đọc một script từ Powershell sang Python sang Perl.

Dù có kinh nghiệm hạn chế về Perl, nhưng tôi vẫn có đủ nền tảng để hiểu những gì đang diễn ra và thực hiện các thay đổi cần thiết.

Điều này xuất phát từ việc có độ am hiểu về tất cả các code cũng như có thể đọc được các Perl script.

2. Độ nhạy đối với các dự án tệ

Phải thực hiện rất nhiều dự án tệ trước khi bạn nhận ra được ngay một dự án có ổn hay không
Phải thực hiện rất nhiều dự án tệ trước khi bạn nhận ra được ngay một dự án có ổn hay không. Ảnh: Snapwire – Pexels

Có nhiều kỹ năng cần mất nhiều thời gian để học nhưng xứng đáng. Một trong những kỹ năng đó là hiểu những dự án nào không đáng làm và chỉ đi vào ngõ cụt.

Một số dự án có thể chẳng có giá trị kinh doanh nào và được quản lý rất kém. Điều này không có nghĩa là bạn nên từ bỏ ngay khi cảm thấy không đồng tình với nó.

Tuy nhiên, nếu các bên liên quan không thể giải thích chính xác những gì họ sẽ làm với kết quả cuối cùng, thì có lẽ dự án đấy không đáng tham gia.

Ngoài ra, một số dự án có thể tập trung vào công nghệ thay vì giải pháp đến mức có thể rõ ràng ngay từ đầu rằng dự án đấy không mang được nhiều tác động.

Kỹ năng này đòi hỏi phải thực hiện rất nhiều dự án tệ trước khi bạn nhận ra được ngay một dự án có ổn hay không. Tại một số thời điểm trong sự nghiệp của mình, tự khắc bạn sẽ có dự cảm đúng.

3. Tránh các cuộc họp không cần thiết

Tranh các cuộc họp không cần thiết
Sắp xếp thời gian hợp lý cho các cuộc họp cần thiết. Ảnh: Burst

Dù bạn là software engineer hay data scientist, các cuộc họp là cần thiết bởi ta cần phải thống nhất quan điểm với PM, end-user và client của mình. Tuy nhiên, cũng có lúc những cuộc họp không cần thiết chiếm lấy toàn bộ lịch trình trong ngày.

Mục tiêu ở đây là đảm bảo bạn dành thời gian cho các cuộc họp quan trọng, thúc đẩy được quyết định và giúp team phát triển.

Phương pháp phổ biến nhất là sắp xếp hai giờ mỗi ngày cho việc họp hành.

Thông thường, hầu hết mọi người sẽ có một cuộc họp định kỳ tại thời điểm họ thấy có lợi và dùng thời gian đó để nắm được tiến độ công việc.

Một cách khác là đi làm sớm. Điều này hữu ích với tôi vì lúc đó văn phòng yên tĩnh hơn, ít ai làm phiền mình.

Quản lý thời gian tốt là rất quan trọng đối với dev vì công việc đòi hỏi họ những lúc phải tập trung và không nói chuyện với người khác.

Vào thời điểm đang tập trung, có rất nhiều ý tưởng phức tạp trong đầu và nếu liên tục dừng lại, có thể rất khó để để họ nối lại dòng suy nghĩ trước đó.

4. Sử dụng Git

Biết cách sử dụng Git mang lại nhiều lợi ích
Biết cách sử dụng Git mang lại nhiều lợi ích. Ảnh: Medium

Đối với kỹ sư phần mềm, Git chứa các lệnh và quy trình phức tạp. Không ai chắc chắn 100% những gì mình đang làm (lý do tại sao cheat sheet lại phổ biến).

Cho dù công ty của bạn sử dụng hệ thống lưu trữ nào, sử dụng Git sẽ hữu ích nếu dùng đúng cách và gây trở ngại nếu ngược lại.

Push và commit sai, bạn phải dành hàng giờ cố mà gỡ rối nhiều branch chồng chéo. Ngoài ra, nếu liên tục quên pull bản repo mới nhất, bạn sẽ phải xử lý các merge conflict chẳng vui chút nào.

Hãy làm cuộc sống dễ thở hơn bằng việc giữ một bản Git command cheat sheet chẳng hạn.

5. Viết code đơn giản, dễ maintain

Viết code đơn giản, dễ maintain
Đừng nên tạo ra sự phức tạp không cần thiết. Ảnh: Medium

Các dev trẻ tuổi hay có xu hướng cố thực hiện tất thảy điều mình biết vào một giải pháp, áp dụng hiểu biết về lập trình hướng đối tượng, cấu trúc dữ liệu, design pattern và công nghệ mới vào mọi code họ viết ra.

Thực tế, điều này tạo ra một sự phức tạp không cần thiết bởi vì nó rất dễ bị gắn quá nhiều vào một giải pháp hoặc design pattern bạn đã từng sử dụng.

Có một sự cân bằng giữa các khái niệm design phức tạp và code đơn giản.

Các design pattern và object-oriented design được cho là để đơn giản hóa code trong bức tranh tổng thể. Quá trình càng được trừu tượng hóa (abstracted), đóng gói (encapsulated) và black-box, thì càng khó để debug.

6. Học cách từ chối và ưu tiên

Học cách từ chối và ưu tiên
Khối lượng công việc luôn là vô tận. Hãy đảm nhận những gì mình có thể được thực hiện. Ảnh: Pexels

Kỹ năng này thực sự phù hợp với bất kỳ vai trò nào, dù bạn là nhà phân tích tài chính hay kỹ sư phần mềm.

Ưu tiên và từ chối có thể là hai kỹ năng khác nhau, nhưng chúng có mối liên hệ chặt chẽ.

Ưu tiên có nghĩa là bạn chỉ dành thời gian tạo ra tác động lớn cho công ty. Từ chối đôi khi chỉ có nghĩa là tránh nhận việc nên được xử lý bởi một team khác.

Chúng thường xảy ra song song cho tất cả các vai trò.

Đây có thể là một kỹ năng khó đạt được vì ai trong chúng ta cũng thường có mong muốn hoàn thành mọi yêu cầu được đặt cho mình.

Đặc biệt là nếu vừa tốt nghiệp đại học, bạn sẽ muốn tránh làm người khác thất vọng.

7. Tư duy thiết kế vận hành

Thiết kế tư duy vận hành
Suy nghĩ thấu đáo về các kịch bản vận hành. Ảnh: Medium

Một kỹ năng khó để kiểm tra khi phỏng vấn và khó có thể học theo khi học đại học là suy nghĩ về cách end-user có thể sử dụng phần mềm của bạn không chính xác.

Tôi gọi đó là suy nghĩ thấu đáo về các kịch bản vận hành. Tuy nhiên, đây chỉ là một cách lịch sự để nói rằng bạn phải cố gắng viết code sao cho dễ hiểu và sử dụng nhất thôi.

Ví dụ, vì phần lớn việc lập trình là maintain nên ta thường phải thay đổi code bị rối bằng code khác.

Ngay cả một thay đổi đơn giản cũng yêu cầu truy tìm mọi tham chiếu có thể có của một object, method, và/hoặc API.

Nếu không, ta có thể dễ dàng vô tình break các mô-đun được đính kèm mà không nhận ra, ngay cả khi chỉ thay đổi một loại dữ liệu trong database.

Nó cũng bao gồm nghĩ thấu đáo về các các edge case và toàn bộ thiết kế cấp cao trước khi lập trình.

Đối với các trường hợp phức tạp hơn khi đang phát triển các mô-đun hoặc microservice mới, điều quan trọng là phải dành thời gian nghĩ về các kịch bản vận hành của những gì đang xây dựng.

Hãy hình dung cách người dùng trong tương lai có thể cần sử dụng mô-đun mới, cách họ có thể sử dụng nó không chính xác, những tham số nào có thể cần thiết và những cách khác nhau một dev có thể cần code của bạn trong tương lai.

Rất dễ tạo ra phần mềm hoạt động tốt trên máy tính của bạn, nhưng có rất nhiều cách code có thể bị triển khai sai.

Ở quá trình production, bạn khó có thể nói code sẽ được sử dụng như thế nào và code nào khác sẽ được gắn vào code gốc của bạn.

Năm năm kể từ bây giờ, một dev có thể cảm thấy khó chịu về những hạn chế bởi code bạn viết ra.

Theo SeattleDataGuy