2010-08-02 19 views
5

Tôi đang làm việc cho một công ty nhỏ hoạt động trong ngành tự động hóa. Ông chủ đã thuê tôi vì anh ta muốn bán/cung cấp một số ứng dụng dành cho máy tính để bàn cho các chi phí hiện tại của mình là . Ông áp đặt tôi sử dụng Nền tảng Netbeans (một khung ứng dụng máy tính để bàn chung). Một người bạn kỹ sư phần mềm của ông đã khuyên ông chọn khung này.Làm thế nào để thuyết phục ông chủ thay thế Nền tảng Java/Netbeans cho Python/PyQt?

Hiện tại tôi đã tạo 3 ứng dụng dành cho máy tính để bàn với Nền tảng Netbeans. Tôi thích Netbeans Platfom. Tôi thực sự tận dụng lợi thế của mô đun, Window System và Lookup. Thật không may là tôi thất vọng khi biết rằng tôi có thể thực hiện các công việc tương tự với Python và PyQt trong một khoảng thời gian ngắn.

Tôi đã minh họa cho sếp của mình những ưu điểm chính của Python, nhưng anh ấy không thích ý tưởng để sử dụng ngôn ngữ mà anh chưa từng nghe đến.

Tôi là lập trình viên duy nhất mã hóa ứng dụng dành cho máy tính để bàn. Và ngoại trừ việc áp đặt khung, tôi tự do sử dụng bất cứ điều gì tôi muốn.

Tôi đang tìm kiếm động lực tốt để thuyết phục anh ấy rời Netbeans Platform cho Python/PyQt.

P.S: Tiếng Anh của tôi rất tệ, xin lỗi.

Trả lời

12

Nếu kỹ năng bán hàng của bạn không hoạt động ở định dạng thảo luận, tôi đặc biệt khuyên bạn tài liệu là. Một số nhà quản lý/ông chủ thực sự phản ứng tốt với điều này. Làm cho một ma trận của tất cả các số liệu mà bạn tự mình sử dụng để đánh giá hai khuôn khổ (tôi để lại mức độ khách quan cho bạn ở đó: ví dụ nếu mục tiêu cần phân tích chi phí chuyển đổi và mất kinh nghiệm thể chế; nhưng mục tiêu của chúng tôi là không phù hợp?). nó có thể không cao).

Cuối cùng, gửi qua e-mail và viola bạn có:

  • làm một báo cáo/phân tích tình hình cung cấp tùy chọn để cải thiện
  • này cho thấy rằng bạn đang suy nghĩ hướng tới tương lai và rằng bạn hiển thị sáng kiến ​​

EDIT: Bạn cũng có thể yêu cầu bạn bè của mình tin tưởng bạn mình, nhưng yêu cầu phân tích ngược lại để bạn có thể giải quyết phê bình.
Một điều tốt là làm điều đó một cách công khai và ghi lại quá trình ra quyết định, vì cuối cùng, nếu đề xuất của bạn được chấp nhận, bạn sẽ chia sẻ trách nhiệm về quyết định đó.

+0

Đừng quên, bạn sẽ cần phải cung cấp hỗ trợ/bảo trì/nâng cấp/sửa lỗi cho các ứng dụng đã được tạo trên nền tảng NB. Việc hỗ trợ hai nền tảng là một chi phí bổ sung cho một doanh nghiệp (có thể lớn hoặc không đáng kể, nhưng đáng xem xét) – Mchl

+0

@Mchl, hoặc nếu chúng không quá tiên tiến, hãy viết lại chúng trong Python + Qt. Mặc dù bạn có thể dễ dàng có được bất kỳ lập trình viên ID-10-T nào ngoài trường đại học, những người biết Java (vì nó rất gợi cảm), đó là kinh nghiệm của tôi rằng các lập trình viên tốt hơn học Python. Chắc chắn bạn có thể tìm thấy các lập trình viên tuyệt vời trong Java (tôi đoán?) Nhưng tôi nghĩ tỷ lệ này cao hơn một chút với Pythonistas, vì vậy hoàn toàn có thể chuyển chúng sang Python sẽ kết thúc rẻ hơn (bảo trì, vv) trong thời gian dài. –

+3

Từ các lập trình viên tốt hơn của tôi 'có xu hướng chọn ngôn ngữ x' dường như không bao giờ được hỗ trợ bởi bất kỳ bằng chứng nào. Trái ngược với 'lập trình con người trong x cảm thấy mình vượt trội so với lập trình poeple trong y';) – Mchl

