Xem tiêu đề, nhưng tôi đang hỏi từ góc độ kỹ thuật, không phải
Đưa cháu gái 40 tuổi của tôi đi hẹn hò hoặc bạn bị sa thải.
Xem tiêu đề, nhưng tôi đang hỏi từ góc độ kỹ thuật, không phải
Đưa cháu gái 40 tuổi của tôi đi hẹn hò hoặc bạn bị sa thải.
Câu trả lời:
Để tiếp thị bộ phim kinh dị Snow Crash của Neal Stephenson, tôi được yêu cầu viết một loại virus máy tính "lành tính". Nó sẽ "lành tính" giả vờ chiếm lấy máy tính của người dùng và thay thế màn hình bằng tuyết, hay còn gọi là "sự cố tuyết". Sau một phút tuyết rơi, tuyết sẽ tan dần và được thay thế bằng một quảng cáo cho cuốn sách. Điều này sẽ là "lành tính", bạn thấy. Virus sẽ lây lan qua các phương tiện thông thường, nhưng không ai bận tâm vì sau khi chiếm lấy máy tính của họ "bạn sẽ nhận được một quảng cáo thú vị và sau đó cảm thấy nhẹ nhõm vì không có gì xấu xảy ra với máy tính của bạn."
Tôi thực sự được yêu cầu làm điều này tại một tập đoàn lớn trên toàn thế giới. Tôi đã phải viết một bản ghi nhớ giải thích tất cả các luật này sẽ phá vỡ và tất cả 17 điều tồi tệ có thể xảy ra nếu chúng thực sự khiến tôi thực hiện điều này.
"DLL này bạn đã viết chỉ có 17kb. Bạn có thể thêm một số mã để làm cho nó lớn hơn không? Khách hàng đang trả cho chúng tôi rất nhiều tiền và chúng tôi muốn họ nhận được giá trị tiền của họ."
Sử dụng Visual SourceSafe.
"Bạn có biết chương trình Cobol 20 năm khổng lồ này chứa hàng đống quy tắc kinh doanh được mã hóa cứng mà ít nhiều định nghĩa công ty chúng tôi không? Bạn có phiền khi chuyển đổi nó sang .NET không?"
Rất tiếc.
Chúng tôi đi sống trong một vài tuần.
Chúc tôi may mắn..
Anh trai tôi và tôi đang làm việc trên một trang web đa phương tiện cho một ngôi sao nhạc rock rất nổi tiếng nhiều năm trước.
Khi khách hàng nhìn thấy trang web, anh ta nhận thấy một số tạo tác nén trên một số JPEG và hỏi họ đã làm gì với chúng. Chúng tôi đã giải thích rằng hình ảnh cần nén cho mục đích băng thông và hình ảnh hiện được nén với chất lượng khoảng 80%. Ông đã bị xúc phạm và nói điều gì đó với tác động của
Tôi đã không đến được nơi tôi đang có ngày hôm nay bằng cách làm mọi thứ ở mức 80%, đặt nó thành 100%.
Chúng tôi đã cố gắng giải thích nó sẽ ảnh hưởng đến người dùng như thế nào, nhưng anh ta sẽ không có gì trong số đó. Nó dẫn đến trang web "thế giới ảo" chậm nhất từ trước đến nay. Điều này thực sự đã xảy ra .
Chúng tôi cần trì hoãn việc khởi chạy trang web trong hai tuần vì Sao Thủy đang trong giai đoạn thoái lui và đây là thời điểm tồi tệ để bắt đầu những điều mới.
Rõ ràng sau khi đọc một số tạp chí kinh doanh trên máy bay về cách XML là công nghệ mới nóng hổi (đây là vào khoảng năm 2002), một trong những giám đốc điều hành của chúng tôi đã hỏi tôi rằng ứng dụng của chúng tôi có sử dụng XML không, khi tôi nói không có ông hỏi tôi có thể thêm nó không.
Bây giờ, tôi không nói về một tính năng để nhập / xuất các tệp ở định dạng XML, anh ta chỉ đơn giản muốn nó là một phần của kiến trúc mà không có lý do nào khác ngoài việc nó phổ biến tại thời điểm này và sẽ cho vay ứng dụng của chúng tôi.
"Ngay bây giờ, tên người dùng được yêu cầu là duy nhất và mật khẩu thì không. Chúng ta có thể làm cho nó theo cách khác không?"
Khoảng 7 năm trước, tôi làm việc tại một cửa hàng phần mềm bespoke đã quyết định bán một trong những sản phẩm của mình. Nó là một bộ hoạt động đầu cuối cho một số ngành công nghiệp. Chà, ngành công nghiệp này không được biết đến là siêu công nghệ, vì vậy bằng cách nào đó chúng tôi đã cung cấp hỗ trợ kỹ thuật của bên thứ ba cho máy chủ và cơ sở hạ tầng CNTT của họ thay vì đưa nó ra cho các chuyên gia tư vấn CNTT doanh nghiệp nhỏ độc lập.
Một ngày nọ, máy chủ của khách hàng gặp phải hỏng đĩa. Máy chủ chúng tôi đã bán chúng được cấu hình với bộ điều khiển RAID Adaptec, được thiết lập cho máy nhân bản RAID 1. Cơ sở dữ liệu ứng dụng của họ là bánh mì nướng. Họ đã không thực hiện sao lưu trong nhiều tháng. Các bản sao lưu họ đã thực hiện là không thể sử dụng. Họ đã mất 8 tháng dữ liệu. Họ đã thuê một nhà tư vấn CNTT để xử lý công việc điều tra này.
Các cuộc gọi điện thoại được đảm bảo, và người quản lý bán hàng (được biết đến với các tính năng không thể hứa hẹn) rõ ràng đã nói với họ rằng nó sẽ được chăm sóc và viết nó trong một hợp đồng.
Người quản lý bán hàng đã hứa với khách hàng rằng chúng tôi sẽ đảm bảo rằng cơ sở dữ liệu ứng dụng và mọi tệp liên quan đến ứng dụng khác sẽ không bao giờ được sao chép bởi bộ điều khiển RAID nếu các tệp được coi là bị hỏng. Không cần cấu hình. Vâng. Chúng tôi được yêu cầu cung cấp chức năng này trong 2 tuần, hoặc khách hàng sẽ sa thải chúng tôi.
Vì vậy, người quản lý chương trình - người có một số sản phẩm CRM doanh nghiệp lớn và những thành công phát triển nghiêm túc khác, dưới vành đai của anh ấy - và tôi đã có một cuộc họp với COO và người quản lý bán hàng. Người quản lý chương trình đã nói chi tiết về việc điều này điên rồ, không thể và điên rồ đến mức nào. Người quản lý bán hàng (nền tảng quân sự) chỉ đơn giản hét vào mặt anh ta (theo nghĩa đen!), "Tôi không quan tâm! Làm thế nào khó khăn để làm cho RAID không phải là RAID?! Dữ liệu của họ sẽ ổn trên ổ đĩa khác nếu Thứ RAID không làm hỏng nó! "
Vào cuối cuộc họp đó, người quản lý chương trình đã bỏ việc với thông báo không có ngày. Vì vậy, bây giờ tôi đã được giao nhiệm vụ này. Trong tuần tới, tôi đã kiến nghị cả Adaptec và LSI Logic để cung cấp một kỹ sư cho một cuộc gọi hội nghị, chỉ đơn giản là cười vào mặt người quản lý bán hàng.
Cuối cùng, họ bắt buộc và giữ kết thúc cuộc mặc cả. Và họ đã đi sâu vào chi tiết nó khó tin đến mức nào. Anh chàng đến từ LSI đặc biệt khắc nghiệt - anh ta không mặc áo đường gì cả.
Tôi đã không phải thực hiện các tính năng. Một cái tôi đã thực hiện là một sơ đồ bảo mật tùy chỉnh do khách hàng yêu cầu, cho phép họ chuyển đổi bất kỳ điều khiển nào của ứng dụng - trên cơ sở kiểm soát bằng cơ sở kiểm soát - như hiển thị, vô hiệu hóa, kích hoạt, chỉ đọc hoặc đọc . Về lý thuyết, đã có 146.000 kết hợp. Và nếu bạn vô tình làm hỏng việc bằng cách nói ... vô hiệu hóa một nhóm kiểm soát, bạn sẽ có những tác dụng phụ vô tình. Không cần phải nói, khi tôi được đưa ra tối hậu thư rằng nó phải được thực hiện, tôi cũng đã bỏ việc với một thông báo không có ngày.
+1
cho "bỏ việc với thông báo không có ngày", bởi vì đôi khi bạn phải rời đi, và một số người không bao giờ nhận được điều đó và tiếp tục nhầm lẫn.
Họ yêu cầu tôi tìm kiếm một Sản phẩm thương mại có thể tự động tìm và sửa các lỗi mã nguồn.
Vẫn đang tìm kiếm..since 2001 :).
Tôi đã từng có một đặc tả khách hàng gọi theo nghĩa đen là mã có khả năng du hành ngược thời gian.
Chủ nhân của tôi đã thu thập dữ liệu cho khách hàng và chúng tôi đã gửi dữ liệu ở định dạng tệp X trong khoảng thời gian mười phút từ 9 giờ sáng đến 5 giờ chiều, để dành cho lần giao hàng cuối cùng, ở định dạng Y (chỉ X với một chân trang khác). Tôi đã làm điều đó ... và họ hoảng sợ. Chúng tôi đã thu thập dữ liệu khối lượng thấp và thực sự chỉ có một hoặc hai điểm dữ liệu để phân phối vào bất kỳ ngày nào.
"NHANH TAY SPAMMING CHÚNG TÔI VỚI PHIM EMPTY !!!" họ đã khóc. "NĂM K'S MERYI PHÚT M MINI PHÚT KẾT HỢP BANDTUBES CỦA CHÚNG TÔI!"
Được chứ. Vì vậy, mã của tôi đã kiểm tra cứ sau mười phút và chỉ được giao nếu có gì để giao. Đủ công bằng.
"NHƯNG FILE CUỐI CÙNG PHẢI Ở DẠNG Y !!!" họ hét lên. "CÁC CÔNG CỤ VÀ CÔNG CỤ HIỆN ĐẠI CỦA CHÚNG TÔI! CỐ ĐỊNH NÓ HOẶC CHÚNG TÔI S BE ĐƯỢC BẠN VỚI MỘT FEMUR MASTODON! *"
(* - Có thể tôi đang đánh giá sai các phần của cuộc trò chuyện.)
"Vì vậy, tôi chỉ cung cấp tệp nếu có dữ liệu mới để phân phối."
"ĐÚNG."
"Và giao hàng cuối cùng trong ngày được cho là một định dạng tệp khác."
"ĐÚNG."
"Ngoại trừ tôi không có cách nào để biết tập tin nào sẽ là cuối cùng trong ngày cho đến cuối ngày."
"ĐÚNG."
"Vì vậy, cách duy nhất để tôi thực hiện điều này là viết mã ngược thời gian vào cuối ngày để làm lại định dạng trên những gì hóa ra là giao hàng cuối cùng."
"BẠN CÓ THỂ BÁO CÁO NÓ THỂ THAO NÀO KHÔNG? CHÚNG TÔI ĐÃ TRỞ LẠI TƯƠNG LAI II. BIFF TANNEN LÀM CHO CHÚNG TÔI HẠNH PHÚC."
Tôi đã từ chối, một phần vì vi phạm quan hệ nhân quả là một thực tiễn lập trình phi đạo đức, một phần vì CPAN.org không có mô-đun cho phép tôi làm điều đó. (Tôi đã kiểm tra.) Cuối cùng, họ cho phép tôi gửi một tệp có định dạng Y vào cuối ngày, bất kể nó có dữ liệu thực tế hay không. Tôi khá chắc chắn rằng băng thông của họ đã sống sót sau cú đánh.
+1
cho "vi phạm nhân quả là một thực hành lập trình phi đạo đức". Bây giờ có một quy tắc cần quan tâm nhiều hơn.
Không có bất kỳ nguyên nhân rõ ràng nào, tôi đã được đưa vào một cuộc họp riêng, và nói không kiểm tra xem máy tính của tôi có bị theo dõi hay không - bao gồm, không bao giờ kiểm tra trình quản lý tác vụ của tôi vì bất kỳ lý do nào. Tôi hỏi họ có giám sát máy tính của tôi không và được nói (đại khái) "đây chỉ là một biện pháp phòng ngừa - bạn biết đấy, luật sư của chúng tôi đã nói với chúng tôi để nói với các nhân viên về điều này - nhưng bạn biết đấy, chúng tôi thực sự không thể nói - - nhưng tôi không theo dõi nó bây giờ. "
(nudge, tôi nghĩ rằng họ đang theo dõi máy tính của tôi, không phải trong khi họ bảo tôi không tìm kiếm bất kỳ chương trình giám sát nào. Thực tế, vài tuần sau, tôi đến sớm và theo dõi con chuột di chuyển xung quanh màn hình của tôi như thể từ xa - vì vậy tôi nhìn qua cửa sổ của CEO và thấy anh ta bấm từ xa trên máy tính của tôi từ máy tính xách tay của anh ta.)
Tôi đã từng có một cuộc "thảo luận" dài với một ông chủ tóc nhọn , người đã khăng khăng rằng chúng tôi có thể lưu trữ 2 trong một kiểu dữ liệu bit vì nó "chỉ có một chữ số".
Điều ngu ngốc nhất mà tôi được yêu cầu có lẽ là viết lại một dự án rất lớn. Đó là khoảng 350 nghìn dòng, tất cả C (với một chút perl trộn lẫn cho các tập lệnh 'người trợ giúp') và hoạt động tốt cho dù khách hàng đã làm gì với nó.
Gần một năm sau, chúng tôi đã có:
Về cơ bản, chúng tôi đã hoàn thành không có gì mà tái cấu trúc hợp lý không thể thực hiện được. Nhưng ông chủ của tôi rất vui, chúng tôi đã thoát khỏi các kịch bản trợ giúp.
Tôi coi đó là sự lãng phí thời gian và mã hiện có lớn nhất mà tôi từng thấy.
Khách hàng: Chúng tôi đã sử dụng phần mềm cơ sở dữ liệu của bạn trong một vài năm, phát triển các ứng dụng của riêng chúng tôi với nó và thỉnh thoảng gọi cho bạn để được giúp đỡ.
Tôi: Vâng, chúng tôi đánh giá cao việc làm kinh doanh với bạn.
Khách hàng: Vâng. Mỗi lần chúng tôi gọi, bạn cho chúng tôi biết cách sử dụng một tính năng mới hoặc bạn giúp chúng tôi gỡ lỗi việc sử dụng của chúng tôi hoặc cung cấp một cách giải quyết cho một số vấn đề.
Tôi: Chắc chắn, chúng tôi luôn vui khi được giúp đỡ.
Khách hàng: Đôi khi, sản phẩm của bạn có một lỗi thực sự trong đó và công ty của bạn đã sửa nó và cung cấp cho chúng tôi bản cập nhật phần mềm.
Tôi: Chúng tôi làm hết sức mình.
Khách hàng: Chà, những gì chúng tôi cần từ bạn bây giờ là một số đảm bảo rằng chúng tôi sẽ không có thêm bất kỳ vấn đề nào nữa.
Tôi : . . .
Tôi đã được yêu cầu viết một bài thuyết trình về phần mềm của chúng tôi cho một khách hàng tiềm năng đa quốc gia lớn mà chúng tôi đã sử dụng kỹ thuật mã hóa "mã spaghetti".
Tất nhiên, chúng tôi ở Ý ... nghe có vẻ tốt.
Thay đổi màu sắc tô sáng cú pháp của tôi để phù hợp với màu được sử dụng trong hệ thống kiểm soát phiên bản.
Hãy xem nào:
Viết chương trình bằng C ++
Bạn có thể lấy bản báo cáo dài 10 trang này mà tôi yêu cầu bạn chuẩn bị như một tài liệu từ và biến nó thành một bài thuyết trình powerpoint vì tôi thực sự là một nhà tư tưởng trực quan và thực sự sẽ không đọc báo cáo bằng văn bản mà tôi yêu cầu bạn làm?
Ok, tôi muốn bạn quét hình ảnh ngôi nhà này, khi tôi quay lại, bạn sẽ có thể chỉ cho tôi phần phía sau của nó.
"Tôi không thích cách cơ sở dữ liệu Oracle này hoạt động. Tại sao chúng ta không viết cơ sở dữ liệu của riêng mình?"
(Phải thừa nhận rằng điều này đã hơn 15 năm trước, nhưng vẫn vậy!)
Tôi đã được yêu cầu tải các bài viết từ trang web của đối thủ cạnh tranh trong iframe bên trong trang web của chúng tôi, làm cho nó trông giống như nó đến từ chúng tôi.
Đối với tôi, điều điên rồ nhất (và hoàn toàn có thể, vui nhất) là
Xem 10 triệu dòng mã này trong (công nghệ web lỗi thời)? Viết một trình biên dịch để chuyển đổi nó thành một trang Asp.net đang hoạt động.
Nó không bao giờ phun ra một phiên bản làm việc (tất nhiên, tôi đã cố gắng nói với họ rằng nó không thực tế), nhưng dù sao nó cũng rất vui.
Một tính năng chính của một ứng dụng mà công ty chúng tôi đã phát triển là khả năng tìm kiếm số lượng lớn tài liệu bằng toàn văn của tài liệu. Một đối thủ cạnh tranh đã đưa ra yêu cầu sau trong một bài thuyết trình tiếp thị cho một trong những khách hàng của chúng tôi,
Công nghệ tìm kiếm của chúng tôi vượt trội hơn vì nó không chỉ tìm kiếm văn bản của tài liệu, nó cũng tìm kiếm 'bit và byte' của tệp thực tế ở dạng nhị phân.
Họ đã đưa ra một ví dụ lố bịch về cách lặp lại ascii thập phân của các từ "khởi động" và "thuyền" ít giống nhau hơn so với các từ tương tự ở dạng nhị phân, khi bạn so sánh các chữ số thực trong biểu diễn. Vì vậy, tìm kiếm dựa trên 1 và 0 phản ánh chính xác hơn hai từ tương tự xuất hiện trực quan và do đó cải thiện việc thu hồi.
Đương nhiên, tôi được giao nhiệm vụ nghiên cứu kỹ thuật này, mà tôi cho rằng đó là kết quả của một anh chàng tiếp thị hoàn toàn hiểu nhầm một lập trình viên ở đâu đó, và phác thảo một phản hồi mà chúng tôi có thể đưa vào đề xuất của chúng tôi.
Đội ngũ lập trình viên nhỏ, ông chủ muốn chúng tôi làm một hệ thống đặt vé cho một hãng hàng không nhỏ (tất nhiên là trong một khung thời gian rất ngắn). Đội nói:
- như bạn có thể tưởng tượng, chúng tôi sẽ cần một số người thử nghiệm cho dự án này
Ông chủ nói:
- đừng lo lắng, học hỏi từ ngành công nghiệp xe hơi. Họ nhớ lại xe hơi theo thời gian: người dùng sẽ thực hiện thử nghiệm.
Tôi là thành viên của nhóm hỗ trợ máy tính lớn đã thay đổi với các nhóm hỗ trợ khác trong một trung tâm dữ liệu. Sau ca làm việc, chúng tôi thường có một cuộc họp ngắn với các nhà quản lý và nhóm của ca tiếp theo. Một ngày nọ, giám đốc mới của chúng tôi xuất hiện và đặt câu hỏi: "Tại sao tải CPU trung bình trong ca của bạn chỉ là 72%, trong khi ca trước đó cho thấy gần 95%? Tôi nghĩ rằng nếu chúng ta cố gắng thực sự, cuối cùng chúng ta có thể đạt được tải CPU 100%! "
Khoảng 12 năm trước khi tôi học đại học, tôi đã làm việc trên một ứng dụng mô hình hóa dữ liệu cho Windows. Dự án đã gần hoàn thành sau khoảng 60.000 dòng mã Win32, bạn biết đấy, mã nhắm vào nền tảng Windows. Sau đó, khách hàng cho biết ứng dụng cũng cần chạy "trên web". Cô ấy đã có một thời gian khó hiểu làm thế nào một thay đổi yêu cầu "nhỏ" này có thể có tác động lớn như vậy đối với dự án. Tôi đã bắt đầu lại từ đầu trong Java nhưng cuối cùng đã thoát khỏi dự án trước khi nó hoàn thành.
Tôi đã làm việc trong một dự án lớn vào năm 1996, nơi chúng tôi đang ghi bàn các sự kiện thể thao trực tiếp. Cuộc trò chuyện này đã xảy ra:
Sếp: Đi ra địa điểm tổ chức sự kiện tiếp theo.
Tôi: bạn cần tôi làm gì
Sếp: Hãy đến đó trong trường hợp.
Tôi: Chỉ trong trường hợp nào?
Sếp: Trong trường hợp lãnh đạo công nghệ mất nó. Anh ấy quá căng thẳng và tôi không biết anh ấy có thể làm gì.
Tôi: Và nếu anh ấy mất nó, anh muốn tôi làm gì?
Sếp: Chỉ cần đưa anh ta ra khỏi đó để mọi người khác có thể tiếp tục làm việc. Tôi không quan tâm làm thế nào bạn làm điều đó.