O que foi um projeto ou especificação colocado em sua mesa que não poderia ser feito? Como você explicou o dilema ao "solicitante"? Mais importante, eles entenderam depois que você explicou a questão fundamental?
O que foi um projeto ou especificação colocado em sua mesa que não poderia ser feito? Como você explicou o dilema ao "solicitante"? Mais importante, eles entenderam depois que você explicou a questão fundamental?
Respostas:
Disseram-me para fazer a impressora imprimir mais rápido.
Sério, e eu estava escrito por falhar. O chefe não era muito conhecedor de tecnologia e não entendia por que eu não podia acelerar.
Implemente todos os recursos que já havíamos vendido. Eu apenas mantive minha cabeça baixa e continuei trabalhando, e deixei os superiores perceberem o que estava acontecendo.
Não atribuído a mim por si só, mas apenas o que meus pensamentos estavam ...
"Poderíamos criar [algo que imita a funcionalidade do Excel] como um produto online, dentro de alguns meses?"
Funcionalidade de planilha online. O que as duas maiores empresas de software da história da humanidade (Microsoft e Google) estão trabalhando. E você deseja criar um mecanismo básico mais a funcionalidade que não existe atualmente. Em apenas alguns meses. Usando o talento que temos internamente.
Certo...
Me pediram para descobrir uma maneira de determinar quando e se um thread iria parar. Isso foi para que pudéssemos encontrar e evitar todos esses bugs multithread. Acho que eles nunca ouviram falar do problema da parada. (eles também não acreditavam em bloqueios, mutexs ou usando qualquer tipo de método de sincronização.)
O vendedor me perguntou o que devemos fazer para impedir erros no produto.
Minha resposta foi: vendê-lo somente depois que terminarmos! : O)
Me pediram para implementar a pesquisa, em 2 dias, para o nosso aplicativo corporativo ... não muito ruim. Eu posso fazer isso. Eu notei especificamente:
Só para você saber, eu não sou o google, então o ranking sofisticado e as sugestões automáticas e tudo isso ... provavelmente não vão acontecer, principalmente em dois dias.
3 dias depois: "Mas o google faz ..."
Ainda não é uma tarefa oficial, mas o proprietário desta empresa continua pedindo para colocar absolutamente tudo sobre o nosso negócio "On the Cloud". Para minha sorte, eu não sou o responsável por formular uma resposta a isso :)
Me pediram uma vez para corrigir um relatório porque os dados nele não correspondiam a um relatório diferente (com critérios de consulta diferentes) que foi executado dois meses antes. Demorou um ano para passar pela cabeça do usuário que, mesmo que os critérios fossem os mesmos, os dados mudam com o tempo!
Certa vez, um homem velho e quase senil me pediu para fazer um programa para ganhar na loteria.
Eu fiquei tipo ...
"Ah ... (hahhahahahahahahahaha) desculpe, são apenas alergias, mas continue ..."
Ele me mostrou suas "teorias" que ele inventou depois de analisar 20 anos de registros e que, se eu fizesse um programa que seguisse suas regras, ele me pagaria.
Eu fiz o programa, entreguei a ele, mostrei que funcionava de acordo com as regras dele, recebi o pagamento, desejei boa sorte e lhe disse que se ele apostasse demais e perdesse muito dinheiro, não é minha culpa.
: X
Eu e outro casal de programadores fomos perguntados uma vez por que não conseguimos encontrar um algoritmo para determinar onde estavam os orifícios nas geometrias 3D compostas por triângulos ( arquivos STL , para aqueles que os conhecem) e que não estavam exatamente de acordo com a especificação adequada de permitidos). Meu chefe não parecia entender o quão difícil poderia ser, porque, afinal, ele podia apenas olhar para o modelo renderizado e apontar para os buracos nele.
Uma vez fui encarregado de criar uma tradução 1: 1 do código do Access VBA para PL / SQL. As coisas foram relativamente bem, até eu descobrir que, dentro de vários IFs e LOOPs aninhados de um procedimento, ele abriria uma caixa de diálogo sim-não e pedia outra decisão do usuário. O melhor que eu poderia oferecer e, eventualmente, implementado, foi adicionar outro parâmetro a esse procedimento; se fosse executado nessa ramificação, ele reverteria, retornaria um status especial que instrui o programa GUI a solicitar ao usuário e, em seguida, reinicie o procedimento com um parâmetro extra.
(não eu, mas um colega de trabalho) Há muito tempo, trabalhei na criação de software Windows que podia controlar e monitorar máquinas industriais. Uma opção para se conectar à máquina era discar via modem.
Um grande cliente chamou um gerente de alto nível com um problema: eles não podiam se conectar a uma instalação remota porque continuavam recebendo um sinal de ocupado (estavam compartilhando a linha de hardware com uma linha de voz ou algo assim)
Quando meu colega de trabalho descobriu que o problema não era uma falha de software, mas que a linha telefônica estava realmente ocupada, o gerente respondeu: "Isso é ridículo. Você não pode codificar isso?"
Uma vez me pediram para corrigir o regex que estava sendo usado para analisar as declarações de função C # porque a equipe de controle de qualidade havia encontrado uma maneira de quebrá-lo. Infelizmente, isso não é uma tarefa possível, pois as declarações de funções não podem ser descritas como uma linguagem regular em C # (atributos, tipos genéricos, argumentos de atributos, etc ...).
Resolvi o problema simplesmente explicando que era uma tarefa impossível e detalhando alguns exemplos com tipos genéricos aninhados. A gerência não acreditou em mim no início (faltaram duas semanas para o trabalho), mas eu fui capaz de explicar o problema para alguns desenvolvedores seniores e eles, por sua vez, convenceram a gerência. Eventualmente, eles decidiram ter um melhor esforço para regex e adicionar um analisador real mais tarde.
Gere automaticamente uma lista de todas as combinações de pesquisa válidas que retornam resultados do banco de dados. Embora não seja logicamente impossível do ponto de vista da codificação, uma vez que o tamanho do banco de dados estava sempre aumentando, era altamente impraticável e o servidor acabaria atrasando o rastreamento enquanto tentava gerar combinações.
Há 8 a 10 anos, tivemos que escrever "um aplicativo Web" que fez o que nosso produto para desktop fez em cerca de duas semanas. O site acabou sendo quase todos os scripts Javascript do lado do cliente ActiveX para replicar o produto de desktop. O único processamento no servidor envolveu a geração de opções para o consumo do cliente.