Hướng dẫn cơ bản để chọn ngăn xếp công nghệ phù hợp cho công việc của khách hàng

Ảnh của Robert Anasch trên Bapt

Hiểu được tác động của việc lựa chọn ngăn xếp công nghệ phù hợp là yếu tố thành công chính cho các nhà phát triển tự do. Hướng dẫn này khám phá các câu hỏi chính mà bạn nên trả lời khi chọn các công nghệ tốt nhất cho ứng dụng hoặc trang web khách hàng của bạn. Chúng tôi khuyên bạn nên đọc nó trước khi bất cẩn nhảy vào khung JavaScript mới nhất.

Như hầu hết các nhà phát triển có một chút kinh nghiệm đều biết, xây dựng phần mềm một cách chuyên nghiệp không chỉ là vận chuyển kịp thời. Nó cũng nói về việc tối ưu hóa khả năng bảo trì, khả năng mở rộng và bảo mật và mức độ của từng loại phụ thuộc vào doanh nghiệp của khách hàng.

Một phân tích đúng đắn về dự án sẽ đưa ra quyết định bạn nên sử dụng công nghệ nào, chứ không phải theo cách khác. Nguyên tắc đơn giản này sẽ thúc đẩy các mối quan hệ kinh doanh lâu dài, tuyệt vời.

Tác động của các lựa chọn công nghệ của bạn sẽ được cảm nhận ở hầu hết mọi tầng lớp của doanh nghiệp, từ nhân sự đến tài chính, từ quản lý đến tiếp thị. Thiếu tầm nhìn có thể hủy hoại danh tiếng của bạn - một tài sản không một freelancer nào nên thỏa hiệp.

Để xây dựng danh sách sau đây, chúng tôi đã phỏng vấn các nhà phát triển tự do cao cấp về các câu hỏi quan trọng mà họ tự hỏi mình trước khi họ viết một dòng mã. Chúng tôi chia kết quả thành 3 khối: hiểu dự án (phối cảnh kinh doanh), chọn ngăn xếp (phối cảnh kỹ thuật) và truyền ngọn đuốc (phối cảnh nhân sự).

Băt đâu nao.

Hiểu dự án

Nó bắt buộc bạn phải hiểu tầm nhìn sản phẩm, kinh doanh của khách hàng và khung thời gian của dự án.

Phạm vi, Ngân sách và Khung thời gian của dự án là gì?

Khách hàng của bạn có cần mọi thứ được giao trong 2 tuần để tồn tại không, hay đó là một dự án dài hạn đòi hỏi sự mạnh mẽ và khả năng bảo trì tối đa?

Bạn nên biết:

  • Khi nào nó cần được giao?
  • Họ có thể trả bao nhiêu giờ?
  • kết quả được mong đợi là gì?

Các câu trả lời sẽ xác định khung thô cho các câu hỏi sau. Đây cũng là một cách rất tốt để biết khách hàng của bạn có kỳ vọng thực tế trước khi bạn bắt đầu hay không (để biết thêm thông tin về các tín hiệu để xác định khách hàng khủng, hãy đọc bài đăng này).

Đây có phải là một bộ đếm thời gian hay một dự án dài hạn?

Một dự án ngắn hạn sẽ bị vứt bỏ ngay lập tức sau một sự kiện hoặc một cột mốc nhất định không nên tiếp cận như một dự án kéo dài một thập kỷ.

Không có điểm nào trong việc thiết kế quá mức kiến ​​trúc của một nguyên mẫu - nó chỉ là một cách tuyệt vời để lãng phí ngân sách quý giá. Mặt khác, nếu khách hàng có kế hoạch thuê 20 nhà phát triển trong 5 năm tới để lặp lại trên cơ sở mã của bạn, bạn sẽ cần phải xây dựng các trụ cột mạnh mẽ trên các công nghệ được thử nghiệm rộng rãi.

Họ có thể xử lý các khoản nợ kỹ thuật?

Một khách hàng bị áp lực tạo ra doanh thu sẽ chịu một chút nợ kỹ thuật để tiếp cận thị trường càng sớm càng tốt. Nếu thu thập dữ liệu tiếp thị là mục tiêu chính, họ đã giành được sự quan tâm của cộng đồng về việc tích hợp liên tục và tỷ lệ phần trăm của phạm vi kiểm tra. Mục tiêu kinh doanh đầu tiên, mục tiêu kỹ thuật thứ hai.