1

Bạn đã nhấn mạnh điểm của thời gian phát triển thấp hơn. Bất kỳ người nào không muốn một thời gian ngắn hơn là một thằng ngốc. Đây là vấn đề chính duy nhất tôi có thể nghĩ cho sự thay đổi. Hoặc những gì bạn có thể làm là phát triển nó trên mặt và khi bạn có lỗi nói đây là những gì tôi đã làm trong thời gian rảnh rỗi của tôi (có một bản sao làm việc bằng văn bản trong python).

+11

* "Bất kỳ người nào không muốn có thời gian ngắn hơn là một thằng ngốc." * Và bất cứ ai nghĩ rằng thời gian phát triển ngắn là vấn đề quan trọng duy nhất ở đây cũng là một thằng ngốc. :-) –

+6

Tôi categorically tuyên bố rằng bất kỳ người nào biến chung chung vội vàng vào tuyên bố phân loại là một thằng ngốc ... err, damn .. :-) – Unreason

+0

Gọi cho ông chủ một thằng ngốc và bạn đang thực hiện :) –

0

Chỉ cần sử dụng Netbeans như một IDE và ông sẽ không bao giờ nhận thấy: P

Phát biểu nghiêm túc hơn: một mặt bằng so sánh bên trong những điểm mạnh và yếu đằng sau mỗi công nghệ sẽ certianly thể thuyết phục hơn. Chỉ cần đừng lừa dối quá nhiều để ủng hộ Python;)

3

Đầu tiên, kết quả tự nói lên: nếu bạn có thể ghép lại một phiên bản khác của một trong các ứng dụng của bạn trong pyqt và cho anh ta biết mất bao lâu, nó có thể đủ động lực. Hoặc, lần sau bạn bắt đầu dự án, bạn có thể thử nghiệm bốn hoặc năm phiên bản khác nhau của giao diện trong pyqt vào buổi sáng, hỏi ý kiến ​​phản hồi của mình sau bữa trưa, và sau đó nói, "nếu tôi tiếp tục, nó sẽ được thực hiện trong hai ngày, nếu tôi làm lại điều này trong netbeans, nó sẽ được thực hiện trong bốn ngày. "

Và đối với "không bao giờ nghe nói về nó", vui lòng chỉ ra rằng Google sử dụng python rộng rãi và thậm chí thuê nhiều nhà phát triển python.

+2

+1: Bạn có thể 't' thuyết phục "một ông chủ của bất cứ điều gì. Tất cả những gì bạn có thể làm là viết mã tốt hơn với Python và cho thấy nó tốt hơn Java cho khách hàng của bạn. –

5

Vấn đề cơ bản ở đây là ông chủ phi kỹ thuật của bạn đang nhận được lời khuyên mâu thuẫn từ bạn và từ người bạn đã tư vấn cho anh ta ngay từ đầu. Nếu bạn muốn anh ta thực hiện lời khuyên của bạn một cách nghiêm túc, bạn cần phải chứng minh rằng lời khuyên của bạn có thể đáng tin cậy. Và điều đó sẽ chỉ đi kèm với việc dẫn đầu và thành công với các dự án quan trọng trong công ty. Ngay bây giờ, bạn đã không giành được sự tự tin của mình.

Điều khác cần xem xét là cách các tùy chọn của bạn phù hợp với mục tiêu của công ty. Ví dụ, bạn muốn có thể viết mã nhanh. Nhưng ông chủ/công ty cần mã đó là có được đáng tin cậy và duy trì ... nếu bạn quyết định để có một vị trí khác. Anh ta không muốn bị bỏ lại trong tình huống khó xử khi công ty cam kết hợp đồng cung cấp mã không thực sự hoạt động đúng, và người duy nhất hiểu nó đã bỏ đi.

+0

Ngay cả một số n idiot sếp có thể xem xét mã python hơi phong nha và có một ý tưởng khá hay về những gì đang xảy ra. Mã python tuyệt vời sẽ dễ hiểu hơn. Trong Java, OTOH, nếu các bình luận nói dối, bạn phải khá thông minh. –

+0

