Một dự án hoặc thông số kỹ thuật được đặt trên bàn của bạn không thể thực hiện được là gì? Làm thế nào bạn giải thích tình trạng khó xử cho "người yêu cầu"? Quan trọng hơn, họ có hiểu sau khi bạn giải thích vấn đề cơ bản không?
Một dự án hoặc thông số kỹ thuật được đặt trên bàn của bạn không thể thực hiện được là gì? Làm thế nào bạn giải thích tình trạng khó xử cho "người yêu cầu"? Quan trọng hơn, họ có hiểu sau khi bạn giải thích vấn đề cơ bản không?
Câu trả lời:
Tôi đã nói để làm cho máy in in nhanh hơn.
Nghiêm túc, và tôi đã được viết cho thất bại. Ông chủ không rành về công nghệ và không hiểu tại sao tôi không thể tăng tốc.
Thực hiện tất cả các tính năng chúng tôi đã bán. Tôi chỉ cúi đầu xuống và tiếp tục làm việc, và để những người cấp cao hơn nhận ra chuyện gì đang xảy ra.
Không được giao cho tôi mỗi lần mà chỉ là những gì tôi nghĩ ...
"Chúng tôi có thể xây dựng [thứ gì đó bắt chước chức năng Excel] như một sản phẩm trực tuyến trong một vài tháng không?"
Chức năng bảng tính trực tuyến. Điều mà hai công ty phần mềm vĩ đại nhất trong lịch sử loài người (Microsoft và Google) đang làm việc. Và bạn muốn tạo một công cụ cơ bản cộng với chức năng hiện không tồn tại trong một trong hai. Chỉ trong một vài tháng thời gian. Sử dụng tài năng chúng tôi có trong nhà.
Đúng...
Tôi được yêu cầu tìm ra một cách để xác định khi nào và nếu một chủ đề sẽ dừng lại. Điều này là để chúng tôi có thể tìm và ngăn chặn tất cả các lỗi đa luồng này. Đoán rằng họ sẽ không bao giờ nghe về vấn đề tạm dừng. (sau đó một lần nữa, họ cũng không tin vào khóa, mutex hoặc sử dụng bất kỳ phương thức đồng bộ hóa nào.)
Anh chàng bán hàng đã hỏi tôi nên làm gì để ngăn chặn lỗi trong sản phẩm.
Câu trả lời của tôi là: Chỉ bán nó sau khi chúng tôi hoàn thành nó! : O)
Tôi đã được yêu cầu thực hiện tìm kiếm, trong 2 ngày cho ứng dụng doanh nghiệp của chúng tôi ... không quá tệ. Tôi có thể làm điều đó. Tôi đặc biệt lưu ý:
Chỉ để bạn biết, tôi không phải là google, vì vậy thứ hạng ưa thích và đề xuất tự động và tất cả những điều đó ... không có khả năng sẽ xảy ra, đặc biệt là không trong 2 ngày.
3 ngày sau: "Nhưng google thì ..."
Đó không phải là một nhiệm vụ chính thức (chưa) nhưng chủ sở hữu của công ty này vẫn yêu cầu đặt hoàn toàn mọi thứ về doanh nghiệp của chúng tôi "Trên đám mây". May mắn cho tôi, tôi không phải là người chịu trách nhiệm xây dựng câu trả lời này :)
Tôi đã từng được yêu cầu sửa một báo cáo vì dữ liệu trong đó không khớp với một báo cáo khác (với các tiêu chí truy vấn khác nhau) đã được chạy hai tháng trước đó. Phải mất một năm để có được thông qua đầu người dùng rằng ngay cả khi các tiêu chí là như nhau, dữ liệu thay đổi theo thời gian!
Có lần tôi được một người đàn ông già, gần già yêu cầu làm một chương trình để trúng xổ số.
Tôi đã như ...
"Ồ ... (hahhahahahahahahahaha) xin lỗi, đó chỉ là dị ứng, nhưng tiếp tục ..."
Anh ấy cho tôi xem "lý thuyết" của anh ấy mà anh ấy đã đưa ra sau khi phân tích hồ sơ trị giá 20 năm và nếu tôi chỉ làm một chương trình tuân theo quy tắc của anh ấy, anh ấy sẽ trả tiền cho tôi.
Tôi đã thực hiện chương trình, đưa nó cho anh ấy, cho anh ấy thấy nó hoạt động theo quy tắc của anh ấy, được trả tiền, chúc anh ấy may mắn và nói với anh ấy nếu anh ấy đặt cược quá lớn và mất quá nhiều tiền, đó không phải là lỗi của tôi.
: X
Tôi và một vài lập trình viên khác đã từng hỏi tại sao chúng tôi không thể tìm thấy thuật toán để xác định vị trí của các lỗ trong hình học 3 chiều gồm các hình tam giác ( tệp STL , cho những người biết chúng và không tuân thủ chính xác đặc điểm kỹ thuật không -holes-cho phép). Ông chủ của tôi dường như không hiểu nó khó đến mức nào, bởi vì sau tất cả, anh ta chỉ có thể nhìn vào mô hình được kết xuất và chỉ ra các lỗ hổng trong đó.
Khi tôi được giao nhiệm vụ tạo bản dịch mã VBA truy cập 1: 1 sang PL / SQL. Mọi thứ diễn ra tương đối tốt, cho đến khi tôi phát hiện ra rằng sâu bên trong một số IF và LOOPs của một thủ tục, nó sẽ mở một hộp thoại có và không yêu cầu người dùng quyết định khác. Điều tốt nhất tôi có thể cung cấp, và cuối cùng được thực hiện, là thêm một tham số khác vào thủ tục đó; nếu nó chạy vào nhánh đó, nó sẽ quay trở lại, trả về một trạng thái đặc biệt hướng dẫn chương trình GUI hỏi người dùng và sau đó khởi động lại thủ tục với một tham số phụ.
(không phải tôi, mà là đồng nghiệp) Từ lâu, tôi đã làm việc xây dựng phần mềm Windows có thể điều khiển và giám sát máy móc công nghiệp. Một tùy chọn để kết nối với máy móc là quay số qua modem.
Một khách hàng lớn gọi là người quản lý cấp cao có vấn đề: Họ không thể kết nối với một cơ sở từ xa vì họ liên tục nhận được tín hiệu bận (họ đang chia sẻ đường dây phần cứng với đường dây thoại hoặc thứ gì đó)
Khi đồng nghiệp của tôi phát hiện ra rằng sự cố không phải là lỗi phần mềm, mà là đường dây điện thoại thực sự bận, người quản lý đã trả lời "Điều đó thật lố bịch. Bạn có thể viết mã xung quanh vấn đề đó không?"
Tôi đã từng được yêu cầu sửa regex đang được sử dụng để phân tích các khai báo hàm C # vì nhóm QA đã tìm ra cách để phá vỡ nó. Thật không may, đây không phải là một nhiệm vụ khả thi vì các khai báo hàm không thể được mô tả như một ngôn ngữ thông thường trong C # (thuộc tính, loại chung, đối số thuộc tính, v.v ...).
Tôi đã giải quyết vấn đề bằng cách giải thích đơn giản rằng đó là một nhiệm vụ bất khả thi và nêu chi tiết một vài ví dụ với các loại chung chung lồng nhau. Ban đầu, ban lãnh đạo không tin tôi (đã được 2 tuần làm việc) nhưng tôi đã có thể giải thích vấn đề này cho một vài nhà phát triển cấp cao và họ đã lần lượt thuyết phục quản lý. Cuối cùng, họ quyết định có một regex nỗ lực tốt nhất và thêm một trình phân tích cú pháp thực sự sau này.
Tự động tạo danh sách tất cả các kết hợp tìm kiếm hợp lệ trả về kết quả từ cơ sở dữ liệu. Mặc dù không thể hợp lý theo quan điểm của mã hóa, do kích thước của cơ sở dữ liệu luôn tăng lên, nhưng nó rất không thực tế và sever cuối cùng sẽ chậm để thu thập dữ liệu trong khi cố gắng tạo ra các kết hợp.
8-10 năm trước, chúng tôi đã phải viết "một ứng dụng web" đã làm những gì sản phẩm máy tính để bàn của chúng tôi đã làm trong khoảng 2 tuần. Trang web hóa ra hầu như tất cả các ActiveX script script phía máy khách để sao chép sản phẩm máy tính để bàn. Việc xử lý phía máy chủ duy nhất liên quan đến việc tạo các tùy chọn cho mức tiêu thụ của máy khách.