Một chút giáo dục có thể là cần thiết ở đây. Trách nhiệm của bạn là làm cho họ hiểu hậu quả của việc tích lũy nợ kỹ thuật trong thời gian dài. Chứng minh tầm nhìn xa như vậy là một cách tốt để xây dựng uy tín.

Làm thế nào an toàn nó cần phải được?

Bây giờ hãy nghĩ về lĩnh vực hoạt động của khách hàng của bạn trong một giây. Rất có thể độ nhạy dữ liệu của họ sẽ thay đổi, phải không? Chà, những công nghệ bạn chọn sẽ phải phản ánh thực tế độc đáo này. Bạn đã giành được một nhóm bảo vệ RSA và DDoS 4096 bit cho trang web lễ hội địa phương.

Nhưng tích hợp một plugin thử nghiệm với các khai thác đã biết cho một ứng dụng lưu trữ thông tin tài chính? Một chút rủi ro, bạn thân.

Tuy nhiên, mặc dù, chủ đề nhẹ khi nói đến khách hàng bị bảo mật. Một số người trong số họ nghe những câu chuyện kinh dị ngoài ngữ cảnh khiến họ thức đêm:

Tuy nhiên, tôi đã thuyết phục được những tin tặc người Nga mà tôi đã thấy trên TV sẽ đánh cắp danh sách gửi thư của nhà hàng của chúng tôi.

Không, khách hàng thân mến. Có lẽ họ đã thắng được.

Tôi có thể xử lý dự án không?

Chọn một dự án vượt quá trình độ kỹ năng của bạn gần như chắc chắn sẽ kết thúc trong một mớ hỗn độn.

Lựa chọn ít học của bạn sẽ gánh nặng cho quy trình làm việc, và các cột mốc sẽ bị bỏ lỡ. Donith hãy liều lĩnh với khách hàng của bạn Tiền kiếm tiền - hậu quả pháp lý không bao giờ là quá xa vời.

Nếu bạn có bất kỳ nghi ngờ nào về khả năng cung cấp dự án của mình, hãy đảm bảo bạn thực hiện nghiên cứu trước khi lên tàu.

Chọn đúng ngăn xếp

Bây giờ hãy để di chuyển từ các mối quan tâm quản lý dự án. Hãy để nói về những gì thực sự quan trọng: ngăn xếp. Chọn các công nghệ phù hợp sẽ trở nên khá tự nhiên nếu bạn có một chút kinh nghiệm và tầm nhìn rõ ràng về những gì bạn cần xây dựng.

Làm thế nào tôi có thể không mã?

Hàng trăm khung và hàng ngàn plugin được duy trì bởi các cộng đồng phát triển tích cực. Don Tiết lãng phí thời gian quý báu của bạn để phát triển lại một cái gì đó đã được đánh bóng qua nhiều năm.

Có lẽ bạn không cần một máy chủ! Những người hào phóng và đam mê đang cố gắng làm cho công việc của bạn dễ dàng hơn - don không coi thường những nỗ lực của họ. Phát minh lại bánh xe là ngu ngốc.

Thời gian phát triển phải luôn tập trung vào những gì làm cho dự án trở nên độc đáo: logic kinh doanh tùy chỉnh. Trước khi bạn viết một dòng mã, hãy chắc chắn rằng nó tăng giá trị cho dự án.

Là Overkill, hoặc Under-Powered?

Khách hàng của bạn có kế hoạch bán áo phông tùy chỉnh cho khách hàng địa phương thông qua một thương mại điện tử nhỏ? Bạn không cần một tính sẵn sàng cao, tải cân bằng, phân cụm, cơ chế bộ đệm ẩn không có SQL, sẵn sàng hỗ trợ hàng triệu khách hàng đồng thời. Điều này sẽ giống như di chuyển ra khỏi căn hộ của bạn với một tàu chở hàng.

Mặt khác, cố gắng hạ gục một con bò tót bằng súng cao su là siêu hiệu quả. Một khách hàng có kế hoạch bán hàng ngàn mặt hàng hàng ngày sẽ khiến bạn bực bội vì đã chọn một giải pháp CMS miễn phí được triển khai trên một ví dụ giá rẻ.

Chọn công cụ phù hợp cho công việc.

Những công nghệ này có được ghi chép và hỗ trợ tốt không?

