Qual è stato un progetto o specifiche che è stato messo sulla tua scrivania che non è stato possibile fare? Come hai spiegato il dilemma al "richiedente"? Ancora più importante, hanno capito dopo aver spiegato il problema fondamentale?
Qual è stato un progetto o specifiche che è stato messo sulla tua scrivania che non è stato possibile fare? Come hai spiegato il dilemma al "richiedente"? Ancora più importante, hanno capito dopo aver spiegato il problema fondamentale?
Risposte:
Mi è stato detto di rendere la stampa più veloce.
Seriamente, e sono stato scritto per aver fallito. Il capo non era molto esperto di tecnologia e non capiva perché non potevo accelerarlo.
Implementa tutte le funzionalità che avevamo già venduto. Ho solo tenuto la testa bassa e ho continuato a lavorare, e ho permesso ai superiori di capire cosa stava succedendo.
Non assegnato a me in sé, ma solo su cosa pensavo ...
"Potremmo costruire [qualcosa che imita la funzionalità di Excel] come prodotto online, tra qualche mese?"
Funzionalità del foglio di calcolo online. La cosa su cui stanno lavorando le due maggiori società di software della storia umana (Microsoft e Google). E vuoi creare un motore di base più funzionalità che al momento non esiste. Tra pochi mesi. Usando il talento che abbiamo in casa.
Giusto...
Mi è stato chiesto di trovare un modo per determinare quando e se un thread si sarebbe fermato. Questo è stato così abbiamo potuto trovare e prevenire tutti questi bug multi-thread. Immagino non avessero mai sentito parlare del problema dell'arresto. (poi di nuovo, non credevano nemmeno nei lock, nei mutex o nell'uso di alcun tipo di metodo di sincronizzazione.)
L'addetto alle vendite mi ha chiesto cosa dovremmo fare per fermare i bug nel prodotto.
La mia risposta è stata: vendilo solo dopo averlo finito! : O)
Mi è stato chiesto di implementare la ricerca, in 2 giorni per la nostra app aziendale ... non male. Posso farlo. Ho notato specificamente:
Solo per questo sai, non sono Google, quindi la classifica, i suggerimenti automatici e tutto il resto ... probabilmente non accadranno, specialmente tra 2 giorni.
3 giorni dopo: "Ma google fa ..."
Non è un compito ufficiale (ancora) ma il proprietario di questa azienda continua a chiedere di mettere assolutamente tutto sulla nostra attività "On the Cloud". Fortunatamente per me, non sono io il responsabile a formulare una risposta a questo :)
Una volta mi è stato chiesto di correggere un rapporto perché i dati in esso contenuti non corrispondevano a un rapporto diverso (con criteri di query diversi) eseguito due mesi prima. Ci è voluto un anno per riuscire a capire che anche se i criteri erano stati gli stessi, i dati cambiano nel tempo!
Una volta mi è stato chiesto da un vecchio, quasi senile, di fare un programma per vincere una lotteria.
Ero come ...
"Oh ... (hahhahahahahahahahaha) scusa, sono solo allergie, ma continua ..."
Mi ha mostrato le sue "teorie" che ha escogitato dopo aver analizzato 20 anni di documenti e che se avessi appena creato un programma che seguisse le sue regole, mi avrebbe pagato.
Ho realizzato il programma, gliel'ho dato, gli ho mostrato che funzionava secondo le sue regole, sono stato pagato, gli ho augurato buona fortuna e gli ho detto che se avesse mai scommesso troppo e perso troppi soldi, non è colpa mia in alcun modo.
:X
Io e un'altra coppia di programmatori una volta ci è stato chiesto perché non siamo riusciti a trovare un algoritmo per determinare dove si trovassero i buchi nelle geometrie 3D composte da triangoli ( file STL , per coloro che li conoscono, e non esattamente conformi alla specifica corretta di no I fori-consentito). Il mio capo non sembrava capire quanto potesse essere difficile, perché dopo tutto, poteva solo guardare il modello renderizzato e indicare i buchi in esso.
Una volta mi è stato assegnato il compito di creare una traduzione 1: 1 del codice Access VBA in PL / SQL. Le cose sono andate relativamente bene, fino a quando non ho scoperto che nel profondo di diversi IF annidati e LOOP di una procedura, si apriva un dialogo sì-no e chiedeva un'altra decisione da parte dell'utente. Il meglio che potevo offrire, e alla fine implementato, era aggiungere un altro parametro a quella procedura; se si imbattesse in quel ramo, verrebbe eseguito il rollback, restituendo uno stato speciale che indica al programma GUI di chiedere all'utente, quindi riavviare la procedura con un parametro aggiuntivo.
(Non io, ma un collega) Molto tempo fa, ho lavorato alla costruzione di software Windows in grado di controllare e monitorare macchinari industriali. Un'opzione per la connessione al macchinario era quella di comporre un numero via modem.
Un grande cliente ha chiamato un manager di alto livello con un problema: non potevano connettersi a una struttura remota perché continuavano a ricevere un segnale di occupato (condividevano la linea hardware con una linea vocale o qualcosa del genere)
Quando il mio collega ha scoperto che il problema non era un errore del software, ma che la linea telefonica era davvero occupata, il manager ha risposto "È ridicolo. Non riesci a codificarlo?"
Una volta mi è stato chiesto di correggere regex che veniva utilizzato per analizzare le dichiarazioni della funzione C # perché il team di QA aveva trovato un modo per romperlo. Questo purtroppo non è un compito possibile poiché le dichiarazioni di funzioni non possono essere descritte come un linguaggio normale in C # (attributi, tipi generici, argomenti degli attributi, ecc ...).
Ho risolto il problema spiegando semplicemente che era un compito impossibile e descrivendo dettagliatamente alcuni esempi con tipi generici nidificati. All'inizio il management non mi credette (mancavano 2 settimane al lavoro), ma sono stato in grado di spiegare il problema a un paio di sviluppatori senior e questi a loro volta hanno convinto il management. Alla fine decisero di avere una regex con il massimo sforzo e di aggiungere un vero parser in seguito.
Genera automaticamente un elenco di tutte le combinazioni di ricerca valide che restituiscono risultati dal database. Sebbene non sia logicamente impossibile dal punto di vista della codifica, dato che le dimensioni del database erano in costante crescita, era altamente poco pratico e il server alla fine rallentava fino a una scansione mentre cercava di generare combinazioni.
8-10 anni fa, abbiamo dovuto scrivere "un'app Web" che ha fatto quello che il nostro prodotto desktop ha fatto in circa 2 settimane. Il sito Web si è rivelato essere quasi tutti script JavaScript ActiveX lato client per replicare il prodotto desktop. L'unica elaborazione lato server ha comportato la generazione di opzioni per il consumo dei client.