@Wayne - Tôi sẽ coi đó là một lời khen :-). Nhưng quan điểm của tôi là về việc ông chủ nhận được mã có thể được duy trì bởi người khác. Có lẽ nhiều lập trình viên Java hơn trong thị trấn của anh/biên chế của anh ta hơn là các lập trình viên Python. –

8

Vấn đề là thời gian phát triển thường không có gì so với việc bảo trì. Ai quan tâm nếu phải mất hai ngày thay vì bốn ngày nếu ứng dụng có tuổi thọ 1-5 năm?

Bạn sẽ phải thuyết phục anh ta rằng nếu bạn bị một chiếc xe tải đâm hoặc rời khỏi công ty (có thể làm việc cho ai đó sử dụng độc quyền Python) rằng anh ta sẽ không bị bỏ lại với một loạt các ứng dụng không ai biết và không thể duy trì hoặc nâng cấp.

+1

Tôi sẽ không nói rằng thời gian phát triển là một phần nhỏ của thời gian bảo trì; nhưng điều đó phụ thuộc vào thuật ngữ được sử dụng (nếu bạn nói phát triển = 'tài nguyên được sử dụng cho đến lần phân phối đầu tiên' thì bạn có thể đúng). Ngoài ra, việc bảo trì sẽ được rút ngắn/hiệu quả chi phí hơn nếu khung công tác có hiệu quả về chi phí hơn. Dù sao, tôi đứng ở câu trả lời của tôi - ghi lại phân tích chi phí/lợi ích (hoặc một số phương pháp lập kế hoạch chiến lược khác, chẳng hạn như SWOT chẳng hạn) là điều hữu ích nhất mà bạn có thể làm. – Unreason

1

Perhaphs cho thấy ông

a) Thời gian trong việc phát triển bằng Python và Java b) dòng mã bằng Python và Java

với hai số liệu này có thể bạn có thể làm cho trường hợp của bạn mạnh

1

Tôi sẽ đoán rất nhiều, về quản lý rủi ro, sẽ phụ thuộc vào việc tách/cô lập các phần mềm khác nhau mà bạn phát triển và vòng đời của chúng.

Nếu bạn không cần thêm một bộ thư viện trung tâm, hoặc có (hoặc có thể phát triển) ràng buộc Python cho các thư viện đó, và các dự án tương đối tự chứa, hãy quay vòng từ 2 đến 6 tháng, bạn có thể cho anh ta một báo giá cho một dự án trong Java là hợp lý và anh ấy quen thuộc với (để chắc chắn rằng nó không xuất hiện giả tạo thổi phồng). Sau đó cung cấp cho một báo giá giảm nhiều cho cùng trong py pyqt, và xem nếu bạn có thể nhận được anh ta để đầu tư vào lời khuyên của bạn.

Nếu không có bằng chứng hữu hình đến từ bên trong thì sự thay đổi trong lộ trình sẽ mang lại lợi ích cho những người hiểu biết về quản lý và kinh tế, những người không biết về kỹ thuật sẽ không mua vào nền tảng mới khi người cũ không bao giờ ngăn chặn việc nhận ra và bán.

Nếu không có đánh giá tốt về lý do tại sao anh ấy không muốn chuyển đổi nền tảng và những gì anh ấy xem xét rủi ro, thật khó để đưa ra lời khuyên thích hợp hơn.

2

Một số người sẽ nói với bạn để cố gắng thuyết phục ông chủ của bạn bằng lời nói. Những người khác sẽ cho bạn biết tài liệu tiết kiệm thời gian bạn nghĩ rằng bạn có thể thực hiện. Ý kiến ​​của tôi là bạn cứ tiếp tục và làm điều đó. Làm điều đó trong thời gian của riêng bạn nếu bạn mạnh mẽ tin tưởng nó trong lợi ích tốt nhất của bạn.

Tôi chưa gặp người quản lý phần mềm đã từ chối phần mềm hoạt động khi đến đúng giờ và theo ngân sách. Đây là phương pháp thuyết phục tốt nhất mà tôi từng sử dụng trong sự nghiệp của mình. Nó cũng là một cách tuyệt vời để cho bạn thấy có sáng kiến. Chỉ cần chuẩn bị để làm việc miễn phí nếu nó không hoạt động.

+0

Bạn đang thực hiện nó ** miễn phí ** ngay cả khi nó hoạt động. Dù bằng cách nào đó, tình trạng mất của bạn cũng sẽ bị mất. – Pacerier

Các vấn đề liên quan