Đi sâu vào một codebase Nhật Bản ít bình luận vì một plugin phức tạp đột nhiên ngừng hoạt động là cách tốt nhất để dành một đêm. Đảm bảo có một cộng đồng tích cực xung quanh mỗi công nghệ bạn chọn. Nếu cập nhật kho cuối cùng là 4 năm trước, hãy lo lắng.

Cảm giác bất lực khi bạn nhận được 3 kết quả Google vô dụng cho câu hỏi kỹ thuật của bạn thậm chí còn tồi tệ hơn khi khách hàng la hét với bạn trên điện thoại.

Tôi có hiểu Rủi ro liên quan đến công nghệ mới không?

Khung xu hướng đó trên HackerNews có lẽ đã được thử nghiệm trên đường. Bạn có thể cảm thấy khó chịu khi sử dụng nó như là trụ cột chính của một dự án sản xuất, nhưng chỉ cần biết rằng nó có thêm rất nhiều rủi ro bên ngoài không cần thiết.

Nếu bạn vẫn cảm thấy bất cẩn, ít nhất hãy thử nghiệm với nó đủ để biết liệu nó có hỗ trợ các trường hợp sử dụng máy khách của bạn không. Họ đã giành được sự quan tâm của bạn về việc khung của bạn nhận được 300 phiếu bầu nếu bạn phải thay đổi nó một ngày trước một cột mốc quan trọng.

Vượt qua ngọn đuốc: đây không phải là về bạn

Nguồn

Tôi ghét phá vỡ nó theo cách này, nhưng khách hàng của bạn không muốn dựa vào bạn mãi mãi. Chắc chắn, ngăn xếp của bạn có thể mạnh mẽ, tài liệu tốt, an toàn và nhanh như chớp.

Nhưng nếu chỉ có một cộng đồng nhỏ các nhà phát triển trên khắp thế giới biết cách làm cho nó hoạt động, thì bạn đang tạo ra bế tắc. Khách hàng ghét bế tắc.

Họ có thể tìm nhà phát triển để làm việc với Stack của bạn không?

Có thể là do bạn không thể làm việc với họ nữa hoặc vì họ muốn mở rộng quy mô nhóm hoặc có thể họ muốn hồi hương các nỗ lực phát triển trong nội bộ. Nhưng cuối cùng, khách hàng của bạn sẽ cần một nhà phát triển khác để đẩy mã đến cơ sở mã.

Nếu họ phải đi qua từng bảng công việc duy nhất trên thế giới để tìm một nhà phát triển duy nhất có chuyên môn cụ thể, hãy đoán xem ai sẽ bị đổ lỗi?

Họ sẽ có tiền để trả cho những nhà phát triển như vậy chứ?

Nếu những người duy nhất họ có thể thuê để làm việc trong kho công nghệ quá phức tạp của bạn là những bậc thầy đắt giá với 20 năm kinh nghiệm, thì có thể sẽ hiệu quả hơn khi nhờ người khác làm lại mọi thứ với các công nghệ chính thống.

Don đường hầm tầm nhìn những nỗ lực phát triển, nó không chỉ là về bạn.

Phần kết luận

Chúng tôi hy vọng bài viết ngắn này sẽ giúp bạn tránh được những câu chuyện kinh dị, những đêm căng thẳng và những cuộc thảo luận khó xử. Vội vã các quyết định công nghệ trước khi trả lời các câu hỏi quan trọng đã giành được tiết kiệm cho bạn về lâu dài. Đây là kinh nghiệm nói chuyện.

Dành thời gian của bạn để đánh giá đúng tình huống ngay cả khi bạn cảm thấy muốn mở IDE hoặc trình soạn thảo mã của mình.

Khách hàng hạnh phúc = Lặp lại / Kinh doanh giới thiệu = Nỗ lực ít Bizdev = Phát triển chi tiêu nhiều thời gian hơn.

Lưu ý: bài đăng này được tạo ra với sự hợp tác chặt chẽ với Philip Barclay, một người bạn tốt của tôi. Phil đã làm các sản phẩm kỹ thuật số trong nhiều năm và hiện đang xây dựng những thứ tuyệt vời tại Mirego và Picks.

Hãy cho chúng tôi biết nếu chúng tôi bỏ lỡ bất kỳ câu hỏi quan trọng trong các ý kiến!

Được xuất bản lần đầu trên blog Snipcart và được chia sẻ trong bản tin của chúng tôi.